From a2042f8ec6e2e28b149e99d36c707604199edf26 Mon Sep 17 00:00:00 2001 From: TheK0tYaRa Date: Sun, 26 Jan 2025 20:04:50 +0200 Subject: [PATCH] flatpak dependency fix --- sys-apps/flatpak/Manifest | 1 + .../files/flatpak-1.14.4-fuse-3-slotted.patch | 57 +++++++++ sys-apps/flatpak/files/flatpak-update.service | 11 ++ sys-apps/flatpak/files/flatpak-update.timer | 9 ++ sys-apps/flatpak/flatpak-1.16.0-r1.ebuild | 116 ++++++++++++++++++ sys-apps/flatpak/metadata.xml | 11 ++ 6 files changed, 205 insertions(+) create mode 100644 sys-apps/flatpak/Manifest create mode 100644 sys-apps/flatpak/files/flatpak-1.14.4-fuse-3-slotted.patch create mode 100644 sys-apps/flatpak/files/flatpak-update.service create mode 100644 sys-apps/flatpak/files/flatpak-update.timer create mode 100644 sys-apps/flatpak/flatpak-1.16.0-r1.ebuild create mode 100644 sys-apps/flatpak/metadata.xml diff --git a/sys-apps/flatpak/Manifest b/sys-apps/flatpak/Manifest new file mode 100644 index 0000000..11b9cc4 --- /dev/null +++ b/sys-apps/flatpak/Manifest @@ -0,0 +1 @@ +DIST flatpak-1.16.0.tar.xz 1186900 BLAKE2B 807144886340edd862d3758664fda60e8a8146e5230b2758bcc7fa65940e9f358a354e9fb0ffdb9bb3049d6c6c2d3ba2924fc249bf94e8f989fc8b784048fbb1 SHA512 57a8b660193ef1f9724718533963d854fa8bb0eb823470261f3f0a685f8ddbd209d6a1ae8378411c131e9c298cba605863d394f43c8d9eccda608001aadbb68d diff --git a/sys-apps/flatpak/files/flatpak-1.14.4-fuse-3-slotted.patch b/sys-apps/flatpak/files/flatpak-1.14.4-fuse-3-slotted.patch new file mode 100644 index 0000000..a0db209 --- /dev/null +++ b/sys-apps/flatpak/files/flatpak-1.14.4-fuse-3-slotted.patch @@ -0,0 +1,57 @@ +https://bugs.gentoo.org/906653 +--- a/common/flatpak-dir.c ++++ b/common/flatpak-dir.c +@@ -2109,7 +2109,7 @@ flatpak_dir_revokefs_fuse_unmount (OstreeRepo **repo, + + fusermount = g_subprocess_new (G_SUBPROCESS_FLAGS_NONE, + error, +- "fusermount", "-u", "-z", mnt_dir, ++ "fusermount3", "-u", "-z", mnt_dir, + NULL); + if (g_subprocess_wait_check (fusermount, NULL, error)) + { +--- a/tests/can-use-fuse.c ++++ b/tests/can-use-fuse.c +@@ -53,11 +53,11 @@ check_fuse (void) + return FALSE; + } + +- fusermount = g_find_program_in_path ("fusermount"); ++ fusermount = g_find_program_in_path ("fusermount3"); + + if (fusermount == NULL) + { +- cannot_use_fuse = g_strdup ("fusermount not found in PATH"); ++ cannot_use_fuse = g_strdup ("fusermount3 not found in PATH"); + return FALSE; + } + +@@ -69,7 +69,7 @@ check_fuse (void) + + if (!g_file_test ("/etc/mtab", G_FILE_TEST_EXISTS)) + { +- cannot_use_fuse = g_strdup ("fusermount won't work without /etc/mtab"); ++ cannot_use_fuse = g_strdup ("fusermount3 won't work without /etc/mtab"); + return FALSE; + } + +--- a/tests/libtest.sh ++++ b/tests/libtest.sh +@@ -542,7 +542,7 @@ skip_one_without_bwrap () { + } + + skip_without_fuse () { +- fusermount --version >/dev/null 2>&1 || skip "no fusermount" ++ fusermount3 --version >/dev/null 2>&1 || skip "no fusermount3" + + capsh --print | grep -q 'Bounding set.*[^a-z]cap_sys_admin' || \ + skip "No cap_sys_admin in bounding set, can't use FUSE" +@@ -608,7 +608,7 @@ commit_to_path () { + cleanup () { + /bin/kill -9 $DBUS_SESSION_BUS_PID + gpg-connect-agent --homedir "${FL_GPG_HOMEDIR}" killagent /bye >&2 || true +- fusermount -u $XDG_RUNTIME_DIR/doc >&2 || : ++ fusermount3 -u $XDG_RUNTIME_DIR/doc >&2 || : + kill $(jobs -p) &> /dev/null || true + if test -n "${TEST_SKIP_CLEANUP:-}"; then + echo "# Skipping cleanup of ${TEST_DATA_DIR}" diff --git a/sys-apps/flatpak/files/flatpak-update.service b/sys-apps/flatpak/files/flatpak-update.service new file mode 100644 index 0000000..0733055 --- /dev/null +++ b/sys-apps/flatpak/files/flatpak-update.service @@ -0,0 +1,11 @@ +[Unit] +Description=Update system Flatpaks +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/flatpak --system update --assumeyes + +[Install] +WantedBy=multi-user.target diff --git a/sys-apps/flatpak/files/flatpak-update.timer b/sys-apps/flatpak/files/flatpak-update.timer new file mode 100644 index 0000000..f34af44 --- /dev/null +++ b/sys-apps/flatpak/files/flatpak-update.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Update user Flatpaks daily + +[Timer] +OnCalendar=daily +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/sys-apps/flatpak/flatpak-1.16.0-r1.ebuild b/sys-apps/flatpak/flatpak-1.16.0-r1.ebuild new file mode 100644 index 0000000..8403512 --- /dev/null +++ b/sys-apps/flatpak/flatpak-1.16.0-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit linux-info meson python-any-r1 systemd tmpfiles + +DESCRIPTION="Linux application sandboxing and distribution framework" +HOMEPAGE="https://flatpak.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="doc introspection seccomp selinux systemd X" +RESTRICT="test" + +RDEPEND=" + acct-group/flatpak + acct-user/flatpak + >=app-arch/libarchive-2.8:= + app-arch/zstd:= + >=app-crypt/gpgme-1.1.8:= + >=dev-libs/appstream-0.12:= + >=dev-libs/appstream-glib-0.5.10:= + >=dev-libs/glib-2.56:2= + >=dev-libs/libxml2-2.4:= + dev-libs/json-glib:= + dev-libs/libassuan:= + >=dev-util/ostree-2020.8:=[gpg(+)] + dev-util/ostree[curl] + >=gnome-base/dconf-0.26:= + gnome-base/gsettings-desktop-schemas + net-misc/curl:= + >=sys-apps/bubblewrap-0.10.0 + net-misc/socat + sys-apps/dbus + >=sys-fs/fuse-3.1.1:3= + sys-apps/xdg-dbus-proxy + X? ( + x11-apps/xauth + x11-libs/libXau:= + ) + x11-libs/gdk-pixbuf:2= + seccomp? ( sys-libs/libseccomp:= ) + systemd? ( sys-apps/systemd:= ) +" + +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-build/automake-1.13.4 + >=sys-devel/gettext-0.18.2 + virtual/pkgconfig + dev-util/gdbus-codegen + dev-util/glib-utils + app-alternatives/yacc + $(python_gen_any_dep 'dev-python/pyparsing[${PYTHON_USEDEP}]') + introspection? ( >=dev-libs/gobject-introspection-1.40 ) + doc? ( + app-text/xmlto + dev-libs/libxslt + ) +" + +PDEPEND="sys-apps/xdg-desktop-portal" + +python_check_deps() { + python_has_version "dev-python/pyparsing[${PYTHON_USEDEP}]" +} + +pkg_setup() { + local CONFIG_CHECK="~USER_NS" + linux-info_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + default + # This line fails because locales are in /usr/lib/locale/locale-archive. + sed -i 's:^cp -r /usr/lib/locale/C.*:#\0:' tests/make-test-runtime.sh || die +} + +src_configure() { + local emesonargs=( + --localstatedir="${EPREFIX}"/var + -Ddbus_config_dir=/usr/share/dbus-1/system.d + -Dsystem_bubblewrap=bwrap + -Dsystem_dbus_proxy=xdg-dbus-proxy + -Dtmpfilesdir=/usr/lib/tmpfiles.d + $(meson_feature introspection gir) + $(meson_feature selinux selinux_module) + $(meson_feature X xauth) + $(meson_feature doc docbook_docs) + $(meson_feature seccomp seccomp) + $(meson_feature systemd systemd) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + # https://projects.gentoo.org/qa/policy-guide/installed-files.html#pg0303 + find "${ED}" -name '*.la' -delete || die + # resolve conflict with acct-user/flatpak for #856706 + rm -rf "${ED}/usr/lib/sysusers.d" + + if use systemd; then + systemd_dounit "${FILESDIR}"/flatpak-update.{service,timer} + fi +} + +pkg_postinst() { + tmpfiles_process flatpak.conf +} diff --git a/sys-apps/flatpak/metadata.xml b/sys-apps/flatpak/metadata.xml new file mode 100644 index 0000000..8a86799 --- /dev/null +++ b/sys-apps/flatpak/metadata.xml @@ -0,0 +1,11 @@ + + + + + zmedico@gentoo.org + Zac Medico + + + flatpak/flatpak + +