public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Bernard Cafarelli" <voyageur@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: gnustep-base/gnustep-make/
Date: Mon, 24 Apr 2017 14:07:02 +0000 (UTC)	[thread overview]
Message-ID: <1493042767.351738ddd18d9f996127e5f8dac45deecc613ec6.voyageur@gentoo> (raw)

commit:     351738ddd18d9f996127e5f8dac45deecc613ec6
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 24 13:19:19 2017 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Mon Apr 24 14:06:07 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=351738dd

gnustep-base/gnustep-make: 2.7.0 bump

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 gnustep-base/gnustep-make/Manifest                 |   1 +
 .../gnustep-make/gnustep-make-2.7.0.ebuild         | 134 +++++++++++++++++++++
 2 files changed, 135 insertions(+)

diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest
index a0bb8cba552..9becc5f88b3 100644
--- a/gnustep-base/gnustep-make/Manifest
+++ b/gnustep-base/gnustep-make/Manifest
@@ -1 +1,2 @@
 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

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 00000000000..0ba4fc2bebf
--- /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
+}


             reply	other threads:[~2017-04-24 14:07 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-24 14:07 Bernard Cafarelli [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-06 15:26 [gentoo-commits] repo/gentoo:master commit in: gnustep-base/gnustep-make/ 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-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=1493042767.351738ddd18d9f996127e5f8dac45deecc613ec6.voyageur@gentoo \
    --to=voyageur@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