| Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org> |
| Date: 2016-12-27 |
| Initial Package Version: 3.12.4 |
| Upstream Status: Not applicable |
| Origin: Self, rediffed for nss-3.28. |
| Description: Adds auto-generated nss.pc and nss-config script, and |
| allows building without nspr in the source tree. |
| For 3.40.1, Requires: updated to nspr >= 4.20. |
| For 3.46.1, Requires: updated to nspr >= 4.21. |
| For 3.48, Requires: updated to nspr >= 4.24. |
| For 3.51.1, Requires: updated to nspr >= 4.25. |
| |
| --- a/nss/Makefile |
| +++ b/nss/Makefile |
| @@ -48,7 +48,6 @@ include $(CORE_DEPTH)/coreconf/rules.mk |
| ####################################################################### |
| |
| nss_build_all: |
| - $(MAKE) build_nspr |
| $(MAKE) all |
| $(MAKE) latest |
| |
| --- /dev/null |
| +++ b/nss/config/Makefile |
| @@ -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}/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)," \ |
| + 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 |
| + |
| --- /dev/null |
| +++ b/nss/config/nss-config.in |
| @@ -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 <<EOF |
| +Usage: nss-config [OPTIONS] [LIBRARIES] |
| +Options: |
| + [--prefix[=DIR]] |
| + [--exec-prefix[=DIR]] |
| + [--includedir[=DIR]] |
| + [--libdir[=DIR]] |
| + [--version] |
| + [--libs] |
| + [--cflags] |
| +Dynamic Libraries: |
| + nss |
| + nssutil |
| + smime |
| + ssl |
| + softokn |
| +EOF |
| + exit $1 |
| +} |
| + |
| +if test $# -eq 0; then |
| + usage 1 1>&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 |
| + |
| --- /dev/null |
| +++ b/nss/config/nss.pc.in |
| @@ -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.25 |
| +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} |
| + |
| --- a/nss/manifest.mn |
| +++ b/nss/manifest.mn |
| @@ -10,7 +10,7 @@ IMPORTS = nspr20/v4.8 \ |
| |
| RELEASE = nss |
| |
| -DIRS = coreconf lib cmd cpputil gtests |
| +DIRS = coreconf lib cmd cpputil config |
| |
| HAVE_ALL_TARGET := 1 |
| |