nss: added recipe for version 3.21.

This commit is contained in:
Jerome Duval
2015-11-24 19:13:33 +00:00
parent 65c6f1336d
commit d101d8d24e
2 changed files with 331 additions and 0 deletions

View File

@@ -0,0 +1,171 @@
SUMMARY="Mozilla's library that implements PKI support"
DESCRIPTION="Network Security Services (NSS) is a set of libraries designed \
to support cross-platform development of security-enabled client and server \
applications. Applications built with NSS can support SSL v2 and v3, TLS, \
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and \
other security standards."
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
COPYRIGHT="Mozilla Foundation"
LICENSE="
GNU GPL v2
GNU LGPL v2.1
MPL v2.0
"
REVISION="1"
NSS_VERSION=`echo $portVersion | sed 's/\./_/g'`
SOURCE_URI="https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_${NSS_VERSION}_RTM/src/nss-$portVersion.tar.gz"
CHECKSUM_SHA256="3f7a5b027d7cdd5c0e4ff7544da33fdc6f56c2f8c27fff02938fd4a6fbe87239"
SOURCE_DIR="nss-$portVersion/nss"
PATCHES="nss-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
nss$secondaryArchSuffix = $portVersion compat >= 3
cmd:addbuiltin$secondaryArchSuffix = $portVersion compat >= 3
cmd:atob$secondaryArchSuffix = $portVersion compat >= 3
cmd:baddbdir$secondaryArchSuffix = $portVersion compat >= 3
cmd:bltest$secondaryArchSuffix = $portVersion compat >= 3
cmd:btoa$secondaryArchSuffix = $portVersion compat >= 3
cmd:certcgi$secondaryArchSuffix = $portVersion compat >= 3
cmd:certutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:checkcert$secondaryArchSuffix = $portVersion compat >= 3
cmd:chktest$secondaryArchSuffix = $portVersion compat >= 3
cmd:cmsutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:conflict$secondaryArchSuffix = $portVersion compat >= 3
cmd:crlutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:crmftest$secondaryArchSuffix = $portVersion compat >= 3
cmd:dbtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:derdump$secondaryArchSuffix = $portVersion compat >= 3
cmd:dertimetest$secondaryArchSuffix = $portVersion compat >= 3
cmd:digest$secondaryArchSuffix = $portVersion compat >= 3
cmd:encodeinttest$secondaryArchSuffix = $portVersion compat >= 3
cmd:fipstest$secondaryArchSuffix = $portVersion compat >= 3
cmd:httpserv$secondaryArchSuffix = $portVersion compat >= 3
cmd:listsuites$secondaryArchSuffix = $portVersion compat >= 3
cmd:makepqg$secondaryArchSuffix = $portVersion compat >= 3
cmd:mangle$secondaryArchSuffix = $portVersion compat >= 3
cmd:modutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:multinit$secondaryArchSuffix = $portVersion compat >= 3
cmd:nonspr10$secondaryArchSuffix = $portVersion compat >= 3
cmd:ocspclnt$secondaryArchSuffix = $portVersion compat >= 3
cmd:ocspresp$secondaryArchSuffix = $portVersion compat >= 3
cmd:oidcalc$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7content$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7env$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7sign$secondaryArchSuffix = $portVersion compat >= 3
cmd:p7verify$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk11gcmtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk11mode$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk12util$secondaryArchSuffix = $portVersion compat >= 3
cmd:pk1sign$secondaryArchSuffix = $portVersion compat >= 3
cmd:pkix_errcodes$secondaryArchSuffix = $portVersion compat >= 3
cmd:pp$secondaryArchSuffix = $portVersion compat >= 3
cmd:pwdecrypt$secondaryArchSuffix = $portVersion compat >= 3
cmd:remtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:rsaperf$secondaryArchSuffix = $portVersion compat >= 3
cmd:sdrtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:secmodtest$secondaryArchSuffix = $portVersion compat >= 3
cmd:selfserv$secondaryArchSuffix = $portVersion compat >= 3
cmd:shlibsign$secondaryArchSuffix = $portVersion compat >= 3
cmd:signtool$secondaryArchSuffix = $portVersion compat >= 3
cmd:signver$secondaryArchSuffix = $portVersion compat >= 3
cmd:ssltap$secondaryArchSuffix = $portVersion compat >= 3
cmd:strsclnt$secondaryArchSuffix = $portVersion compat >= 3
cmd:symkeyutil$secondaryArchSuffix = $portVersion compat >= 3
cmd:tstclnt$secondaryArchSuffix = $portVersion compat >= 3
cmd:vfychain$secondaryArchSuffix = $portVersion compat >= 3
cmd:vfyserv$secondaryArchSuffix = $portVersion compat >= 3
lib:libfreebl3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnss3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnssckbi${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnssdbm3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libnssutil3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libsmime3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libsoftokn3${secondaryArchSuffix} = $portVersion compat >= 3
lib:libssl3${secondaryArchSuffix} = $portVersion compat >= 3
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libnspr4${secondaryArchSuffix} >= 4
lib:libsqlite3$secondaryArchSuffix
lib:libz${secondaryArchSuffix}
"
PROVIDES_devel="
nss${secondaryArchSuffix}_devel = $portVersion compat >= 3
devel:libfreebl3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnss3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnssckbi${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnssdbm3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libnssutil3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libsmime3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libsoftokn3${secondaryArchSuffix} = $portVersion compat >= 3
devel:libssl3${secondaryArchSuffix} = $portVersion compat >= 3
"
REQUIRES_devel="
nss${secondaryArchSuffix} == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libnspr4${secondaryArchSuffix} >= 4
devel:libsqlite3$secondaryArchSuffix
devel:libz${secondaryArchSuffix}
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:awk
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
# FIXME: $secondaryArchSuffix is wrong here (_arch). What should be used?
myCPPFLAGS="${CPPFLAGS} `pkg-config nspr --cflags`"
myLDFLAGS="${LDFLAGS} `pkg-config nspr --libs-only-L`"
export BUILD_OPT=1
export NSDISTMODE=copy
export FREEBL_NO_DEPEND=1
export ASFLAGS=""
if [ $effectiveTargetArchitecture == 'x86_64' ]; then
export USE_64=1
fi
for d in . lib/dbm ; do
CPPFLAGS="${myCPPFLAGS}"
LDFLAGS="${myLDFLAGS}"
make -j1 -C ${d}
done
}
INSTALL()
{
# files are in /sources/dist
mkdir -p $includeDir $binDir
mkdir -p $(dirname $libDir)
mv ../dist/*/bin/* $binDir
mv ../dist/*/lib $libDir
mv ../dist/public/nss $includeDir
# set up the develop directory correctly
prepareInstalledDevelLibs libnss3 libfreebl3 libnssckbi libnssdbm3 \
libnssutil3 libsmime3 libsoftokn3 libssl3
fixPkgconfig
# devel package
packageEntries devel \
$developDir
rm $libDir/*.a
}
TEST()
{
echo TODO
# TODO
}

View File

@@ -0,0 +1,160 @@
From a05105e8cf826330b1de3e2f33150c0283c934bd Mon Sep 17 00:00:00 2001
From: Kacper Kasper <kacperkasper@gmail.com>
Date: Sat, 5 Jul 2014 02:12:23 +0200
Subject: Haiku support
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index 750696d..b53cfea 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -7,7 +7,7 @@ include $(CORE_DEPTH)/coreconf/UNIX.mk
XP_DEFINE := $(XP_DEFINE:-DXP_UNIX=-DXP_BEOS)
-USE_PTHREADS =
+USE_PTHREADS = 1
ifeq ($(USE_PTHREADS),1)
IMPL_STRATEGY = _PTH
@@ -27,7 +27,7 @@ else
CPU_ARCH = x86
endif
-MKSHLIB = $(CC) -nostart -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
+MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
diff --git a/coreconf/arch.mk b/coreconf/arch.mk
index 62ba8d5..d515a20 100644
--- a/coreconf/arch.mk
+++ b/coreconf/arch.mk
@@ -41,6 +41,14 @@ else
endif
#
+# Force the Haiku machines to use BeOS.
+#
+
+ifeq ($(OS_ARCH),Haiku)
+ OS_ARCH = BeOS
+endif
+
+#
# Force the IRIX64 machines to use IRIX.
#
diff --git a/lib/dbm/include/mcom_db.h b/lib/dbm/include/mcom_db.h
index 4cca532..ecec75d 100644
--- a/lib/dbm/include/mcom_db.h
+++ b/lib/dbm/include/mcom_db.h
@@ -60,7 +60,7 @@ typedef PRUint32 uint32;
#include <sys/byteorder.h>
#endif
-#if defined(__linux) || defined(__BEOS__)
+#if defined(__linux) || defined(BEOS)
#include <endian.h>
#ifndef BYTE_ORDER
#define BYTE_ORDER __BYTE_ORDER
--
2.2.2
From 155512db961560ecaa31781efc1a4e8e56673d51 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Sep 2014 13:09:35 +0000
Subject: define RTLD_NOLOAD
diff --git a/lib/freebl/stubs.c b/lib/freebl/stubs.c
index 993d01e..b436dd2 100644
--- a/lib/freebl/stubs.c
+++ b/lib/freebl/stubs.c
@@ -596,6 +596,10 @@ freebl_InitNSSUtil(void *lib)
return SECSuccess;
}
+#ifndef RTLD_NOLOAD
+ #define RTLD_NOLOAD 0
+#endif
+
/*
* fetch the library if it's loaded. For NSS it should already be loaded
*/
--
2.2.2
From 107d6928d8f969d28a7341bb500268d15fa7ebe1 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Sep 2014 13:40:13 +0000
Subject: skip optionally the signing part
diff --git a/cmd/shlibsign/Makefile b/cmd/shlibsign/Makefile
index 83f90fa..8934439 100644
--- a/cmd/shlibsign/Makefile
+++ b/cmd/shlibsign/Makefile
@@ -95,5 +95,7 @@ else
endif
endif
+ifndef SKIP_SHLIBSIGN
libs install :: $(CHECKLOC)
+endif
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index b53cfea..51fe162 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -45,3 +45,5 @@ ARCH = beos
DSO_CFLAGS = -fPIC
DSO_LDOPTS =
+
+SKIP_SHLIBSIGN=1
--
2.2.2
From 814cc5773310331615081ead443177f3085f6dd7 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Sep 2014 14:14:26 +0000
Subject: use system libs
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index 51fe162..fe54580 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -47,3 +47,6 @@ DSO_CFLAGS = -fPIC
DSO_LDOPTS =
SKIP_SHLIBSIGN=1
+USE_SYSTEM_ZLIB = 1
+ZLIB_LIBS = -lz
+NSS_USE_SYSTEM_SQLITE=1
--
2.2.2
From 22dc826a0490c0fdb42e5ba69a56695d388a9e14 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Tue, 24 Nov 2015 19:12:08 +0000
Subject: avoid some tests.
diff --git a/coreconf/BeOS.mk b/coreconf/BeOS.mk
index fe54580..3bc0ce3 100644
--- a/coreconf/BeOS.mk
+++ b/coreconf/BeOS.mk
@@ -50,3 +50,4 @@ SKIP_SHLIBSIGN=1
USE_SYSTEM_ZLIB = 1
ZLIB_LIBS = -lz
NSS_USE_SYSTEM_SQLITE=1
+NSS_DISABLE_GTESTS=1
--
2.2.2