Github messages for voidlinux
 help / color / mirror / Atom feed
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 22:45:41 +0100	[thread overview]
Message-ID: <20201216214541.IkZvZgFgwm7ZW7GIZc-Rd4XBqShP2L5hUxMXXl7on9s@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: 12288 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 e1513f17ecbee596b2262d4fcf46519972966898 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.

---
 srcpkgs/elfutils/files/error.h | 27 ---------------------------
 srcpkgs/elfutils/template      |  7 -------
 2 files changed, 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..151c0e3644a 100644
--- a/srcpkgs/elfutils/template
+++ b/srcpkgs/elfutils/template
@@ -26,13 +26,6 @@ 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
 }

From 0f4ce873efefd373e145282d40c24626e391a12f 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 0c20c980d06e5c3a7d45b25ee04de4b763c2c71c 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 ae8941cb74c8d01e29d6fc8d1ef65e4f121dba0a 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 |

  parent reply	other threads:[~2020-12-16 21:45 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 [this message]
2020-12-16 22:10 ` ericonr
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=20201216214541.IkZvZgFgwm7ZW7GIZc-Rd4XBqShP2L5hUxMXXl7on9s@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).