diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5326721 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "flatpak/org.videolan.VLC-upstream"] + path = flatpak/org.videolan.VLC + url = https://github.com/flathub/org.videolan.VLC diff --git a/flatpak/build.sh b/flatpak/build.sh new file mode 100755 index 0000000..b420c4f --- /dev/null +++ b/flatpak/build.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +OPENLP_VERSION=3.1.1 +OPENLP_PACK_REVISION=1 +BUNDLE_VERSION=${OPENLP_VERSION}-${OPENLP_PACK_REVISION} + +# checkout the flathub shared-modules, needed for the VLC build +git submodule update --init --recursive + +# build PyMuPdf dependency file +PYMUPDF_VER=1.23.22 +PY_TARGET=311 +# first get the req2flatpak tool if not already present. Alternatively get req2flatpak from https://pypi.org/project/req2flatpak/ +if [ ! -f "req2flatpak.py" ]; then + curl -O https://raw.githubusercontent.com/johannesjh/req2flatpak/main/req2flatpak.py +fi +python3 req2flatpak.py --requirements pymupdf==${PYMUPDF_VER} pymupdfb==${PYMUPDF_VER} --target-platforms ${PY_TARGET}-x86_64 ${PY_TARGET}-aarch64 --outfile python3-pymupdf.yaml + +# build the openlp dependency file - remember to update requirements.txt if needed. Certain devel packages might be needed. +# first get the flatpak-pip-generator tool if not already present +if [ ! -f "flatpak-pip-generator" ]; then + curl -O https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/pip/flatpak-pip-generator +fi +python flatpak-pip-generator --requirements-file requirements.txt + +# Finally do the build, install for the user and into a repo in the repo-folder +mkdir repo +flatpak-builder --user --install --force-clean --repo=repo openlp-flatpak-builddir org.openlp.OpenLP.yml + +# create flatpak bundle file +echo "Bundle into a flatpak file, this can take a while..." +flatpak build-bundle repo openlp-${BUNDLE_VERSION}.flatpak org.openlp.OpenLP diff --git a/flatpak/openlp-vlc.yaml b/flatpak/openlp-vlc.yaml new file mode 100644 index 0000000..96aab38 --- /dev/null +++ b/flatpak/openlp-vlc.yaml @@ -0,0 +1,631 @@ +name: openlp-vlc +cleanup: + - /share/doc + - /share/gtk-doc + - /share/info + - /share/man + - '*.la' + - '*.a' +cleanup-commands: + - mkdir -p /app/share/vlc/extra + - ln -s /app/share/vlc/extra/plugins /app/lib/vlc/plugins/extra + - rm -f /app/lib/vlc/plugins/plugins.dat + - /app/lib/vlc/vlc-cache-gen /app/lib/vlc/plugins +build-options: + env: + V: '1' +modules: + - org.videolan.VLC/shared-modules/intltool/intltool-0.51.json + - org.videolan.VLC/shared-modules/SDL/SDL-1.2.15.json + - org.videolan.VLC/shared-modules/SDL/SDL_image-1.2.12.json + - org.videolan.VLC/shared-modules/lua5.3/lua-5.3.5.json + - org.videolan.VLC/shared-modules/glu/glu-9.json + - name: libraw1394 + rm-configure: true + sources: + - type: archive + url: https://www.kernel.org/pub/linux/libs/ieee1394/libraw1394-2.1.2.tar.xz + sha256: 03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e + x-checker-data: + type: anitya + project-id: 1710 + url-template: https://www.kernel.org/pub/linux/libs/ieee1394/libraw1394-$version.tar.xz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libavc1394 + rm-configure: true + config-opts: + - --disable-static + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/libavc1394/libavc1394-0.5.4.tar.gz + sha256: 7cb1ff09506ae911ca9860bef4af08c2403f3e131f6c913a2cbd6ddca4215b53 + x-checker-data: + type: anitya + project-id: 1562 + url-template: https://downloads.sourceforge.net/sourceforge/libavc1394/libavc1394-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: zvbi + rm-configure: true + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/zapping/zvbi/0.2.35/zvbi-0.2.35.tar.bz2 + sha256: fc883c34111a487c4a783f91b1b2bb5610d8d8e58dcba80c7ab31e67e4765318 + x-checker-data: + type: anitya + project-id: 13803 + url-template: https://downloads.sourceforge.net/sourceforge/zapping/zvbi/$version/zvbi-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libdc1394 + rm-configure: true + config-opts: + - --disable-static + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/libdc1394/libdc1394-2/2.2.7/libdc1394-2.2.7.tar.gz + sha256: 537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f + x-checker-data: + type: anitya + project-id: 1591 + url-template: https://downloads.sourceforge.net/sourceforge/libdc1394/libdc1394-2/$version/libdc1394-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libcddb + rm-configure: true + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/libcddb/libcddb/1.3.2/libcddb-1.3.2.tar.bz2 + sha256: 35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b + x-checker-data: + type: anitya + project-id: 1572 + url-template: https://downloads.sourceforge.net/sourceforge/libcddb/libcddb/$version/libcddb-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: aalib + rm-configure: true + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/aa-project/aa-lib/1.4rc5/aalib-1.4rc5.tar.gz + sha256: fbddda9230cf6ee2a4f5706b4b11e2190ae45f5eda1f0409dc4f99b35e0a70ee + x-checker-data: + type: anitya + project-id: 7921 + stable-only: false + url-template: https://downloads.sourceforge.net/sourceforge/aa-project/aa-lib/$version/aalib-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libshout + rm-configure: true + sources: + - type: archive + url: https://downloads.xiph.org/releases/libshout/libshout-2.4.6.tar.gz + sha256: 39cbd4f0efdfddc9755d88217e47f8f2d7108fa767f9d58a2ba26a16d8f7c910 + x-checker-data: + type: anitya + project-id: 11084 + url-template: https://downloads.xiph.org/releases/libshout/libshout-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libupnp + rm-configure: true + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/pupnp/libupnp-1.14.18.tar.bz2 + sha256: 16a7cee93ce2868ae63ab1a8164dc7de43577c59983b9f61293a310d6888dceb + x-checker-data: + type: anitya + project-id: 21315 + url-template: https://downloads.sourceforge.net/sourceforge/pupnp/libupnp-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: taglib + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + - -DWITH_MP4=ON + - -DWITH_ASF=ON + sources: + - type: archive + url: https://taglib.org/releases/taglib-1.13.1.tar.gz + sha256: c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b + x-checker-data: + type: anitya + project-id: 1982 + url-template: https://taglib.org/releases/taglib-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh +# - name: gsm +# no-autogen: true +# build-options: +# cflags: -fPIC +# cxxflags: -c -fPIC +# make-install-args: +# - -j1 +# - INSTALL_ROOT=/app +# - GSM_INSTALL_INC=/app/include/gsm +# - GSM_INSTALL_MAN=/app/share/man/man3 +# - TOAST_INSTALL_MAN=/app/share/man/man1 +# sources: +# - type: archive +# url: https://www.quut.com/gsm/gsm-1.0.17.tar.gz +# sha256: 855a57d1694941ddf3c73cb79b8d0b3891e9c9e7870b4981613b734e1ad07601 +## TODO needs some patch updates +## x-checker-data: +## type: anitya +## project-id: 12587 +## url-template: https://www.quut.com/gsm/gsm-$version.tar.gz +# - type: patch +# path: org.videolan.VLC/gsm.patch +# - type: patch +# path: org.videolan.VLC/gsm-makefile.patch + - name: libdvbpsi + rm-configure: true + sources: + - type: archive + url: https://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2 + sha256: 02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112 + x-checker-data: + type: anitya + project-id: 21684 + url-template: https://download.videolan.org/pub/libdvbpsi/$version/libdvbpsi-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libkate + rm-configure: true + config-opts: + - --disable-static + - --disable-doc + sources: + - type: archive + url: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libkate/libkate-0.4.1.tar.gz + sha256: c40e81d5866c3d4bf744e76ce0068d8f388f0e25f7e258ce0c8e76d7adc87b68 + - type: patch + path: org.videolan.VLC/libkate.patch + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libass + config-opts: + - --enable-harfbuzz + - --enable-fontconfig + sources: + - type: archive + url: https://github.com/libass/libass/releases/download/0.17.1/libass-0.17.1.tar.xz + sha256: f0da0bbfba476c16ae3e1cfd862256d30915911f7abaa1b16ce62ee653192784 + x-checker-data: + type: anitya + project-id: 1560 + url-template: https://github.com/libass/libass/releases/download/$version/libass-$version.tar.xz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libebml + builddir: true + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + sources: + - type: archive + url: https://dl.matroska.org/downloads/libebml/libebml-1.4.5.tar.xz + sha256: 4971640b0592da29c2d426f303e137a9b0b3d07e1b81d069c1e56a2f49ab221b + x-checker-data: + type: anitya + project-id: 7879 + url-template: https://dl.matroska.org/downloads/libebml/libebml-$version.tar.xz + - name: libmatroska + builddir: true + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + sources: + - type: archive + url: https://dl.matroska.org/downloads/libmatroska/libmatroska-1.7.1.tar.xz + sha256: 572a3033b8d93d48a6a858e514abce4b2f7a946fe1f02cbfeca39bfd703018b3 + x-checker-data: + type: anitya + project-id: 1657 + url-template: https://dl.matroska.org/downloads/libmatroska/libmatroska-$version.tar.xz + - name: libssh2 + rm-configure: true + sources: + - type: archive + url: https://www.libssh2.org/download/libssh2-1.11.0.tar.gz + sha256: 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461 + x-checker-data: + type: anitya + project-id: 1730 + url-template: https://www.libssh2.org/download/libssh2-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libvncserver + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + - -DWITH_FFMPEG=OFF + sources: + - type: archive + url: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.14.tar.gz + sha256: 83104e4f7e28b02f8bf6b010d69b626fae591f887e949816305daebae527c9a5 + x-checker-data: + type: anitya + project-id: 1756 + url-template: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz + - name: libdvdread + rm-configure: true + sources: + - type: archive + url: https://download.videolan.org/videolan/libdvdread/6.1.3/libdvdread-6.1.3.tar.bz2 + sha256: ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369 + x-checker-data: + type: anitya + project-id: 5614 + url-template: https://download.videolan.org/videolan/libdvdread/$version/libdvdread-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libdvdnav + rm-configure: true + sources: + - type: archive + url: https://download.videolan.org/videolan/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2 + sha256: c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48 + x-checker-data: + type: anitya + project-id: 5615 + url-template: https://download.videolan.org/videolan/libdvdnav/$version/libdvdnav-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libdvdcss + rm-configure: true + sources: + - type: archive + url: https://download.videolan.org/videolan/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2 + sha256: 233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079 + x-checker-data: + type: anitya + project-id: 5568 + url-template: https://download.videolan.org/videolan/libdvdcss/$version/libdvdcss-$version.tar.bz2 + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: libmodplug + rm-configure: true + sources: + - type: archive + url: https://downloads.sourceforge.net/sourceforge/modplug-xmms/libmodplug/0.8.9.0/libmodplug-0.8.9.0.tar.gz + sha256: 457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de + x-checker-data: + type: anitya + project-id: 5669 + url-template: https://downloads.sourceforge.net/sourceforge/modplug-xmms/libmodplug/$version/libmodplug-$version.tar.gz + - type: script + commands: + - autoreconf -fiv + dest-filename: autogen.sh + - name: x264 + config-opts: + - --enable-pic + - --enable-shared + sources: + - type: git + url: https://code.videolan.org/videolan/x264.git + commit: a8b68ebfaa68621b5ac8907610d3335971839d52 + - name: x265 + builddir: true + subdir: source + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + sources: + - type: archive + url: https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz + sha256: e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8 + x-checker-data: + type: anitya + project-id: 7275 + url-template: https://bitbucket.org/multicoreware/x265_git/downloads/x265_$version.tar.gz + - name: dav1d + buildsystem: meson + sources: + - type: archive + url: https://download.videolan.org/videolan/dav1d/1.3.0/dav1d-1.3.0.tar.xz + sha256: 6d8be2741c505c47f8f1ced3c9cc427759243436553d01d1acce201f87b39e71 + x-checker-data: + type: anitya + project-id: 18920 + url-template: https://download.videolan.org/videolan/dav1d/$version/dav1d-$version.tar.xz + - name: ffmpeg + config-opts: + - --enable-pic + - --enable-shared + - --disable-doc + - --disable-static + - --enable-gpl + - --enable-libx264 + - --enable-libx265 + - --enable-libvpx + - --enable-libmp3lame + - --enable-libvorbis + - --enable-libopus + sources: + - type: archive + url: https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.xz + sha256: e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309 + x-checker-data: + type: anitya + project-id: 5405 + versions: + '>=': '4' + <: '5' + url-template: https://ffmpeg.org/releases/ffmpeg-$version.tar.xz + - type: patch + path: org.videolan.VLC/ffmpeg_binutils241.patch + - org.videolan.VLC/shared-modules/libsecret/libsecret.json + - name: libaacs + config-opts: + - --with-pic + - --enable-shared + - --disable-static + sources: + - type: archive + url: https://download.videolan.org/videolan/libaacs/0.11.1/libaacs-0.11.1.tar.bz2 + sha256: a88aa0ebe4c98a77f7aeffd92ab3ef64ac548c6b822e8248a8b926725bea0a39 + x-checker-data: + type: anitya + project-id: 5562 + url-template: https://download.videolan.org/videolan/libaacs/$version/libaacs-$version.tar.bz2 + - name: libbdplus + rm-configure: true + config-opts: + - --with-pic + - --enable-shared + - --disable-static + build-options: + append-path: /app/share/vlc/extra/bluray/ant/bin + sources: + - type: archive + url: https://download.videolan.org/videolan/libbdplus/0.2.0/libbdplus-0.2.0.tar.bz2 + sha256: b93eea3eaef33d6e9155d2c34b068c505493aa5a4936e63274f4342ab0f40a58 + x-checker-data: + type: anitya + project-id: 5563 + url-template: https://download.videolan.org/videolan/libbdplus/$version/libbdplus-$version.tar.bz2 + - type: patch + path: org.videolan.VLC/libbdplus-gpg-error.patch + - name: libbluray + config-opts: + - --disable-static + - --disable-bdjava-jar + sources: + - type: archive + url: https://download.videolan.org/videolan/libbluray/1.3.4/libbluray-1.3.4.tar.bz2 + sha256: 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b + x-checker-data: + type: anitya + project-id: 1565 + url-template: https://download.videolan.org/videolan/libbluray/$version/libbluray-$version.tar.bz2 + - org.videolan.VLC/shared-modules/libusb/libusb.json + - name: libmtp + config-opts: + - --disable-static + - --with-udev=/app/lib/udev + sources: + - type: archive + url: https://github.com/libmtp/libmtp/releases/download/v1.1.21/libmtp-1.1.21.tar.gz + sha256: f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135 + x-checker-data: + type: anitya + project-id: 10017 + url-template: https://github.com/libmtp/libmtp/releases/download/v$version/libmtp-$version.tar.gz + - name: chromaprint + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + sources: + - type: archive + url: https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-1.5.1.tar.gz + sha256: a1aad8fa3b8b18b78d3755b3767faff9abb67242e01b478ec9a64e190f335e1c + x-checker-data: + type: anitya + project-id: 286 + url-template: https://github.com/acoustid/chromaprint/releases/download/v$version/chromaprint-$version.tar.gz + - name: fluidlite + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + - -DENABLE_SF3=YES + sources: + - type: git + url: https://github.com/divideconcept/FluidLite.git + commit: d59d2328818f913b7d1a6a59aed695c47a8ce388 + - name: libcaca + config-opts: + - --disable-static + - --disable-python + - --disable-ruby + sources: + - type: archive + url: https://deb.debian.org/debian/pool/main/libc/libcaca/libcaca_0.99.beta19.orig.tar.gz + sha256: 128b467c4ed03264c187405172a4e83049342cc8cc2f655f53a2d0ee9d3772f4 + - name: libplacebo + buildsystem: meson + config-opts: + - -Dvulkan=false + sources: + - type: archive + url: https://github.com/haasn/libplacebo/archive/refs/tags/v0.2.1.tar.gz + sha256: d5d920a1745e4209287d32e8b96a85127b61b843304813980e11104cd9f15e82 + x-checker-data: + type: anitya + project-id: 20101 + versions: + '>=': '0.2' + <: '0.3' + url-template: https://github.com/haasn/libplacebo/archive/refs/tags/v$version.tar.gz + - name: libdsm + buildsystem: meson + sources: + - type: archive + url: https://github.com/videolabs/libdsm/releases/download/v0.4.3/libdsm-0.4.3.tar.xz + sha256: d31921bd6f6a23878266b945731f7d57505472ef85d66f944c43b9f8eacc2a8a + - name: microdns + buildsystem: meson + sources: + - type: archive + url: https://github.com/videolabs/libmicrodns/releases/download/0.2.0/microdns-0.2.0.tar.xz + sha256: 2da28e7dda4861d76f797f92ac3e6c3e048333b95f9e4fc3a6548ad8afd8c446 + x-checker-data: + type: anitya + project-id: 275561 + url-template: https://github.com/videolabs/libmicrodns/releases/download/$version/microdns-$version.tar.xz + - name: spatialaudio + builddir: true + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + sources: + - type: archive + url: https://github.com/videolabs/libspatialaudio/releases/download/0.3.0/spatialaudio-0.3.0.tar.bz2 + sha256: 284c1dbd8efd46c03be84ac7070bc87cae81b7125352b143a70be3e2b96988e3 + - name: srt + builddir: true + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=ON + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + sources: + - type: archive + url: https://github.com/Haivision/srt/archive/v1.5.3.tar.gz + sha256: befaeb16f628c46387b898df02bc6fba84868e86a6f6d8294755375b9932d777 + x-checker-data: + type: anitya + project-id: 236296 + url-template: https://github.com/Haivision/srt/archive/v$version.tar.gz + - name: live555 + buildsystem: simple + build-commands: + - CXXFLAGS=`sed "s/'/\"/g" /etc/flatpak-builder/defaults.json | jq -r .cxxflags` + ; sed -i -e "s|-O2|$CXXFLAGS|" config.linux-with-shared-libraries + - ./genMakefiles linux-with-shared-libraries + - LDFLAGS=`sed "s/'/\"/g" /etc/flatpak-builder/defaults.json | jq -r .ldflags` + ; make -j4 PREFIX=/app LIBDIR=/app/lib install + - chmod +x /app/lib/libliveMedia.so* /app/lib/libUsageEnvironment.so* /app/lib/libBasicUsageEnvironment.so* + /app/lib/libgroupsock.so* + cleanup: + - /bin + sources: + - type: archive + url: https://download.videolan.org/contrib/live555/live.2020.11.05.tar.gz + sha256: 89bdfba7fd215e16be2c9d46a797bf85c5f7f7c46b53dc8af2d1171a658da5b7 + - type: patch + path: org.videolan.VLC/live555-add-pkgconfig-file.patch + - type: patch + path: org.videolan.VLC/live555-nosignal.patch + - name: libnotify + buildsystem: meson + config-opts: + - -Dgtk_doc=false + - -Dman=false + sources: + - type: archive + url: https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.3.tar.xz + sha256: ee8f3ef946156ad3406fdf45feedbdcd932dbd211ab4f16f75eba4f36fb2f6c0 + x-checker-data: + type: anitya + project-id: 13149 + url-template: https://download.gnome.org/sources/libnotify/$major.$minor/libnotify-$version.tar.xz + - name: protobuf + sources: + - type: archive + url: https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-3.21.12.tar.gz + sha256: 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460 + x-checker-data: + type: anitya + project-id: 3715 + versions: + '>=': '21' + <: '22' + url-template: https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-cpp-3.$version.tar.gz + cleanup: + - /bin + - name: vlc + config-opts: + - BUILDCC=/usr/bin/gcc -std=gnu99 + - --disable-a52 + - --disable-qt + cleanup: + - /share/macosx + post-install: + - mv /app/bin/vlc /app/bin/vlc.bin + - mv vlc.sh /app/bin/vlc + - chmod +x /app/bin/vlc + - tar xf chrpath-0.16.tar.gz && cd chrpath-0.16 && ./configure && make + - ./chrpath-0.16/chrpath -d /app/lib/vlc/plugins/access/liblibbluray_plugin.so + - /app/lib/vlc/vlc-cache-gen /app/lib/vlc/plugins/ + sources: + - type: archive + url: https://download.videolan.org/videolan/vlc/3.0.20/vlc-3.0.20.tar.xz + sha256: adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5 + x-checker-data: + type: anitya + project-id: 6504 + versions: + '>=': '3' + <: '4' + url-template: https://download.videolan.org/videolan/vlc/$version/vlc-$version.tar.xz + - type: patch + path: org.videolan.VLC/vlc-ignore-time-for-cache.patch + - type: file + path: org.videolan.VLC/vlc.sh + - type: file + url: https://src.fedoraproject.org/lookaside/extras/chrpath/chrpath-0.16.tar.gz/2bf8d1d1ee345fc8a7915576f5649982/chrpath-0.16.tar.gz + sha256: bb0d4c54bac2990e1bdf8132f2c9477ae752859d523e141e72b3b11a12c26e7b + diff --git a/flatpak/org.openlp.OpenLP.appdata.xml b/flatpak/org.openlp.OpenLP.appdata.xml new file mode 100644 index 0000000..0391ab7 --- /dev/null +++ b/flatpak/org.openlp.OpenLP.appdata.xml @@ -0,0 +1,39 @@ + + + + org.openlp.OpenLP + org.openlp.OpenLP.desktop + CC0-1.0 + OpenLP + OpenLP - Church presentation software + +

+ OpenLP is a free and open source cross-platform presentation tool + useful for churches. It provides presentation features for songs, + scriptures, media and more. + NOTE: This distribution does not provide LibreOffice integration. +

+
+ + Presentation + Video + AudioVideo + Player + Spirituality + Music + + + https://www.openlp.org/ + https://gitlab.com/openlp/openlp/-/issues + https://openlp.org/contribute + + + + OpenLP + GPL-3.0+ + OpenLP et al. + + + https://openlp.org/screenshots/mainwindow.png + +
diff --git a/flatpak/org.openlp.OpenLP.yml b/flatpak/org.openlp.OpenLP.yml new file mode 100644 index 0000000..3c40270 --- /dev/null +++ b/flatpak/org.openlp.OpenLP.yml @@ -0,0 +1,46 @@ +app-id: org.openlp.OpenLP +runtime: org.kde.Platform +runtime-version: '5.15-23.08' +sdk: org.kde.Sdk +base: com.riverbankcomputing.PyQt.BaseApp +base-version: '5.15-23.08' +command: 'openlp' +cleanup-commands: + - /app/cleanup-BaseApp.sh +modules: + - name: OpenLP +finish-args: + - --socket=x11 + - --share=ipc + - --device=dri + - --share=network + - --socket=pulseaudio + - --env=QTWEBENGINEPROCESS_PATH=/app/bin/QtWebEngineProcess + - --filesystem=host +modules: + - name: dbus-run-session + buildsystem: autotools + cleanup: ["*"] + sources: + - type: archive + url: https://gitlab.freedesktop.org/dbus/dbus/-/archive/dbus-1.15.8/dbus-dbus-1.15.8.tar.gz + sha256: 3ae23cd28b96beac175eab0798d65c8e21e9fcf57132d840c170aaa7b21cd818 + - openlp-vlc.yaml + - python3-pymupdf.yaml + - python3-requirements.json + - name: OpenLP + buildsystem: simple + build-commands: + - mkdir -p /app/share/openlp/i18n + - cd resources/i18n; for file in *.ts; do lconvert -i $file -o /app/share/openlp/i18n/${file%%ts}qm ; done; cd ../.. + - pip install --no-deps --no-build-isolation --prefix=$FLATPAK_DEST . + - mkdir -p /app/share/applications && cp resources/openlp.desktop /app/share/applications/org.openlp.OpenLP.desktop && sed -ie s/Icon=openlp/Icon=org.openlp.OpenLP/ /app/share/applications/org.openlp.OpenLP.desktop + - mkdir -p /app/share/icons/hicolor/256x256/apps/ && cp resources/images/openlp-logo-256x256.png /app/share/icons/hicolor/256x256/apps/org.openlp.OpenLP.png + - mkdir -p /app/share/icons/hicolor/scalable/apps/ && cp resources/images/openlp-logo.svg /app/share/icons/hicolor/scalable/apps/org.openlp.OpenLP.svg + - install -Dm 644 -t /app/share/appdata/ org.openlp.OpenLP.appdata.xml + sources: + - type: archive + url: https://gitlab.com/openlp/openlp/-/archive/3.1.1/openlp-3.1.1.tar.gz + sha256: c464669a3661b3b23e917cb1508c1bfc8e8c8308ee24c86e7dde94789ea1797c + - type: file + path: org.openlp.OpenLP.appdata.xml diff --git a/flatpak/org.videolan.VLC b/flatpak/org.videolan.VLC new file mode 160000 index 0000000..0092ac1 --- /dev/null +++ b/flatpak/org.videolan.VLC @@ -0,0 +1 @@ +Subproject commit 0092ac1bc9220464070186d2ef0a78fe0be71bd9 diff --git a/flatpak/requirements.txt b/flatpak/requirements.txt new file mode 100644 index 0000000..44e41ec --- /dev/null +++ b/flatpak/requirements.txt @@ -0,0 +1,35 @@ +# Note: +# PyQt* packages is missing due to being included in the base flatpak image +# PyMuPDF is installed seperately due to some dependency issues +# psycopg2 install required postgres installed, so skipped... +alembic +beautifulsoup4 +chardet +meson-python # needed for buidling dbus-python +scikit-build # needed for buidling patchelf (needed for dbus-python) +patchelf # needed for buidling dbus-python +dbus-python +distro +flask +flask-cors +lxml +Mako +platformdirs +PyICU +pymediainfo +QtAwesome +qrcode +requests +SQLAlchemy +waitress +websockets +#PyMuPDF +QDarkStyle +packaging +PyMySQL +python-vlc +#psycopg2 +pyenchant +pysword +pytest +pytest-runner