summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/nss/ChangeLog8
-rw-r--r--dev-libs/nss/files/nss-3.12.4-gentoo-fixups-1.diff245
-rw-r--r--dev-libs/nss/nss-3.12.4.ebuild112
3 files changed, 364 insertions, 1 deletions
diff --git a/dev-libs/nss/ChangeLog b/dev-libs/nss/ChangeLog
index c32e2519c50d..a2054e43d6e2 100644
--- a/dev-libs/nss/ChangeLog
+++ b/dev-libs/nss/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/nss
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.152 2009/09/05 20:39:37 keytoaster Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.153 2009/09/15 03:22:22 anarchy Exp $
+
+*nss-3.12.4 (15 Sep 2009)
+
+ 15 Sep 2009; Jory A. Pratt <anarchy@gentoo.org> +nss-3.12.4.ebuild,
+ +files/nss-3.12.4-gentoo-fixups-1.diff:
+ add nss-3.12.4 revision bump, many many bug fixes
05 Sep 2009; Tobias Heinlein <keytoaster@gentoo.org> nss-3.12.3-r1.ebuild:
amd64 stable wrt bug #280839
diff --git a/dev-libs/nss/files/nss-3.12.4-gentoo-fixups-1.diff b/dev-libs/nss/files/nss-3.12.4-gentoo-fixups-1.diff
new file mode 100644
index 000000000000..b2563592305a
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.12.4-gentoo-fixups-1.diff
@@ -0,0 +1,245 @@
+diff -urN nss-3.12.4-orig/mozilla/security/nss/config/Makefile nss-3.12.4/mozilla/security/nss/config/Makefile
+--- nss-3.12.4-orig/mozilla/security/nss/config/Makefile 1969-12-31 18:00:00.000000000 -0600
++++ nss-3.12.4/mozilla/security/nss/config/Makefile 2009-09-14 21:45:45.619639265 -0500
+@@ -0,0 +1,40 @@
++CORE_DEPTH = ../..
++DEPTH = ../..
++
++include $(CORE_DEPTH)/coreconf/config.mk
++
++NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
++PREFIX = /usr
++
++all: export libs
++
++export:
++ # Create the nss.pc file
++ mkdir -p $(DIST)/lib/pkgconfig
++ sed -e "s,@prefix@,$(PREFIX)," \
++ -e "s,@exec_prefix@,\$${prefix}," \
++ -e "s,@libdir@,\$${prefix}/gentoo/nss," \
++ -e "s,@includedir@,\$${prefix}/include/nss," \
++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++ nss.pc.in > nss.pc
++ chmod 0644 nss.pc
++ ln -sf ../../../../../security/nss/config/nss.pc $(DIST)/lib/pkgconfig
++
++ # Create the nss-config script
++ mkdir -p $(DIST)/bin
++ sed -e "s,@prefix@,$(PREFIX)," \
++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++ nss-config.in > nss-config
++ chmod 0755 nss-config
++ ln -sf ../../../../security/nss/config/nss-config $(DIST)/bin
++
++libs:
++
++dummy: all export libs
++
+diff -urN nss-3.12.4-orig/mozilla/security/nss/config/nss-config.in nss-3.12.4/mozilla/security/nss/config/nss-config.in
+--- nss-3.12.4-orig/mozilla/security/nss/config/nss-config.in 1969-12-31 18:00:00.000000000 -0600
++++ nss-3.12.4/mozilla/security/nss/config/nss-config.in 2009-09-14 21:47:45.190638078 -0500
+@@ -0,0 +1,145 @@
++#!/bin/sh
++
++prefix=@prefix@
++
++major_version=@NSS_MAJOR_VERSION@
++minor_version=@NSS_MINOR_VERSION@
++patch_version=@NSS_PATCH_VERSION@
++
++usage()
++{
++ cat <<EOF
++Usage: nss-config [OPTIONS] [LIBRARIES]
++Options:
++ [--prefix[=DIR]]
++ [--exec-prefix[=DIR]]
++ [--includedir[=DIR]]
++ [--libdir[=DIR]]
++ [--version]
++ [--libs]
++ [--cflags]
++Dynamic Libraries:
++ nss
++ ssl
++ smime
++ nssutil
++EOF
++ exit $1
++}
++
++if test $# -eq 0; then
++ usage 1 1>&2
++fi
++
++lib_ssl=yes
++lib_smime=yes
++lib_nss=yes
++lib_nssutil=yes
++
++while test $# -gt 0; do
++ case "$1" in
++ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++ *) optarg= ;;
++ esac
++
++ case $1 in
++ --prefix=*)
++ prefix=$optarg
++ ;;
++ --prefix)
++ echo_prefix=yes
++ ;;
++ --exec-prefix=*)
++ exec_prefix=$optarg
++ ;;
++ --exec-prefix)
++ echo_exec_prefix=yes
++ ;;
++ --includedir=*)
++ includedir=$optarg
++ ;;
++ --includedir)
++ echo_includedir=yes
++ ;;
++ --libdir=*)
++ libdir=$optarg
++ ;;
++ --libdir)
++ echo_libdir=yes
++ ;;
++ --version)
++ echo ${major_version}.${minor_version}.${patch_version}
++ ;;
++ --cflags)
++ echo_cflags=yes
++ ;;
++ --libs)
++ echo_libs=yes
++ ;;
++ ssl)
++ lib_ssl=yes
++ ;;
++ smime)
++ lib_smime=yes
++ ;;
++ nss)
++ lib_nss=yes
++ ;;
++ nssutil)
++ lib_nssutil=yes
++ ;;
++ *)
++ usage 1 1>&2
++ ;;
++ esac
++ shift
++done
++
++# Set variables that may be dependent upon other variables
++if test -z "$exec_prefix"; then
++ exec_prefix=`pkg-config --variable=exec_prefix nss`
++fi
++if test -z "$includedir"; then
++ includedir=`pkg-config --variable=includedir nss`
++fi
++if test -z "$libdir"; then
++ libdir=`pkg-config --variable=libdir nss`
++fi
++
++if test "$echo_prefix" = "yes"; then
++ echo $prefix
++fi
++
++if test "$echo_exec_prefix" = "yes"; then
++ echo $exec_prefix
++fi
++
++if test "$echo_includedir" = "yes"; then
++ echo $includedir
++fi
++
++if test "$echo_libdir" = "yes"; then
++ echo $libdir
++fi
++
++if test "$echo_cflags" = "yes"; then
++ echo -I$includedir
++fi
++
++if test "$echo_libs" = "yes"; then
++ libdirs="-Wl,-R$libdir -L$libdir"
++ if test -n "$lib_ssl"; then
++ libdirs="$libdirs -lssl${major_version}"
++ fi
++ if test -n "$lib_smime"; then
++ libdirs="$libdirs -lsmime${major_version}"
++ fi
++ if test -n "$lib_nss"; then
++ libdirs="$libdirs -lnss${major_version}"
++ fi
++ if test -n "$lib_nssutil"; then
++ libdirs="$libdirs -lnssutil${major_version}"
++ fi
++ echo $libdirs
++fi
++
+diff -urN nss-3.12.4-orig/mozilla/security/nss/config/nss.pc.in nss-3.12.4/mozilla/security/nss/config/nss.pc.in
+--- nss-3.12.4-orig/mozilla/security/nss/config/nss.pc.in 1969-12-31 18:00:00.000000000 -0600
++++ nss-3.12.4/mozilla/security/nss/config/nss.pc.in 2009-09-14 21:45:45.653637310 -0500
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSS
++Description: Network Security Services
++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
++Requires: nspr >= 4.8
++Libs: -L${libdir} -lssl3 -lsmime3 -lnssutil3 -lnss3 -Wl,-R${libdir}
++Cflags: -I${includedir}
++
+diff -urN nss-3.12.4-orig/mozilla/security/nss/Makefile nss-3.12.4/mozilla/security/nss/Makefile
+--- nss-3.12.4-orig/mozilla/security/nss/Makefile 2008-12-02 17:24:39.000000000 -0600
++++ nss-3.12.4/mozilla/security/nss/Makefile 2009-09-14 21:45:45.678657145 -0500
+@@ -78,7 +78,7 @@
+ # (7) Execute "local" rules. (OPTIONAL). #
+ #######################################################################
+
+-nss_build_all: build_coreconf build_nspr build_dbm all
++nss_build_all: build_coreconf build_dbm all
+
+ nss_clean_all: clobber_coreconf clobber_nspr clobber_dbm clobber
+
+@@ -140,12 +140,6 @@
+ --with-dist-prefix='$(NSPR_PREFIX)' \
+ --with-dist-includedir='$(NSPR_PREFIX)/include'
+
+-build_nspr: $(NSPR_CONFIG_STATUS)
+- cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; $(MAKE)
+-
+-clobber_nspr: $(NSPR_CONFIG_STATUS)
+- cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; $(MAKE) clobber
+-
+ build_dbm:
+ ifndef NSS_DISABLE_DBM
+ cd $(CORE_DEPTH)/dbm ; $(MAKE) export libs
+diff -urN nss-3.12.4-orig/mozilla/security/nss/manifest.mn nss-3.12.4/mozilla/security/nss/manifest.mn
+--- nss-3.12.4-orig/mozilla/security/nss/manifest.mn 2008-04-04 15:36:59.000000000 -0500
++++ nss-3.12.4/mozilla/security/nss/manifest.mn 2009-09-14 21:45:45.703656167 -0500
+@@ -42,6 +42,6 @@
+
+ RELEASE = nss
+
+-DIRS = lib cmd
++DIRS = lib cmd config
+
+
diff --git a/dev-libs/nss/nss-3.12.4.ebuild b/dev-libs/nss/nss-3.12.4.ebuild
new file mode 100644
index 000000000000..e2ae0ed9c7e5
--- /dev/null
+++ b/dev-libs/nss/nss-3.12.4.ebuild
@@ -0,0 +1,112 @@
+# 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.4.ebuild,v 1.1 2009/09/15 03:22:22 anarchy 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.gz"
+#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
+ dev-util/pkgconfig"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+
+ # Custom changes for gentoo
+ epatch "${FILESDIR}"/"${P}"-gentoo-fixups-1.diff
+
+ 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:$(get_libdir):" "${S}"/mozilla/security/nss/config/Makefile
+}
+
+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 BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSPR_INCLUDE_DIR=`pkg-config --cflags-only-I nspr | sed 's/-I//'`
+ export NSPR_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nspr | sed 's/-L//'`
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ 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
+
+ # 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"
+
+ # 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 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
+
+ if use utils; then
+ cd "${S}"/mozilla/security/dist/*/bin/
+ for f in *; do
+ newbin ${f} nss${f}
+ done
+ fi
+}