Gentoo Archives: gentoo-commits

From: "Bernard Cafarelli (voyageur)" <voyageur@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in gnustep-base/gnustep-make: ChangeLog gnustep-make-2.6.2.ebuild gnustep-make-2.6.2-r2.ebuild gnustep-make-2.6.1-r1.ebuild gnustep-make-2.6.2-r1.ebuild gnustep-make-2.6.0.ebuild
Date: Tue, 03 Jul 2012 18:23:42
Message-Id: 20120703182312.858EE2004B@flycatcher.gentoo.org
1 voyageur 12/07/03 18:23:12
2
3 Modified: ChangeLog gnustep-make-2.6.2.ebuild
4 Added: gnustep-make-2.6.2-r2.ebuild
5 Removed: gnustep-make-2.6.1-r1.ebuild
6 gnustep-make-2.6.2-r1.ebuild
7 gnustep-make-2.6.0.ebuild
8 Log:
9 Support GCC 4.7 (checking more libobjc.so versions, blocking libobjc2 when disabled). Bump for ~arch version. Should fix bug #421779
10
11 (Portage version: 2.2.0_alpha115/cvs/Linux x86_64)
12
13 Revision Changes Path
14 1.112 gnustep-base/gnustep-make/ChangeLog
15
16 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/ChangeLog?rev=1.112&view=markup
17 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/ChangeLog?rev=1.112&content-type=text/plain
18 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/ChangeLog?r1=1.111&r2=1.112
19
20 Index: ChangeLog
21 ===================================================================
22 RCS file: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v
23 retrieving revision 1.111
24 retrieving revision 1.112
25 diff -u -r1.111 -r1.112
26 --- ChangeLog 16 Jun 2012 09:31:25 -0000 1.111
27 +++ ChangeLog 3 Jul 2012 18:23:12 -0000 1.112
28 @@ -1,6 +1,15 @@
29 # ChangeLog for gnustep-base/gnustep-make
30 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
31 -# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v 1.111 2012/06/16 09:31:25 xarthisius Exp $
32 +# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/ChangeLog,v 1.112 2012/07/03 18:23:12 voyageur Exp $
33 +
34 +*gnustep-make-2.6.2-r2 (03 Jul 2012)
35 +
36 + 03 Jul 2012; Bernard Cafarelli <voyageur@g.o>
37 + -gnustep-make-2.6.0.ebuild, -gnustep-make-2.6.1-r1.ebuild,
38 + gnustep-make-2.6.2.ebuild, -gnustep-make-2.6.2-r1.ebuild,
39 + +gnustep-make-2.6.2-r2.ebuild:
40 + Support GCC 4.7 (checking more libobjc.so versions, blocking libobjc2 when
41 + disabled). Bump for ~arch version. Should fix bug #421779
42
43 16 Jun 2012; Kacper Kowalik <xarthisius@g.o> gnustep-make-2.6.2.ebuild:
44 ppc64 stable wrt #410601
45
46
47
48 1.10 gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild
49
50 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild?rev=1.10&view=markup
51 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild?rev=1.10&content-type=text/plain
52 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild?r1=1.9&r2=1.10
53
54 Index: gnustep-make-2.6.2.ebuild
55 ===================================================================
56 RCS file: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild,v
57 retrieving revision 1.9
58 retrieving revision 1.10
59 diff -u -r1.9 -r1.10
60 --- gnustep-make-2.6.2.ebuild 16 Jun 2012 09:31:25 -0000 1.9
61 +++ gnustep-make-2.6.2.ebuild 3 Jul 2012 18:23:12 -0000 1.10
62 @@ -1,6 +1,6 @@
63 # Copyright 1999-2012 Gentoo Foundation
64 # Distributed under the terms of the GNU General Public License v2
65 -# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild,v 1.9 2012/06/16 09:31:25 xarthisius Exp $
66 +# $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2.ebuild,v 1.10 2012/07/03 18:23:12 voyageur Exp $
67
68 EAPI=4
69 inherit gnustep-base eutils prefix toolchain-funcs
70 @@ -16,7 +16,8 @@
71
72 DEPEND="${GNUSTEP_CORE_DEPEND}
73 >=sys-devel/make-3.75
74 - >=sys-devel/gcc-3.3[objc]"
75 + >=sys-devel/gcc-3.3[objc]
76 + !!gnustep-base/libobjc2"
77 RDEPEND="${DEPEND}"
78
79 pkg_setup() {
80 @@ -24,10 +25,20 @@
81 if use libobjc2; then
82 libobjc_version=libobjc.so.4
83 else
84 - # Test new libobjc.so.3
85 - $(tc-getCC) -Werror -Wl,-l:libobjc.so.3 "${FILESDIR}"/testlibobjc.m -o /dev/null 2> /dev/null \
86 - && libobjc_version=libobjc.so.3 \
87 - || libobjc_version=libobjc.so.2
88 + # Find version in active gcc
89 + for ver in {2..5};
90 + do
91 + if $(tc-getCC) -Werror -Wl,-l:libobjc.so.${ver} \
92 + "${FILESDIR}"/testlibobjc.m -o /dev/null 2> /dev/null;
93 + then
94 + libobjc_version=libobjc.so.${ver}
95 + fi
96 + done
97 + fi
98 +
99 + # Stop if we could not get libobjc.so
100 + if [[ -z ${libobjc_version} ]]; then
101 + die "Could not find Objective-C runtime"
102 fi
103
104 # For existing installations, determine if we will use another libobjc.so
105
106
107
108 1.1 gnustep-base/gnustep-make/gnustep-make-2.6.2-r2.ebuild
109
110 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2-r2.ebuild?rev=1.1&view=markup
111 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2-r2.ebuild?rev=1.1&content-type=text/plain
112
113 Index: gnustep-make-2.6.2-r2.ebuild
114 ===================================================================
115 # Copyright 1999-2012 Gentoo Foundation
116 # Distributed under the terms of the GNU General Public License v2
117 # $Header: /var/cvsroot/gentoo-x86/gnustep-base/gnustep-make/gnustep-make-2.6.2-r2.ebuild,v 1.1 2012/07/03 18:23:12 voyageur Exp $
118
119 EAPI=4
120 inherit gnustep-base eutils prefix toolchain-funcs
121
122 DESCRIPTION="GNUstep Makefile Package"
123 HOMEPAGE="http://www.gnustep.org"
124 SRC_URI="ftp://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz"
125
126 LICENSE="GPL-2"
127 SLOT="0"
128 KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
129 IUSE="libobjc2 native-exceptions"
130
131 DEPEND="${GNUSTEP_CORE_DEPEND}
132 >=sys-devel/make-3.75
133 libobjc2? ( gnustep-base/libobjc2
134 >=sys-devel/clang-2.9 )
135 !libobjc2? ( >=sys-devel/gcc-3.3[objc]
136 !!gnustep-base/libobjc2 )"
137 RDEPEND="${DEPEND}"
138
139 pkg_setup() {
140 # Determine libobjc.so to use
141 if use libobjc2; then
142 libobjc_version=libobjc.so.4
143 else
144 # Find version in active gcc
145 for ver in {2..5};
146 do
147 if $(tc-getCC) -Werror -Wl,-l:libobjc.so.${ver} \
148 "${FILESDIR}"/testlibobjc.m -o /dev/null 2> /dev/null;
149 then
150 libobjc_version=libobjc.so.${ver}
151 fi
152 done
153 fi
154
155 # Stop if we could not get libobjc.so
156 if [[ -z ${libobjc_version} ]]; then
157 die "Could not find Objective-C runtime"
158 fi
159
160 # For existing installations, determine if we will use another libobjc.so
161 if has_version gnustep-base/gnustep-make; then
162 local current_libobjc="$(awk -F: '/^OBJC_LIB_FLAG/ {print $2}' ${EPREFIX}/usr/share/GNUstep/Makefiles/config.make)"
163 # Old installations did not set this explicitely
164 : ${current_libobjc:=libobjc.so.2}
165
166 if [[ ${current_libobjc} != ${libobjc_version} ]]; then
167 ewarn "Warning: changed libobjc.so version!!"
168 ewarn "The libobjc.so version used for gnustep-make has changed"
169 ewarn "(either by the libojbc2 use-flag or a GCC upgrade)"
170 ewarn "You must rebuild all gnustep packages installed."
171 ewarn ""
172 ewarn "To do so, please emerge gnustep-base/gnustep-updater and run:"
173 ewarn "# gnustep-updater -l"
174 fi
175 fi
176
177 if use libobjc2; then
178 export CC=clang
179 fi
180 }
181
182 src_prepare() {
183 # Multilib-strict
184 sed -e "s#/lib#/$(get_libdir)#" -i FilesystemLayouts/fhs-system || die "sed failed"
185 epatch "${FILESDIR}"/${PN}-2.0.1-destdir.patch
186 cp "${FILESDIR}"/gnustep-4.{csh,sh} "${T}"/
187 eprefixify "${T}"/gnustep-4.{csh,sh}
188 }
189
190 src_configure() {
191 #--enable-objc-nonfragile-abi: only working in clang for now
192 econf \
193 --with-layout=fhs-system \
194 --with-config-file="${EPREFIX}"/etc/GNUstep/GNUstep.conf \
195 --with-objc-lib-flag=-l:${libobjc_version} \
196 $(use_enable libobjc2 objc-nonfragile-abi) \
197 $(use_enable native-exceptions native-objc-exceptions)
198 }
199
200 src_compile() {
201 emake
202 # Prepare doc here (needed when no gnustep-make is already installed)
203 if use doc ; then
204 # If a gnustep-1 environment is set
205 unset GNUSTEP_MAKEFILES
206 pushd Documentation &> /dev/null
207 emake all install
208 popd &> /dev/null
209 fi
210 }
211
212 src_install() {
213 # Get GNUSTEP_* variables
214 . ./GNUstep.conf
215
216 local make_eval
217 use debug || make_eval="${make_eval} debug=no"
218 make_eval="${make_eval} verbose=yes"
219
220 emake ${make_eval} DESTDIR="${D}" install
221
222 # Copy the documentation
223 if use doc ; then
224 dodir ${GNUSTEP_SYSTEM_DOC}
225 cp -r Documentation/tmp-installation/System/Library/Documentation/* \
226 "${ED}"${GNUSTEP_SYSTEM_DOC=}
227 fi
228
229 dodoc FAQ README RELEASENOTES
230
231 exeinto /etc/profile.d
232 doexe "${T}"/gnustep-4.sh
233 doexe "${T}"/gnustep-4.csh
234 }
235
236 pkg_postinst() {
237 # Warn about new layout if old GNUstep directory is still here
238 if [ -e /usr/GNUstep/System ]; then
239 ewarn "Old layout directory detected (/usr/GNUstep/System)"
240 ewarn "Gentoo has switched to FHS layout for GNUstep packages"
241 ewarn "You must first update the configuration files from this package,"
242 ewarn "then remerge all packages still installed with the old layout"
243 ewarn "You can use gnustep-base/gnustep-updater for this task"
244 fi
245 }