From 224963e9fc756a4819702ff2148a604e41cb9e32 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Wed, 6 Apr 2016 12:00:11 -0700 Subject: [PATCH] nss: dependency of chromium --- packages/addons/addon-depends/nss/package.mk | 78 ++++++ .../nss/patches/nss-01_crosscompile.patch | 27 ++ .../patches/nss-02_3.15.5-standalone-1.patch | 241 ++++++++++++++++++ 3 files changed, 346 insertions(+) create mode 100644 packages/addons/addon-depends/nss/package.mk create mode 100644 packages/addons/addon-depends/nss/patches/nss-01_crosscompile.patch create mode 100644 packages/addons/addon-depends/nss/patches/nss-02_3.15.5-standalone-1.patch diff --git a/packages/addons/addon-depends/nss/package.mk b/packages/addons/addon-depends/nss/package.mk new file mode 100644 index 0000000000..cf876f5605 --- /dev/null +++ b/packages/addons/addon-depends/nss/package.mk @@ -0,0 +1,78 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="nss" +PKG_VERSION="3.22.3" +PKG_REV="2" +PKG_ARCH="any" +PKG_LICENSE="Mozilla Public License" +PKG_SITE="http://ftp.mozilla.org/" +PKG_URL="http://ftp.mozilla.org/pub/security/nss/releases/NSS_3_22_3_RTM/src/nss-3.22.3-with-nspr-4.12.tar.gz" +PKG_DEPENDS_TARGET="toolchain nss:host nspr" +PKG_PRIORITY="optional" +PKG_SECTION="security" +PKG_SHORTDESC="The Network Security Services (NSS) package is a set of libraries designed to support cross-platform development of security-enabled client and server applications" +PKG_LONGDESC="The Network Security Services (NSS) package is a set of libraries designed to support cross-platform development of security-enabled client and server applications" +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" + +MAKEFLAGS=-j1 + +make_host() { + cd $ROOT/$PKG_BUILD/nss + + [ "$TARGET_ARCH" = "x86_64" ] && export USE_64=1 + + make -C coreconf/nsinstall +} + +makeinstall_host() { + cp $ROOT/$PKG_BUILD/nss/coreconf/nsinstall/*/nsinstall $ROOT/$TOOLCHAIN/bin +} + +post_makeinstall_host() { + rm -rf $ROOT/$PKG_BUILD/nss/coreconf/nsinstall/Linux* +} + +make_target() { + cd $ROOT/$PKG_BUILD/nss + + [ "$TARGET_ARCH" = "x86_64" ] && TARGET_USE_64="USE_64=1" + + make BUILD_OPT=1 $TARGET_USE_64 \ + NSPR_INCLUDE_DIR=$SYSROOT_PREFIX/usr/include/nspr \ + USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz \ + OS_TEST=$TARGET_ARCH \ + NSS_TESTS="dummy" \ + NSINSTALL=$ROOT/$TOOLCHAIN/bin/nsinstall \ + CPU_ARCH_TAG=$TARGET_ARCH \ + CC=$TARGET_CC LDFLAGS="$LDFLAGS -L$SYSROOT_PREFIX/usr/lib" \ + V=1 +} + +makeinstall_target() { + cd $ROOT/$PKG_BUILD + $STRIP dist/Linux*/lib/*.so + cp -L dist/Linux*/lib/*.so $SYSROOT_PREFIX/usr/lib + cp -L dist/Linux*/lib/libcrmf.a $SYSROOT_PREFIX/usr/lib + mkdir -p $SYSROOT_PREFIX/usr/include/nss + cp -RL dist/{public,private}/nss/* $SYSROOT_PREFIX/usr/include/nss + cp -L dist/Linux*/lib/pkgconfig/nss.pc $SYSROOT_PREFIX/usr/lib/pkgconfig +} diff --git a/packages/addons/addon-depends/nss/patches/nss-01_crosscompile.patch b/packages/addons/addon-depends/nss/patches/nss-01_crosscompile.patch new file mode 100644 index 0000000000..d8abfd5bdf --- /dev/null +++ b/packages/addons/addon-depends/nss/patches/nss-01_crosscompile.patch @@ -0,0 +1,27 @@ +diff --git a/nss/cmd/shlibsign/Makefile b/nss/cmd/shlibsign/Makefile +index 83f90fa..177feee 100644 +--- a/nss/cmd/shlibsign/Makefile ++++ b/nss/cmd/shlibsign/Makefile +@@ -95,5 +95,3 @@ else + endif + endif + +-libs install :: $(CHECKLOC) +- +diff --git a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk +index a586e5e..e815b72 100644 +--- a/nss/coreconf/Linux.mk ++++ b/nss/coreconf/Linux.mk +@@ -16,12 +16,6 @@ ifeq ($(USE_PTHREADS),1) + IMPL_STRATEGY = _PTH + endif + +-CC = gcc +-CCC = g++ +-RANLIB = ranlib +- +-DEFAULT_COMPILER = gcc +- + ifeq ($(OS_TARGET),Android) + ifndef ANDROID_NDK + $(error Must set ANDROID_NDK to the path to the android NDK first) diff --git a/packages/addons/addon-depends/nss/patches/nss-02_3.15.5-standalone-1.patch b/packages/addons/addon-depends/nss/patches/nss-02_3.15.5-standalone-1.patch new file mode 100644 index 0000000000..815e634fa7 --- /dev/null +++ b/packages/addons/addon-depends/nss/patches/nss-02_3.15.5-standalone-1.patch @@ -0,0 +1,241 @@ +Submitted By: Armin K. +Date: 2013-07-02 +Initial Package Version: 3.15 +Upstream Status: Not applicable +Origin: Based on dj's original patch, rediffed and modified for 3.15 +Description: Adds auto-generated nss.pc and nss-config script, and allows + building without nspr in the source tree. + +--- a/nss/config/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ b/nss/config/Makefile 2013-07-02 14:53:56.684750636 +0200 +@@ -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}'` ++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}/lib," \ ++ -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 ++ ln -sf ../../../../nss/config/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 ++ ln -sf ../../../nss/config/nss-config $(DIST)/bin ++ ++libs: ++ ++dummy: all export libs ++ +--- a/nss/config/nss-config.in 1970-01-01 01:00:00.000000000 +0100 ++++ b/nss/config/nss-config.in 2013-07-02 14:52:58.328084334 +0200 +@@ -0,0 +1,153 @@ ++#!/bin/sh ++ ++prefix=@prefix@ ++ ++major_version=@NSS_MAJOR_VERSION@ ++minor_version=@NSS_MINOR_VERSION@ ++patch_version=@NSS_PATCH_VERSION@ ++ ++usage() ++{ ++ cat <&2 ++fi ++ ++lib_nss=yes ++lib_nssutil=yes ++lib_smime=yes ++lib_ssl=yes ++lib_softokn=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 ++ ;; ++ nss) ++ lib_nss=yes ++ ;; ++ nssutil) ++ lib_nssutil=yes ++ ;; ++ smime) ++ lib_smime=yes ++ ;; ++ ssl) ++ lib_ssl=yes ++ ;; ++ softokn) ++ lib_softokn=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="-L$libdir" ++ if test -n "$lib_nss"; then ++ libdirs="$libdirs -lnss${major_version}" ++ fi ++ if test -n "$lib_nssutil"; then ++ libdirs="$libdirs -lnssutil${major_version}" ++ fi ++ if test -n "$lib_smime"; then ++ libdirs="$libdirs -lsmime${major_version}" ++ fi ++ if test -n "$lib_ssl"; then ++ libdirs="$libdirs -lssl${major_version}" ++ fi ++ if test -n "$lib_softokn"; then ++ libdirs="$libdirs -lsoftokn${major_version}" ++ fi ++ echo $libdirs ++fi ++ +--- a/nss/config/nss.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ b/nss/config/nss.pc.in 2013-07-02 14:52:58.328084334 +0200 +@@ -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.8 ++Libs: -L@libdir@ -lnss@NSS_MAJOR_VERSION@ -lnssutil@NSS_MAJOR_VERSION@ -lsmime@NSS_MAJOR_VERSION@ -lssl@NSS_MAJOR_VERSION@ -lsoftokn@NSS_MAJOR_VERSION@ ++Cflags: -I${includedir} ++ +--- a/nss/Makefile 2013-05-28 23:43:24.000000000 +0200 ++++ b/nss/Makefile 2013-07-02 14:52:58.328084334 +0200 +@@ -44,7 +44,7 @@ + # (7) Execute "local" rules. (OPTIONAL). # + ####################################################################### + +-nss_build_all: build_nspr all ++nss_build_all: all + + nss_clean_all: clobber_nspr clobber + +--- a/nss/manifest.mn 2013-05-28 23:43:24.000000000 +0200 ++++ b/nss/manifest.mn 2013-07-02 14:52:58.331417666 +0200 +@@ -10,4 +10,4 @@ + + RELEASE = nss + +-DIRS = coreconf lib cmd external_tests ++DIRS = coreconf lib cmd config