1 |
uberlord 07/09/12 00:10:30 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: freebsd-lib-6.2-r2.ebuild |
5 |
Log: |
6 |
Backport dl_iterate_phdr from FreeBSD-7 so that future gcc's dont pull in libgcc_s.so.1 |
7 |
(Portage version: 2.1.3.7) |
8 |
|
9 |
Revision Changes Path |
10 |
1.54 sys-freebsd/freebsd-lib/ChangeLog |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.54&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.54&content-type=text/plain |
14 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?r1=1.53&r2=1.54 |
15 |
|
16 |
Index: ChangeLog |
17 |
=================================================================== |
18 |
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v |
19 |
retrieving revision 1.53 |
20 |
retrieving revision 1.54 |
21 |
diff -u -r1.53 -r1.54 |
22 |
--- ChangeLog 6 Aug 2007 14:27:31 -0000 1.53 |
23 |
+++ ChangeLog 12 Sep 2007 00:10:29 -0000 1.54 |
24 |
@@ -1,6 +1,13 @@ |
25 |
# ChangeLog for sys-freebsd/freebsd-lib |
26 |
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 |
27 |
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.53 2007/08/06 14:27:31 uberlord Exp $ |
28 |
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.54 2007/09/12 00:10:29 uberlord Exp $ |
29 |
+ |
30 |
+*freebsd-lib-6.2-r2 (12 Sep 2007) |
31 |
+ |
32 |
+ 12 Sep 2007; Roy Marples <uberlord@g.o> |
33 |
+ +files/freebsd-lib-6.2-dl_iterate_phdr.patch, +freebsd-lib-6.2-r2.ebuild: |
34 |
+ Backport dl_iterate_phdr from FreeBSD-7 so that future gcc's don't pull in |
35 |
+ libgcc_s.so.1 |
36 |
|
37 |
06 Aug 2007; Roy Marples <uberlord@g.o> |
38 |
+files/freebsd-lib-6.2-bluetooth.patch, freebsd-lib-6.2-r1.ebuild: |
39 |
|
40 |
|
41 |
|
42 |
1.1 sys-freebsd/freebsd-lib/freebsd-lib-6.2-r2.ebuild |
43 |
|
44 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-6.2-r2.ebuild?rev=1.1&view=markup |
45 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-6.2-r2.ebuild?rev=1.1&content-type=text/plain |
46 |
|
47 |
Index: freebsd-lib-6.2-r2.ebuild |
48 |
=================================================================== |
49 |
# Copyright 1999-2007 Gentoo Foundation |
50 |
# Distributed under the terms of the GNU General Public License v2 |
51 |
# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-6.2-r2.ebuild,v 1.1 2007/09/12 00:10:29 uberlord Exp $ |
52 |
|
53 |
inherit bsdmk freebsd flag-o-matic toolchain-funcs |
54 |
|
55 |
DESCRIPTION="FreeBSD's base system libraries" |
56 |
SLOT="6.0" |
57 |
KEYWORDS="~sparc-fbsd ~x86-fbsd" |
58 |
|
59 |
IUSE="atm bluetooth ssl ipv6 kerberos nis gpib build bootstrap" |
60 |
|
61 |
# Crypto is needed to have an internal OpenSSL header |
62 |
# sys is needed for libalias, probably we can just extract that instead of |
63 |
# extracting the whole tarball |
64 |
SRC_URI="mirror://gentoo/${LIB}.tar.bz2 |
65 |
mirror://gentoo/${CONTRIB}.tar.bz2 |
66 |
mirror://gentoo/${CRYPTO}.tar.bz2 |
67 |
mirror://gentoo/${LIBEXEC}.tar.bz2 |
68 |
mirror://gentoo/${ETC}.tar.bz2 |
69 |
mirror://gentoo/${INCLUDE}.tar.bz2 |
70 |
nis? ( mirror://gentoo/${USBIN}.tar.bz2 ) |
71 |
build? ( |
72 |
mirror://gentoo/${SYS}.tar.bz2 )" |
73 |
|
74 |
if [[ ${CATEGORY/cross-} == ${CATEGORY} ]]; then |
75 |
RDEPEND="ssl? ( dev-libs/openssl ) |
76 |
kerberos? ( virtual/krb5 ) |
77 |
!sys-freebsd/freebsd-headers" |
78 |
DEPEND="${RDEPEND} |
79 |
>=sys-devel/flex-2.5.31-r2 |
80 |
=sys-freebsd/freebsd-sources-${RV}* |
81 |
!bootstrap? ( app-arch/bzip2 )" |
82 |
|
83 |
PROVIDE="virtual/libc |
84 |
virtual/os-headers" |
85 |
|
86 |
else |
87 |
SRC_URI="${SRC_URI} |
88 |
mirror://gentoo/${SYS}.tar.bz2" |
89 |
fi |
90 |
|
91 |
DEPEND="${DEPEND} |
92 |
=sys-freebsd/freebsd-mk-defs-${RV}*" |
93 |
|
94 |
S="${WORKDIR}/lib" |
95 |
|
96 |
export CTARGET=${CTARGET:-${CHOST}} |
97 |
if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != ${CATEGORY} ]]; then |
98 |
export CTARGET=${CATEGORY/cross-} |
99 |
fi |
100 |
|
101 |
pkg_setup() { |
102 |
[[ -c /dev/zero ]] || \ |
103 |
die "You forgot to mount /dev; the compiled libc would break." |
104 |
|
105 |
if ! use ssl && use kerberos; then |
106 |
eerror "If you want kerberos support you need to enable ssl support, too." |
107 |
fi |
108 |
|
109 |
use atm || mymakeopts="${mymakeopts} NO_ATM= " |
110 |
use bluetooth || mymakeopts="${mymakeopts} NO_BLUETOOTH= " |
111 |
use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= " |
112 |
use ipv6 || mymakeopts="${mymakeopts} NO_INET6= " |
113 |
use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= " |
114 |
use nis || mymakeopts="${mymakeopts} NO_NIS= " |
115 |
use gpib || mymakeopts="${mymakeopts} NO_GPIB= " |
116 |
|
117 |
mymakeopts="${mymakeopts} NO_OPENSSH= NO_BIND= NO_SENDMAIL= " |
118 |
|
119 |
if [[ ${CTARGET} != ${CHOST} ]]; then |
120 |
mymakeopts="${mymakeopts} MACHINE=$(tc-arch-kernel ${CTARGET})" |
121 |
mymakeopts="${mymakeopts} MACHINE_ARCH=$(tc-arch-kernel ${CTARGET})" |
122 |
fi |
123 |
} |
124 |
|
125 |
PATCHES="${FILESDIR}/${PN}-bsdxml.patch |
126 |
${FILESDIR}/${PN}-6.0-pmc.patch |
127 |
${FILESDIR}/${PN}-6.0-gccfloat.patch |
128 |
${FILESDIR}/${PN}-6.0-flex-2.5.31.patch |
129 |
${FILESDIR}/${PN}-6.0-binutils-asm.patch |
130 |
${FILESDIR}/${PN}-6.0-ssp.patch |
131 |
${FILESDIR}/${PN}-6.1-csu.patch |
132 |
${FILESDIR}/${PN}-6.2-bluetooth.patch |
133 |
${FILESDIR}/${PN}-6.2-gcc41.patch |
134 |
${FILESDIR}/${PN}-6.2-dl_iterate_phdr.patch |
135 |
${FILESDIR}/${PN}-6.2-sparc64.patch" |
136 |
|
137 |
# Here we disable and remove source which we don't need or want |
138 |
# In order: |
139 |
# - ncurses stuff |
140 |
# - archiving libraries (have their own ebuild) |
141 |
# - sendmail libraries (they are installed by sendmail) |
142 |
# - SNMP library and dependency (have their own ebuilds) |
143 |
# |
144 |
# The rest are libraries we already have somewhere else because |
145 |
# they are contribution. |
146 |
# Note: libtelnet is an internal lib used by telnet and telnetd programs |
147 |
# as it's not used in freebsd-lib package itself, it's pointless building |
148 |
# it here. |
149 |
REMOVE_SUBDIRS="libncurses libform libmenu libpanel libedit \ |
150 |
libz libbz2 libarchive \ |
151 |
libsm libsmdb libsmutil \ |
152 |
libbegemot libbsnmp \ |
153 |
libpam libpcap bind libwrap libmagic \ |
154 |
libcom_err libtelnet" |
155 |
|
156 |
src_unpack() { |
157 |
freebsd_src_unpack |
158 |
|
159 |
sed -i -e 's:-o/dev/stdout:-t:' "${S}/libc/net/Makefile.inc" |
160 |
sed -i -e 's:histedit.h::' "${WORKDIR}/include/Makefile" |
161 |
|
162 |
# Upstream Display Managers default to using VT7 |
163 |
# We should make FreeBSD allow this by default |
164 |
local x= |
165 |
for x in "${WORKDIR}"/etc/etc.*/ttys ; do |
166 |
sed -i \ |
167 |
-e '/ttyv5[[:space:]]/ a\ |
168 |
# Display Managers default to VT7.\ |
169 |
# If you use the xdm init script, keep ttyv6 commented out\ |
170 |
# unless you force a different VT for the DM being used.' \ |
171 |
-e '/^ttyv[678][[:space:]]/ s/^/# /' "${x}" \ |
172 |
|| die "Failed to sed ${x}" |
173 |
|
174 |
done |
175 |
|
176 |
# Apply this patch for Gentoo/FreeBSD/SPARC64 to build correctly |
177 |
# from catalyst, then don't do anything else |
178 |
if use build; then |
179 |
cd "${WORKDIR}" |
180 |
epatch "${FILESDIR}/freebsd-sources-6.2-sparc64.patch" |
181 |
return 0 |
182 |
fi |
183 |
|
184 |
if [[ ${CTARGET} == ${CHOST} ]]; then |
185 |
ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys" |
186 |
else |
187 |
sed -i -e "s:/usr/include:/usr/${CTARGET}/usr/include:g" \ |
188 |
"${S}/libc/"{yp,rpc}"/Makefile.inc" |
189 |
fi |
190 |
|
191 |
[[ -n $(install --version 2> /dev/null | grep GNU) ]] && \ |
192 |
sed -i -e 's:${INSTALL} -C:${INSTALL}:' "${WORKDIR}/include/Makefile" |
193 |
|
194 |
# Let arch-specific includes to be found |
195 |
local machine |
196 |
machine=$(tc-arch-kernel ${CTARGET}) |
197 |
ln -s "${WORKDIR}/sys/${machine}/include" "${WORKDIR}/include/machine" |
198 |
|
199 |
use bootstrap && dummy_mk libstand |
200 |
} |
201 |
|
202 |
src_compile() { |
203 |
cd "${WORKDIR}/include" |
204 |
$(freebsd_get_bmake) CC=$(tc-getCC) || die "make include failed" |
205 |
|
206 |
use crosscompile_opts_headers-only && return 0 |
207 |
|
208 |
# Don't use ssp until properly fixed |
209 |
append-flags $(test-flags -fno-stack-protector -fno-stack-protector-all) |
210 |
|
211 |
strip-flags |
212 |
if [[ ${CTARGET} != ${CHOST} ]]; then |
213 |
export YACC='yacc -by' |
214 |
CHOST=${CTARGET} tc-export CC LD CXX |
215 |
|
216 |
local machine |
217 |
machine=$(tc-arch-kernel ${CTARGET}) |
218 |
|
219 |
local csudir |
220 |
if [[ -d "${S}/csu/${machine}-elf" ]]; then |
221 |
csudir="${S}/csu/${machine}-elf" |
222 |
else |
223 |
csudir="${S}/csu/${machine}" |
224 |
fi |
225 |
cd "${csudir}" |
226 |
$(freebsd_get_bmake) ${mymakeopts} || die "make csu failed" |
227 |
|
228 |
append-flags "-isystem /usr/${CTARGET}/usr/include" |
229 |
append-flags "-B ${csudir}" |
230 |
append-ldflags "-B ${csudir}" |
231 |
cd "${S}/libc" |
232 |
$(freebsd_get_bmake) ${mymakeopts} || die "make libc failed" |
233 |
|
234 |
append-flags "-isystem ${WORKDIR}/lib/msun/${machine/i386/i387}" |
235 |
cd "${S}/msun" |
236 |
$(freebsd_get_bmake) ${mymakeopts} || die "make libc failed" |
237 |
else |
238 |
# Forces to use the local copy of headers as they might be outdated in |
239 |
# the system |
240 |
append-flags "-isystem '${WORKDIR}/sys' -isystem '${WORKDIR}/include'" |
241 |
|
242 |
cd "${S}" |
243 |
NOFLAGSTRIP=yes freebsd_src_compile |
244 |
fi |
245 |
} |
246 |
|
247 |
src_install() { |
248 |
cd "${WORKDIR}/include" |
249 |
|
250 |
[[ ${CTARGET} == ${CHOST} ]] \ |
251 |
&& INCLUDEDIR="/usr/include" \ |
252 |
|| INCLUDEDIR="/usr/${CTARGET}/usr/include" |
253 |
|
254 |
einfo "Installing for ${CTARGET} in ${CHOST}.." |
255 |
|
256 |
dodir "${INCLUDEDIR}" |
257 |
$(freebsd_get_bmake) installincludes \ |
258 |
MACHINE=$(tc-arch-kernel) \ |
259 |
DESTDIR="${D}" INCLUDEDIR="${INCLUDEDIR}" || die "Install failed" |
260 |
|
261 |
# Install math.h when crosscompiling, at this point |
262 |
if [[ ${CHOST} != ${CTARGET} ]]; then |
263 |
insinto "/usr/${CTARGET}/usr/include" |
264 |
doins "${S}/msun/src/math.h" |
265 |
fi |
266 |
|
267 |
use crosscompile_opts_headers-only && return 0 |
268 |
|
269 |
if [[ ${CTARGET} != ${CHOST} ]]; then |
270 |
local csudir |
271 |
if [[ -d "${S}/csu/$(tc-arch-kernel ${CTARGET})-elf" ]]; then |
272 |
csudir="${S}/csu/$(tc-arch-kernel ${CTARGET})-elf" |
273 |
else |
274 |
csudir="${S}/csu/$(tc-arch-kernel ${CTARGET})" |
275 |
fi |
276 |
cd "${csudir}" |
277 |
$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install \ |
278 |
FILESDIR="/usr/${CTARGET}/usr/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install csu failed" |
279 |
|
280 |
cd "${S}/libc" |
281 |
$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \ |
282 |
SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install failed" |
283 |
|
284 |
cd "${S}/msun" |
285 |
$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \ |
286 |
INCLUDEDIR="/usr/${CTARGET}/usr/include" \ |
287 |
SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install failed" |
288 |
|
289 |
dosym "usr/include" "/usr/${CTARGET}/sys-include" |
290 |
else |
291 |
cd "${S}" |
292 |
mkinstall || die "Install failed" |
293 |
fi |
294 |
|
295 |
# Don't install the rest of the configuration files if crosscompiling |
296 |
[[ ${CTARGET} != ${CHOST} ]] && return 0 |
297 |
|
298 |
# Compatibility symlinks to run FreeBSD 5.x binaries (ABI is mostly |
299 |
# identical, remove when problems will actually happen) |
300 |
dosym /lib/libc.so.6 /usr/lib/libc.so.5 |
301 |
dosym /lib/libm.so.4 /usr/lib/libm.so.3 |
302 |
|
303 |
# install libstand files |
304 |
dodir /usr/include/libstand |
305 |
insinto /usr/include/libstand |
306 |
doins "${S}"/libstand/*.h |
307 |
|
308 |
cd "${WORKDIR}/etc/" |
309 |
insinto /etc |
310 |
doins auth.conf nls.alias mac.conf netconfig |
311 |
|
312 |
# Install ttys file |
313 |
doins "etc.$(tc-arch-kernel)"/* |
314 |
|
315 |
# Install a default libmap.conf that uses libthr by default |
316 |
doins "${FILESDIR}"/libmap.conf |
317 |
|
318 |
dodir /etc/sandbox.d |
319 |
cat - > "${D}"/etc/sandbox.d/00freebsd <<EOF |
320 |
# /dev/crypto is used mostly by OpenSSL on *BSD platforms |
321 |
# leave it available as packages might use OpenSSL commands |
322 |
# during compile or install phase. |
323 |
SANDBOX_PREDICT="/dev/crypto" |
324 |
EOF |
325 |
} |
326 |
|
327 |
|
328 |
|
329 |
-- |
330 |
gentoo-commits@g.o mailing list |