summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@gentoo.org>2009-06-24 15:56:40 +0000
committerNirbheek Chauhan <nirbheek@gentoo.org>2009-06-24 15:56:40 +0000
commit8b432f29d797788f50987feeb077ab2362eb78f7 (patch)
treea2611cdad1d6b8269262362795c26461306d97bb /dev-libs/nss
parentarm/ia64/sh/sparc/x86 stable (diff)
downloadhistorical-8b432f29d797788f50987feeb077ab2362eb78f7.tar.gz
historical-8b432f29d797788f50987feeb077ab2362eb78f7.tar.bz2
historical-8b432f29d797788f50987feeb077ab2362eb78f7.zip
Fix bug 266343 (executable stack) and all bugs depending on it
Package-Manager: portage-2.2_rc33/cvs/Linux i686
Diffstat (limited to 'dev-libs/nss')
-rw-r--r--dev-libs/nss/ChangeLog10
-rw-r--r--dev-libs/nss/Manifest4
-rw-r--r--dev-libs/nss/files/nss-3.12.3-executable-stacks.patch15
-rw-r--r--dev-libs/nss/nss-3.12.3-r1.ebuild131
4 files changed, 157 insertions, 3 deletions
diff --git a/dev-libs/nss/ChangeLog b/dev-libs/nss/ChangeLog
index 19e4d7d43cab..41b5a30064a5 100644
--- a/dev-libs/nss/ChangeLog
+++ b/dev-libs/nss/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/nss
-# Copyright 2000-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.144 2009/04/15 15:33:49 armin76 Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.145 2009/06/24 15:56:40 nirbheek Exp $
+
+*nss-3.12.3-r1 (24 Jun 2009)
+
+ 24 Jun 2009; <nirbheek@gentoo.org> +nss-3.12.3-r1.ebuild,
+ +files/nss-3.12.3-executable-stacks.patch:
+ Fix bug 266343 (executable stack) and all bugs depending on it
15 Apr 2009; Raúl Porcel <armin76@gentoo.org>
+files/nss-3.12-config.patch:
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index d6bc89fbc27d..75ed5bd5fe94 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -5,6 +5,7 @@ AUX nss-3.11-config.patch 3167 RMD160 e4b57c89a518b54070b884f40ca11224ccc60349 S
AUX nss-3.11.5-config-1.patch 1508 RMD160 2f71b5c38841c2c24cbea6ca0f206b3debfb4942 SHA1 7df5c48fc0ea49fee61e408f8b8c64a9eb01c995 SHA256 400bfe6e75ba628663819b833a04fd0037c575edc075a1e109665fe939670c74
AUX nss-3.12-config-1.patch 1508 RMD160 ea2f4e2f05cc865ef41af0c39e573b8eb8801f42 SHA1 4897595a91f331ce34155e9872ece3518acb1ac8 SHA256 22d72c155d7b6aa8f1dd797959d5ec3b0975cf9a1bf4607e6b0ee2207112c2b7
AUX nss-3.12-config.patch 4192 RMD160 22955dd1a51b285748fff9f854946a461a9b43f2 SHA1 bcd834996c24c86e3af49e2b9c855925f80b055e SHA256 44acd5199ceed4a286b6526cb158db75e704fca34d6d3b2cddaaa99b9af7c926
+AUX nss-3.12.3-executable-stacks.patch 444 RMD160 ec9337fcfa7f666b9d58224a143811338b4afd7b SHA1 57f48fc04cd62789bb8a67d283c52d21eac50e36 SHA256 063958325f02090bd8221fd60b45031720c561cfeab683883ca082c217c9b173
AUX nss-config.in 2238 RMD160 b9dfeeef5319bae20326454a67dc67316dcd04cd SHA1 535ea4869d0f5fdc4f14b723320ef7284c14190a SHA256 57fb0219482981c80d9a72d8a86dfcbe0e776e4e5609fad8965e651f79296fa7
AUX nss-fbsd7.patch 638 RMD160 9c60b07a9f9b9a7482221f09042266c358d6cfcf SHA1 27036a161ff076fc8a9d459458d2a4adc38876ad SHA256 f471f04def6d4f1abd2062b582246a60a33b346576ad6e71c782fcfe317c8cc7
AUX nss-mips64-2.patch 540 RMD160 16c461f453470238922065068dd6530b908bb64f SHA1 27062b98164c946d5116b64a49c7c164b261fdbd SHA256 06ad64812bd49382ff4165bfa452fd697a5ca2c03e8f3ffb9aa1bcfa14499b34
@@ -15,6 +16,7 @@ DIST nss-3.12.2.tar.bz2 3974864 RMD160 eebddb26f26268550d106301464e0f98944a5e04
DIST nss-3.12.3.tar.bz2 4066954 RMD160 b5339eda9dfc87385b2c11e2ca53be249b75ed69 SHA1 eeca14a37629287baa10eb7562a5fb927e9dd171 SHA256 68152f9ad62b49c8860306a6056f5c42f1a66095749e97346a2c3001528075f4
EBUILD nss-3.11.9-r1.ebuild 4249 RMD160 b946376594976c29d73050af8bdb8887aa73b382 SHA1 17482607cc8b98e69ecff4735bbf276601f484ad SHA256 086b85d6e853f8cb058e3111a86f2de31525dad78df70a5e5143dd48cf786098
EBUILD nss-3.12.2.ebuild 4598 RMD160 bfe76dcbb0bbc33aad9462384217cc8a3b0e2402 SHA1 6167d30a4d42d690af15960438e318687ab95f8c SHA256 3362b29bcd69d539dd8a15b46d4681c43d63de07cb628679a002bd317a2cd849
+EBUILD nss-3.12.3-r1.ebuild 4667 RMD160 e14e618d7a5caee3006123283d616019ffd974da SHA1 f2461880b3811103bf7b1a35dbf768f21f16a03a SHA256 0b39e113c90547fdbe45d1a9bc1e8df3e454baf004fbfae460d9c9f58721290a
EBUILD nss-3.12.3.ebuild 4613 RMD160 440ac301ddf48df2e715ea7c59d30b8f9cc658fc SHA1 88c7c9f9c821d9df2ae8ab0497adfa6f3c4b9195 SHA256 7e1430b5c050da8b83aad62209a5fc0a7262676f8adf38f00d8a92123cedb9ce
-MISC ChangeLog 17836 RMD160 20c1adf9963d0b6d7d76b79ba1d0fbc2509e153d SHA1 c2756e087f341bd93d72333741261402696f7e2d SHA256 8c10db03091381a91e705439b9a91d2dd65289b0f5a47774d589c1ad39036fd0
+MISC ChangeLog 18038 RMD160 30af4e5cbec6c80843006f9c4567625ea0fec7f9 SHA1 2d9260e5ac776130678b4969046b4d8fe6746929 SHA256 1615c32478f1fd68370797b053255be57e4eabc1301c22821ce8369f0f95017d
MISC metadata.xml 245 RMD160 f0c9fbd458bca39f235195807582f530797bcd27 SHA1 a2c000437e0149764d8aa0a4e58b8cf106685d83 SHA256 58443b11f9dff75b5d4391f03dbafd90305a0ec8f046f8f0068fb95777c01bd4
diff --git a/dev-libs/nss/files/nss-3.12.3-executable-stacks.patch b/dev-libs/nss/files/nss-3.12.3-executable-stacks.patch
new file mode 100644
index 000000000000..aedbebf7fdad
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.12.3-executable-stacks.patch
@@ -0,0 +1,15 @@
+--- mozilla/security/nss/lib/freebl/intel-aes.s-old 2009-06-21 14:20:10.491641710 -0500
++++ mozilla/security/nss/lib/freebl/intel-aes.s 2009-06-21 14:21:33.846655888 -0500
+@@ -1633,4 +1633,10 @@
+
+ xor %eax, %eax
+ ret
+- .size intel_aes_decrypt_cbc_256, .-intel_aes_decrypt_cbc_256
++ .size intel_aes_decrypt_cbc_256, .-intel_aes_decrypt_cbc_256
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
++
++
+
diff --git a/dev-libs/nss/nss-3.12.3-r1.ebuild b/dev-libs/nss/nss-3.12.3-r1.ebuild
new file mode 100644
index 000000000000..4dc6f0d52ef8
--- /dev/null
+++ b/dev-libs/nss/nss-3.12.3-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $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 $
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+NSPR_VER="4.7.4"
+RTM_NAME="NSS_${PV//./_}_RTM"
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${P}.tar.bz2"
+#SRC_URI="http://dev.gentoo.org/~armin76/dist/${P}.tar.bz2
+# mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="utils"
+
+DEPEND=">=dev-libs/nspr-${NSPR_VER}
+ >=dev-db/sqlite-3.5"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"/mozilla/security/coreconf
+ # hack nspr paths
+ echo 'INCLUDES += -I/usr/include/nspr -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # cope with nspr being in /usr/$(get_libdir)/nspr
+ sed -e 's:$(DIST)/lib:/usr/'"$(get_libdir)"/nspr':' \
+ -i location.mk
+
+ # modify install path
+ sed -e 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-3.12-config.patch
+ epatch "${FILESDIR}"/${PN}-3.12-config-1.patch
+ epatch "${FILESDIR}"/${PN}-mips64-2.patch
+ epatch "${FILESDIR}"/${P}-executable-stacks.patch
+}
+
+src_compile() {
+ strip-flags
+
+ echo > "${T}"/test.c
+ $(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o
+ case $(file "${T}"/test.o) in
+ *64-bit*) export USE_64=1;;
+ *32-bit*) ;;
+ *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+
+ export NSDISTMODE=copy
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+ cd "${S}"/mozilla/security/coreconf
+ emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "coreconf make failed"
+ cd "${S}"/mozilla/security/dbm
+ emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "dbm make failed"
+ cd "${S}"/mozilla/security/nss
+ emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "nss make failed"
+}
+
+src_install () {
+ MINOR_VERSION=12
+ cd "${S}"/mozilla/security/dist
+
+ # put all *.a files in /usr/lib/nss (because some have conflicting names
+ # with existing libraries)
+ dodir /usr/$(get_libdir)/nss
+ cp -L */lib/*.so "${D}"/usr/$(get_libdir)/nss || die "copying shared libs failed"
+ cp -L */lib/*.chk "${D}"/usr/$(get_libdir)/nss || die "copying chk files failed"
+ cp -L */lib/*.a "${D}"/usr/$(get_libdir)/nss || die "copying libs failed"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins private/nss/*.h
+ doins public/nss/*.h
+ cd "${D}"/usr/$(get_libdir)/nss
+ for file in *.so; do
+ mv ${file} ${file}.${MINOR_VERSION}
+ ln -s ${file}.${MINOR_VERSION} ${file}
+ done
+
+ # coping with nss being in a different path. We move up priority to
+ # ensure that nss/nspr are used specifically before searching elsewhere.
+ dodir /etc/env.d
+ echo "LDPATH=/usr/$(get_libdir)/nss" > "${D}"/etc/env.d/08nss
+
+ dodir /usr/bin
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp "${FILESDIR}"/3.12-nss-config.in "${D}"/usr/bin/nss-config
+ cp "${FILESDIR}"/3.12-nss.pc.in "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
+ NSS_VMAJOR=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}'`
+ NSS_VMINOR=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
+ NSS_VPATCH=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`
+
+ sed -e "s,@libdir@,/usr/"$(get_libdir)"/nss,g" \
+ -e "s,@prefix@,/usr,g" \
+ -e "s,@exec_prefix@,\$\{prefix},g" \
+ -e "s,@includedir@,\$\{prefix}/include/nss,g" \
+ -e "s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g" \
+ -e "s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g" \
+ -e "s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g" \
+ -i "${D}"/usr/bin/nss-config
+ chmod 755 "${D}"/usr/bin/nss-config
+
+ sed -e "s,@libdir@,/usr/"$(get_libdir)"/nss,g" \
+ -e "s,@prefix@,/usr,g" \
+ -e "s,@exec_prefix@,\$\{prefix},g" \
+ -e "s,@includedir@,\$\{prefix}/include/nss," \
+ -e "s,@NSPR_VERSION@,`nspr-config --version`,g" \
+ -e "s,@NSS_VERSION@,$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH,g" \
+ -i "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
+ chmod 644 "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
+
+ if use utils; then
+ cd "${S}"/mozilla/security/dist/*/bin/
+ for f in *; do
+ newbin ${f} nss${f}
+ done
+ fi
+}