mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-27 23:44:04 +00:00
added extra/flatpak
This commit is contained in:
parent
27135a0c51
commit
09d53b0f58
3 changed files with 187 additions and 0 deletions
112
extra/flatpak/PKGBUILD
Normal file
112
extra/flatpak/PKGBUILD
Normal file
|
@ -0,0 +1,112 @@
|
|||
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
||||
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - move socat to makedepends
|
||||
# - set -Dtests=false
|
||||
|
||||
pkgbase=flatpak
|
||||
pkgname=(flatpak flatpak-docs)
|
||||
pkgver=1.15.1
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc="Linux application sandboxing and distribution framework (formerly xdg-app)"
|
||||
url="https://flatpak.org"
|
||||
arch=(x86_64)
|
||||
license=(LGPL)
|
||||
depends=(dbus glib2 curl polkit libxau ostree json-glib libseccomp libarchive
|
||||
python bubblewrap appstream xdg-dbus-proxy systemd fuse3 libmalcontent)
|
||||
makedepends=(gobject-introspection gtk-doc git docbook-xsl xmlto
|
||||
python-pyparsing meson socat)
|
||||
checkdepends=(valgrind socat)
|
||||
options=(debug)
|
||||
_commit=47ea3934c0e055605b8dff93edad2136141e48ec # tags/1.15.1^0
|
||||
source=(
|
||||
"git+https://github.com/flatpak/flatpak#commit=$_commit"
|
||||
git+https://gitlab.gnome.org/GNOME/libglnx.git
|
||||
git+https://github.com/projectatomic/bubblewrap
|
||||
git+https://github.com/flatpak/xdg-dbus-proxy
|
||||
git+https://gitlab.gnome.org/alexl/variant-schema-compiler.git
|
||||
https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
fusermount3.diff
|
||||
flatpak-bindir.sh
|
||||
)
|
||||
sha256sums=('SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'3371dd250e61d9e1633630073fefda153cd4426f72f4afa0c3373ae2e8fea03a'
|
||||
'023c2bb5f355095e87357e625ef85119b5e15b3d0a4ad07ce858ed1a8f99a57a'
|
||||
'1824cb4eb1cc88702cb2b9f1c55b6dfdf20fca5eab83f6e8e532099281328745')
|
||||
|
||||
pkgver() {
|
||||
cd flatpak
|
||||
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd flatpak
|
||||
|
||||
# Support fuse3
|
||||
# https://bugs.archlinux.org/task/75623
|
||||
git apply -3 ../fusermount3.diff
|
||||
|
||||
git submodule init
|
||||
git submodule set-url libglnx "$srcdir/libglnx"
|
||||
git submodule set-url bubblewrap "$srcdir/bubblewrap"
|
||||
git submodule set-url dbus-proxy "$srcdir/xdg-dbus-proxy"
|
||||
git submodule set-url variant-schema-compiler "$srcdir/variant-schema-compiler"
|
||||
git -c protocol.file.allow=always submodule update
|
||||
}
|
||||
|
||||
build() {
|
||||
local meson_options=(
|
||||
-D dbus_config_dir=/usr/share/dbus-1/system.d
|
||||
-D selinux_module=disabled
|
||||
-D system_bubblewrap=bwrap
|
||||
-D system_dbus_proxy=xdg-dbus-proxy
|
||||
-D tests=false
|
||||
)
|
||||
|
||||
arch-meson flatpak build "${meson_options[@]}"
|
||||
meson compile -C build
|
||||
}
|
||||
|
||||
check() {
|
||||
meson test -C build --print-errorlogs
|
||||
}
|
||||
|
||||
_pick() {
|
||||
local p="$1" f d; shift
|
||||
for f; do
|
||||
d="$srcdir/$p/${f#$pkgdir/}"
|
||||
mkdir -p "$(dirname "$d")"
|
||||
mv "$f" "$d"
|
||||
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
|
||||
done
|
||||
}
|
||||
|
||||
package_flatpak() {
|
||||
depends+=(xdg-desktop-portal libostree-1.so)
|
||||
provides=(libflatpak.so)
|
||||
|
||||
meson install -C build --destdir "$pkgdir"
|
||||
|
||||
install -Dt "$pkgdir/etc/profile.d" -m644 flatpak-bindir.sh
|
||||
install -Dt "$pkgdir/etc/flatpak/remotes.d" flathub.flatpakrepo
|
||||
|
||||
# Fixup mode to match polkit
|
||||
install -d -o root -g 102 -m 750 "$pkgdir/usr/share/polkit-1/rules.d"
|
||||
|
||||
_pick docs "$pkgdir"/usr/share/{doc,gtk-doc}
|
||||
}
|
||||
|
||||
package_flatpak-docs() {
|
||||
pkgdesc+=" (documentation)"
|
||||
depends=()
|
||||
mv docs/* "$pkgdir"
|
||||
}
|
||||
|
||||
# vim:set sw=2 sts=-1 et:
|
9
extra/flatpak/flatpak-bindir.sh
Normal file
9
extra/flatpak/flatpak-bindir.sh
Normal file
|
@ -0,0 +1,9 @@
|
|||
if [ -n "$XDG_DATA_HOME" ] && [ -d "$XDG_DATA_HOME/flatpak/exports/bin" ]; then
|
||||
append_path "$XDG_DATA_HOME/flatpak/exports/bin"
|
||||
elif [ -n "$HOME" ] && [ -d "$HOME/.local/share/flatpak/exports/bin" ]; then
|
||||
append_path "$HOME/.local/share/flatpak/exports/bin"
|
||||
fi
|
||||
|
||||
if [ -d /var/lib/flatpak/exports/bin ]; then
|
||||
append_path /var/lib/flatpak/exports/bin
|
||||
fi
|
66
extra/flatpak/fusermount3.diff
Normal file
66
extra/flatpak/fusermount3.diff
Normal file
|
@ -0,0 +1,66 @@
|
|||
diff --git i/common/flatpak-dir.c w/common/flatpak-dir.c
|
||||
index 01362a2b..2b17c6f8 100644
|
||||
--- i/common/flatpak-dir.c
|
||||
+++ w/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))
|
||||
{
|
||||
diff --git i/tests/can-use-fuse.c w/tests/can-use-fuse.c
|
||||
index fb6e2000..759f0d84 100644
|
||||
--- i/tests/can-use-fuse.c
|
||||
+++ w/tests/can-use-fuse.c
|
||||
@@ -53,23 +53,23 @@ 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;
|
||||
}
|
||||
|
||||
if (!g_file_test (fusermount, G_FILE_TEST_IS_EXECUTABLE))
|
||||
{
|
||||
cannot_use_fuse = g_strdup_printf ("%s not executable", fusermount);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
diff --git i/tests/libtest.sh w/tests/libtest.sh
|
||||
index 36d39ac4..e78d94ca 100644
|
||||
--- i/tests/libtest.sh
|
||||
+++ w/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}"
|
Loading…
Reference in a new issue