summaryrefslogtreecommitdiff
path: root/repo/libbsd
diff options
context:
space:
mode:
Diffstat (limited to 'repo/libbsd')
-rw-r--r--repo/libbsd/disable-fpurge-test.patch22
-rw-r--r--repo/libbsd/libbsd.xibuild37
2 files changed, 59 insertions, 0 deletions
diff --git a/repo/libbsd/disable-fpurge-test.patch b/repo/libbsd/disable-fpurge-test.patch
new file mode 100644
index 0000000..a276eca
--- /dev/null
+++ b/repo/libbsd/disable-fpurge-test.patch
@@ -0,0 +1,22 @@
+On musl, FILE is not a complete type for C standards >=C11. See:
+
+ https://git.musl-libc.org/cgit/musl/commit/?id=f368d9fd26ae002fe2fce20add4cb2b806f48972
+
+For this reason, the fpurge test fails to compile with:
+
+ fpurge.c: In function 'main':
+ fpurge.c:32:21: error: storage size of 'fp_bad' isn't known
+ 32 | static FILE fp_bad;
+ | ^~~~~~
+
+diff -upr libbsd-0.11.5.orig/test/Makefile.am libbsd-0.11.5/test/Makefile.am
+--- libbsd-0.11.5.orig/test/Makefile.am 2022-02-04 23:14:39.252701411 +0100
++++ libbsd-0.11.5/test/Makefile.am 2022-02-04 23:14:45.209390741 +0100
+@@ -38,7 +38,6 @@ check_PROGRAMS = \
+ fgetln \
+ funopen \
+ fparseln \
+- fpurge \
+ md5 \
+ nlist \
+ proctitle-init \
diff --git a/repo/libbsd/libbsd.xibuild b/repo/libbsd/libbsd.xibuild
new file mode 100644
index 0000000..18de571
--- /dev/null
+++ b/repo/libbsd/libbsd.xibuild
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+NAME="libbsd"
+DESC="commonly-used BSD functions not implemented by all libcs"
+
+MAKEDEPS="libmd"
+
+PKG_VER=0.11.6
+SOURCE="https://libbsd.freedesktop.org/releases/libbsd-$PKG_VER.tar.xz"
+
+ADDITIONAL="
+disable-fpurge-test.patch
+"
+
+prepare() {
+ apply_patches
+
+ ./autogen
+}
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$PKG_DEST" install
+}