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: Thu, 17 Dec 2020 01:47:36 +0100	[thread overview]
Message-ID: <20201217004736.2vN-ACVjFKWyFWyo8gA5ADFsW2oqzCGEwhx9xaxAod8@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: 13326 bytes --]

From a203b9ed1f627821d0de96b491595feb250308e2 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      |  8 ++++---
 2 files changed, 34 insertions(+), 3 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..afc447314f4 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"
@@ -10,9 +10,11 @@ license="BSD-2-Clause, BSD-3-Clause"
 homepage="http://www.voidlinux.org"
 
 do_install() {
-	for f in ${FILESDIR}/*.h; do
+	for f in ${FILESDIR}/{cdefs,queue,tree}.h
+	do
 		vinstall ${f} 644 usr/include/sys
 	done
+	vinstall ${FILESDIR}/error.h 644 usr/include
 
 	sed -n '3,32p' < ${FILESDIR}/queue.h > LICENSE.BSD-3-Clause
 	sed -n '2,26p' < ${FILESDIR}/tree.h > LICENSE.BSD-2-Clause

From 7614a8929430f26e03f050763bd57d0176813bf1 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      | 14 ++++++--------
 2 files changed, 6 insertions(+), 35 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..2f4fb896ec9 100644
--- a/srcpkgs/elfutils/template
+++ b/srcpkgs/elfutils/template
@@ -18,7 +18,7 @@ checksum=ecc406914edf335f0b7fc084ebe6c460c4d6d5175bfdd6688c1c78d9146b8858
 subpackages="debuginfod libdebuginfod libelf elfutils-devel"
 
 CFLAGS="-Wno-error"
-CXXFLAGS="-Wl,-z,stack-size=2097152"
+CXXFLAGS="-Wno-error -Wl,-z,stack-size=2097152"
 
 if [ "$XBPS_TARGET_LIBC" = musl ]; then
 	makedepends+=" argp-standalone musl-fts-devel musl-obstack-devel musl-legacy-compat"
@@ -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 5fb42076516915992c2188994bd443723d65b6ab 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, add musl-legacy-compat.

Also use vsed where appropriate.
---
 srcpkgs/kbd/files/error.h | 20 --------------------
 srcpkgs/kbd/template      |  9 ++++++---
 2 files changed, 6 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..0b997ca9f2e 100644
--- a/srcpkgs/kbd/template
+++ b/srcpkgs/kbd/template
@@ -14,6 +14,10 @@ homepage="http://www.kbd-project.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${pkgname}-${version}.tar.xz"
 checksum=685056143cb8effd0a1d44b5c391eb50d80dcfd014b1a4d6e2650a28d61cb82a
 
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	makedepends+=" musl-legacy-compat"
+fi
+
 pre_configure() {
 	# Rename keymap files with the same names
 	# this is needed because when only name of keymap is specified
@@ -37,10 +41,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 5bae7db501f5158eb7ce3d38db725a66b6f7fc26 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, xlint.

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 | 46 +++++++++++++++++++
 srcpkgs/recode/template                       | 16 +++----
 2 files changed, 54 insertions(+), 8 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..3e212daf0b5
--- /dev/null
+++ b/srcpkgs/recode/patches/link-librecode.a.patch
@@ -0,0 +1,46 @@
+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..7f879aa 100644
+--- a/lib/error.c
++++ b/lib/error.c
+@@ -65,7 +65,7 @@ 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
+@@ -73,8 +73,6 @@ unsigned int error_message_count;
+ 
+ /* 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 */
+ 
+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..bba0c7862d4 100644
--- a/srcpkgs/recode/template
+++ b/srcpkgs/recode/template
@@ -1,24 +1,24 @@
 # Template file for 'recode'
 pkgname=recode
 version=3.6
-revision=9
-patch_args="-Np1"
+revision=10
 build_style=gnu-configure
 configure_args="--without-included-gettext jm_cv_func_working_malloc=yes
  jm_cv_func_working_realloc=yes"
 hostmakedepends="automake gettext libtool texinfo"
 short_desc="Character set conversion utility"
-homepage="http://recode.progiciels-bpi.ca/"
-license="GPL-2"
 maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later"
+homepage="http://recode.progiciels-bpi.ca/"
 distfiles="${DEBIAN_SITE}/main/r/${pkgname}/${pkgname}_${version}.orig.tar.gz"
 checksum=e3e6a4f3f8e5c6052ab70155990c074d87aa0b614fc1be31d194750d1d962fcf
+patch_args="-Np1"
 
 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
-	rm -f acinclude.m4
+	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 acinclude.m4
 	autoreconf -fi
 	libtoolize
 }

From 5b71abfd7556803a6f6b4e6b9e52506ffebca483 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-17  0:47 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
2020-12-16 23:01 ` ericonr
2020-12-16 23:22 ` ericonr
2020-12-16 23:55 ` ericonr
2020-12-17  0:47 ` ericonr [this message]
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=20201217004736.2vN-ACVjFKWyFWyo8gA5ADFsW2oqzCGEwhx9xaxAod8@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).