summaryrefslogtreecommitdiff
path: root/gnustep-base/gnustep-make
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /gnustep-base/gnustep-make
reinit the tree, so we can have metadata
Diffstat (limited to 'gnustep-base/gnustep-make')
-rw-r--r--gnustep-base/gnustep-make/Manifest9
-rw-r--r--gnustep-base/gnustep-make/files/gnustep-5.csh12
-rw-r--r--gnustep-base/gnustep-make/files/gnustep-5.sh18
-rw-r--r--gnustep-base/gnustep-make/gnustep-make-2.6.8.ebuild134
-rw-r--r--gnustep-base/gnustep-make/gnustep-make-2.7.0.ebuild134
-rw-r--r--gnustep-base/gnustep-make/metadata.xml19
6 files changed, 326 insertions, 0 deletions
diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest
new file mode 100644
index 000000000000..d302fa2fdcb5
--- /dev/null
+++ b/gnustep-base/gnustep-make/Manifest
@@ -0,0 +1,9 @@
+AUX gnustep-5.csh 348 SHA256 ce34dddfa9cee1f29f48ea2ff81359c9948e98c8b63079d0dc6af7b102e00508 SHA512 6345bd8559ead4e8433f9e7d3f85412b4cd155188a8daffb6c99c00257c1a5af89fd492fde53e819b887be19f4ebbdb09ae74428fe492c39256a6b476f073209 WHIRLPOOL f78dce17f36cec11db8e82042fdc04534164cc5b26954bfaafa4ce5f283159fb3c9ef22082ec96c15c721feca56e0437b06c5de9578ba14b512b6c2d660efbfa
+AUX gnustep-5.sh 359 SHA256 e27a2825d4e838d073036dd2f03776f767be3e6eb0148b02818766f457b0778a SHA512 ceb39b583e7583bc6715723878eff1c06685b4786c9607f3ef581ef230a755efd80c7b18202458d4af54bac01c0ff2f5cec443d8c87639c6cdffc7604bb07700 WHIRLPOOL 8f1fca2d523af0e8d9bae30d3a2b9eee2fdc565b9a560e00d576acbc46c146a661d38e6aa685df4d73347e9197886f2dd4cdc803044417fa75a73364da682854
+DIST gnustep-make-2.6.8.tar.gz 592266 SHA256 603ed2d1339b44d154ea25229330acdedb6784b9c802b3797b2fefe3d2200064 SHA512 1df6757cd1e0dbca3eb6e4ad4346406799ebb2782f5853014cc3b1e8ae47056026e6c5cd43e5671c8802232444602fde164dde352c15b4e0d64bdfdea06bd8a0 WHIRLPOOL d54b06a9082e0b19bdb779c2e3914c57a9ecbad2cbb18de8d6f5cbe07c68208c0e169ee6e8ff41e70d619b028d208ed4089afaa86250bcd7452ae8d90e40cfa8
+DIST gnustep-make-2.7.0.tar.gz 596399 SHA256 90a01cbfb68aafe01c4cc4123121ebd2da0e1e2076795b5682f0833fddf311ce SHA512 7a39c2c79f01c3a93607bba71ef8c482d0610541ebcb3d0ffce6c1a104a74646329d18255a8bd183ccf54f37018e4d6b4a9d8adf419e2cdea29b35c89e81d9a2 WHIRLPOOL e9d21c981be7ccf63e85e6187777ad8ebb31dbfacf88ef3887906ca63815d7efe7ec21a7aabab738df6e3de2c1eb5620eb967956c27d67e93678b6d3a0582d74
+EBUILD gnustep-make-2.6.8.ebuild 3791 SHA256 dbcaf98f7549c7f19bfff4b05908ed2344587c0a8a84d7138b39b6af7f5c5d1d SHA512 42d7571285d9e9507248a4d46dbeb4d5d17a52bd6fedd015800c239c4026fc1433c3724d7662a3c9df4b82855319f2a85705f3cdc35bacb84cfaece504875a52 WHIRLPOOL 2d75f175c36488b747d45306ada179f742195546a413fac0392534093c636670c432e39d37f2bbefd446c995ee0d454bda4c6e1369b71b552fa3d09b61aa039f
+EBUILD gnustep-make-2.7.0.ebuild 3796 SHA256 3078d6792b4f62fd034264f2f730034cd334fa4f33e62314003730a95c8bf050 SHA512 cf9ff5bad0bf4f58293f3872d24a71aa0aa4af53a2e9f0a33b176f18d59b2fe718316796515cc394d2cececdaf7004e022931a365e5bec81be21598bad550361 WHIRLPOOL d0adef9cdd3d198515f6e0a5ec301b20e752ad2719181375e35a4518051c2b695540f9eb848389fd3b0a82125cef1d3c2fb3947b113218224e19c51c52e533ea
+MISC ChangeLog 3959 SHA256 115c2c9c76c85fb20a149e62775010be254d4248f02255da8fb66a3cab4560cd SHA512 22b29d5a57d1f04118cc82c050b9e7b9c0ce79d81417c79a8608369c8ada7484a7c60737fa903cb79371a68ca2c2d0d2c806258399c1e11f4d1446367f5110da WHIRLPOOL 628ec32970eba7e2370bfa5bed1de1be8d11d99291906e8fe4802e8ab66aec1e63cbb10440d32671eca16092ddbd7293550c562ed91009484287a124d45455f0
+MISC ChangeLog-2015 22338 SHA256 d39f490ed546da7dd79a95a765e01f69f8adca44dc158863df334cecad41d500 SHA512 1d85ecfc66dc9a943236ff290ae0886bb372344f19f80a226d46d5fe84c679c54f957df2785a5a9fc3fcaedbcdf126d14a877136f779990435bea96cf574cdf8 WHIRLPOOL 5e26ddcb9254a5fc9c8581d1c6f3b6043afe834b80d59ae53699598f3a2143ca9138e5b7ad86d80ab1d4d3a1f7047cc0988bbed36e6b45898a9b9fa26ac62e89
+MISC metadata.xml 991 SHA256 3c1ee9a3641f81a8454be7e303e521167ee17001ffb1ddf19373eca0df934533 SHA512 3167eb855a813fa42c61c74fdd4aab284a1273b97d20783afcebd952df53577c4f644917ef0182f1fe436c1aa6e81461fcde315b2b5a45f1dc26110fa411fe27 WHIRLPOOL e0dfe926914e92e3a9d8d00106e1f1182fa751ee7b3c140664126c264cf9c2eb273ff1fb5fe5faca48442d00358f32ec5e674eb9047db2cfb85fc69fc64a6704
diff --git a/gnustep-base/gnustep-make/files/gnustep-5.csh b/gnustep-base/gnustep-make/files/gnustep-5.csh
new file mode 100644
index 000000000000..4b7102094187
--- /dev/null
+++ b/gnustep-base/gnustep-make/files/gnustep-5.csh
@@ -0,0 +1,12 @@
+#!/usr/bin/env csh
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Test for an interactive shell
+if ( $?prompt ) then
+ setenv GNUSTEP_SYSTEM_TOOLS "@GENTOO_PORTAGE_EPREFIX@"/usr/bin
+
+ if ( -x $GNUSTEP_SYSTEM_TOOLS/make_services ) then
+ $GNUSTEP_SYSTEM_TOOLS/make_services
+ endif
+endif
diff --git a/gnustep-base/gnustep-make/files/gnustep-5.sh b/gnustep-base/gnustep-make/files/gnustep-5.sh
new file mode 100644
index 000000000000..f5e07549cff8
--- /dev/null
+++ b/gnustep-base/gnustep-make/files/gnustep-5.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env sh
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Test for an interactive shell
+case $- in
+ *i*)
+ ;;
+ *)
+ return
+ ;;
+esac
+
+GNUSTEP_SYSTEM_TOOLS="@GENTOO_PORTAGE_EPREFIX@"/usr/bin
+
+if [ -x ${GNUSTEP_SYSTEM_TOOLS}/make_services ]; then
+ ${GNUSTEP_SYSTEM_TOOLS}/make_services
+fi
diff --git a/gnustep-base/gnustep-make/gnustep-make-2.6.8.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.6.8.ebuild
new file mode 100644
index 000000000000..414a690bff16
--- /dev/null
+++ b/gnustep-base/gnustep-make/gnustep-make-2.6.8.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 ~x86-fbsd ~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() {
+ #--enable-objc-nonfragile-abi: only working in clang for now
+ 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 libobjc2 objc-nonfragile-abi) \
+ $(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.7.0.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.7.0.ebuild
new file mode 100644
index 000000000000..0ba4fc2bebf3
--- /dev/null
+++ b/gnustep-base/gnustep-make/gnustep-make-2.7.0.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 ~x86-fbsd ~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() {
+ #--enable-objc-nonfragile-abi: only working in clang for now
+ 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 libobjc2 objc-nonfragile-abi) \
+ $(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/metadata.xml b/gnustep-base/gnustep-make/metadata.xml
new file mode 100644
index 000000000000..b8baaa59a863
--- /dev/null
+++ b/gnustep-base/gnustep-make/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+</maintainer>
+<longdescription>
+The makefile package is a simple, powerful and extensible way to write
+makefiles for a GNUstep-based project. It allows the user to write a
+project without having to deal with the complex issues associated with
+configuration, building, installation, and packaging. It also allows
+the user to easily create cross-compiled binaries.
+</longdescription>
+<use>
+ <flag name="libobjc2">Enables use of the GNUstep Objective-C runtime (<pkg>gnustep-base/libobjc2</pkg>) with non-fragile ABI and <pkg>sys-devel/clang</pkg> compiler</flag>
+ <flag name="native-exceptions">Enables use of the native Objective-C exception support (@try/@catch/@finally) built-in objective-c exceptions with compilers that support it </flag>
+</use>
+</pkgmetadata>