Gentoo Archives: gentoo-commits

From: "Nirbheek Chauhan (nirbheek)" <nirbheek@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/nss: ChangeLog nss-3.12.3-r1.ebuild
Date: Wed, 24 Jun 2009 15:56:42
Message-Id: E1MJUq0-0008Kj-NG@stork.gentoo.org
1 nirbheek 09/06/24 15:56:40
2
3 Modified: ChangeLog
4 Added: nss-3.12.3-r1.ebuild
5 Log:
6 Fix bug 266343 (executable stack) and all bugs depending on it
7 (Portage version: 2.2_rc33/cvs/Linux i686)
8
9 Revision Changes Path
10 1.145 dev-libs/nss/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/nss/ChangeLog?rev=1.145&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/nss/ChangeLog?rev=1.145&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/nss/ChangeLog?r1=1.144&r2=1.145
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v
19 retrieving revision 1.144
20 retrieving revision 1.145
21 diff -u -r1.144 -r1.145
22 --- ChangeLog 15 Apr 2009 15:33:49 -0000 1.144
23 +++ ChangeLog 24 Jun 2009 15:56:40 -0000 1.145
24 @@ -1,6 +1,12 @@
25 # ChangeLog for dev-libs/nss
26 -# Copyright 2000-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.144 2009/04/15 15:33:49 armin76 Exp $
28 +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
29 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.145 2009/06/24 15:56:40 nirbheek Exp $
30 +
31 +*nss-3.12.3-r1 (24 Jun 2009)
32 +
33 + 24 Jun 2009; <nirbheek@g.o> +nss-3.12.3-r1.ebuild,
34 + +files/nss-3.12.3-executable-stacks.patch:
35 + Fix bug 266343 (executable stack) and all bugs depending on it
36
37 15 Apr 2009; Raúl Porcel <armin76@g.o>
38 +files/nss-3.12-config.patch:
39
40
41
42 1.1 dev-libs/nss/nss-3.12.3-r1.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/nss/nss-3.12.3-r1.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/nss/nss-3.12.3-r1.ebuild?rev=1.1&content-type=text/plain
46
47 Index: nss-3.12.3-r1.ebuild
48 ===================================================================
49 # Copyright 1999-2009 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.12.3-r1.ebuild,v 1.1 2009/06/24 15:56:40 nirbheek Exp $
52
53 inherit eutils flag-o-matic multilib toolchain-funcs
54
55 NSPR_VER="4.7.4"
56 RTM_NAME="NSS_${PV//./_}_RTM"
57 DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
58 HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
59 SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${P}.tar.bz2"
60 #SRC_URI="http://dev.gentoo.org/~armin76/dist/${P}.tar.bz2
61 # mirror://gentoo/${P}.tar.bz2"
62
63 LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
64 SLOT="0"
65 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
66 IUSE="utils"
67
68 DEPEND=">=dev-libs/nspr-${NSPR_VER}
69 >=dev-db/sqlite-3.5"
70 RDEPEND="${DEPEND}"
71
72 src_unpack() {
73 unpack ${A}
74
75 cd "${S}"/mozilla/security/coreconf
76 # hack nspr paths
77 echo 'INCLUDES += -I/usr/include/nspr -I$(DIST)/include/dbm' \
78 >> headers.mk || die "failed to append include"
79
80 # cope with nspr being in /usr/$(get_libdir)/nspr
81 sed -e 's:$(DIST)/lib:/usr/'"$(get_libdir)"/nspr':' \
82 -i location.mk
83
84 # modify install path
85 sed -e 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
86 -i source.mk
87
88 # Respect LDFLAGS
89 sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
90
91 cd "${S}"
92 epatch "${FILESDIR}"/${PN}-3.12-config.patch
93 epatch "${FILESDIR}"/${PN}-3.12-config-1.patch
94 epatch "${FILESDIR}"/${PN}-mips64-2.patch
95 epatch "${FILESDIR}"/${P}-executable-stacks.patch
96 }
97
98 src_compile() {
99 strip-flags
100
101 echo > "${T}"/test.c
102 $(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o
103 case $(file "${T}"/test.o) in
104 *64-bit*) export USE_64=1;;
105 *32-bit*) ;;
106 *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
107 esac
108
109 export NSDISTMODE=copy
110 export NSS_USE_SYSTEM_SQLITE=1
111 export NSS_ENABLE_ECC=1
112 cd "${S}"/mozilla/security/coreconf
113 emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "coreconf make failed"
114 cd "${S}"/mozilla/security/dbm
115 emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "dbm make failed"
116 cd "${S}"/mozilla/security/nss
117 emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "nss make failed"
118 }
119
120 src_install () {
121 MINOR_VERSION=12
122 cd "${S}"/mozilla/security/dist
123
124 # put all *.a files in /usr/lib/nss (because some have conflicting names
125 # with existing libraries)
126 dodir /usr/$(get_libdir)/nss
127 cp -L */lib/*.so "${D}"/usr/$(get_libdir)/nss || die "copying shared libs failed"
128 cp -L */lib/*.chk "${D}"/usr/$(get_libdir)/nss || die "copying chk files failed"
129 cp -L */lib/*.a "${D}"/usr/$(get_libdir)/nss || die "copying libs failed"
130
131 # all the include files
132 insinto /usr/include/nss
133 doins private/nss/*.h
134 doins public/nss/*.h
135 cd "${D}"/usr/$(get_libdir)/nss
136 for file in *.so; do
137 mv ${file} ${file}.${MINOR_VERSION}
138 ln -s ${file}.${MINOR_VERSION} ${file}
139 done
140
141 # coping with nss being in a different path. We move up priority to
142 # ensure that nss/nspr are used specifically before searching elsewhere.
143 dodir /etc/env.d
144 echo "LDPATH=/usr/$(get_libdir)/nss" > "${D}"/etc/env.d/08nss
145
146 dodir /usr/bin
147 dodir /usr/$(get_libdir)/pkgconfig
148 cp "${FILESDIR}"/3.12-nss-config.in "${D}"/usr/bin/nss-config
149 cp "${FILESDIR}"/3.12-nss.pc.in "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
150 NSS_VMAJOR=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}'`
151 NSS_VMINOR=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
152 NSS_VPATCH=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`
153
154 sed -e "s,@libdir@,/usr/"$(get_libdir)"/nss,g" \
155 -e "s,@prefix@,/usr,g" \
156 -e "s,@exec_prefix@,\$\{prefix},g" \
157 -e "s,@includedir@,\$\{prefix}/include/nss,g" \
158 -e "s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g" \
159 -e "s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g" \
160 -e "s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g" \
161 -i "${D}"/usr/bin/nss-config
162 chmod 755 "${D}"/usr/bin/nss-config
163
164 sed -e "s,@libdir@,/usr/"$(get_libdir)"/nss,g" \
165 -e "s,@prefix@,/usr,g" \
166 -e "s,@exec_prefix@,\$\{prefix},g" \
167 -e "s,@includedir@,\$\{prefix}/include/nss," \
168 -e "s,@NSPR_VERSION@,`nspr-config --version`,g" \
169 -e "s,@NSS_VERSION@,$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH,g" \
170 -i "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
171 chmod 644 "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
172
173 if use utils; then
174 cd "${S}"/mozilla/security/dist/*/bin/
175 for f in *; do
176 newbin ${f} nss${f}
177 done
178 fi
179 }