diff options
Diffstat (limited to 'gnu/packages/patches/nss-3.56-pkgconfig.patch')
-rw-r--r-- | gnu/packages/patches/nss-3.56-pkgconfig.patch | 187 |
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 + |