summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-12-17 00:51:46 +0000
committerSam James <sam@gentoo.org>2021-12-17 02:52:41 +0000
commit3d3061fa2f40c2897d8362a15e17d0a04ca5b26f (patch)
tree30a45f0af650aaa89b9d8a658e376ca93379b9f8 /sys-apps/flatpak
parentnet-misc/chrony: add 4.2 (diff)
downloadgentoo-3d3061fa2f40c2897d8362a15e17d0a04ca5b26f.tar.gz
gentoo-3d3061fa2f40c2897d8362a15e17d0a04ca5b26f.tar.bz2
gentoo-3d3061fa2f40c2897d8362a15e17d0a04ca5b26f.zip
sys-apps/flatpak: fix compatibility with newer pyparsing
Bug: https://bugs.gentoo.org/825230 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps/flatpak')
-rw-r--r--sys-apps/flatpak/files/flatpak-1.12.2-pyparsing-3.0.2-compat.patch42
-rw-r--r--sys-apps/flatpak/flatpak-1.12.2-r1.ebuild106
2 files changed, 148 insertions, 0 deletions
diff --git a/sys-apps/flatpak/files/flatpak-1.12.2-pyparsing-3.0.2-compat.patch b/sys-apps/flatpak/files/flatpak-1.12.2-pyparsing-3.0.2-compat.patch
new file mode 100644
index 000000000000..237c659e36f8
--- /dev/null
+++ b/sys-apps/flatpak/files/flatpak-1.12.2-pyparsing-3.0.2-compat.patch
@@ -0,0 +1,42 @@
+https://gitlab.gnome.org/alexl/variant-schema-compiler/-/merge_requests/11.patch
+
+From 8850e4d0da76a85c5f9926cd40e148e0b29bddac Mon Sep 17 00:00:00 2001
+From: Phaedrus Leeds <mwleeds@protonmail.com>
+Date: Thu, 16 Dec 2021 10:50:10 -0800
+Subject: [PATCH] Fix runtime error when using pyparsing >= 3.0.2
+
+Ever since this commit
+(https://github.com/pyparsing/pyparsing/commit/4ab17bb55)
+variant-schema-compiler has failed to execute when used by Flatpak like
+this:
+$ variant-schema-compiler/variant-schema-compiler --outfile-header
+common/flatpak-variant-private.h --outfile
+common/flatpak-variant-impl-private.h --prefix var
+./data/flatpak-variants.gv
+
+For some reason our use of leaveWhitespace() to ensure that a named type
+has a ' right before its name no longer works. But fortunately pyparsing
+has a Combine() which does exactly what we want.
+
+See https://github.com/flatpak/flatpak/issues/4534
+
+Fixes https://gitlab.gnome.org/alexl/variant-schema-compiler/-/issues/4
+---
+ variant-schema-compiler | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/subprojects/variant-schema-compiler/variant-schema-compiler
++++ b/subprojects/variant-schema-compiler/variant-schema-compiler
+@@ -1740,7 +1740,7 @@ def handleNameableType(toks):
+ add_named_type(typename_prefix + name, type)
+ return type
+
+-nameableType = (Optional((Suppress("'") + ident).leaveWhitespace()) + (arrayType ^ maybeType ^ dictType ^ structType)).setParseAction(handleNameableType)
++nameableType = (Optional(Combine(Suppress("'") + ident)) + (arrayType ^ maybeType ^ dictType ^ structType)).setParseAction(handleNameableType)
+
+ typeSpec <<= basicType ^ variantType ^ namedType ^ nameableType
+
+--
+GitLab
+
+
diff --git a/sys-apps/flatpak/flatpak-1.12.2-r1.ebuild b/sys-apps/flatpak/flatpak-1.12.2-r1.ebuild
new file mode 100644
index 000000000000..93fb30b800bc
--- /dev/null
+++ b/sys-apps/flatpak/flatpak-1.12.2-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{8,9,10} )
+
+inherit autotools linux-info python-any-r1
+
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
+DESCRIPTION="Linux application sandboxing and distribution framework"
+HOMEPAGE="https://flatpak.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc gtk kde introspection policykit seccomp systemd"
+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-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]
+ dev-util/ostree[soup]
+ )
+ >=gnome-base/dconf-0.26:=
+ >=net-libs/libsoup-2.4:=
+ sys-apps/bubblewrap
+ sys-apps/dbus
+ >=sys-fs/fuse-2.9.9:0=
+ sys-apps/xdg-dbus-proxy
+ x11-apps/xauth
+ x11-libs/gdk-pixbuf:2=
+ x11-libs/libXau:=
+ policykit? ( >=sys-auth/polkit-0.98:= )
+ seccomp? ( sys-libs/libseccomp:= )
+ systemd? ( sys-apps/systemd:= )
+"
+
+DEPEND="${RDEPEND}"
+# pyparsing version pinned for https://bugs.gentoo.org/825230
+BDEPEND="
+ >=sys-devel/automake-1.13.4
+ >=sys-devel/gettext-0.18.2
+ virtual/pkgconfig
+ dev-util/gdbus-codegen
+ sys-devel/bison
+ introspection? ( >=dev-libs/gobject-introspection-1.40 )
+ doc? (
+ >=dev-util/gtk-doc-1.20
+ dev-libs/libxslt
+ )
+ $(python_gen_any_dep 'dev-python/pyparsing[${PYTHON_USEDEP}]')
+"
+
+PDEPEND="
+ gtk? ( sys-apps/xdg-desktop-portal-gtk )
+ kde? ( kde-plasma/xdg-desktop-portal-kde )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.12.2-pyparsing-3.0.2-compat.patch
+)
+
+python_check_deps() {
+ has_version -b "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 myeconfargs=(
+ --enable-sandboxed-triggers
+ --enable-xauth
+ --localstatedir="${EPREFIX}"/var
+ --with-system-bubblewrap
+ --with-system-dbus-proxy
+ $(use_enable doc documentation)
+ $(use_enable doc gtk-doc)
+ $(use_enable introspection)
+ $(use_enable policykit system-helper)
+ $(use_enable seccomp)
+ $(use_with systemd)
+ )
+
+ econf "${myeconfargs[@]}"
+}