summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2011-06-07 14:35:48 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2011-06-07 14:35:48 +0000
commita29bd3973fd3d97b31fe78516b9b0a352e5604dd (patch)
tree10404daceffdc7b22d5dde8358489f52a9246572 /gnustep-base/gnustep-make
parentsys-block/open-iscsi: Bump to 2.0.872 (bug #340425) (diff)
downloadhistorical-a29bd3973fd3d97b31fe78516b9b0a352e5604dd.tar.gz
historical-a29bd3973fd3d97b31fe78516b9b0a352e5604dd.tar.bz2
historical-a29bd3973fd3d97b31fe78516b9b0a352e5604dd.zip
Experimental suppport for libobjc2/clang
Package-Manager: portage-2.2.0_alpha38/cvs/Linux x86_64
Diffstat (limited to 'gnustep-base/gnustep-make')
-rw-r--r--gnustep-base/gnustep-make/ChangeLog8
-rw-r--r--gnustep-base/gnustep-make/Manifest11
-rw-r--r--gnustep-base/gnustep-make/gnustep-make-2.6.1-r10.ebuild105
-rw-r--r--gnustep-base/gnustep-make/metadata.xml1
4 files changed, 119 insertions, 6 deletions
diff --git a/gnustep-base/gnustep-make/ChangeLog b/gnustep-base/gnustep-make/ChangeLog
index 14a6ac525156..03a0dba8e891 100644
--- a/gnustep-base/gnustep-make/ChangeLog
+++ b/gnustep-base/gnustep-make/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for gnustep-base/gnustep-make
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v 1.100 2011/06/07 13:48:56 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v 1.101 2011/06/07 14:35:48 voyageur Exp $
+
+*gnustep-make-2.6.1-r10 (07 Jun 2011)
+
+ 07 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org>
+ +gnustep-make-2.6.1-r10.ebuild, metadata.xml:
+ Experimental suppport for libobjc2/clang
07 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org>
gnustep-make-2.4.0.ebuild, gnustep-make-2.6.0.ebuild,
diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest
index d5a8f4655e05..66c95a16941e 100644
--- a/gnustep-base/gnustep-make/Manifest
+++ b/gnustep-base/gnustep-make/Manifest
@@ -11,13 +11,14 @@ DIST gnustep-make-2.6.0.tar.gz 564848 RMD160 05421b3ac78467abe798937905eee81316d
DIST gnustep-make-2.6.1.tar.gz 565262 RMD160 a72970e1bf0fa93622981e991717714795cdb7a5 SHA1 32144e6f9474dff0001372ade68674620f9ed20c SHA256 c48b0a4c85eee4799b12cceeb327c470b168100cbcda4f111b1edad71f8762eb
EBUILD gnustep-make-2.4.0.ebuild 2335 RMD160 fb557f9e3ccbbe3c9d6505b5ea0240c5bf45be4f SHA1 6f8d32ff50ebe43e7697cde8f3f2c9307858430c SHA256 3efca9d4073527e756cfbc562cef3eb4b9c0dd09032be33ff89fe9be141883a1
EBUILD gnustep-make-2.6.0.ebuild 2488 RMD160 4269a947fe5c159525e1f9773913889d03fe7812 SHA1 4f916eb0f834a930ccede5e3fc0a0f0a29a76b01 SHA256 cb622ead93fe859763c2266979ab02f27e3c578ef639c1e08b59352f895bb208
+EBUILD gnustep-make-2.6.1-r10.ebuild 3179 RMD160 80fb441bf5a50df21681a2e57bd72937d654dbc2 SHA1 2dbeb277138169a503fd18fdcf64d89cc34ea27d SHA256 f5d87170d3a47b1a9c65cc2e6472c2c5729662f737c206498d56a295f6b49151
EBUILD gnustep-make-2.6.1.ebuild 2488 RMD160 2a34a25f2828801f5fc20b8bb02479fa6bff9b28 SHA1 5da95ea436f4cfa53f5feae1fee384fba5c62945 SHA256 fb0c1d776b34a9d740cbc225fe61f5cee03242b637ee0745dbd745b60edda612
-MISC ChangeLog 18562 RMD160 161fd56031ea595c59d7be95b062db0bd17fe411 SHA1 47e99c66978a65ceb97855a6e2ed71a6e9f39857 SHA256 b81b370181b184840f41dfdf4d1e04541f6fa518d72eb6b4a42487a6f4acb234
-MISC metadata.xml 725 RMD160 1051da7573b62f6ea79e3e34b8ae85708cc5a3ca SHA1 c8c9bf9d911ca1da2e58930011c8c3e73d4d7fad SHA256 87374d5350dbb4dceaf129e423b6d6c855fc7e411b98b097559a83a8400db8f9
+MISC ChangeLog 18748 RMD160 4f4c97df5c4c5d37c16fb5c5f37d8feaed2d388f SHA1 5cb48b70e5139a6698b4d4eaf558b0a836f8a4c3 SHA256 dabacb16673c1aa7f3d70c6bf15831dc26b2bb78345b3310c777fee403854971
+MISC metadata.xml 878 RMD160 040030753aa6de3e343683170957635dc27ac87a SHA1 b599426fe73d3ef8a475a18645837ab752dbe370 SHA256 bdc7f31bed55e3e84eed17e132b69e96bad0b7633186f350d391c358ff0f7595
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iF4EAREIAAYFAk3uLFUACgkQFYEBGcdFJfKwuwD/TPVBC8i5qyJ6rmIvzM3qqu32
-Kj40M+dUbTSdC7M2ldAA/1w8O3uSJI4ntC8R9/NRJY/g498izPDLkjdO8PGr76z2
-=4/1I
+iF4EAREIAAYFAk3uN08ACgkQFYEBGcdFJfKkAwD9G+Epxht9DejJeSowKxeyGdRa
+o1Uqf/i1XOUMoJOfM7oA/3umBSj7xESIX36e/05XT7gYkOon2c4Ud9LsGBo9ypUP
+=Ncks
-----END PGP SIGNATURE-----
diff --git a/gnustep-base/gnustep-make/gnustep-make-2.6.1-r10.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.6.1-r10.ebuild
new file mode 100644
index 000000000000..0e2f749d06b8
--- /dev/null
+++ b/gnustep-base/gnustep-make/gnustep-make-2.6.1-r10.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.1-r10.ebuild,v 1.1 2011/06/07 14:35:48 voyageur Exp $
+
+EAPI="3"
+
+inherit gnustep-base eutils prefix
+
+DESCRIPTION="GNUstep Makefile Package"
+
+HOMEPAGE="http://www.gnustep.org"
+SRC_URI="ftp://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="libobjc2 native-exceptions"
+SLOT="0"
+LICENSE="GPL-2"
+
+DEPEND="${GNUSTEP_CORE_DEPEND}
+ >=sys-devel/gcc-3.3[objc]
+ >=sys-devel/make-3.75
+ libobjc2? ( gnustep-base/libobjc2
+ >=sys-devel/clang-2.9 )
+ !libobjc2? ( !gnustep-base/libobjc2 )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ if ( use libobjc2 && ! has_version gnustep-base/gnustep-make[libobjc2] ) || \
+ ( ! use libobjc2 && has_version gnustep-base/gnustep-make[libobjc2] ) || \
+ ( use libobjc2 && has_version <=gnustep-base-2.6.1-r1 ) ; then
+ ewarn "TOGGLED liobjc2 USE-FLAG WARNING:"
+ ewarn "You changed the libojbc2 use-flag"
+ ewarn "You must rebuild all gnustep packages installed."
+ # Suggest gnustep-updater once updated to do the trick
+ fi
+}
+
+src_prepare() {
+ # Multilib-strict
+ sed -e "s#/lib#/$(get_libdir)#" -i FilesystemLayouts/fhs-system || die "sed failed"
+ epatch "${FILESDIR}"/${PN}-2.0.1-destdir.patch
+ cp "${FILESDIR}"/gnustep-4.{csh,sh} "${T}"/
+ eprefixify "${T}"/gnustep-4.{csh,sh}
+}
+
+src_configure() {
+ if use libobjc2; then
+ export CC=clang
+ fi
+
+ #--enable-objc-nonfragile-abi: problem with glibc unistd.h (__blocks)
+ econf \
+ --with-layout=fhs-system \
+ --with-config-file="${EPREFIX}"/etc/GNUstep/GNUstep.conf \
+ $(use_enable native-exceptions native-objc-exceptions) \
+ || die "configure failed"
+}
+
+src_compile() {
+ emake || die "compilation failed"
+ # Prepare doc here (needed when no gnustep-make is already installed)
+ if use doc ; then
+ # If a gnustep-1 environment is set
+ unset GNUSTEP_MAKEFILES
+ pushd Documentation &> /dev/null
+ emake all install || die "doc make has failed"
+ popd &> /dev/null
+ 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 || die "install has failed"
+
+ # Copy the documentation
+ if use doc ; then
+ dodir ${GNUSTEP_SYSTEM_LIBRARY}
+ cp -r Documentation/tmp-installation/System/Library/Documentation \
+ "${ED}"${GNUSTEP_SYSTEM_LIBRARY}
+ fi
+
+ dodoc FAQ README RELEASENOTES
+
+ exeinto /etc/profile.d
+ doexe "${T}"/gnustep-4.sh
+ doexe "${T}"/gnustep-4.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
+
+ # TODO warn if libobjc2 flag changed
+}
diff --git a/gnustep-base/gnustep-make/metadata.xml b/gnustep-base/gnustep-make/metadata.xml
index d41b36657bb8..816a08388d56 100644
--- a/gnustep-base/gnustep-make/metadata.xml
+++ b/gnustep-base/gnustep-make/metadata.xml
@@ -10,6 +10,7 @@ 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 <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>