aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarvin Steadfast <marvin@xsteadfastx.org>2019-03-21 13:36:50 +0100
committerprspkt <prspkt@protonmail.com>2019-03-24 15:57:41 +0200
commit73785b1b278d16030dfc32f17c412e966e3c973f (patch)
tree6e6cc0b1b3860ac3d1c04a82ea86d37a665e61c3
parent15aca31a287c4aa09488ecf02cbff141e32eca80 (diff)
downloadaports-73785b1b278d16030dfc32f17c412e966e3c973f.tar.gz
aports-73785b1b278d16030dfc32f17c412e966e3c973f.tar.bz2
aports-73785b1b278d16030dfc32f17c412e966e3c973f.tar.xz
testing/i3blocks: new aport
-rw-r--r--testing/i3blocks/APKBUILD29
-rw-r--r--testing/i3blocks/fix-musl.patch79
2 files changed, 108 insertions, 0 deletions
diff --git a/testing/i3blocks/APKBUILD b/testing/i3blocks/APKBUILD
new file mode 100644
index 0000000000..e6c48452fd
--- /dev/null
+++ b/testing/i3blocks/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Marvin Steadfast <marvin@xsteadfastx.org>
+# Maintainer: Marvin Steadfast <marvin@xsteadfastx.org>
+pkgname=i3blocks
+pkgver=1.4
+pkgrel=0
+pkgdesc="A minimalist scheduler for your status line scripts"
+url="https://github.com/vivien/i3blocks"
+arch="all"
+license="GPL-3.0-or-later"
+options="!check" # no test suite
+makedepends="ronn"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/vivien/i3blocks/archive/$pkgver.tar.gz
+ fix-musl.patch
+ "
+builddir="$srcdir/$pkgname-$pkgver"
+
+build() {
+ cd "$builddir"
+ make
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="f04fd68d59097b21bc88f3097dff137de656dd3fa696d9c04b987ba25136e5e5d9cacb63998e8635fe55fcf94f47900aec8c79d98e1d1d8847856a89ad9a6578 i3blocks-1.4.tar.gz
+ea4e76637d3112f4529558e04bb93007297678360052be4a28932e9389afe98f538a09008f92fcf0a68312c1c60ac5ad0687f467555ebccc4ac833c489856017 fix-musl.patch"
diff --git a/testing/i3blocks/fix-musl.patch b/testing/i3blocks/fix-musl.patch
new file mode 100644
index 0000000000..28d5af9df3
--- /dev/null
+++ b/testing/i3blocks/fix-musl.patch
@@ -0,0 +1,79 @@
+From 28c2b092f7d41aa723dad18b0484dca0da1cbbf5 Mon Sep 17 00:00:00 2001
+From: Leorize <alaviss@users.noreply.github.com>
+Date: Wed, 5 Jul 2017 11:07:07 +0700
+Subject: [PATCH] sched: fix musl libc build
+
+This commit solves the following error when building with musl libc
+```
+src/sched.c:34:17: error: 'sigset' redeclared as different kind of symbol
+ static sigset_t sigset;
+ ^~~~~~
+In file included from src/sched.c:21:0:
+/usr/include/signal.h:231:8: note: previous declaration of 'sigset' was here
+ void (*sigset(int, void (*)(int)))(int);
+ ^~~~~~
+make: *** [<builtin>: src/sched.o] Error 1
+make: *** Waiting for unfinished jobs....
+```
+
+Based on the patch by @E100Beta
+---
+ src/sched.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/sched.c b/src/sched.c
+index d1c4634..dabdeef 100644
+--- a/src/sched.c
++++ b/src/sched.c
+@@ -31,7 +31,7 @@
+ #include "json.h"
+ #include "log.h"
+
+-static sigset_t sigset;
++static sigset_t set;
+
+ static int
+ gcd(int a, int b)
+@@ -88,13 +88,13 @@ setup_timer(struct bar *bar)
+ static int
+ setup_signals(void)
+ {
+- if (sigemptyset(&sigset) == -1) {
++ if (sigemptyset(&set) == -1) {
+ errorx("sigemptyset");
+ return 1;
+ }
+
+ #define ADD_SIG(_sig) \
+- if (sigaddset(&sigset, _sig) == -1) { errorx("sigaddset(%d)", _sig); return 1; }
++ if (sigaddset(&set, _sig) == -1) { errorx("sigaddset(%d)", _sig); return 1; }
+
+ /* Control signals */
+ ADD_SIG(SIGTERM);
+@@ -125,7 +125,7 @@ setup_signals(void)
+ #undef ADD_SIG
+
+ /* Block signals for which we are interested in waiting */
+- if (sigprocmask(SIG_SETMASK, &sigset, NULL) == -1) {
++ if (sigprocmask(SIG_SETMASK, &set, NULL) == -1) {
+ errorx("sigprocmask");
+ return 1;
+ }
+@@ -164,7 +164,7 @@ sched_start(struct bar *bar)
+ bar_poll_timed(bar);
+
+ while (1) {
+- sig = sigwaitinfo(&sigset, &siginfo);
++ sig = sigwaitinfo(&set, &siginfo);
+ if (sig == -1) {
+ /* Hiding the bar may interrupt this system call */
+ if (errno == EINTR)
+@@ -212,7 +212,7 @@ sched_start(struct bar *bar)
+ * Unblock signals (so subsequent syscall can be interrupted)
+ * and wait for child processes termination.
+ */
+- if (sigprocmask(SIG_UNBLOCK, &sigset, NULL) == -1)
++ if (sigprocmask(SIG_UNBLOCK, &set, NULL) == -1)
+ errorx("sigprocmask");
+ while (waitpid(-1, NULL, 0) > 0)
+ continue;