From 6c86046e37452abe957289985932edf33e7e31e2 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 8 Oct 2022 13:17:08 +0100 Subject: gnustep-base/gnustep-make: fix MissingSlotDep on gcc, clang Signed-off-by: Sam James --- .../gnustep-make/gnustep-make-2.8.0-r1.ebuild | 132 +++++++++++++++++++++ .../gnustep-make/gnustep-make-2.8.0.ebuild | 132 --------------------- 2 files changed, 132 insertions(+), 132 deletions(-) create mode 100644 gnustep-base/gnustep-make/gnustep-make-2.8.0-r1.ebuild delete mode 100644 gnustep-base/gnustep-make/gnustep-make-2.8.0.ebuild (limited to 'gnustep-base/gnustep-make') diff --git a/gnustep-base/gnustep-make/gnustep-make-2.8.0-r1.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.8.0-r1.ebuild new file mode 100644 index 000000000000..c02eacd4306c --- /dev/null +++ b/gnustep-base/gnustep-make/gnustep-make-2.8.0-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit gnustep-base prefix toolchain-funcs + +DESCRIPTION="GNUstep Makefile Package" +HOMEPAGE="http://www.gnustep.org" +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 ~sparc-solaris ~x86-solaris" +IUSE="libobjc2 native-exceptions" + +DEPEND="${GNUSTEP_CORE_DEPEND} + >=sys-devel/make-3.75 + libobjc2? ( gnustep-base/libobjc2 + sys-devel/clang ) + !libobjc2? ( !!gnustep-base/libobjc2 + || ( + >=sys-devel/gcc-3.3:*[objc] + sys-devel/clang:* + ) )" +RDEPEND="${DEPEND}" + +pkg_setup() { + # Determine libobjc.so to use + if use libobjc2; then + libobjc_version=libobjc.so.4 + 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 + + if use libobjc2; then + export CC=clang + fi +} + +src_prepare() { + # Multilib-strict + sed -e "s#/lib#/$(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() { + 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}" 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 +} diff --git a/gnustep-base/gnustep-make/gnustep-make-2.8.0.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.8.0.ebuild deleted file mode 100644 index 10a3fb69dae5..000000000000 --- a/gnustep-base/gnustep-make/gnustep-make-2.8.0.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit gnustep-base prefix toolchain-funcs - -DESCRIPTION="GNUstep Makefile Package" -HOMEPAGE="http://www.gnustep.org" -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 ~sparc-solaris ~x86-solaris" -IUSE="libobjc2 native-exceptions" - -DEPEND="${GNUSTEP_CORE_DEPEND} - >=sys-devel/make-3.75 - libobjc2? ( gnustep-base/libobjc2 - sys-devel/clang ) - !libobjc2? ( !!gnustep-base/libobjc2 - || ( - >=sys-devel/gcc-3.3[objc] - sys-devel/clang - ) )" -RDEPEND="${DEPEND}" - -pkg_setup() { - # Determine libobjc.so to use - if use libobjc2; then - libobjc_version=libobjc.so.4 - 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 - - if use libobjc2; then - export CC=clang - fi -} - -src_prepare() { - # Multilib-strict - sed -e "s#/lib#/$(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() { - 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}" 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 -} -- cgit v1.2.3-65-gdbad