From d8486c22f022fed61a9934a7ff6e88c9c3969367 Mon Sep 17 00:00:00 2001 From: jbu Date: Fri, 10 Jul 2015 20:11:39 +0200 Subject: [PATCH] fortune-mod: unbreak musl --- srcpkgs/fortune-mod/files/error.c | 19 +++++++++++++++++++ srcpkgs/fortune-mod/files/error.h | 4 ++++ srcpkgs/fortune-mod/template | 7 +++++++ 3 files changed, 30 insertions(+) create mode 100644 srcpkgs/fortune-mod/files/error.c create mode 100644 srcpkgs/fortune-mod/files/error.h diff --git a/srcpkgs/fortune-mod/files/error.c b/srcpkgs/fortune-mod/files/error.c new file mode 100644 index 00000000000..7b12fe45adf --- /dev/null +++ b/srcpkgs/fortune-mod/files/error.c @@ -0,0 +1,19 @@ +#include +#include +#define _GNU_SOURCE +#include + +void error(int status, int errnum, const char* format, ...) +{ + va_list ap; + + fflush(stdout); + fprintf(stderr, "%s: ", program_invocation_name); + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + if (errnum) + fprintf(stderr, ":%d", errnum); + if (status) + exit(status); +} diff --git a/srcpkgs/fortune-mod/files/error.h b/srcpkgs/fortune-mod/files/error.h new file mode 100644 index 00000000000..81a410f8cfc --- /dev/null +++ b/srcpkgs/fortune-mod/files/error.h @@ -0,0 +1,4 @@ +#ifndef _ERROR_H_ +#define _ERROR_H_ +void error(int status, int errnum, const char* format, ...); +#endif /* _ERROR_H_ */ diff --git a/srcpkgs/fortune-mod/template b/srcpkgs/fortune-mod/template index 13a667a7302..f935d4393c6 100644 --- a/srcpkgs/fortune-mod/template +++ b/srcpkgs/fortune-mod/template @@ -15,6 +15,13 @@ nocross=yes do_build() { sed -i "s|^CFLAGS=.*|CFLAGS=${CFLAGS} -fsigned-char \$(DEFINES)|" Makefile sed -i "s|^LDFLAGS=.*|LDFLAGS=${LDFLAGS}|" Makefile + sed -i "s;u_int;uint;" util/strfile.h + case "$XBPS_TARGET_MACHINE" in + *-musl) + cp ${FILESDIR}/error.{c,h} ${wrksrc}/fortune + sed -e "s;-DBSD_REGEX;-DPOSIX_REGEX;" -i Makefile + sed -e "s;fortune\.o;fortune.o error.o;" -i fortune/Makefile + esac make CC=$CC COOKIEDIR=/usr/share/fortunes } do_install() {