commit: 1a5c5e596252495fa9d21e5bfd3f4fe5d59f7a23 Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Thu Feb 27 20:34:13 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun May 18 15:22:20 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a5c5e59
gnustep-base/gnustep-base: add 1.31.1 Closes: https://bugs.gentoo.org/956139 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42071 Signed-off-by: Sam James <sam <AT> gentoo.org> gnustep-base/gnustep-base/Manifest | 1 + .../files/gnustep-base-1.31.0-c23.patch | 47 +++++++++ .../gnustep-base/gnustep-base-1.31.1.ebuild | 115 +++++++++++++++++++++ 3 files changed, 163 insertions(+) diff --git a/gnustep-base/gnustep-base/Manifest b/gnustep-base/gnustep-base/Manifest index 5f551eea26b3..510c28fd986f 100644 --- a/gnustep-base/gnustep-base/Manifest +++ b/gnustep-base/gnustep-base/Manifest @@ -1,3 +1,4 @@ DIST gnustep-base-1.28.0.tar.gz 4246622 BLAKE2B fdaa834ea3cb13b1d4717c2c7e6b59eff05d16e6a404ffed5f4ccfa2ee3db93ecfee5b95cc30be6a388f56fa28c67f1278ea298f222260dcc24abadaa1cb5e8f SHA512 e173fab28aa1b1df38de4216916db18934422a1d372b9fe6a68a6ff21b2ac0be38aa02631179a8ad62a4f2848080223f34771b364b1c0eebc96c84778677c50b DIST gnustep-base-1.29.0.tar.gz 3697809 BLAKE2B 9810e6220df79e75130e8e3cdda5d8c42e1e05351461920549e3163752eccc9fa4bb375c36a8b987877cf557140e961dda7e0fac1c1c9affdb38893567695ddf SHA512 19e876f32e4dce403beeb5522ae942c23cc2b947217a38fd045a495d81b3734a8cf160fb768d8cff64c45d8ae63ba422658f705519786016d3e8216efe0a044c DIST gnustep-base-1.30.0.tar.gz 3730872 BLAKE2B e4ceb975f65efee16b50bd82af1fcec9e91c92c296f5c1a990254ce58845f8e1b5a58b725214e90aade704ff631e6e2ec87adf7a8dc85c7e783fd53297d9e862 SHA512 c13d77a502f053dce425aa80995c97c397afe07b2b6a794f3d129ff2810d018288af18f656d30fa071e34a1d2f74b80896f67538a4142b56058f3d39ee2719af +DIST gnustep-base-1.31.1.tar.gz 3831129 BLAKE2B 7bbab70fd5e78f75c0342d8d5a3e2175958a850b5ecc04fa6449e8a71aa998659755793d192c795865810d3b38ec10cfb284e7263a5ce301979930a25aa8a6ac SHA512 6de3a935766d6b3075e60da71525511de940521dd50d604af1eb67681bd6aa4693b889e6655f39c96b53178a86623a4c4510be004487a28fddd175dec928c933 diff --git a/gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch b/gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch new file mode 100644 index 000000000000..89cd7643d327 --- /dev/null +++ b/gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch @@ -0,0 +1,47 @@ +From 70d5ac40655659e38f0beb14cff083014bb4a747 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <[email protected]> +Date: Thu, 27 Feb 2025 16:44:23 +0200 +Subject: [PATCH] Use signal_handler prototype that signal() expects + +C23 is stricter about function prototypes and as such this causes the +build to fail on GCC-15 by default. + +Signed-off-by: Alfred Wingate <[email protected]> +--- + Tools/gdomap.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Tools/gdomap.c b/Tools/gdomap.c +index c04fb522c..9db5f6b47 100644 +--- a/Tools/gdomap.c ++++ b/Tools/gdomap.c +@@ -192,7 +192,7 @@ static char *local_hostname = 0; + */ + static void dump_stats(); + #ifndef __MINGW__ +-static void dump_tables(); ++static void dump_tables(int sig); + #endif + static void handle_accept(); + static void handle_io(); +@@ -1135,7 +1135,7 @@ dump_stats() + + #ifndef __MINGW__ + static void +-dump_tables() ++dump_tables(int sig) + { + FILE *fptr; + +@@ -3704,7 +3704,7 @@ tryWrite(int desc, int tim, unsigned char* dat, int len) + #if defined(__MINGW__) /* FIXME: Is this correct? */ + rval = send(desc, (const char*)&dat[pos], len - pos, 0); + #else +- void (*ifun)(); ++ void (*ifun)(int); + + /* + * Should be able to write this short a message immediately, but +-- +2.48.1 + diff --git a/gnustep-base/gnustep-base/gnustep-base-1.31.1.ebuild b/gnustep-base/gnustep-base/gnustep-base-1.31.1.ebuild new file mode 100644 index 000000000000..aed62cd7441e --- /dev/null +++ b/gnustep-base/gnustep-base/gnustep-base-1.31.1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnustep-base toolchain-funcs + +DESCRIPTION="A library of general-purpose, non-graphical Objective C objects" +HOMEPAGE="https://gnustep.github.io" +SRC_URI="https://github.com/gnustep/libs-base/releases/download/base-${PV//./_}/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="+gnutls +iconv +icu +libffi zeroconf" + +# gnustep-make: tests use the option --timeout which was added in 2.9.3 +RDEPEND="${GNUSTEP_CORE_DEPEND} + >=gnustep-base/gnustep-make-2.9.3 + gnutls? ( net-libs/gnutls:= ) + iconv? ( virtual/libiconv ) + icu? ( >=dev-libs/icu-49.0:= ) + libffi? ( dev-libs/libffi:= ) + !libffi? ( + dev-libs/ffcall + gnustep-base/gnustep-make[-native-exceptions] + ) + >=dev-libs/libxml2-2.6 + >=dev-libs/libxslt-1.1 + >=dev-libs/gmp-4.1:= + >=sys-libs/zlib-1.2 + zeroconf? ( net-dns/avahi )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.26.0-no_compress_man.patch + "${FILESDIR}"/${PN}-1.31.0-c23.patch +) + +src_prepare() { + default + + # Slow and appears to break due to the network sandbox + sed -e '/START_SET("-sendSynchronousRequest:returningResponse:error:")/a SKIP("Gentoo")' \ + -i Tests/base/NSURL/test00.m || die + sed -e '/START_SET("Capture")/a SKIP("Gentoo")' \ + -e '/START_SET("Secure")/a SKIP("Gentoo")' \ + -i Tests/base/NSURL/test02.m || die + sed -e '/START_SET("Keepalive")/a SKIP("Gentoo")' \ + -i Tests/base/NSURLHandle/test01.m || die + rm -r Tests/base/NSURLConnection || die + rm -r Tests/base/NSConnection || die + sed -e '/PASS(byteCount>0, "read www.google.com");/d' \ + -e '/PASS(byteCount>0, "read www.google.com https");/d' \ + -i Tests/base/NSStream/socket.m || die + sed -e '/PASS(\[self status\] == URLHandleClientDidBeginLoading,/,/"URLHandleClientDidBeginLoading called");/d' \ + -e '/PASS(\[self status\] == URLHandleClientDidFinishLoading,/,/"URLHandleClientDidFinishLoading called");/d' \ + -i Tests/base/NSURLHandle/test00.m || die + + # FIXME: It should use TEMP or TMP but it still fails + sed -e '/PASS(\[o length\] > 0, "we can get a temporary directory");/d' \ + -i Tests/base/Functions/NSPathUtilities.m || die + + # FIXME + rm Tests/base/NSFileHandle/general.m || die + + # FIXME + sed -e '/PASS_EQUAL(\[\@"foo" stringByResolvingSymlinksInPath\], tmpdst,/,/"foo->bar relative symlink expanded by stringByResolvingSymlinksInPath")/d' \ + -i Tests/base/NSString/test02.m || die + + # FIXME + sed -e '/PASS(cred != nil, "generates self signed certificate");/d' \ + -i Tests/base/GSTLS/basic.m || die +} + +src_configure() { + egnustep_env + + local myconf=( + $(use_enable libffi) + $(use_enable !libffi ffcall) + ) + use libffi && + myconf+=( --with-ffi-include=$($(tc-getPKG_CONFIG) --variable=includedir libffi) ) + + myconf+=( + $(use_enable gnutls tls) + $(use_enable iconv) + $(use_enable icu) + $(use_enable zeroconf) + --with-xml-prefix="${ESYSROOT}"/usr + --with-gmp-include="${ESYSROOT}"/usr/include + --with-gmp-library="${ESYSROOT}"/usr/$(get_libdir) + --with-default-config="${ESYSROOT}"/etc/GNUstep/GNUstep.conf + ) + + econf "${myconf[@]}" +} + +src_install() { + # We need to set LD_LIBRARY_PATH because the doc generation program + # uses the gnustep-base libraries. Since egnustep_env "cleans the + # environment" including our LD_LIBRARY_PATH, we're left no choice + # but doing it like this. + + egnustep_env + egnustep_install + + if use doc ; then + export LD_LIBRARY_PATH="${S}/Source/obj:${LD_LIBRARY_PATH}" + egnustep_doc + fi + egnustep_install_config +}
