mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-18 12:47:33 -05:00
ced3d5cbf9
* gnu/packages/patches/nss-3.56-pkgconfig.patch: Update and ajdust. * gnu/packages/patches/nss-increase-test-timeout.patch: Adjust. * gnu/packages/nss.scm (nss)[version]: Compute with the git-version procedure. [source]: Switch to use the latest changeset. Adjust snippet to match restructuring of the source file hierarchy. [make-flags]: Do not chdir to the "nss" directory. [phases]: Delete trailing #t. {check}: Honor the '#:tests?' argument. Update the date used with faketime and adjust for the new all.sh script location. {install}: Adapt to the location of the 'dist/' directory, which is now at the same level as the 'source' checkout.
293 lines
6.8 KiB
Diff
293 lines
6.8 KiB
Diff
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 to use with Guix and the latest NSS source checkout code: use
|
|
'install' instead of 'ln -sf' and adapt the relative file names.
|
|
|
|
---
|
|
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
|
|
+ install 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
|
|
+ install 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
|
|
|