summaryrefslogtreecommitdiff
path: root/gnustep-base/gnustep-make
diff options
context:
space:
mode:
Diffstat (limited to 'gnustep-base/gnustep-make')
-rw-r--r--gnustep-base/gnustep-make/Manifest2
-rw-r--r--gnustep-base/gnustep-make/gnustep-make-2.9.0.ebuild132
2 files changed, 134 insertions, 0 deletions
diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest
index bf8b440bca25..eea98c79775e 100644
--- a/gnustep-base/gnustep-make/Manifest
+++ b/gnustep-base/gnustep-make/Manifest
@@ -1,5 +1,7 @@
AUX gnustep-5.csh 348 BLAKE2B 5a53bd83fffbba5db434c90c1b527cf32697b87ad51bf4abdaf09a843a211c4c52b81c2d2d65772847f1d5eb16e82a2561b6d24fde1efb7709766315261e8a9c SHA512 6345bd8559ead4e8433f9e7d3f85412b4cd155188a8daffb6c99c00257c1a5af89fd492fde53e819b887be19f4ebbdb09ae74428fe492c39256a6b476f073209
AUX gnustep-5.sh 359 BLAKE2B 2df675c570e6343b3303cb3c82e0eb6c6fe60f842fe61297b147acca485df93b8a5a5ecc235b0e3a9854c0fb25cb06c2fcac34ee75933157fc8c230ac94ca843 SHA512 ceb39b583e7583bc6715723878eff1c06685b4786c9607f3ef581ef230a755efd80c7b18202458d4af54bac01c0ff2f5cec443d8c87639c6cdffc7604bb07700
DIST gnustep-make-2.8.0.tar.gz 606337 BLAKE2B b4defb8fdd8fc17ce2ac14c7d3d63b85e817bb639b7c1ae6a150baf74cda222ac046d890e677b50398bb9953e1496a98e9eb542809c961243f4f620276ab13fb SHA512 e9e57ed7a1c360c2dbf17f70d38e5107a1a9613842dcc645f10ed7a01eb9f9ee71bd2d0cacbe00439ce73f194a3eb3ed2e71409241ac96ee3bba704dcf6dfd7b
+DIST gnustep-make-2.9.0.tar.gz 611406 BLAKE2B 73bae19b5d3d3c1e069d22ce7087308166f632277d870fa5ab125d5bc004a1518a1edb6822c61e00b98fc13a1b3354440024bd13d98662002c15298745c4e935 SHA512 ff185affe32d4efc2009d72a3862bc3bffebce05ea5a7fdfbf4372774e57b6654863e317ce648c248716dd3e97a4320d697a313e7eefd04f5723186be6cbf1e3
EBUILD gnustep-make-2.8.0.ebuild 3669 BLAKE2B 3e138297504eb90c7a232bef734000e46bead1f3fe2d335a768f27497450c56cb81a20b942b25c1e44bd5c3edc3d040431570eef927e5010d90e4369dc5bdc40 SHA512 1ca02c3d8046baf58df51f9a771cbffb87ace3067d8c9ba1e7a034ee513ef867038051ec35ab05a9038c16b70a9fe9efb3b871bc4eb3e9cc78649d901a062859
+EBUILD gnustep-make-2.9.0.ebuild 3674 BLAKE2B a4edce5131553665613df39de98182598cb871605540781f6219cf310a3b7e7de5a5b411a9033257b906b430f7f00771156f0829b57f37c815ccadb1ee2a7291 SHA512 6d2e44d29f3ef244a01d9d8d2be2a7ae7ae28142fe04ec578d956a7ba631a84f7b381530f863a51731686d5c7ccfa47d9d9f1f0e25a46091e789c5b556c538d7
MISC metadata.xml 991 BLAKE2B 757d5e30738a28bb29dad429845961458f9c66fc4f081504ae72a4e32da2f7a776bdd55e166a3346a4ae7d74cdb452e31dafd74ac466dfc3d7226978b0a7ca6c SHA512 3167eb855a813fa42c61c74fdd4aab284a1273b97d20783afcebd952df53577c4f644917ef0182f1fe436c1aa6e81461fcde315b2b5a45f1dc26110fa411fe27
diff --git a/gnustep-base/gnustep-make/gnustep-make-2.9.0.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.9.0.ebuild
new file mode 100644
index 000000000000..3657bdcd66fa
--- /dev/null
+++ b/gnustep-base/gnustep-make/gnustep-make-2.9.0.ebuild
@@ -0,0 +1,132 @@
+# 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:*[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
+}