diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /gnustep-base/gnustep-make | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'gnustep-base/gnustep-make')
-rw-r--r-- | gnustep-base/gnustep-make/Manifest | 7 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/files/gnustep-5.csh | 12 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/files/gnustep-5.sh | 18 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/gnustep-make-2.6.8.ebuild | 134 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/gnustep-make-2.7.0.ebuild | 134 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/metadata.xml | 19 |
6 files changed, 324 insertions, 0 deletions
diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest new file mode 100644 index 000000000000..db96eff17853 --- /dev/null +++ b/gnustep-base/gnustep-make/Manifest @@ -0,0 +1,7 @@ +AUX gnustep-5.csh 348 BLAKE2B 5a53bd83fffbba5db434c90c1b527cf32697b87ad51bf4abdaf09a843a211c4c52b81c2d2d65772847f1d5eb16e82a2561b6d24fde1efb7709766315261e8a9c SHA512 6345bd8559ead4e8433f9e7d3f85412b4cd155188a8daffb6c99c00257c1a5af89fd492fde53e819b887be19f4ebbdb09ae74428fe492c39256a6b476f073209 +AUX gnustep-5.sh 359 BLAKE2B 2df675c570e6343b3303cb3c82e0eb6c6fe60f842fe61297b147acca485df93b8a5a5ecc235b0e3a9854c0fb25cb06c2fcac34ee75933157fc8c230ac94ca843 SHA512 ceb39b583e7583bc6715723878eff1c06685b4786c9607f3ef581ef230a755efd80c7b18202458d4af54bac01c0ff2f5cec443d8c87639c6cdffc7604bb07700 +DIST gnustep-make-2.6.8.tar.gz 592266 BLAKE2B 12ad6d1b27f3280f99c55d78a899983527620fbb6ec9a7d70bd71917e0d615e62d4930ceb39c3ea3d340749896226a528d18d322629e05cba3a6f636be4b0a47 SHA512 1df6757cd1e0dbca3eb6e4ad4346406799ebb2782f5853014cc3b1e8ae47056026e6c5cd43e5671c8802232444602fde164dde352c15b4e0d64bdfdea06bd8a0 +DIST gnustep-make-2.7.0.tar.gz 596399 BLAKE2B 85c23795bbaaa7ca3a2166d96a1bc6be3506501721ee5bee4fa8513c490affabce7d4f60a13ba3b33f642c73f08afb4e30ba48da4d1b3bcfd17df3ec9b85b8b6 SHA512 7a39c2c79f01c3a93607bba71ef8c482d0610541ebcb3d0ffce6c1a104a74646329d18255a8bd183ccf54f37018e4d6b4a9d8adf419e2cdea29b35c89e81d9a2 +EBUILD gnustep-make-2.6.8.ebuild 3791 BLAKE2B 9ad51d1b31b01aad1b06a0292a744aca86fa1cfd34461e801948a59cca294057e5d92ba7df63eb5404aec0fda03e0bf1b506a4fb40a805ca3a95dd01b6843a4e SHA512 42d7571285d9e9507248a4d46dbeb4d5d17a52bd6fedd015800c239c4026fc1433c3724d7662a3c9df4b82855319f2a85705f3cdc35bacb84cfaece504875a52 +EBUILD gnustep-make-2.7.0.ebuild 3796 BLAKE2B b16ebf072f7ea1ac88bf916f75081a0f89ecab31c7cd0751d1025e27f669f859dd8ae82520970bdc9414638635a01be47cc97d26945d1f8983bd26ecb18b0551 SHA512 cf9ff5bad0bf4f58293f3872d24a71aa0aa4af53a2e9f0a33b176f18d59b2fe718316796515cc394d2cececdaf7004e022931a365e5bec81be21598bad550361 +MISC metadata.xml 991 BLAKE2B 757d5e30738a28bb29dad429845961458f9c66fc4f081504ae72a4e32da2f7a776bdd55e166a3346a4ae7d74cdb452e31dafd74ac466dfc3d7226978b0a7ca6c SHA512 3167eb855a813fa42c61c74fdd4aab284a1273b97d20783afcebd952df53577c4f644917ef0182f1fe436c1aa6e81461fcde315b2b5a45f1dc26110fa411fe27 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> |