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] Update gcompat to 0.9.0, use dynamic musl-obstack
Date: Mon, 20 Jul 2020 06:51:09 +0200	[thread overview]
Message-ID: <20200720045109.x80sRdUYPkgr4eVkyaT4pi7XW-atv3uJUXx-rmMmDVk@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-23432@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1118 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages gcompat
https://github.com/void-linux/void-packages/pull/23432

Update gcompat to 0.9.0, use dynamic musl-obstack
Okay, so this is a biggie PR, and I do need help for making some decisions.

- So, basically, `gcompat` can do Spotify now, on Adélie. I am working on debugging it on Void, because it isn't working completely yet. If I can't get it working soon, I will leave the spotify commit out of this one.
- I enabled `obstack` in `gcompat`, by enabling the dynamic lib in `musl-obstack`. This completely fixes #22616, which needed obstack and `__strftime_l` symbols (the latter was fixed by gcompat itself).
- I split `musl-obstack-devel`.
- I switched package dependencies to `musl-obstack-devel`, but they ended up depending on the dynamic version of obstack. Is this bad? Is there some way to solve this? Perhaps two devel sub packages, one for dynamic and one for static linking?

A patch file from https://github.com/void-linux/void-packages/pull/23432.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gcompat-23432.patch --]
[-- Type: text/x-diff, Size: 12562 bytes --]

From fca1f33d5d5693abf342e76d637c9ec9d44167f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:26:32 -0300
Subject: [PATCH 1/8] musl-obstack: ship dynamic lib, split devel.

---
 common/shlibs                 |  1 +
 srcpkgs/musl-obstack-devel    |  1 +
 srcpkgs/musl-obstack/template | 16 +++++++++++++---
 3 files changed, 15 insertions(+), 3 deletions(-)
 create mode 120000 srcpkgs/musl-obstack-devel

diff --git a/common/shlibs b/common/shlibs
index 42bb0996d24..780df6f25b6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2459,6 +2459,7 @@ libkookularGenerator_odp.so.17 calligra-extras-3.2.0_1
 libgemini.so.17 calligra-gemini-3.2.0_1
 libarpack.so.2 arpack-ng-3.3.0_2
 libfts.so.0 musl-fts-1.2_2
+libobstack.so.0 musl-obstack-1.1_4
 libucontext.so.0 libucontext-0.1.1_1
 libgavl.so.1 gavl-1.40_1
 libmxml.so.1 mxml-2.9_1
diff --git a/srcpkgs/musl-obstack-devel b/srcpkgs/musl-obstack-devel
new file mode 120000
index 00000000000..e21ca66cded
--- /dev/null
+++ b/srcpkgs/musl-obstack-devel
@@ -0,0 +1 @@
+musl-obstack
\ No newline at end of file
diff --git a/srcpkgs/musl-obstack/template b/srcpkgs/musl-obstack/template
index 2cd2ddf2efc..4e8bee6afec 100644
--- a/srcpkgs/musl-obstack/template
+++ b/srcpkgs/musl-obstack/template
@@ -1,16 +1,15 @@
 # Template file for 'musl-obstack'
 pkgname=musl-obstack
 version=1.1
-revision=3
+revision=4
 archs="*-musl"
 build_style=gnu-configure
-configure_args="--disable-shared"
 hostmakedepends="automake libtool"
 short_desc="Implementation of obstack for musl libc"
 maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/void-linux/musl-obstack"
-distfiles="https://github.com/void-linux/${pkgname}/archive/v${version}.tar.gz>${pkgname}-${version}.tar.gz"
+distfiles="${homepage}/archive/v${version}.tar.gz>${pkgname}-${version}.tar.gz"
 checksum=52a216613e7d55e8725e43d017bb2d49a4b1ffa1e06da472f03c7f9875df7d0d
 
 CFLAGS="-fPIC"
@@ -22,3 +21,14 @@ pre_configure() {
 post_install() {
 	vinstall ${pkgname}.pc 644 usr/lib/pkgconfig
 }
+
+musl-obstack-devel_package() {
+	depends="${sourcepkg}-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/libobstack.a
+		vmove usr/lib/libobstack.so
+		vmove usr/lib/pkgconfig
+	}
+}

From 043ae1c9df2d232a9d6de934400e3c67eb48ed93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 17:45:20 -0300
Subject: [PATCH 2/8] gcompat: update to 0.9.0.

Add musl-obstack dependency.
---
 .../gcompat/patches/ppc-libc_start_main.patch | 67 -------------------
 srcpkgs/gcompat/template                      | 10 +--
 2 files changed, 6 insertions(+), 71 deletions(-)
 delete mode 100644 srcpkgs/gcompat/patches/ppc-libc_start_main.patch

diff --git a/srcpkgs/gcompat/patches/ppc-libc_start_main.patch b/srcpkgs/gcompat/patches/ppc-libc_start_main.patch
deleted file mode 100644
index 518292745f7..00000000000
--- a/srcpkgs/gcompat/patches/ppc-libc_start_main.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From d30e49d10cefeb2748373127e1d1aba1184f653d Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sun, 10 Nov 2019 15:32:28 +0100
-Subject: [PATCH 1/1] internal: add a wrapper for __libc_start_main for
- PowerPC(64(le))
-
-This is necessary because the musl and glibc function signatures
-differ significantly.
----
- libgcompat/internal.c | 41 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 41 insertions(+)
-
-diff --git a/libgcompat/internal.c b/libgcompat/internal.c
-index 450c5e4..53ac429 100644
---- libgcompat/internal.c
-+++ libgcompat/internal.c
-@@ -2,6 +2,47 @@
- #include <stdio.h>
- #include <stdlib.h>
- 
-+#if defined(__powerpc__)
-+
-+/* On PowerPC as well as ppc64, we need to fix up __libc_start_main as the
-+ * glibc and musl versions have wildly different signatures, which would
-+ * result in the arguments to __libc_start_main being completely wrong.
-+ *
-+ * Using dlsym in this context is mildly questionable as this is before
-+ * the full initialization has been done, but there is no better way.
-+ */
-+
-+#include <dlfcn.h>
-+
-+struct startup_info {
-+	void *sda_base;
-+	void *f_main;
-+	void *f_init;
-+	void *f_fini;
-+};
-+
-+typedef int (*start_main_t)(void *mf, int argc, char **argv);
-+
-+/*
-+ * ref: https://git.musl-libc.org/cgit/musl/tree/crt/crt1.c?id=90251cf
-+ * ref: https://git.musl-libc.org/cgit/musl/tree/src/env/__libc_start_main.c?id=90251cf#n71
-+ * ref: https://github.com/bminor/glibc/blob/5cb226d/sysdeps/unix/sysv/linux/powerpc/libc-start.c#L36
-+ */
-+int __libc_start_main(void *argc, void *argv, void *ev, void *auxv, void *fini,
-+                      struct startup_info *si, long *p)
-+{
-+	(void)argc;
-+	(void)argv;
-+	(void)ev;
-+	(void)auxv;
-+	(void)fini;
-+	/* argc/argv from the stack, main from startup_info */
-+	start_main_t mainf = (start_main_t)dlsym(RTLD_NEXT, "__libc_start_main");
-+	return mainf(si->f_main, *p, (void *)(p + 1));
-+}
-+
-+#endif /* defined(__powerpc__) */
-+
- void GCOMPAT__panic(const char *fmt, ...)
- {
- 	va_list va;
--- 
-2.23.0
-
diff --git a/srcpkgs/gcompat/template b/srcpkgs/gcompat/template
index 237f97bd5e9..b2c1e9f8230 100644
--- a/srcpkgs/gcompat/template
+++ b/srcpkgs/gcompat/template
@@ -1,14 +1,16 @@
 # Template file for 'gcompat'
 pkgname=gcompat
-version=0.4.0
+version=0.9.0
 revision=1
 build_style=gnu-makefile
+hostmakedepends="pkg-config"
+makedepends="musl-obstack-devel"
 short_desc="Compatibility layer to allow running glibc binaries on musl systems"
 maintainer="Daniel James <djames@orcadian.net>"
 license="ISC"
 homepage="https://code.foxkit.us/adelie/gcompat"
 distfiles="https://distfiles.AdelieLinux.org/source/${pkgname}/${pkgname}-${version}.tar.xz"
-checksum=9903fac7b70de3ba7736ae2987fa00bbafff7bfcf6a9c88731c292dff19e44e2
+checksum=4555d045d7d2831d11b907719005c5dfbc77642c32f8c0172d40883026ffaf53
 
 build_options="libucontext"
 desc_option_libucontext="Build with ucontext support via libucontext"
@@ -43,10 +45,10 @@ esac
 
 make_build_args="LINKER_PATH=/usr/lib/${_musl} LOADER_NAME=${_glibc}
  LIBGCOMPAT_PATH=/usr/lib/libgcompat.so.0 LOADER_PATH=/usr/lib/${LOADER_NAME}
- WITH_OBSTACK=no"
+ WITH_OBSTACK=musl-obstack"
 make_install_args="LINKER_PATH=/usr/lib/${_musl} LOADER_NAME=${_glibc}
  LIBGCOMPAT_PATH=/usr/lib/libgcompat.so.0 LOADER_PATH=/usr/lib/${LOADER_NAME}
- WITH_OBSTACK=no"
+ WITH_OBSTACK=musl-obstack"
 
 if [ "$build_option_libucontext" ]; then
 	makedepends+=" libucontext-devel"

From 3a38187427f8816938b7a1e08bf3df5956c3effd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:34:12 -0300
Subject: [PATCH 3/8] reiserfsprogs: use musl-obstack-devel.

---
 srcpkgs/reiserfsprogs/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/reiserfsprogs/template b/srcpkgs/reiserfsprogs/template
index 121b03a95a4..8b45947935c 100644
--- a/srcpkgs/reiserfsprogs/template
+++ b/srcpkgs/reiserfsprogs/template
@@ -1,7 +1,7 @@
 # Template file for 'reiserfsprogs'
 pkgname=reiserfsprogs
 version=3.6.27
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config"
 makedepends="libuuid-devel e2fsprogs-devel acl-devel"
@@ -14,7 +14,7 @@ checksum=0e95b67fa7746a3c2d59145e9b9c2feb4a6be52853e83b497b182eae508e62e3
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)
-		makedepends+=" musl-obstack"
+		makedepends+=" musl-obstack-devel"
 		LDFLAGS="-lobstack"
 	;;
 esac

From b88a6ec4691fd22de7116a100ae3dd7e303262cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:34:40 -0300
Subject: [PATCH 4/8] perl-Proc-ProcessTable: use musl-obstack-devel.

---
 srcpkgs/perl-Proc-ProcessTable/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/perl-Proc-ProcessTable/template b/srcpkgs/perl-Proc-ProcessTable/template
index 58c07f2cb22..3fb6d53f684 100644
--- a/srcpkgs/perl-Proc-ProcessTable/template
+++ b/srcpkgs/perl-Proc-ProcessTable/template
@@ -1,7 +1,7 @@
 # Template file for 'perl-Proc-ProcessTable'
 pkgname=perl-Proc-ProcessTable
 version=0.59
-revision=2
+revision=3
 wrksrc="Proc-ProcessTable-${version}"
 build_style=perl-module
 hostmakedepends="perl"
@@ -15,5 +15,5 @@ distfiles="${CPAN_SITE}/Proc/Proc-ProcessTable-${version}.tar.gz"
 checksum=f8cc5054d78c35a0ce39fb75430b4ef402e2a99013d2ec37e7997f316594606c
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) makedepends+=" musl-obstack" ;;
+	*-musl) makedepends+=" musl-obstack-devel" ;;
 esac

From bc3edc56bb73793c67663700e68265c5086c2e19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:35:00 -0300
Subject: [PATCH 5/8] pahole: use musl-obstack-devel.

---
 srcpkgs/pahole/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pahole/template b/srcpkgs/pahole/template
index e504d3479f7..4d16a3ba7b5 100644
--- a/srcpkgs/pahole/template
+++ b/srcpkgs/pahole/template
@@ -1,7 +1,7 @@
 # Template file for 'pahole'
 pkgname=pahole
 version=1.17
-revision=1
+revision=2
 _bpfver=0.0.7
 build_style=cmake
 configure_args="-D__LIB=lib"
@@ -16,7 +16,7 @@ checksum="51e35041ce43ed08922037a1ee9e415aff1590e0d8d7cbe3e2b003f388db0a8a
  a616ba2ea72d00b4022689b17f4a78365379e3040d0f1a66d28eba52c528e480"
 
 case $XBPS_TARGET_MACHINE in
-	*-musl) makedepends+=" musl-obstack argp-standalone"
+	*-musl) makedepends+=" musl-obstack-devel argp-standalone"
 esac
 
 pre_patch() {

From 8d80a21f0aed9495d46aac3c83117460f0de5c3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:35:12 -0300
Subject: [PATCH 6/8] hidrd: use musl-obstack-devel.

---
 srcpkgs/hidrd/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hidrd/template b/srcpkgs/hidrd/template
index 1bb75b98a0c..3470511708c 100644
--- a/srcpkgs/hidrd/template
+++ b/srcpkgs/hidrd/template
@@ -1,7 +1,7 @@
 # Template file for 'hidrd'
 pkgname=hidrd
 version=0.2.0
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config"
 short_desc="HID report descriptor I/O library and conversion tool"
@@ -14,7 +14,7 @@ checksum=0147993dedb3066873d22fab1dc3aafec78d8c5783d168cccc43126f0fc3b307
 case $XBPS_TARGET_MACHINE in
 	*-musl)
 		configure_args+=' LIBS=-lobstack'
-		makedepends+=" musl-obstack"
+		makedepends+=" musl-obstack-devel"
 		;;
 esac
 

From 97277b2bd4b45557653e0ee209c9b6e0b8306a57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:35:23 -0300
Subject: [PATCH 7/8] elfutils: use musl-obstack-devel.

---
 srcpkgs/elfutils/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/elfutils/template b/srcpkgs/elfutils/template
index ed40864be48..4523c6db0e2 100644
--- a/srcpkgs/elfutils/template
+++ b/srcpkgs/elfutils/template
@@ -1,7 +1,7 @@
 # Template file for 'elfutils'
 pkgname=elfutils
 version=0.180
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--program-prefix=eu- --disable-debuginfod"
 hostmakedepends="automake libtool pkg-config"
@@ -16,7 +16,7 @@ checksum=b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d
 CFLAGS="-Wno-error -Wno-error=null-dereference"
 
 case "$XBPS_TARGET_MACHINE" in
-	*-musl) makedepends+=" argp-standalone musl-fts-devel musl-obstack" ;;
+	*-musl) makedepends+=" argp-standalone musl-fts-devel musl-obstack-devel" ;;
 esac
 
 if [ "$CROSS_BUILD" ]; then

From 2edb889a56fbd2bc46be3a60d810d4e189293c11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Mon, 6 Jul 2020 20:35:46 -0300
Subject: [PATCH 8/8] cronie: use musl-obstack-devel.

---
 srcpkgs/cronie/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cronie/template b/srcpkgs/cronie/template
index cd00937e7f5..e2c40f9e645 100644
--- a/srcpkgs/cronie/template
+++ b/srcpkgs/cronie/template
@@ -1,7 +1,7 @@
 # Template file for 'cronie'
 pkgname=cronie
 version=1.5.5
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-inotify --without-selinux --with-pam
  --enable-anacron --enable-pie --enable-relro"
@@ -34,7 +34,7 @@ alternatives="
 "
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
-	makedepends+=" musl-obstack"
+	makedepends+=" musl-obstack-devel"
 fi
 
 pre_configure() {

  parent reply	other threads:[~2020-07-20  4:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-06 23:50 [PR PATCH] [RFC] Update gcompat to 0.9.0, add spotify to musl, " ericonr
2020-07-06 23:54 ` [RFC][WIP] " ericonr
2020-07-07  4:59 ` [PR PATCH] [Updated] " ericonr
2020-07-07 20:48 ` kqo
2020-07-07 20:52 ` ericonr
2020-07-07 20:52 ` [PR PATCH] [Updated] " ericonr
2020-07-07 20:53 ` ericonr
2020-07-09  2:50 ` ericonr
2020-07-09  8:59 ` ericonr
2020-07-09 23:39 ` [PR PATCH] [Updated] " ericonr
2020-07-14 18:25 ` ericonr
2020-07-14 18:26 ` Update gcompat to 0.9.0, " ericonr
2020-07-15 17:03 ` ericonr
2020-07-20  4:48 ` [PR PATCH] [Updated] " ericonr
2020-07-20  4:51 ` ericonr [this message]
2020-07-28  2:58 ` ericonr
2020-07-28  3:02 ` ericonr
2020-07-28  5:11 ` pullmoll
2020-07-28  5:12 ` [PR REVIEW] " pullmoll
2020-07-28  5:16 ` pullmoll
2020-07-28  5:21 ` ericonr
2020-07-28  5:22 ` ericonr
2020-07-29 17:27 ` djames1
2020-08-08 14:23 ` [PR PATCH] [Merged]: " Johnnynator

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=20200720045109.x80sRdUYPkgr4eVkyaT4pi7XW-atv3uJUXx-rmMmDVk@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).