Skip to content

Commit

Permalink
* add flatpak
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Baldeck committed Mar 11, 2019
1 parent fab8cc5 commit ad8e411
Show file tree
Hide file tree
Showing 5 changed files with 147 additions and 0 deletions.
91 changes: 91 additions & 0 deletions flatpak/PKGBUILD
@@ -0,0 +1,91 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

pkgname=flatpak
pkgver=1.2.3
pkgrel=1
pkgdesc="Linux application sandboxing and distribution framework (formerly xdg-app)"
url="https://flatpak.org"
arch=(x86_64 powerpc64le)
license=(LGPL2.1)
depends=(dbus systemd glib2 libsoup polkit libxau ostree json-glib libseccomp libarchive
python bubblewrap appstream-glib xdg-dbus-proxy)
makedepends=(intltool gobject-introspection gtk-doc git docbook-xsl xmlto)
checkdepends=(valgrind)
install=flatpak.install
_commit=428c7bf8566d1cdb9f5eafccde1a19a41aeab144 # tags/1.2.3^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"
python3.diff
flatpak-bindir.sh flathub.flatpakrepo)
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'4b2e70d10402e179a1fdcfc367a8be128e2ceaafb8b16a737e14c16596417cc5'
'cf20e4831bceaaee74e9298b4ad7c4d2d51085d43f62d1c6a2d2977d2f421e00'
'3371dd250e61d9e1633630073fefda153cd4426f72f4afa0c3373ae2e8fea03a')

prepare() {
cd $pkgname

patch -Np1 -i ../python3.diff

git submodule init
git config --local submodule.bubblewrap.url "$srcdir/bubblewrap"
git config --local submodule.libglnx.url "$srcdir/libglnx"
git config --local submodule.dbus-proxy.url "$srcdir/xdg-dbus-proxy"
git submodule update

# https://github.com/flatpak/flatpak/issues/267
sed -i '/locale\/C\./d' tests/make-test-runtime.sh

NOCONFIGURE=1 ./autogen.sh
}

pkgver() {
cd $pkgname
git describe --tags | sed 's/-/+/g'
}

build() {
cd $pkgname

./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--sbindir=/usr/bin \
--libexecdir=/usr/lib \
--disable-static \
--enable-gtk-doc \
--with-system-bubblewrap \
--with-system-dbus-proxy \
--with-priv-mode=setuid \
--with-dbus-config-dir=/usr/share/dbus-1/system.d

sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

make
}

check() {
cd $pkgname
# Xattr tests fail on tmpfs
make -k check || [[ -n $(find . -maxdepth 0 -fstype tmpfs) ]]
}

package() {
depends+=(xdg-desktop-portal)

cd $pkgname
make DESTDIR="$pkgdir" install

install -Dt "$pkgdir/etc/profile.d" -m644 ../flatpak-bindir.sh
install -Dt "$pkgdir/usr/share/flatpak" -m644 ../flathub.flatpakrepo

# Fixup mode to match polkit
install -d -o root -g 102 -m 750 "$pkgdir/usr/share/polkit-1/rules.d"
}
8 changes: 8 additions & 0 deletions flatpak/flathub.flatpakrepo
@@ -0,0 +1,8 @@
[Flatpak Repo]
Title=Flathub
Url=https://dl.flathub.org/repo/
Homepage=https://flathub.org/
Comment=Central repository of Flatpak applications
Description=Central repository of Flatpak applications
Icon=https://dl.flathub.org/repo/logo.svg
GPGKey=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
7 changes: 7 additions & 0 deletions flatpak/flatpak-bindir.sh
@@ -0,0 +1,7 @@
if [ -d "$HOME" ] && [ -d "$HOME/.local/share/flatpak/exports/bin" ]; then
PATH="$PATH:$HOME/.local/share/flatpak/exports/bin"
fi

if [ -d /var/lib/flatpak/exports/bin ]; then
PATH="$PATH:/var/lib/flatpak/exports/bin"
fi
9 changes: 9 additions & 0 deletions flatpak/flatpak.install
@@ -0,0 +1,9 @@
post_install() {
flatpak remote-add --if-not-exists flathub /usr/share/flatpak/flathub.flatpakrepo
}

post_upgrade() {
if (( $(vercmp $2 0.10.2.1-2) < 0 )); then
post_install
fi
}
32 changes: 32 additions & 0 deletions flatpak/python3.diff
@@ -0,0 +1,32 @@
diff --git i/tests/test-webserver.sh w/tests/test-webserver.sh
index 6d10b011..52128884 100755
--- i/tests/test-webserver.sh
+++ w/tests/test-webserver.sh
@@ -3,25 +3,25 @@
set -euo pipefail

dir=$1
-cmd=${2:-python -m SimpleHTTPServer 0}
+cmd=${2:-python -m http.server 0}
test_tmpdir=$(pwd)

[ "$dir" != "" ] && cd ${dir}
echo "Running web server: PYTHONUNBUFFERED=1 setsid $cmd" >&2
touch ${test_tmpdir}/httpd-output
env PYTHONUNBUFFERED=1 setsid $cmd >${test_tmpdir}/httpd-output &
child_pid=$!
echo "Web server pid: $child_pid" >&2

for x in $(seq 300); do
echo "Waiting for web server ($x/300)..." >&2
# Snapshot the output
cp ${test_tmpdir}/httpd-output{,.tmp}
sed -ne 's/^/# httpd-output.tmp: /' < ${test_tmpdir}/httpd-output.tmp >&2
echo >&2
# If it's non-empty, see whether it matches our regexp
if test -s ${test_tmpdir}/httpd-output.tmp; then
- sed -e 's,Serving HTTP on 0.0.0.0 port \([0-9]*\) \.\.\.,\1,' < ${test_tmpdir}/httpd-output.tmp > ${test_tmpdir}/httpd-port
+ sed -e 's,Serving HTTP on 0.0.0.0 port \([0-9]*\) .*,\1,' < ${test_tmpdir}/httpd-output.tmp > ${test_tmpdir}/httpd-port
if ! cmp ${test_tmpdir}/httpd-output.tmp ${test_tmpdir}/httpd-port 1>/dev/null; then
# If so, we've successfully extracted the port
break

0 comments on commit ad8e411

Please sign in to comment.