new package: libnss

This commit is contained in:
Tee KOBAYASHI 2022-02-14 23:03:25 +09:00 committed by xtkoba
parent 057d403342
commit a3b7371dc1
4 changed files with 164 additions and 0 deletions

79
packages/libnss/build.sh Normal file
View File

@ -0,0 +1,79 @@
TERMUX_PKG_HOMEPAGE=https://firefox-source-docs.mozilla.org/security/nss/
TERMUX_PKG_DESCRIPTION="Network Security Services (NSS)"
TERMUX_PKG_LICENSE="MPL-2.0"
TERMUX_PKG_LICENSE_FILE="nss/COPYING"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=3.75
TERMUX_PKG_SRCURL=https://archive.mozilla.org/pub/security/nss/releases/NSS_${TERMUX_PKG_VERSION//./_}_RTM/src/nss-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=fd571507827284644f4dd522a032acda2286835f6683ed22a1c2d3878cc58582
TERMUX_PKG_DEPENDS="libnspr, libsqlite, zlib"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_EXTRA_MAKE_ARGS="
CC_IS_CLANG=1
CROSS_COMPILE=1
NSPR_INCLUDE_DIR=$TERMUX_PREFIX/include/nspr
NSS_DISABLE_GTESTS=1
NSS_ENABLE_WERROR=0
NSS_SEED_ONLY_DEV_URANDOM=1
NSS_USE_SYSTEM_SQLITE=1
OS_TEST=$TERMUX_ARCH
"
TERMUX_MAKE_PROCESSES=1
TERMUX_PKG_HOSTBUILD=true
_LIBNSS_SIGN_LIBS="libfreebl3.so libnssdbm3.so libsoftokn3.so"
termux_step_host_build() {
mkdir -p nsinstall
cd nsinstall
for f in nsinstall.c pathsub.c; do
gcc -c $TERMUX_PKG_SRCDIR/nss/coreconf/nsinstall/$f
done
gcc nsinstall.o pathsub.o -o nsinstall
}
termux_step_pre_configure() {
CPPFLAGS+=" -DANDROID"
LDFLAGS+=" -llog"
TERMUX_PKG_EXTRA_MAKE_ARGS+=" NSINSTALL=$TERMUX_PKG_HOSTBUILD_DIR/nsinstall/nsinstall"
if [ $TERMUX_ARCH_BITS -eq 64 ]; then
TERMUX_PKG_EXTRA_MAKE_ARGS+=" USE_64=1"
fi
}
termux_step_make() {
cd nss
make -j $TERMUX_MAKE_PROCESSES \
CCC="$CXX" \
XCFLAGS="$CFLAGS $CPPFLAGS" \
CPPFLAGS="$CPPFLAGS" \
${TERMUX_PKG_EXTRA_MAKE_ARGS}
}
termux_step_make_install() {
cd dist
install -Dm600 -t $TERMUX_PREFIX/include/nss public/nss/*
install -Dm600 -t $TERMUX_PREFIX/include/nss/private private/nss/*
install -Dm600 -t $TERMUX_PREFIX/include/dbm public/dbm/*
install -Dm600 -t $TERMUX_PREFIX/include/dbm/private private/dbm/*
pushd *.OBJ
install -Dm700 -t $TERMUX_PREFIX/bin bin/*
install -Dm600 -t $TERMUX_PREFIX/lib lib/*
for f in $_LIBNSS_SIGN_LIBS; do
if [ ! -e lib/$f ]; then
echo "ERROR: \"lib/$f\" not found."
exit 1
fi
done
popd
}
termux_step_create_debscripts() {
echo "#!$TERMUX_PREFIX/bin/sh" > postinst
for f in $_LIBNSS_SIGN_LIBS; do
echo "$TERMUX_PREFIX/bin/shlibsign -i $TERMUX_PREFIX/lib/$f" >> postinst
done
echo "exit 0" >> postinst
chmod 0755 postinst
}

View File

@ -0,0 +1,11 @@
--- a/nss/coreconf/Linux.mk
+++ b/nss/coreconf/Linux.mk
@@ -132,7 +132,7 @@
endif
ifeq ($(USE_PTHREADS),1)
-OS_PTHREAD = -lpthread
+OS_PTHREAD =
endif
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) $(ARCHFLAG) -pipe -ffunction-sections -fdata-sections -DHAVE_STRERROR

View File

@ -0,0 +1,11 @@
--- a/nss/coreconf/rules.mk
+++ b/nss/coreconf/rules.mk
@@ -223,7 +223,7 @@
endif # MSVC with manifest tool
endif
else
- $(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
+ $(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LDFLAGS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
chmod +x $@
endif
endif

View File

@ -0,0 +1,63 @@
TERMUX_SUBPKG_INCLUDE="
bin/addbuiltin
bin/atob
bin/baddbdir
bin/bltest
bin/btoa
bin/certutil
bin/chktest
bin/cmsutil
bin/conflict
bin/crlutil
bin/crmftest
bin/dbtest
bin/derdump
bin/dertimetest
bin/digest
bin/ecperf
bin/encodeinttest
bin/fbectest
bin/fipstest
bin/httpserv
bin/listsuites
bin/lowhashtest
bin/makepqg
bin/mangle
bin/modutil
bin/multinit
bin/nonspr10
bin/nss-policy-check
bin/ocspclnt
bin/ocspresp
bin/oidcalc
bin/p7content
bin/p7env
bin/p7sign
bin/p7verify
bin/pk11ectest
bin/pk11gcmtest
bin/pk11importtest
bin/pk11mode
bin/pk12util
bin/pk1sign
bin/pkix-errcodes
bin/pp
bin/pwdecrypt
bin/remtest
bin/rsaperf
bin/rsapoptst
bin/sdbthreadtst
bin/sdrtest
bin/secmodtest
bin/selfserv
bin/signtool
bin/signver
bin/ssltap
bin/strsclnt
bin/symkeyutil
bin/tstclnt
bin/validation
bin/vfychain
bin/vfyserv
"
TERMUX_SUBPKG_DESCRIPTION="Tools for NSS"