summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/nss/ChangeLog9
-rw-r--r--dev-libs/nss/files/nss-3.12.6-gentoo-fixup-warnings.patch10
-rw-r--r--dev-libs/nss/nss-3.12.6.ebuild118
3 files changed, 136 insertions, 1 deletions
diff --git a/dev-libs/nss/ChangeLog b/dev-libs/nss/ChangeLog
index 728bb86e90d0..d5923fa0bf4e 100644
--- a/dev-libs/nss/ChangeLog
+++ b/dev-libs/nss/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-libs/nss
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.172 2010/02/12 14:04:57 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.173 2010/03/24 22:31:07 nirbheek Exp $
+
+*nss-3.12.6 (24 Mar 2010)
+
+ 24 Mar 2010; Nirbheek Chauhan <nirbheek@gentoo.org> +nss-3.12.6.ebuild,
+ +files/nss-3.12.6-gentoo-fixup-warnings.patch:
+ Bump to 3.12.6; no upstream release, so we have our own little tarball
+ extracted from the firefox-3.6.2 sources.
12 Feb 2010; <anarchy@gentoo.org> nss-3.12.5-r1.ebuild:
Fix bugs #304687, #304571
diff --git a/dev-libs/nss/files/nss-3.12.6-gentoo-fixup-warnings.patch b/dev-libs/nss/files/nss-3.12.6-gentoo-fixup-warnings.patch
new file mode 100644
index 000000000000..bf2a86583080
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.12.6-gentoo-fixup-warnings.patch
@@ -0,0 +1,10 @@
+--- nss-3.12.6b/mozilla/security/coreconf/Linux.mk-old 2010-02-11 12:43:26.000000000 -0600
++++ nss-3.12.6b/mozilla/security/coreconf/Linux.mk 2010-02-14 09:13:53.962449644 -0600
+@@ -120,6 +120,7 @@
+ ifdef MOZ_DEBUG_SYMBOLS
+ OPTIMIZER += -gstabs+
+ endif
++OPTIMIZER += -fno-strict-aliasing
+ endif
+
+
diff --git a/dev-libs/nss/nss-3.12.6.ebuild b/dev-libs/nss/nss-3.12.6.ebuild
new file mode 100644
index 000000000000..fbb526cac4a3
--- /dev/null
+++ b/dev-libs/nss/nss-3.12.6.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.12.6.ebuild,v 1.1 2010/03/24 22:31:07 nirbheek Exp $
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+NSPR_VER="4.8.3-r2"
+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.gz"
+#SRC_URI="http://dev.gentoo.org/~armin76/dist/${P}.tar.bz2
+SRC_URI="mirror://gentoo/${P}-gentoo.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-util/pkgconfig"
+RDEPEND=">=dev-libs/nspr-${NSPR_VER}
+ >=dev-db/sqlite-3.5"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+
+ # Custom changes for gentoo
+ epatch "${FILESDIR}/${PN}-3.12.5-gentoo-fixups.diff"
+ epatch "${FILESDIR}/${PN}-3.12.6-gentoo-fixup-warnings.patch"
+
+ cd "${S}"/mozilla/security/coreconf
+
+ # 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
+
+ # Ensure we stay multilib aware
+ sed -i -e "s:gentoo\/nss:$(get_libdir):" "${S}"/mozilla/security/nss/config/Makefile || die "Failed to fix for multilib"
+}
+
+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 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
+ export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
+ export NSPR_INCLUDE_DIR=`pkg-config --cflags-only-I nspr | sed 's/-I//'`
+ export NSPR_LIB_DIR=`pkg-config --libs-only-L nspr | sed 's/-L//'`
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export NSS_ENABLE_ECC=1
+ export XCFLAGS="${CFLAGS}"
+ export FREEBL_NO_DEPEND=1
+
+ cd "${S}"/mozilla/security/coreconf
+ emake -j1 CC="$(tc-getCC)" || die "coreconf make failed"
+ cd "${S}"/mozilla/security/dbm
+ emake -j1 CC="$(tc-getCC)" || die "dbm make failed"
+ cd "${S}"/mozilla/security/nss
+ emake -j1 CC="$(tc-getCC)" || die "nss make failed"
+}
+
+src_install () {
+ MINOR_VERSION=12
+ cd "${S}"/mozilla/security/dist
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*.so "${D}"/usr/$(get_libdir) || die "copying shared libs failed"
+ cp -L */lib/*.chk "${D}"/usr/$(get_libdir) || die "copying chk files failed"
+ cp -L */lib/libcrmf.a "${D}"/usr/$(get_libdir) || die "copying libs failed"
+
+ # Install nspr-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${D}"/usr/bin
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${D}"/usr/$(get_libdir)/pkgconfig
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.h
+ cd "${D}"/usr/$(get_libdir)
+ for file in *.so; do
+ mv ${file} ${file}.${MINOR_VERSION}
+ ln -s ${file}.${MINOR_VERSION} ${file}
+ done
+
+ if use utils; then
+ local nssutils
+ nssutils="certutil crlutil cmsutil modutil pk12util signtool signver ssltap addbuiltin"
+
+ cd "${S}"/mozilla/security/dist/*/bin/
+ for f in $nssutils; do
+ dobin ${f}
+ done
+ fi
+}
+
+pkg_postinst() {
+ elog "We have reverted back to using upstreams soname."
+ elog "Please run revdep-rebuild --library libnss3.so.12 , this"
+ elog "will correct most issues. If you find a binary that does"
+ elog "not run please re-emerge package to ensure it properly"
+ elog " links after upgrade."
+ elog
+}