From 1b3c48499abb000d708abe5f05413c1f4155e086 Mon Sep 17 00:00:00 2001
From: Jory Pratt <anarchy@gentoo.org>
Date: Mon, 8 Jun 2020 12:22:29 -0500
Subject: [PATCH] Add pkg-config and nss-config for Gentoo

---
 Makefile             |  15 +----
 config/Makefile      |  40 ++++++++++++
 config/nss-config.in | 145 +++++++++++++++++++++++++++++++++++++++++++
 config/nss.pc.in     |  12 ++++
 manifest.mn          |   2 +-
 5 files changed, 200 insertions(+), 14 deletions(-)
 create mode 100644 config/Makefile
 create mode 100644 config/nss-config.in
 create mode 100644 config/nss.pc.in

diff --git a/Makefile b/Makefile
index eb4ed1a..f979d90 100644
--- a/Makefile
+++ b/Makefile
@@ -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,9 @@ include $(CORE_DEPTH)/coreconf/rules.mk
 #######################################################################
 
 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
@@ -138,16 +137,6 @@ $(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
 	--prefix='$(NSS_GYP_PREFIX)'
 endif
 
-build_nspr: $(NSPR_CONFIG_STATUS)
-	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
-	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/pr/tests
-
-install_nspr: build_nspr
-	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
-
-clobber_nspr: $(NSPR_CONFIG_STATUS)
-	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
-
 build_docs:
 	$(MAKE) -C $(CORE_DEPTH)/doc
 
diff --git a/config/Makefile b/config/Makefile
new file mode 100644
index 0000000..aaf1991
--- /dev/null
+++ b/config/Makefile
@@ -0,0 +1,40 @@
+CORE_DEPTH = ..
+DEPTH      = ..
+
+include $(CORE_DEPTH)/coreconf/config.mk
+
+NSS_MAJOR_VERSION = $(shell grep -F "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}')
+NSS_MINOR_VERSION = $(shell grep -F "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}')
+NSS_PATCH_VERSION = $(shell grep -F "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}/lib64," \
+	    -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 ../../../../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 ../../../config/nss-config $(DIST)/bin
+
+libs:
+
+dummy: all export libs
+
diff --git a/config/nss-config.in b/config/nss-config.in
new file mode 100644
index 0000000..3a957b8
--- /dev/null
+++ b/config/nss-config.in
@@ -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=""
+      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 --git a/config/nss.pc.in b/config/nss.pc.in
new file mode 100644
index 0000000..03f1e39
--- /dev/null
+++ b/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: -lssl3 -lsmime3 -lnss3 -lnssutil3
+Cflags: -I${includedir}
+
diff --git a/manifest.mn b/manifest.mn
index dada8ab..72dc9b3 100644
--- a/manifest.mn
+++ b/manifest.mn
@@ -10,7 +10,7 @@ IMPORTS =	nspr20/v4.8 \
 
 RELEASE = nss
 
-DIRS = coreconf lib cmd cpputil gtests
+DIRS = coreconf lib cmd cpputil config
 
 lib: coreconf
 cmd: lib
-- 
2.26.2

