commit: f0550a746d570e7c4f76b92d6f04fc891c761d70 Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> AuthorDate: Sat Jun 21 18:54:26 2025 +0000 Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> CommitDate: Sat Jun 21 18:55:04 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0550a74
gnustep-base/gnustep-base: remove which need Directly code Gentoo path for openapp, no need for which call Closes: https://bugs.gentoo.org/957926 Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org> .../files/gnustep-base-1.31.1-openapp_path.patch | 24 +++++ .../gnustep-base/gnustep-base-1.31.1-r1.ebuild | 120 +++++++++++++++++++++ 2 files changed, 144 insertions(+) diff --git a/gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch b/gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch new file mode 100644 index 000000000000..934b2c6fdbe8 --- /dev/null +++ b/gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch @@ -0,0 +1,24 @@ +diff --git a/Tools/pl2link.m b/Tools/pl2link.m +index de1aacd9f..c3c729056 100644 +--- a/Tools/pl2link.m ++++ b/Tools/pl2link.m +@@ -207,18 +207,10 @@ main(int argc, char** argv, char **env) + entry = [plist objectForKey: @"NSExecutable"]; + if (entry != nil) + { +- FILE *fp; +- char line[130]; + NSString *execPath = nil; +- int l = 0; +- +- fp = popen("which openapp","r"); +- fgets(line,sizeof line,fp); +- l = strlen(line); +- line[l-1] = '\0'; + + // Build the string to execute the application... +- execPath = [NSString stringWithCString: line ++ execPath = [NSString stringWithCString: "/usr/bin/openapp" + encoding: NSASCIIStringEncoding]; + [fileContents appendFormat: @"Exec=%@ %@\n", execPath, entry]; + } diff --git a/gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild b/gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild new file mode 100644 index 000000000000..019cfdb24fef --- /dev/null +++ b/gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild @@ -0,0 +1,120 @@ +# 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 libdispatch +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:= ) + libdispatch? ( dev-libs/libdispatch ) + 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 + "${FILESDIR}"/${PN}-1.31.1-openapp_path.patch +) + +src_prepare() { + default + + sed -e "s,/usr/bin,${EPREFIX}/usr/bin," -i Tools/pl2link.m || die + + # 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 libdispatch) + $(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 +}
