diff --git a/src/nspr/.gitignore b/src/nspr/.gitignore new file mode 100644 index 0000000..8b56c9f --- /dev/null +++ b/src/nspr/.gitignore @@ -0,0 +1,3 @@ +.cache/ +dist/ +root/ diff --git a/src/nspr/changes.md b/src/nspr/changes.md new file mode 100644 index 0000000..ec620ce --- /dev/null +++ b/src/nspr/changes.md @@ -0,0 +1,2 @@ +# 4.35 +First version diff --git a/src/nspr/pkg.sh b/src/nspr/pkg.sh new file mode 100644 index 0000000..89cb9f5 --- /dev/null +++ b/src/nspr/pkg.sh @@ -0,0 +1,31 @@ +# general info +NAME="nspr" +DESC="Netscape Portable Runtime" +VERSION="4.35" + +# required files +FILES=("https://archive.mozilla.org/pub/nspr/releases/v${VERSION}/src/nspr-${VERSION}.tar.gz") +HASHES=("5e0acf9fbdde85181bddd510f4624841") + +# install and build depends +DEPENDS=("glibc" "bash") +BUILD=("zip") + +PACKAGE(){ + tar xf "${NAME}-${VERSION}.tar.gz" + cd "${NAME}-${VERSION}" + + cd nspr + + sed -i '/^RELEASE/s|^|#|' pr/src/misc/Makefile.in + sed -i 's|$(LIBRARY) ||' config/rules.mk + + ./configure --prefix=/usr \ + --with-mozilla \ + --with-pthreads \ + --enable-64bit + make + make DESTDIR="${ROOTDIR}" install + + cd ../.. && rm -r "${NAME}-${VERSION}" +} diff --git a/src/nss/.gitignore b/src/nss/.gitignore new file mode 100644 index 0000000..8b56c9f --- /dev/null +++ b/src/nss/.gitignore @@ -0,0 +1,3 @@ +.cache/ +dist/ +root/ diff --git a/src/nss/changes.md b/src/nss/changes.md new file mode 100644 index 0000000..c758d5d --- /dev/null +++ b/src/nss/changes.md @@ -0,0 +1,2 @@ +# 3.103 +First version diff --git a/src/nss/nss-3.103-standalone-1.patch b/src/nss/nss-3.103-standalone-1.patch new file mode 100644 index 0000000..009184f --- /dev/null +++ b/src/nss/nss-3.103-standalone-1.patch @@ -0,0 +1,266 @@ +Submitted By: Xi Ruoyao +Date: 2020-08-22 +Initial Package Version: 3.12.4 +Upstream Status: Not applicable +Origin: Self, adjusted for nss-3.56. +Description: Adds auto-generated nss.pc and nss-config script, and + allows building without nspr in the source tree. + Minimum NSPR version is now read out from package, + instead of hardcoded value in the patch. + +diff --color -uNar nss-3.55.orig/nss/config/Makefile nss-3.55/nss/config/Makefile +--- nss-3.55.orig/nss/config/Makefile 1970-01-01 08:00:00.000000000 +0800 ++++ nss-3.55/nss/config/Makefile 2020-07-25 19:34:36.272982957 +0800 +@@ -0,0 +1,42 @@ ++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}'` ++NSS_NSPR_MINIMUM = `head -n1 ../automation/release/nspr-version.txt` ++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}/lib," \ ++ -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)," \ ++ -e "s,@NSS_NSPR_MINIMUM@,$(NSS_NSPR_MINIMUM)," \ ++ nss.pc.in > nss.pc ++ chmod 0644 nss.pc ++ ln -sf ../../../../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 ../../../nss/config/nss-config $(DIST)/bin ++ ++libs: ++ ++dummy: all export libs ++ +diff --color -uNar nss-3.55.orig/nss/config/nss-config.in nss-3.55/nss/config/nss-config.in +--- nss-3.55.orig/nss/config/nss-config.in 1970-01-01 08:00:00.000000000 +0800 ++++ nss-3.55/nss/config/nss-config.in 2020-07-25 19:32:37.239032214 +0800 +@@ -0,0 +1,153 @@ ++#!/bin/sh ++ ++prefix=@prefix@ ++ ++major_version=@NSS_MAJOR_VERSION@ ++minor_version=@NSS_MINOR_VERSION@ ++patch_version=@NSS_PATCH_VERSION@ ++ ++usage() ++{ ++ cat <&2 ++fi ++ ++lib_nss=yes ++lib_nssutil=yes ++lib_smime=yes ++lib_ssl=yes ++lib_softokn=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 ++ ;; ++ nss) ++ lib_nss=yes ++ ;; ++ nssutil) ++ lib_nssutil=yes ++ ;; ++ smime) ++ lib_smime=yes ++ ;; ++ ssl) ++ lib_ssl=yes ++ ;; ++ softokn) ++ lib_softokn=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="-L$libdir" ++ if test -n "$lib_nss"; then ++ libdirs="$libdirs -lnss${major_version}" ++ fi ++ if test -n "$lib_nssutil"; then ++ libdirs="$libdirs -lnssutil${major_version}" ++ fi ++ if test -n "$lib_smime"; then ++ libdirs="$libdirs -lsmime${major_version}" ++ fi ++ if test -n "$lib_ssl"; then ++ libdirs="$libdirs -lssl${major_version}" ++ fi ++ if test -n "$lib_softokn"; then ++ libdirs="$libdirs -lsoftokn${major_version}" ++ fi ++ echo $libdirs ++fi ++ +diff --color -uNar nss-3.55.orig/nss/config/nss.pc.in nss-3.55/nss/config/nss.pc.in +--- nss-3.55.orig/nss/config/nss.pc.in 1970-01-01 08:00:00.000000000 +0800 ++++ nss-3.55/nss/config/nss.pc.in 2020-07-25 19:33:05.958889937 +0800 +@@ -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 >= @NSS_NSPR_MINIMUM@ ++Libs: -L@libdir@ -lnss@NSS_MAJOR_VERSION@ -lnssutil@NSS_MAJOR_VERSION@ -lsmime@NSS_MAJOR_VERSION@ -lssl@NSS_MAJOR_VERSION@ -lsoftokn@NSS_MAJOR_VERSION@ ++Cflags: -I${includedir} ++ +diff --color -uNar nss-3.55.orig/nss/Makefile nss-3.55/nss/Makefile +--- nss-3.55.orig/nss/Makefile 2020-07-24 23:10:32.000000000 +0800 ++++ nss-3.55/nss/Makefile 2020-07-25 19:32:37.239032214 +0800 +@@ -4,6 +4,8 @@ + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + ++default: nss_build_all ++ + ####################################################################### + # (1) Include initial platform-independent assignments (MANDATORY). # + ####################################################################### +@@ -48,12 +50,10 @@ + ####################################################################### + + nss_build_all: +- $(MAKE) build_nspr + $(MAKE) all + $(MAKE) latest + + nss_clean_all: +- $(MAKE) clobber_nspr + $(MAKE) clobber + + NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/config.status +diff --color -uNar nss-3.55.orig/nss/manifest.mn nss-3.55/nss/manifest.mn +--- nss-3.55.orig/nss/manifest.mn 2020-07-24 23:10:32.000000000 +0800 ++++ nss-3.55/nss/manifest.mn 2020-07-25 19:32:37.240032237 +0800 +@@ -10,7 +10,7 @@ + + RELEASE = nss + +-DIRS = coreconf lib cmd cpputil gtests ++DIRS = coreconf lib cmd cpputil gtests config + + lib: coreconf + cmd: lib diff --git a/src/nss/pkg.sh b/src/nss/pkg.sh new file mode 100644 index 0000000..2ed0749 --- /dev/null +++ b/src/nss/pkg.sh @@ -0,0 +1,54 @@ +# general info +NAME="nss" +DESC="Network Security Services" +VERSION="3.103" +_UVERSION="$(echo "${VERSION}" | sed 's/\./_/g')" + +# required files +FILES=( + "https://archive.mozilla.org/pub/security/nss/releases/NSS_${_UVERSION}_RTM/src/nss-${VERSION}.tar.gz" + "nss-${VERSION}-standalone-1.patch" +) +HASHES=( + "7b4ab657f772dc7520c46e8d481940b292dcfc6a4c90150a7c26672384cee962" + "87bb1af0b11fd41311b9899187f6e4b3fca9940651123c7bc836ec7497d2da84" +) + +# install and build depends +DEPENDS=("glibc" "nspr" "bash" "sqlite3" "zlib") +BUILD=("make" "perl" "python3") + +PACKAGE(){ + tar xf "${NAME}-${VERSION}.tar.gz" + cd "${NAME}-${VERSION}" + + patch -Np1 -i ../nss-${VERSION}-standalone-1.patch + + cd nss + + make BUILD_OPT=1 \ + NSPR_INCLUDE_DIR=/usr/include/nspr \ + USE_SYSTEM_ZLIB=1 \ + ZLIB_LIBS=-lz \ + NSS_ENABLE_WERROR=0 \ + USE_64=1 \ + NSS_USE_SYSTEM_SQLITE=1 + + cd ../dist + + install -Ddm755 "${ROOTDIR}/usr/lib/pkgconfig" + install -Ddm755 "${ROOTDIR}/usr/bin" + + install -v -m755 Linux*/lib/*.so "${ROOTDIR}/usr/lib" + install -v -m644 Linux*/lib/{*.chk,libcrmf.a} "${ROOTDIR}/usr/lib" + + install -v -m755 -d "${ROOTDIR}/usr/include/nss" + cp -v -RL {public,private}/nss/* "${ROOTDIR}/usr/include/nss" + + install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} "${ROOTDIR}/usr/bin" + install -v -m644 Linux*/lib/pkgconfig/nss.pc "${ROOTDIR}/usr/lib/pkgconfig" + + ln -sfv ./pkcs11/p11-kit-trust.so "${ROOTDIR}/usr/lib/libnssckbi.so" + + cd ../.. && rm -r "${NAME}-${VERSION}" +}