changeset 1073:e9c3fdf98324

dev/bubblewrap: initial import, closes #2316
author David Demelier <markand@malikania.fr>
date Tue, 03 Sep 2019 20:30:00 +0200
parents e6376b4df41e
children 7f9418959f53
files dev/bubblewrap/bubblewrap.sh dev/bubblewrap/bubblewrap.sha1 dev/bubblewrap/patch-musl.patch
diffstat 3 files changed, 75 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/bubblewrap/bubblewrap.sh	Tue Sep 03 20:30:00 2019 +0200
@@ -0,0 +1,57 @@
+#!/bin/busybox sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+# TODO: add SELINUX option.
+
+PKGNAME=bubblewrap
+PKGVERSION=0.3.3
+PKGREVISION=1
+PKGLICENSE="one of README.licenses.md or CUSTOM"
+PKGSUMMARY="short summary"
+PKGDOWNLOAD="https://github.com/projectatomic/bubblewrap/releases/download/v$PKGVERSION/$PKGNAME-$PKGVERSION.tar.xz"
+PKGDEPENDS="libcap"
+
+: ${CHOST:=$(uname -m)-linux-musl}
+: ${CBUILD:=$(uname -m)-linux-musl}
+: ${CC:=clang}
+: ${CFLAGS:=-O2}
+: ${LDFLAGS:=}
+: ${LIBS:=}
+
+build()
+{
+	rm -rf $PKGNAME-$PKGVERSION
+	tar xvf $PKGNAME-$PKGVERSION.tar.xz
+	cd $PKGNAME-$PKGVERSION
+
+	# https://git.alpinelinux.org/aports/plain/main/bubblewrap/musl-fixes.patch
+	patch -p1 < ../patch-musl.patch
+	CC="$CC" \
+	CFLAGS="$CFLAGS" \
+	LDFLAGS="$LDFLAGS" \
+	LIBS="$LIBS" \
+	./configure \
+		--build=$CBUILD \
+		--host=$CHOST \
+		--prefix=
+	make
+	make install DESTDIR=$DESTDIR
+	find $DESTDIR -type f -name "*.la" -delete
+
+	cd ..
+	rm -rf $PKGNAME-$PKGVERSION
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/bubblewrap/bubblewrap.sha1	Tue Sep 03 20:30:00 2019 +0200
@@ -0,0 +1,1 @@
+b28499c2e1ce5e5846ca99686ebef5108f5e5536  bubblewrap-0.3.3.tar.xz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/bubblewrap/patch-musl.patch	Tue Sep 03 20:30:00 2019 +0200
@@ -0,0 +1,17 @@
+--- a/config.h.in
++++ b/config.h.in
+@@ -102,3 +102,14 @@
+ 
+ /* Define to 1 if you need to in order for `stat' and other things to work. */
+ #undef _POSIX_SOURCE
++
++/* taken from glibc unistd.h and fixes musl */
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) \
++  (__extension__                                                              \
++    ({ long int __result;                                                     \
++       do __result = (long int) (expression);                                 \
++       while (__result == -1L && errno == EINTR);                             \
++       __result; }))
++#endif
++