diff --git a/srcpkgs/nss/files/nss-config.in b/srcpkgs/nss/files/nss-config.in new file mode 100644 index 00000000000..1d98238473f --- /dev/null +++ b/srcpkgs/nss/files/nss-config.in @@ -0,0 +1,145 @@ +#!/bin/sh + +prefix=/usr/bin + +major_version=@MOD_MAJOR_VERSION@ +minor_version=@MOD_MINOR_VERSION@ +patch_version=@MOD_PATCH_VERSION@ + +usage() +{ + cat <&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="-Wl,-rpath-link,$libdir -L$libdir" + 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/srcpkgs/nss/nss-devel.template b/srcpkgs/nss/nss-devel.template index 4799d0d28f2..ff714ce8b4f 100644 --- a/srcpkgs/nss/nss-devel.template +++ b/srcpkgs/nss/nss-devel.template @@ -13,6 +13,7 @@ Add_dependency run nss do_install() { mkdir -p ${DESTDIR}/usr/lib + mv ${SRCPKGDESTDIR}/usr/bin ${DESTDIR}/usr mv ${SRCPKGDESTDIR}/usr/include ${DESTDIR}/usr mv ${SRCPKGDESTDIR}/usr/lib/pkgconfig ${DESTDIR}/usr/lib } diff --git a/srcpkgs/nss/template b/srcpkgs/nss/template index 99c1fc0b322..c5a659ef316 100644 --- a/srcpkgs/nss/template +++ b/srcpkgs/nss/template @@ -39,14 +39,38 @@ do_install() ${DESTDIR}/usr/include/nss || return 1 install -m755 mozilla/dist/*.OBJ/lib/*.so \ ${DESTDIR}/usr/lib || return 1 + for f in libcrmf.a libnssb.a libnssckfw.a; do + install -m644 mozilla/dist/*.OBJ/lib/${f} \ + ${DESTDIR}/usr/lib || return 1 + done - ( echo "Name: NSS"; \ + ( \ + echo "prefix=/usr"; \ + echo "exec_prefix=/usr/bin"; \ + echo "libdir=/usr/lib"; \ + echo "includedir=/usr/include/nss"; \ + echo; \ + echo "Name: NSS"; \ echo "Description: Mozilla Network Security Services"; \ echo "Version: ${version}"; \ - echo "Cflags: -I/usr/include/nss"; \ - echo "Libs: -L/usr/lib -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lpthread -ldl"; \ + echo "Requires: nspr >= ${version}"; \ + echo "Cflags: -I${includedir}"; \ + echo "Libs: -lnss3 -lsmime3 -lssl3 -lnssutil3 -lsoftokn3 -lpthread -ldl"; \ ) >${DESTDIR}/usr/lib/pkgconfig/nss.pc chmod 644 ${DESTDIR}/usr/lib/pkgconfig/nss.pc || return 1 cd ${DESTDIR}/usr/lib/pkgconfig && ln -s nss.pc mozilla-nss.pc \ || return 1 + + cd ${wrksrc} || return 1 + mkdir -p ${DESTDIR}/usr/bin || return 1 + + NSS_VMAJOR=$(grep "#define.*NSS_VMAJOR" mozilla/security/nss/lib/nss/nss.h | awk '{print $3}') + NSS_VMINOR=$(grep "#define.*NSS_VMINOR" mozilla/security/nss/lib/nss/nss.h | awk '{print $3}') + NSS_VPATCH=$(grep "#define.*NSS_VPATCH" mozilla/security/nss/lib/nss/nss.h | awk '{print $3}') + sed "${FILESDIR}/nss-config.in" \ + -e "s,@MOD_MAJOR_VERSION@,${NSS_VMAJOR},g" \ + -e "s,@MOD_MINOR_VERSION@,${NSS_VMINOR},g" \ + -e "s,@MOD_PATCH_VERSION@,${NSS_VPATCH},g" \ + > "${DESTDIR}/usr/bin/nss-config" || return 1 + chmod 755 "${DESTDIR}/usr/bin/nss-config" || return 1 }