NSS: Difference between revisions

From CBLFS
Jump to navigationJump to search
No edit summary
No edit summary
Line 6: Line 6:
!Download nss-config:
!Download nss-config:
| http://cross-lfs.org/~jciccone/{{NSS-Config-Name}}
| http://cross-lfs.org/~jciccone/{{NSS-Config-Name}}
|-
!Required Patch:
| http://svn.cross-lfs.org/svn/repos/patches/nss/nss-{{NSS-Version}}-fixes-1.patch
|-
|}
|}


Line 25: Line 29:


  export WORKINGDIR=$PWD &&
  export WORKINGDIR=$PWD &&
  echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
  patch -Np1 -i ../nss-{{NSS-Version}}-fixes-1.patch &&
  make -C mozilla/security/coreconf BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  make -C mozilla/security/coreconf BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  make -C mozilla/security/dbm BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  make -C mozilla/security/nss BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/dbm BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/nss BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')


Install the package
Install the package


export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
  install -m755 -d /usr/include/nss
cd $WORKINGDIR/mozilla/dist &&
  install -m755 -d /usr/lib/nss
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib &&
 
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib &&
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
install -v -d /usr/include/nss &&
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
install -v -m644 {public,private}/nss/* /usr/include/nss &&
  done
unset NSS_LINUXDIR WORKINGDIR
  for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
  done
  for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
    install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
  done
  install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/


Create the pkg-config file:
Create the pkg-config file:


cat > /usr/lib/pkgconfig/nss.pc << "EOF"
  cat > /usr/lib/pkgconfig/nss.pc << "EOF"
prefix=/usr
  prefix=/usr
exec_prefix=/usr
  exec_prefix=/usr/bin
libdir=/usr/lib
  libdir=/usr/lib/nss
includedir=/usr/include/nss
  includedir=/usr/include/nss
 
Name: NSS
  Name: NSS
Description: Network Security Services
  Description: Network Security Services
Version: {{NSS-Version}}
  Version: {{NSS-Version}}
Requires: nspr >= {{NSPR-Version}}
  Requires: nspr >= {{NSPR-Version}}
Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3 -lsoftokn3 -Wl,-R${libdir}
  Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
Cflags: -I${includedir}
  Cflags: -I${includedir}
EOF
  EOF
   
  ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
  chmod 644 /usr/lib/pkgconfig/*.pc


Create /usr/bin/nss-config:
Create /usr/bin/nss-config:
Line 72: Line 91:


  export WORKINGDIR=$PWD &&
  export WORKINGDIR=$PWD &&
  echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
  patch -Np1 -i ../nss-{{NSS-Version}}-fixes-1.patch &&
  make -C mozilla/security/coreconf CC="gcc ${BUILD32}" BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  make -C mozilla/security/coreconf CC="gcc ${BUILD32}" BUILD_OPT=1 \
  make -C mozilla/security/dbm CC="gcc ${BUILD32}" BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  make -C mozilla/security/nss CC="gcc ${BUILD32}" BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/dbm CC="gcc ${BUILD32}" BUILD_OPT=1 \
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/nss CC="gcc ${BUILD32}" BUILD_OPT=1 \
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')


Install the package
Install the package


export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
  cd $WORKINGDIR/mozilla/dist &&
cd $WORKINGDIR/mozilla/dist &&
  install -m755 -d /usr/lib/nss
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib &&
 
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib &&
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
install -v -d /usr/include/nss &&
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
install -v -m644 {public,private}/nss/* /usr/include/nss &&
  done
unset NSS_LINUXDIR WORKINGDIR
  for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
  done


Create the pkg-config file:
Create the pkg-config file:


cat > /usr/lib/pkgconfig/nss.pc << "EOF"
  cat > /usr/lib/pkgconfig/nss.pc << "EOF"
prefix=/usr
  prefix=/usr
exec_prefix=/usr
  exec_prefix=/usr/bin
libdir=/usr/lib
  libdir=/usr/lib/nss
includedir=/usr/include/nss
  includedir=/usr/include/nss
 
Name: NSS
  Name: NSS
Description: Network Security Services
  Description: Network Security Services
Version: {{NSS-Version}}
  Version: {{NSS-Version}}
Requires: nspr >= {{NSPR-Version}}
  Requires: nspr >= {{NSPR-Version}}
Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3 -lsoftokn3 -Wl,-R${libdir}
  Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
Cflags: -I${includedir}
  Cflags: -I${includedir}
EOF
  EOF
   
  ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
  chmod 644 /usr/lib/pkgconfig/*.pc


Create /usr/bin/nss-config:
Create /usr/bin/nss-config:
Line 117: Line 150:


  export WORKINGDIR=$PWD &&
  export WORKINGDIR=$PWD &&
  echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
  patch -Np1 -i ../nss-{{NSS-Version}}-fixes-1.patch &&
  make -C mozilla/security/coreconf CC="gcc ${BUILDN32}" BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  make -C mozilla/security/coreconf CC="gcc ${BUILDN32}" BUILD_OPT=1 \
  make -C mozilla/security/dbm CC="gcc ${BUILDN32}" BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  make -C mozilla/security/nss CC="gcc ${BUILDN32}" BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/dbm CC="gcc ${BUILDN32}" BUILD_OPT=1 \
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/nss CC="gcc ${BUILDN32}" BUILD_OPT=1 \
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')


Install the package
Install the package


export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
  cd $WORKINGDIR/mozilla/dist &&
cd $WORKINGDIR/mozilla/dist &&
  install -m755 -d /usr/lib32/nss
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib32 &&
 
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib32 &&
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
install -v -d /usr/include/nss &&
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
install -v -m644 {public,private}/nss/* /usr/include/nss &&
  done
unset NSS_LINUXDIR WORKINGDIR
  for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
  done


Create the pkg-config file:
Create the pkg-config file:


cat > /usr/lib32/pkgconfig/nss.pc << "EOF"
  cat > /usr/lib32/pkgconfig/nss.pc << "EOF"
prefix=/usr
  prefix=/usr
exec_prefix=/usr
  exec_prefix=/usr/bin
libdir=/usr/lib32
  libdir=/usr/lib32/nss
includedir=/usr/include/nss
  includedir=/usr/include/nss
 
Name: NSS
  Name: NSS
Description: Network Security Services
  Description: Network Security Services
Version: {{NSS-Version}}
  Version: {{NSS-Version}}
Requires: nspr >= {{NSPR-Version}}
  Requires: nspr >= {{NSPR-Version}}
Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3 -lsoftokn3 -Wl,-R${libdir}
  Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
Cflags: -I${includedir}
  Cflags: -I${includedir}
EOF
  EOF
   
  ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
  chmod 644 /usr/lib/pkgconfig/*.pc


Create /usr/bin/nss-config:
Create /usr/bin/nss-config:
Line 163: Line 210:


  export WORKINGDIR=$PWD &&
  export WORKINGDIR=$PWD &&
  echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
  patch -Np1 -i ../nss-{{NSS-Version}}-fixes-1.patch &&
  make -C mozilla/security/coreconf CC="gcc ${BUILD64}" USE_64=1 BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  make -C mozilla/security/coreconf CC="gcc ${BUILD64}" BUILD_OPT=1 \
  make -C mozilla/security/dbm CC="gcc ${BUILD64}" USE_64=1 BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1 &&
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
  make -C mozilla/security/nss CC="gcc ${BUILD64}" USE_64=1 BUILD_OPT=1 NSS_USE_SYSTEM_SQLITE=1
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/dbm CC="gcc ${BUILD64}" BUILD_OPT=1 \
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
  make -C mozilla/security/nss CC="gcc ${BUILD64}" BUILD_OPT=1 \
  PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
  NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
  NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')


Install the package
Install the package


export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
  cd $WORKINGDIR/mozilla/dist &&
cd $WORKINGDIR/mozilla/dist &&
  install -m755 -d /usr/include/nss &&
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib64 &&
  install -m755 -d /usr/lib64/nss
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib64 &&
 
install -v -d /usr/include/nss &&
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
install -v -m644 {public,private}/nss/* /usr/include/nss &&
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
unset NSS_LINUXDIR WORKINGDIR
  done
  for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
  done
  for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
    install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
  done
  install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/


Create the pkg-config file:
Create the pkg-config file:


cat > /usr/lib64/pkgconfig/nss.pc << "EOF"
  cat > /usr/lib64/pkgconfig/nss.pc << "EOF"
prefix=/usr
  prefix=/usr
exec_prefix=/usr
  exec_prefix=/usr/bin
libdir=/usr/lib64
  libdir=/usr/lib64/nss
includedir=/usr/include/nss
  includedir=/usr/include/nss
 
Name: NSS
  Name: NSS
Description: Network Security Services
  Description: Network Security Services
Version: {{NSS-Version}}
  Version: {{NSS-Version}}
Requires: nspr >= {{NSPR-Version}}
  Requires: nspr >= {{NSPR-Version}}
Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3 -lsoftokn3 -Wl,-R${libdir}
  Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
Cflags: -I${includedir}
  Cflags: -I${includedir}
EOF
  EOF


Create /usr/bin/nss-config:
Create /usr/bin/nss-config:

Revision as of 11:46, 23 June 2009

Download Source: http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_4_RTM/src/nss-3.12.4.tar.bz2
Download nss-config: http://cross-lfs.org/~jciccone/nss-3.12-r5-config.in
Required Patch: http://svn.cross-lfs.org/svn/repos/patches/nss/nss-3.12.4-fixes-1.patch

Introduction to NSS

Project Homepage: Unknown

Dependencies

Required

Non-Multilib

Note

For Pure64 builds add 'USE_64=1' to the make commands

Compile the package:

export WORKINGDIR=$PWD &&
patch -Np1 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')

Install the package

 install -m755 -d /usr/include/nss
 install -m755 -d /usr/lib/nss
 
 for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
   install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
 done
 for file in libcrmf.a libnssb.a libnssckfw.a; do
   install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
 done
 for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
   install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
 done
 install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/

Create the pkg-config file:

 cat > /usr/lib/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF
   
 ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
 chmod 644 /usr/lib/pkgconfig/*.pc

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       /usr/bin/nss-config

Multilib

32Bit

Compile the package:

export WORKINGDIR=$PWD &&
patch -Np1 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf CC="gcc ${BUILD32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm CC="gcc ${BUILD32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss CC="gcc ${BUILD32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')

Install the package

 cd $WORKINGDIR/mozilla/dist &&
 install -m755 -d /usr/lib/nss
 
 for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
   install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
 done
 for file in libcrmf.a libnssb.a libnssckfw.a; do
   install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
 done

Create the pkg-config file:

 cat > /usr/lib/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF
   
 ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
 chmod 644 /usr/lib/pkgconfig/*.pc

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config-32 &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       /usr/bin/nss-config-32

N32

Compile the package:

export WORKINGDIR=$PWD &&
patch -Np1 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf CC="gcc ${BUILDN32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm CC="gcc ${BUILDN32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss CC="gcc ${BUILDN32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')

Install the package

 cd $WORKINGDIR/mozilla/dist &&
 install -m755 -d /usr/lib32/nss 
 
 for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
   install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
 done
 for file in libcrmf.a libnssb.a libnssckfw.a; do
   install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
 done

Create the pkg-config file:

 cat > /usr/lib32/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib32/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF
   
 ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
 chmod 644 /usr/lib/pkgconfig/*.pc

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config-n32 &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       -e "/libdir=/s/\/lib/&32/" \
       /usr/bin/nss-config-n32

64Bit

Compile the package:

export WORKINGDIR=$PWD &&
patch -Np1 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf CC="gcc ${BUILD64}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm CC="gcc ${BUILD64}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss CC="gcc ${BUILD64}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')

Install the package

 cd $WORKINGDIR/mozilla/dist &&
 install -m755 -d /usr/include/nss &&
 install -m755 -d /usr/lib64/nss 
 
 for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
   install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
 done
 for file in libcrmf.a libnssb.a libnssckfw.a; do
   install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
 done
 for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
   install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
 done
 install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/

Create the pkg-config file:

 cat > /usr/lib64/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib64/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config-64 &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       -e "/libdir=/s/\/lib/&64/" \
       /usr/bin/nss-config-64 &&
ln -sfv multiarch_wrapper /usr/bin/nss-config

Contents

Installed Programs: nspr-config and nss-config
Installed Libraries: libcrmf.a, libfreebl3.so, libnspr4.so, libnss3.so, libnssckbi.so, libplc4.so, libplds4.so, libsmime3.so, libsoftokn3.so and libssl3.so
Installed Directory: /usr/include/nspr and /usr/include/nss

Short Descriptions

nspr-config is used to determine the NSPR installation settings of the installed NSPR libraries.
nss-config is used to determine the NSS library settings of the installed NSS libraries.

The libnspr4.so, libplc4.so and libplds4.so libraries make up the Netscape Portable Runtime (NSPR) libraries. These libraries provide a platform-neutral API for system level and libc like functions. The API is used in the Mozilla client, many of the Netscape/AOL/iPlanet offerings and other software applications.

The libcrmf.a, libfreebl.so, libnss3.so, libnssckbi.so, libsmime3.so, libsoftokn3.so and libnssl3.so libraries make up the NSS libraries.

Retrieved from "?title=NSS&oldid=18474"