From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: gnustep-base/gnustep-make/
Date: Sun, 18 May 2025 15:23:51 +0000 (UTC) [thread overview]
Message-ID: <1747581721.d7552dce2ba8d05735933570a064d725ca784030.sam@gentoo> (raw)
commit: d7552dce2ba8d05735933570a064d725ca784030
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Feb 27 15:52:30 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 18 15:22:01 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7552dce
gnustep-base/gnustep-make: add 2.9.3
libobjc2 installs libobjc.so.4.6 with a symlink to libobjc.so. As such
libobjc2.so.4 wont work as the objc-lib flag and leads to hard to
understand problems such as https://github.com/gnustep/libobjc2/issues/16
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-make/Manifest | 1 +
.../gnustep-make/gnustep-make-2.9.3.ebuild | 140 +++++++++++++++++++++
2 files changed, 141 insertions(+)
diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest
index 632e6e123992..762f135b526f 100644
--- a/gnustep-base/gnustep-make/Manifest
+++ b/gnustep-base/gnustep-make/Manifest
@@ -1,3 +1,4 @@
DIST gnustep-make-2.9.0.tar.gz 611406 BLAKE2B 73bae19b5d3d3c1e069d22ce7087308166f632277d870fa5ab125d5bc004a1518a1edb6822c61e00b98fc13a1b3354440024bd13d98662002c15298745c4e935 SHA512 ff185affe32d4efc2009d72a3862bc3bffebce05ea5a7fdfbf4372774e57b6654863e317ce648c248716dd3e97a4320d697a313e7eefd04f5723186be6cbf1e3
DIST gnustep-make-2.9.1.tar.gz 621081 BLAKE2B 1523cdb2b38ebd32c9a6b52edd07302e425aaf5f9820d152c4a4c18b7a34dbcfd1615208f8a8588ea32db354c5955a7e76af50948c88e685bce48077fdc6d646 SHA512 ab36cea1e79ba1248ee7510f2a4d5f5fe5aa0ee7044d51a3b4f65ebaeed08134b3b3ea8a9e34cdb4fa90ac43143d96cf868ae766d2fdc4341419575eb1637f28
DIST gnustep-make-2.9.2.tar.gz 611483 BLAKE2B 6fe7a133832b8ceabca9b0a5aaf45323ebbc9139b843b0c307f44f56e794a98c3293ac31513f4c9236ddae27aec5e6935126f9804f52e37b24a3e1ce1e118d32 SHA512 f807a9cdf29f0fc7bbe92e1c9895f8675cc564fb0e6eecba2431ccde315a8a78491e6ef84d86a279c8af02843b2e2a4f436624824733a53de02e2656b092394a
+DIST gnustep-make-2.9.3.tar.gz 613252 BLAKE2B e3bf6f2e029cce2a15ad07871952dfd5246104c78a780040d623e1a31be117606f8c428edac39684e45386fc3053f34f83d6dfe2d99b9308ca7d6606710f7c7b SHA512 5fd1991f4e6707e698fb37b152dd3bec377391de4757919a4f194542f2a032a1ad484b63eb693115fab6753b5e726813c272540b78359163c332637194701ab2
diff --git a/gnustep-base/gnustep-make/gnustep-make-2.9.3.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.9.3.ebuild
new file mode 100644
index 000000000000..5cd0346b9dcf
--- /dev/null
+++ b/gnustep-base/gnustep-make/gnustep-make-2.9.3.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic gnustep-base prefix toolchain-funcs
+
+DESCRIPTION="GNUstep Makefile Package"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="ftp://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="libobjc2 native-exceptions"
+
+DEPEND="${GNUSTEP_CORE_DEPEND}
+ >=dev-build/make-3.75
+ libobjc2? ( gnustep-base/libobjc2
+ llvm-core/clang:* )
+ !libobjc2? ( !!gnustep-base/libobjc2
+ || (
+ sys-devel/gcc:*[objc]
+ llvm-core/clang:*
+ ) )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.9.0-no_compress_man_pages.patch )
+
+pkg_setup() {
+ # Determine libobjc.so to use
+ if use libobjc2; then
+ libobjc_version=libobjc.so
+ else
+ # Find version in active gcc
+ for ver in {2..5};
+ do
+ if $(tc-getCC) -Werror -Wl,-l:libobjc.so.${ver} -x objective-c \
+ - <<<$'int main() {}' -o /dev/null 2> /dev/null;
+ then
+ libobjc_version=libobjc.so.${ver}
+ fi
+ done
+ fi
+
+ # Stop if we could not get libobjc.so
+ if [[ -z ${libobjc_version} ]]; then
+ eerror "${P} requires a working Objective-C runtime and a compiler with"
+ eerror "Objective-C support. Your current settings lack these requirements"
+ if ! use libobjc2;
+ then
+ eerror "Please switch your active compiler to gcc with USE=objc, or clang"
+ fi
+ die "Could not find Objective-C runtime"
+ fi
+
+ # For existing installations, determine if we will use another libobjc.so
+ if has_version gnustep-base/gnustep-make; then
+ local current_libobjc="$(awk -F: '/^OBJC_LIB_FLAG/ {print $2}' "${EPREFIX}"/usr/share/GNUstep/Makefiles/config.make)"
+ # Old installations did not set this explicitely
+ : ${current_libobjc:=libobjc.so.2}
+
+ if [[ ${current_libobjc} != ${libobjc_version} ]]; then
+ ewarn "Warning: changed libobjc.so version!!"
+ ewarn "The libobjc.so version used for gnustep-make has changed"
+ ewarn "(either by the libojbc2 use-flag or a GCC upgrade)"
+ ewarn "You must rebuild all gnustep packages installed."
+ ewarn ""
+ ewarn "To do so, please emerge gnustep-base/gnustep-updater and run:"
+ ewarn "# gnustep-updater -l"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Multilib-strict
+ sed -e "s#/@libdir@#/$(get_libdir)#" -i FilesystemLayouts/fhs-system || die "sed failed"
+ cp "${FILESDIR}"/gnustep-5.{csh,sh} "${T}"/
+ eprefixify "${T}"/gnustep-5.{csh,sh}
+
+ default
+}
+
+src_configure() {
+ if use libobjc2 && tc-is-gcc; then
+ einfo "Forcing clang"
+ export CC="${CHOST}-clang"
+ export CXX="${CHOST}-clang++"
+
+ # Strip unsupported flags for clang
+ # bug #949599
+ strip-unsupported-flags
+ fi
+
+ econf \
+ INSTALL="${EPREFIX}"/usr/bin/install \
+ --with-layout=fhs-system \
+ --with-config-file="${EPREFIX}"/etc/GNUstep/GNUstep.conf \
+ --with-objc-lib-flag=-l:${libobjc_version} \
+ $(use_enable native-exceptions native-objc-exceptions)
+}
+
+src_compile() {
+ emake
+ if use doc ; then
+ emake -C Documentation
+ fi
+}
+
+src_install() {
+ # Get GNUSTEP_* variables
+ . ./GNUstep.conf
+
+ local make_eval
+ use debug || make_eval="${make_eval} debug=no"
+ make_eval="${make_eval} verbose=yes"
+
+ emake ${make_eval} DESTDIR="${D}" install
+
+ # Copy the documentation
+ if use doc ; then
+ emake -C Documentation ${make_eval} DESTDIR="${D}" GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install
+ fi
+
+ dodoc FAQ README RELEASENOTES
+
+ exeinto /etc/profile.d
+ doexe "${T}"/gnustep-?.sh
+ doexe "${T}"/gnustep-?.csh
+}
+
+pkg_postinst() {
+ # Warn about new layout if old GNUstep directory is still here
+ if [ -e /usr/GNUstep/System ]; then
+ ewarn "Old layout directory detected (/usr/GNUstep/System)"
+ ewarn "Gentoo has switched to FHS layout for GNUstep packages"
+ ewarn "You must first update the configuration files from this package,"
+ ewarn "then remerge all packages still installed with the old layout"
+ ewarn "You can use gnustep-base/gnustep-updater for this task"
+ fi
+}
next reply other threads:[~2025-05-18 15:23 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-18 15:23 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-11-04 12:27 [gentoo-commits] repo/gentoo:master commit in: gnustep-base/gnustep-make/ Sam James
2025-11-04 12:27 Sam James
2025-10-26 8:47 Arthur Zamarin
2025-10-26 8:47 Arthur Zamarin
2025-10-25 21:17 Sam James
2025-10-25 21:17 Sam James
2025-05-18 15:23 Sam James
2025-04-02 1:43 Sam James
2024-09-06 15:26 Arthur Zamarin
2024-07-21 21:31 Bernard Cafarelli
2024-06-24 2:54 Sam James
2024-06-21 22:55 Sam James
2024-06-21 22:55 Sam James
2024-06-21 22:55 Sam James
2024-06-21 22:26 Sam James
2024-01-27 10:27 Bernard Cafarelli
2023-12-16 1:44 Sam James
2023-12-16 1:44 Sam James
2023-12-16 1:44 Sam James
2023-12-16 1:44 Sam James
2023-11-23 21:53 Bernard Cafarelli
2023-09-26 0:54 Sam James
2023-06-13 14:16 Bernard Cafarelli
2022-10-08 17:41 Sam James
2022-10-08 12:17 Sam James
2021-06-03 21:22 Bernard Cafarelli
2021-01-04 12:53 Bernard Cafarelli
2021-01-04 3:34 Sam James
2021-01-04 0:04 Sam James
2021-01-02 22:49 Sam James
2021-01-02 22:45 Sam James
2021-01-02 21:10 Sam James
2020-05-09 14:25 Bernard Cafarelli
2017-04-24 14:07 Bernard Cafarelli
2017-01-14 22:17 Bernard Cafarelli
2017-01-13 15:13 Agostino Sarubbo
2016-08-17 14:01 Bernard Cafarelli
2016-06-21 20:11 Michał Górny
2016-03-10 12:53 Bernard Cafarelli
2015-09-06 12:01 Ian Delaney
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=1747581721.d7552dce2ba8d05735933570a064d725ca784030.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.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