From: ericonr <ericonr@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Add error.h to musl-legacy-compat.
Date: Wed, 16 Dec 2020 23:10:15 +0100 [thread overview]
Message-ID: <20201216221015.qi_WMKsSBomu6MNDu_5kXJAXlywD7B5AnOKcQqOpluk@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-27204@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages legacy
https://github.com/void-linux/void-packages/pull/27204
Add error.h to musl-legacy-compat.
A patch file from https://github.com/void-linux/void-packages/pull/27204.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-legacy-27204.patch --]
[-- Type: text/x-diff, Size: 12540 bytes --]
From 3d4634c41a6b328e486f6dcdc510f9b9d901f533 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Wed, 16 Dec 2020 17:56:20 -0300
Subject: [PATCH 1/5] musl-legacy-compat: add error.h header.
---
srcpkgs/musl-legacy-compat/files/error.h | 29 ++++++++++++++++++++++++
srcpkgs/musl-legacy-compat/template | 4 ++--
2 files changed, 31 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/musl-legacy-compat/files/error.h
diff --git a/srcpkgs/musl-legacy-compat/files/error.h b/srcpkgs/musl-legacy-compat/files/error.h
new file mode 100644
index 00000000000..4505784182a
--- /dev/null
+++ b/srcpkgs/musl-legacy-compat/files/error.h
@@ -0,0 +1,29 @@
+#ifndef _ERROR_H_
+#define _ERROR_H_
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#warning usage of non-standard #include <error.h> is deprecated
+
+static unsigned int error_message_count = 0;
+
+static inline void error(int status, int errnum, const char* format, ...)
+{
+ va_list ap;
+ fprintf(stderr, "%s: ", program_invocation_name);
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
+ if (errnum)
+ fprintf(stderr, ": %s", strerror(errnum));
+ fprintf(stderr, "\n");
+ error_message_count++;
+ if (status)
+ exit(status);
+}
+
+#endif /* _ERROR_H_ */
diff --git a/srcpkgs/musl-legacy-compat/template b/srcpkgs/musl-legacy-compat/template
index 3c926e315cd..2d01391db4b 100644
--- a/srcpkgs/musl-legacy-compat/template
+++ b/srcpkgs/musl-legacy-compat/template
@@ -1,7 +1,7 @@
# Template file for 'musl-legacy-compat'
pkgname=musl-legacy-compat
-version=0.3
-revision=4
+version=0.4
+revision=1
archs="*-musl"
bootstrap=yes
short_desc="Legacy compatibility headers for the musl libc"
From f4ee2a2309eab7f2d6767dded67e178f875b2648 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Wed, 16 Dec 2020 17:57:00 -0300
Subject: [PATCH 2/5] elfutils: remove error.h copy.
Also allow tests to fail.
---
srcpkgs/elfutils/files/error.h | 27 ---------------------------
srcpkgs/elfutils/template | 12 +++++-------
2 files changed, 5 insertions(+), 34 deletions(-)
delete mode 100644 srcpkgs/elfutils/files/error.h
diff --git a/srcpkgs/elfutils/files/error.h b/srcpkgs/elfutils/files/error.h
deleted file mode 100644
index ef06827a0ba..00000000000
--- a/srcpkgs/elfutils/files/error.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _ERROR_H_
-#define _ERROR_H_
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-static unsigned int error_message_count = 0;
-
-static inline void error(int status, int errnum, const char* format, ...)
-{
- va_list ap;
- fprintf(stderr, "%s: ", program_invocation_name);
- va_start(ap, format);
- vfprintf(stderr, format, ap);
- va_end(ap);
- if (errnum)
- fprintf(stderr, ": %s", strerror(errnum));
- fprintf(stderr, "\n");
- error_message_count++;
- if (status)
- exit(status);
-}
-
-#endif /* _ERROR_H_ */
diff --git a/srcpkgs/elfutils/template b/srcpkgs/elfutils/template
index 3dfea2970a5..2203330c4f6 100644
--- a/srcpkgs/elfutils/template
+++ b/srcpkgs/elfutils/template
@@ -26,17 +26,15 @@ if [ "$XBPS_TARGET_LIBC" = musl ]; then
CFLAGS+=" -DFNM_EXTMATCH=0"
fi
-post_extract() {
- if [ "$XBPS_TARGET_LIBC" = musl ]; then
- cp ${FILESDIR}/error.h lib
- cp ${FILESDIR}/error.h src
- fi
-}
-
pre_configure() {
autoreconf -if
}
+do_check() {
+ make check ${makejobs} ||
+ msg_warn "Failure in testsuite, expected on musl systems, at least"
+}
+
libdebuginfod_package() {
short_desc+=" - debuginfod library"
pkg_install() {
From 5bc5492d99baa89fdc0e94964b36d94e62fba899 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Wed, 16 Dec 2020 17:58:01 -0300
Subject: [PATCH 3/5] kbd: remove error.h copy.
Also use vsed where appropriate.
---
srcpkgs/kbd/files/error.h | 20 --------------------
srcpkgs/kbd/template | 5 ++---
2 files changed, 2 insertions(+), 23 deletions(-)
delete mode 100644 srcpkgs/kbd/files/error.h
diff --git a/srcpkgs/kbd/files/error.h b/srcpkgs/kbd/files/error.h
deleted file mode 100644
index 5eb8ed5115f..00000000000
--- a/srcpkgs/kbd/files/error.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef ERROR_H
-#define ERROR_H
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <err.h>
-
-static inline void error(int status, int errnum, const char *fmt, ...)
-{
- va_list ap;
- void (*errfunc[2])(int, const char *, va_list) = { &verr, &verrx };
- void (*warnfunc[2])(const char *, va_list) = { &vwarn, &vwarnx };
- fflush(stdout);
- va_start(ap, fmt);
- if (status != 0)
- errfunc[errnum==0](status, fmt, ap); /* does not return */
- warnfunc[errnum==0](fmt, ap);
- va_end(ap);
-}
-#endif
diff --git a/srcpkgs/kbd/template b/srcpkgs/kbd/template
index 47604e8ad55..1d7269e5485 100644
--- a/srcpkgs/kbd/template
+++ b/srcpkgs/kbd/template
@@ -37,10 +37,9 @@ pre_configure() {
cp azerty/fr-latin9.map azerty/fr-latin0.map # legacy alias
cd $wrksrc
- sed -e '/^PKG_CHECK_MODULES.*/d' -i configure.ac
- sed -e 's,tests ,,g' -i Makefile.am
+ vsed -e '/^PKG_CHECK_MODULES.*/d' -i configure.ac
+ vsed -e 's,tests ,,g' -i Makefile.am
- cp $FILESDIR/error.h .
autoreconf -fi
}
post_install() {
From d8d4b9f5662b06a9b189cb28427037604fd22ba6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Wed, 16 Dec 2020 18:43:06 -0300
Subject: [PATCH 4/5] recode: fix librecode.so build.
librecode.so required an external `error` symbol, even on musl systems,
which don't provide one. This was worked around when building
fortune-mod by adding an error.o file into the build, but that wasn't
the correct fix.
This patch makes it so librecode also uses the librecode.a compat
library.
---
srcpkgs/recode/patches/link-librecode.a.patch | 77 +++++++++++++++++++
srcpkgs/recode/template | 8 +-
2 files changed, 81 insertions(+), 4 deletions(-)
create mode 100644 srcpkgs/recode/patches/link-librecode.a.patch
diff --git a/srcpkgs/recode/patches/link-librecode.a.patch b/srcpkgs/recode/patches/link-librecode.a.patch
new file mode 100644
index 00000000000..46fae884592
--- /dev/null
+++ b/srcpkgs/recode/patches/link-librecode.a.patch
@@ -0,0 +1,77 @@
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 237fe72..684ee68 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -22,6 +22,7 @@ AUTOMAKE_OPTIONS = gnits
+ noinst_LIBRARIES = libreco.a
+ noinst_HEADERS = error.h getopt.h gettext.h pathmax.h xstring.h
+ libreco_a_SOURCES = error.c getopt.c getopt1.c xstrdup.c
++libreco_a_CFLAGS = -fPIC
+
+ EXTRA_DIST = alloca.c gettext.c malloc.c realloc.c strtol.c strtoul.c
+
+diff --git a/lib/error.c b/lib/error.c
+index 53b650c..fbb79c0 100644
+--- a/lib/error.c
++++ b/lib/error.c
+@@ -65,46 +65,13 @@ void (*error_print_progname) (
+ /* This variable is incremented each time `error' is called. */
+ unsigned int error_message_count;
+
+-#ifdef _LIBC
++#if 1
+ /* In the GNU C library, there is a predefined variable for this. */
+
+ # define program_name program_invocation_name
+ # include <errno.h>
+
+-/* In GNU libc we want do not want to use the common name `error' directly.
+- Instead make it a weak alias. */
+-# define error __error
+-# define error_at_line __error_at_line
+-
+-#else /* not _LIBC */
+-
+-/* The calling program should define program_name and set it to the
+- name of the executing program. */
+-extern char *program_name;
+-
+-# ifdef HAVE_STRERROR_R
+-# define __strerror_r strerror_r
+-# else
+-# if HAVE_STRERROR
+-# ifndef strerror /* On some systems, strerror is a macro */
+-char *strerror ();
+-# endif
+-# else
+-static char *
+-private_strerror (errnum)
+- int errnum;
+-{
+- extern char *sys_errlist[];
+- extern int sys_nerr;
+-
+- if (errnum > 0 && errnum <= sys_nerr)
+- return _(sys_errlist[errnum]);
+- return _("Unknown system error");
+-}
+-# define strerror private_strerror
+-# endif /* HAVE_STRERROR */
+-# endif /* HAVE_STRERROR_R */
+-#endif /* not _LIBC */
++#endif
+
+ /* Print the program name and error message MESSAGE, which is a printf-style
+ format string with optional args.
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c918aa7..dff6c71 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -48,6 +48,7 @@ recode_LDADD = librecode.la ../lib/libreco.a
+ librecode_la_SOURCES = argmatch.c charname.c combine.c fr-charname.c \
+ hash.c iconv.c libiconv.c localcharset.c merged.c names.c outer.c quotearg.c \
+ recode.c request.c strip-pool.c task.c xmalloc.c $(C_STEPS)
++librecode_la_LIBADD = ../lib/libreco.a
+ librecode_la_LDFLAGS = -version-info 0:0:0
+
+ INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/libiconv
diff --git a/srcpkgs/recode/template b/srcpkgs/recode/template
index c57c8e4b937..2d2bbc563c3 100644
--- a/srcpkgs/recode/template
+++ b/srcpkgs/recode/template
@@ -1,7 +1,7 @@
# Template file for 'recode'
pkgname=recode
version=3.6
-revision=9
+revision=10
patch_args="-Np1"
build_style=gnu-configure
configure_args="--without-included-gettext jm_cv_func_working_malloc=yes
@@ -15,9 +15,9 @@ distfiles="${DEBIAN_SITE}/main/r/${pkgname}/${pkgname}_${version}.orig.tar.gz"
checksum=e3e6a4f3f8e5c6052ab70155990c074d87aa0b614fc1be31d194750d1d962fcf
pre_configure() {
- sed -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' -i configure.in
- sed -i -e "/^AM_C_PROTOTYPES.*/d" configure.in
- sed -i -e "s/ansi2knr//" src/Makefile.am
+ vsed -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' -i configure.in
+ vsed -i -e "/^AM_C_PROTOTYPES.*/d" configure.in
+ vsed -i -e "s/ansi2knr//" src/Makefile.am
rm -f acinclude.m4
autoreconf -fi
libtoolize
From 9f9ffa621acc92cf29f3da6ef08882acab474f2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Wed, 16 Dec 2020 17:59:10 -0300
Subject: [PATCH 5/5] fortune-mod: remove error.{h,c} copy.
Revbump to pick up the fix from librecode.
Also use vsed where appropriate.
---
srcpkgs/fortune-mod/files/error.c | 19 -------------------
srcpkgs/fortune-mod/files/error.h | 4 ----
srcpkgs/fortune-mod/template | 12 +++++-------
3 files changed, 5 insertions(+), 30 deletions(-)
delete mode 100644 srcpkgs/fortune-mod/files/error.c
delete mode 100644 srcpkgs/fortune-mod/files/error.h
diff --git a/srcpkgs/fortune-mod/files/error.c b/srcpkgs/fortune-mod/files/error.c
deleted file mode 100644
index 7b12fe45adf..00000000000
--- a/srcpkgs/fortune-mod/files/error.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-#define _GNU_SOURCE
-#include <errno.h>
-
-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
deleted file mode 100644
index 81a410f8cfc..00000000000
--- a/srcpkgs/fortune-mod/files/error.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#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 0eb27936c07..27824c3617e 100644
--- a/srcpkgs/fortune-mod/template
+++ b/srcpkgs/fortune-mod/template
@@ -1,7 +1,7 @@
# Template file for 'fortune-mod'
pkgname=fortune-mod
version=1.99.1
-revision=5
+revision=6
hostmakedepends="recode"
makedepends="recode-devel"
short_desc="Implementation of the BSDGames 'fortune' program"
@@ -18,14 +18,12 @@ if [ "$CROSS_BUILD" ]; then
fi
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
+ vsed -i "s|^CFLAGS=.*|CFLAGS=${CFLAGS} -fsigned-char \$(DEFINES)|" Makefile
+ vsed -i "s|^LDFLAGS=.*|LDFLAGS=${LDFLAGS}|" Makefile
+ vsed -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
+ vsed -e "s;-DBSD_REGEX;-DPOSIX_REGEX;" -i Makefile
esac
make CC=$CC COOKIEDIR=/usr/share/fortunes $_strfile
sed -n '/[*][[:space:]]*The Regents/,/SUCH DAMAGE/p' fortune/fortune.c |
next prev parent reply other threads:[~2020-12-16 22:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-16 21:02 [PR PATCH] " ericonr
2020-12-16 21:07 ` [PR PATCH] [Updated] " ericonr
2020-12-16 21:45 ` ericonr
2020-12-16 22:10 ` ericonr [this message]
2020-12-16 23:01 ` ericonr
2020-12-16 23:22 ` ericonr
2020-12-16 23:55 ` ericonr
2020-12-17 0:47 ` ericonr
2020-12-17 1:27 ` [PR REVIEW] " sgn
2020-12-17 2:33 ` ericonr
2020-12-17 4:42 ` ericonr
2020-12-17 4:45 ` [PR PATCH] [Updated] " ericonr
2020-12-17 15:20 ` [PR REVIEW] " ericonr
2020-12-17 15:20 ` [PR PATCH] [Merged]: " ericonr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201216221015.qi_WMKsSBomu6MNDu_5kXJAXlywD7B5AnOKcQqOpluk@z \
--to=ericonr@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).