diff options
author | Bernard Cafarelli <voyageur@gentoo.org> | 2012-02-20 20:05:38 +0000 |
---|---|---|
committer | Bernard Cafarelli <voyageur@gentoo.org> | 2012-02-20 20:05:38 +0000 |
commit | 33ac9b11e89dec66a93760ad697b42cbdbd996fb (patch) | |
tree | 9d4cc0e20a39e284de06b99c8f11cec89148f520 | |
parent | http://my.opera.com/desktopteam/blog/2012/02/20/12-00-wahoo-stability-improve... (diff) | |
download | historical-33ac9b11e89dec66a93760ad697b42cbdbd996fb.tar.gz historical-33ac9b11e89dec66a93760ad697b42cbdbd996fb.tar.bz2 historical-33ac9b11e89dec66a93760ad697b42cbdbd996fb.zip |
Also test libobjc.so.3 (from >=gcc-4.6), rework pkg_setup. Fixes bug #404957, gnustep-updater can handle libobjc.so.3
Package-Manager: portage-2.2.0_alpha87/cvs/Linux x86_64
-rw-r--r-- | gnustep-base/gnustep-make/ChangeLog | 7 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/Manifest | 11 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/files/testlibobjc.m | 10 | ||||
-rw-r--r-- | gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild | 49 |
4 files changed, 51 insertions, 26 deletions
diff --git a/gnustep-base/gnustep-make/ChangeLog b/gnustep-base/gnustep-make/ChangeLog index 1ff06a2dc45b..e0e34bdcc783 100644 --- a/gnustep-base/gnustep-make/ChangeLog +++ b/gnustep-base/gnustep-make/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for gnustep-base/gnustep-make # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v 1.105 2012/02/09 21:34:34 voyageur Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v 1.106 2012/02/20 20:05:38 voyageur Exp $ + + 20 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> + gnustep-make-2.6.2.ebuild, +files/testlibobjc.m: + Also test libobjc.so.3 (from >=gcc-4.6), rework pkg_setup. Fixes bug #404957, + gnustep-updater can handle libobjc.so.3 09 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> gnustep-make-2.6.2.ebuild: diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest index 70c1ed46d078..662ee02c2d47 100644 --- a/gnustep-base/gnustep-make/Manifest +++ b/gnustep-base/gnustep-make/Manifest @@ -6,6 +6,7 @@ AUX gnustep-3.sh 578 RMD160 69fdd2c1deb0099daecf98e0be786ebd97b47b6e SHA1 17fbd3 AUX gnustep-4.csh 552 RMD160 90be016a4abfbb586e80c6eb1175f84251c18243 SHA1 b123891a6d229cd88333d6eb3ce6cfd70da88e5d SHA256 ae9a619fe72d2bf4bad319633921b56516a472a3304ecf16e284b66fb8387301 AUX gnustep-4.sh 562 RMD160 9c10c3bae6bd3a02e996e1ddb8bc37444b628070 SHA1 0ff17fee0fdc4c03ae6e5af558f5fd8e995f5e1b SHA256 88b8c8841719051151d7f013bfef1853d9efebf545e61d998ae6670ea1ec8508 AUX gnustep-make-2.0.1-destdir.patch 975 RMD160 c2647803d412c954b546e4352310705aac805159 SHA1 94ea603da99cc6b973ecfbd7e3c3980f53c5da0a SHA256 68e386ad5dfeb90138723081ce0d45fd6c426dbcf9660784eb85707dee7be474 +AUX testlibobjc.m 229 RMD160 bf8c38ee0a47cdc7a7388f7c53120649f1262860 SHA1 52ce68ac09f6f0f1fe33fc9679339e9c78169b42 SHA256 25543e39b6a1fac508439fa07036b37e7ec0068773c2c29d10af033bb94053e0 DIST gnustep-make-2.4.0.tar.gz 521818 RMD160 6f1dd81039c9935e41eb7988923c3b3c6507e383 SHA1 afda14186394c65b0871dba93f92dc965b2fc724 SHA256 8ad6c9d0e532e0bf70fdc25abe60afbd4103b16dc47b324646a147cbac6c6ef9 DIST gnustep-make-2.6.0.tar.gz 564848 RMD160 05421b3ac78467abe798937905eee81316d2b286 SHA1 e3cd5dd9d1f0314c66e6e45b5e5bf9b2513f9be4 SHA256 db8312a0fc637d5c66c11c33ec51b1ecc0c693091ec06ca39ebac43ca0f27828 DIST gnustep-make-2.6.1.tar.gz 565262 RMD160 a72970e1bf0fa93622981e991717714795cdb7a5 SHA1 32144e6f9474dff0001372ade68674620f9ed20c SHA256 c48b0a4c85eee4799b12cceeb327c470b168100cbcda4f111b1edad71f8762eb @@ -13,13 +14,13 @@ DIST gnustep-make-2.6.2.tar.gz 562770 RMD160 683b6a034d4bb7e17b64209c7e7e289e9e9 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-r1.ebuild 2486 RMD160 46faa0e60887bea22eb5a4b585c5818be1255e27 SHA1 cdce750b077ccbfee4512f3aa0e6047f82834107 SHA256 f1ed6fbd1c5c1443662e4d330c9db4b16fb2eea7565f87637f925904bd6041a6 -EBUILD gnustep-make-2.6.2.ebuild 3284 RMD160 a4a03b516eab50b20ec5431092c47bb7f9e47aa5 SHA1 513ca81b232f5dd34fa106710d100032648c8ce6 SHA256 7daa463bd3306b30ce555fb8ca84b44e74b9477043b144ef5e1c689f3cb251b6 -MISC ChangeLog 19519 RMD160 b533a7b8cc2843fc1d121fe3c767bb05f5e2df7f SHA1 cb588b423a93dc1e6400a173ece5631253ef3cba SHA256 afd8b237971e6721c58feccec7c9393901b6ca182080c9a53b7823246ec6a414 +EBUILD gnustep-make-2.6.2.ebuild 3706 RMD160 ef5e44bd3101287e399bc4146ba5761214ca130f SHA1 ea9a3e56e8944503e7c1fc0926e6ea2c05b65b76 SHA256 14a7d51fad7746cd9482fba56624d7ebb38de373169e24b876f0cbf211353ad5 +MISC ChangeLog 19748 RMD160 7c0ac1bcde87124b70db3f3ac265086c118b498d SHA1 86434b48963b62bd981d6fec337585005a32c66f SHA256 1a8b77eee5c5203258e62ee7fc24a6313c32d3c0d220b98cfedca37fa37c7e54 MISC metadata.xml 898 RMD160 b9f3536bfebd8b110106c0acd25867ee18ee8913 SHA1 5c8af107c44ff235ab4817c553059aaee486af36 SHA256 00307fc5770d94f69c9c30ce99884a198bb71c5a14e85454b9bf164abc1f8b0f -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iF4EAREIAAYFAk80O/YACgkQFYEBGcdFJfI5cAEAm2yxmYmfxbQqCBH3Mpb/ckju -bN9V0a/mrbyan/dPVtAA/0u4fk6s2UHC5h1WrY9ShfO3mlKlnrf4MIYTg8aoUIJ/ -=oIMO +iF4EAREIAAYFAk9Cp54ACgkQFYEBGcdFJfLztwD/dpJ46/0+R8fhKf5xChP8kMZo +42VvouZ1YTlm1zEEWiIA/3Xel63KgCwetf0XAUVV7dRC3a/5JKzR9IOjL5XPjhcn +=1VoT -----END PGP SIGNATURE----- diff --git a/gnustep-base/gnustep-make/files/testlibobjc.m b/gnustep-base/gnustep-make/files/testlibobjc.m new file mode 100644 index 000000000000..225113c24d7e --- /dev/null +++ b/gnustep-base/gnustep-make/files/testlibobjc.m @@ -0,0 +1,10 @@ +/** + * Use "gcc -Werror -Wl,-l:libobjc.so.x testlibobjc.m -o /dev/null" + * #import generates a warning with non-objc + */ +#import <stdio.h> + +int main( int argc, const char *argv[] ) { + printf("Linker test\n"); + return 0; +} diff --git a/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild index a770e445c535..da59154975f0 100644 --- a/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild +++ b/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild @@ -1,19 +1,18 @@ # Copyright 1999-2012 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.2.ebuild,v 1.3 2012/02/09 21:34:34 voyageur Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild,v 1.4 2012/02/20 20:05:38 voyageur Exp $ EAPI=4 - -inherit gnustep-base eutils prefix +inherit gnustep-base eutils 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" -SLOT="0" -LICENSE="GPL-2" DEPEND="${GNUSTEP_CORE_DEPEND} >=sys-devel/make-3.75 @@ -23,18 +22,36 @@ DEPEND="${GNUSTEP_CORE_DEPEND} RDEPEND="${DEPEND}" pkg_setup() { + # Determine libobjc.so to use + if use libobjc2; then + libobjc_version=libobjc.so.4 + else + # Test new libobjc.so.3 + $(tc-getCC) -Werror -Wl,-l:libobjc.so.3 "${FILESDIR}"/testlibobjc.m -o /dev/null 2> /dev/null \ + && libobjc_version=libobjc.so.3 \ + || libobjc_version=libobjc.so.2 + fi + + # For existing installations, determine if we will use another libobjc.so if has_version gnustep-base/gnustep-make; then - 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/gnustep-make-2.6.2 ) ; then - ewarn "TOGGLED libobjc2 USE-FLAG WARNING:" - ewarn "You changed the libojbc2 use-flag" + 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() { @@ -46,19 +63,11 @@ src_prepare() { } src_configure() { - local libobjc_version - if use libobjc2; then - export CC=clang - libobjc_version=4 - else - libobjc_version=2 - fi - #--enable-objc-nonfragile-abi: only working in clang for now econf \ --with-layout=fhs-system \ --with-config-file="${EPREFIX}"/etc/GNUstep/GNUstep.conf \ - --with-objc-lib-flag=-l:libobjc.so.${libobjc_version} \ + --with-objc-lib-flag=-l:${libobjc_version} \ $(use_enable libobjc2 objc-nonfragile-abi) \ $(use_enable native-exceptions native-objc-exceptions) } |