From 90171366bd4c71c2ae3bed2eaa2dcf28345a0d2c Mon Sep 17 00:00:00 2001 From: sudden6 Date: Thu, 12 Jul 2018 14:29:01 +0200 Subject: [PATCH] chore(deploy): keep our own copy of the flatpak manifest in this repo This allows us to easily add dependencies or change the build for new features, but has the downside that we have to sync to the flathub.org repo on a release --- flatpak/build.sh | 14 --- flatpak/io.github.qtox.qTox.json | 157 ++++++++++++++++++++++++++ flatpak/patches/build_directory.patch | 14 --- flatpak/patches/ci_fixes.patch | 3 - 4 files changed, 157 insertions(+), 31 deletions(-) create mode 100644 flatpak/io.github.qtox.qTox.json delete mode 100644 flatpak/patches/build_directory.patch delete mode 100644 flatpak/patches/ci_fixes.patch diff --git a/flatpak/build.sh b/flatpak/build.sh index f5ad21199..0bffc04c8 100755 --- a/flatpak/build.sh +++ b/flatpak/build.sh @@ -14,8 +14,6 @@ readonly BUILD_DIR="/build" readonly QTOX_BUILD_DIR="$BUILD_DIR"/qtox readonly FP_BUILD_DIR="$BUILD_DIR"/flatpak readonly APT_FLAGS="-y --no-install-recommends" -# flatpak manifest file -readonly QTOX_MANIFEST="https://raw.githubusercontent.com/flathub/io.github.qtox.qTox/master/io.github.qtox.qTox.json" # flatpak manifest download location readonly MANIFEST_FILE="flatpak/io.github.qtox.qTox.json" # directory containing necessary patches @@ -41,18 +39,6 @@ cd "$BUILD_DIR" cp -r "$QTOX_SRC_DIR" "$QTOX_BUILD_DIR" cd "$QTOX_BUILD_DIR" -# download manifest file if not in repo, this allows an easy local override -if [ ! -f "$MANIFEST_FILE" ]; -then - wget -O "$MANIFEST_FILE" "$QTOX_MANIFEST" -fi - -# build from the local build directory instead of the git repo -patch "$MANIFEST_FILE" < "$PATCH_DIR"/build_directory.patch - -# this patch should contain all other patches needed -patch "$MANIFEST_FILE" < "$PATCH_DIR"/ci_fixes.patch - # create flatpak build directory mkdir -p "$FP_BUILD_DIR" cd "$FP_BUILD_DIR" diff --git a/flatpak/io.github.qtox.qTox.json b/flatpak/io.github.qtox.qTox.json new file mode 100644 index 000000000..07348893a --- /dev/null +++ b/flatpak/io.github.qtox.qTox.json @@ -0,0 +1,157 @@ +{ + "app-id": "io.github.qtox.qTox", + "runtime": "org.kde.Platform", + "sdk": "org.kde.Sdk", + "runtime-version": "5.10", + "command": "qtox", + "rename-icon": "qtox", + "finish-args": [ + "--share=network", + "--socket=pulseaudio", + "--socket=wayland", + "--socket=x11", + "--share=ipc", + "--filesystem=xdg-desktop", + "--filesystem=xdg-documents", + "--filesystem=xdg-download", + "--filesystem=xdg-music", + "--filesystem=xdg-pictures", + "--filesystem=xdg-videos", + "--filesystem=/media", + "--device=all" + ], + "build-options": { + "cflags": "-O3 -DSQLITE_HAS_CODEC", + "cxxflags": "-O3" + }, + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/share/man" + ], + "modules": [ + { + "name": "libv4l2", + "config-opts": + [ + "--disable-libdvbv5", + "--disable-v4l-utils", + "--disable-qv4l2" + ], + "sources": + [ + { + "type": "archive", + "url": "https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.14.2.tar.bz2", + "sha256" : "e6b962c4b1253cf852c31da13fd6b5bb7cbe5aa9e182881aec55123bae680692" + } + ] + }, + { + "name": "ffmpeg", + "config-opts": [ + "--disable-everything", + "--enable-gpl", + "--disable-debug", + "--enable-optimizations", + "--enable-shared", + "--disable-programs", + "--disable-protocols", + "--disable-doc", + "--disable-avfilter", + "--disable-avresample", + "--disable-filters", + "--disable-iconv", + "--disable-network", + "--disable-postproc", + "--enable-libv4l2", + "--enable-indev=v4l2", + "--enable-libxcb", + "--enable-indev=xcbgrab", + "--enable-demuxer=h264", + "--enable-demuxer=mjpeg", + "--enable-parser=h264", + "--enable-parser=mjpeg", + "--enable-decoder=h264", + "--enable-decoder=mjpeg", + "--enable-decoder=rawvideo" + ], + "sources": [ + { + "type": "archive", + "url": "https://ffmpeg.org/releases/ffmpeg-4.0.1.tar.bz2", + "sha256" : "7ee591b1e7fb66f055fa514fbd5d98e092ddb3dbe37d2e50ea5c16ab51c21670" + } + ] + }, + { + "name": "sqlcipher", + "rm-configure": true, + "config-opts": [ + "--enable-tempstore=yes", + "--disable-tcl" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/sqlcipher/sqlcipher", + "tag": "v3.4.2", + "commit": "c6f709fca81c910ba133aaf6330c28e01ccfe5f8", + "disable-fsckobjects" : true + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "AUTOMAKE=\"automake --foreign\" autoreconf -vfi" + ] + } + ] + }, + { + "name": "libsodium", + "sources": [ + { + "type": "git", + "url": "https://github.com/jedisct1/libsodium", + "tag": "1.0.16", + "commit": "675149b9b8b66ff44152553fb3ebf9858128363d" + } + ] + }, + { + "name": "libqrencode", + "sources": [ + { + "type": "git", + "url": "https://github.com/fukuchi/libqrencode", + "tag": "v4.0.2", + "commit": "59ee597f913fcfda7a010a6e106fbee2595f68e4" + } + ] + }, + { + "name": "c-toxcore", + "buildsystem": "cmake-ninja", + "sources": [ + { + "type": "git", + "url": "https://github.com/toktok/c-toxcore", + "tag": "v0.2.3", + "commit": "ae7899cab8104fa3c3078a3e61ddfa58a826e39a" + } + ] + }, + { + "name": "qTox", + "buildsystem": "cmake-ninja", + "sources": [ + { + "type": "dir", + "path": "/build/qtox/" + } + ] + } + ] +} + diff --git a/flatpak/patches/build_directory.patch b/flatpak/patches/build_directory.patch deleted file mode 100644 index a921e8791..000000000 --- a/flatpak/patches/build_directory.patch +++ /dev/null @@ -1,14 +0,0 @@ -97,103c97,101 -< { -< "type": "git", -< "url": "https://github.com/qTox/qTox", -< "tag": "v1.15.0", -< "commit": "02d6c63acaac0ae95fa8be3a1b9301657e6a4a94" -< } -< ] ---- -> { -> "type": "dir", -> "path": "/build/qtox/" -> } -> ] diff --git a/flatpak/patches/ci_fixes.patch b/flatpak/patches/ci_fixes.patch deleted file mode 100644 index 0e2639028..000000000 --- a/flatpak/patches/ci_fixes.patch +++ /dev/null @@ -1,3 +0,0 @@ -8,9d7 -< "rename-desktop-file": "qtox.desktop", -< "rename-appdata-file": "qTox.appdata.xml",