aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/nss-3.56-pkgconfig.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/nss-3.56-pkgconfig.patch')
-rw-r--r--gnu/packages/patches/nss-3.56-pkgconfig.patch187
1 files changed, 126 insertions, 61 deletions
diff --git a/gnu/packages/patches/nss-3.56-pkgconfig.patch b/gnu/packages/patches/nss-3.56-pkgconfig.patch
index 91b6aef604..df3f474aec 100644
--- a/gnu/packages/patches/nss-3.56-pkgconfig.patch
+++ b/gnu/packages/patches/nss-3.56-pkgconfig.patch
@@ -1,25 +1,79 @@
-Description: Create nss.pc and nss-config
-Author: Lars Wendler <polynomial-c@gentoo.org>
-Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch
+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
-Modifications:
- Change libdir from ${prefix}/lib64 to ${prefix}/lib/nss.
- Remove optional patching in nss/Makefile.
- Include -L$libdir in output from "nss-config --libs".
+Modifications to use with Guix and the latest NSS source checkout code: use
+'install' instead of 'ln -sf' and adapt the relative file names.
-Later adapted to apply cleanly to nss-3.53.
+---
+ 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
---- nss-3.21/nss/config/Makefile
-+++ nss-3.21/nss/config/Makefile
+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 = `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_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
@@ -29,14 +83,14 @@ Later adapted to apply cleanly to nss-3.53.
+ mkdir -p $(DIST)/lib/pkgconfig
+ sed -e "s,@prefix@,$(PREFIX)," \
+ -e "s,@exec_prefix@,\$${prefix}," \
-+ -e "s,@libdir@,\$${prefix}/lib/nss," \
++ -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
-+ cp nss.pc $(DIST)/lib/pkgconfig
++ install nss.pc $(DIST)/lib/pkgconfig
+
+ # Create the nss-config script
+ mkdir -p $(DIST)/bin
@@ -46,14 +100,17 @@ Later adapted to apply cleanly to nss-3.53.
+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
+ nss-config.in > nss-config
+ chmod 0755 nss-config
-+ cp nss-config $(DIST)/bin
++ install nss-config $(DIST)/bin
+
+libs:
+
+dummy: all export libs
+
---- nss-3.21/nss/config/nss-config.in
-+++ nss-3.21/nss/config/nss-config.in
+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
+
@@ -95,31 +152,31 @@ Later adapted to apply cleanly to nss-3.53.
+
+while test $# -gt 0; do
+ case "$1" in
-+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++ -*=*) optarg=$(echo "$1" | sed 's/[-_a-zA-Z0-9]*=//') ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
-+ prefix=$optarg
++ prefix=${optarg}
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
-+ exec_prefix=$optarg
++ exec_prefix=${optarg}
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --includedir=*)
-+ includedir=$optarg
++ includedir=${optarg}
+ ;;
+ --includedir)
+ echo_includedir=yes
+ ;;
+ --libdir=*)
-+ libdir=$optarg
++ libdir=${optarg}
+ ;;
+ --libdir)
+ echo_libdir=yes
@@ -153,55 +210,58 @@ Later adapted to apply cleanly to nss-3.53.
+done
+
+# Set variables that may be dependent upon other variables
-+if test -z "$exec_prefix"; then
-+ exec_prefix=`pkg-config --variable=exec_prefix nss`
++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`
++if test -z "${includedir}"; then
++ includedir=$(pkg-config --variable=includedir nss)
+fi
-+if test -z "$libdir"; then
-+ libdir=`pkg-config --variable=libdir nss`
++if test -z "${libdir}"; then
++ libdir=$(pkg-config --variable=libdir nss)
+fi
+
-+if test "$echo_prefix" = "yes"; then
-+ echo $prefix
++if test "${echo_prefix}" = "yes"; then
++ echo ${prefix}
+fi
+
-+if test "$echo_exec_prefix" = "yes"; then
-+ echo $exec_prefix
++if test "${echo_exec_prefix}" = "yes"; then
++ echo ${exec_prefix}
+fi
+
-+if test "$echo_includedir" = "yes"; then
-+ echo $includedir
++if test "${echo_includedir}" = "yes"; then
++ echo ${includedir}
+fi
+
-+if test "$echo_libdir" = "yes"; then
-+ echo $libdir
++if test "${echo_libdir}" = "yes"; then
++ echo ${libdir}
+fi
+
-+if test "$echo_cflags" = "yes"; then
-+ echo -I$includedir
++if test "${echo_cflags}" = "yes"; then
++ echo -I${includedir}
+fi
+
-+if test "$echo_libs" = "yes"; then
-+ libdirs=-L$libdir
-+ if test -n "$lib_ssl"; then
-+ libdirs="$libdirs -lssl${major_version}"
++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}"
++ if test -n "${lib_smime}"; then
++ libdirs="${libdirs} -lsmime${major_version}"
+ fi
-+ if test -n "$lib_nss"; then
-+ libdirs="$libdirs -lnss${major_version}"
++ if test -n "${lib_nss}"; then
++ libdirs="${libdirs} -lnss${major_version}"
+ fi
-+ if test -n "$lib_nssutil"; then
-+ libdirs="$libdirs -lnssutil${major_version}"
++ if test -n "${lib_nssutil}"; then
++ libdirs="${libdirs} -lnssutil${major_version}"
+ fi
-+ echo $libdirs
++ echo ${libdirs}
+fi
+
---- nss-3.21/nss/config/nss.pc.in
-+++ nss-3.21/nss/config/nss.pc.in
+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@
@@ -211,18 +271,23 @@ Later adapted to apply cleanly to nss-3.53.
+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 -lnss3 -lnssutil3
++Requires: nspr >= 4.25
++Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
+Cflags: -I${includedir}
+
---- nss-3.21/nss/manifest.mn
-+++ nss-3.21/nss/manifest.mn
-@@ -10,7 +10,7 @@
-
+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 gtests config
-
++DIRS = coreconf lib cmd cpputil config
+
lib: coreconf
cmd: lib
+--
+2.26.2
+