Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 324942 Details for
Bug 436216
dev-libs/nss-3.13.6: fails to cross compile
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
ebuild patch
nss.patch (text/plain), 3.49 KB, created by
Ambroz Bizjak
on 2012-09-25 13:22:09 UTC
(
hide
)
Description:
ebuild patch
Filename:
MIME Type:
Creator:
Ambroz Bizjak
Created:
2012-09-25 13:22:09 UTC
Size:
3.49 KB
patch
obsolete
>--- nss-3.13.6.ebuild.old 2012-09-25 13:47:10.534156441 +0200 >+++ nss-3.13.6.ebuild 2012-09-25 14:28:13.894223984 +0200 >@@ -2,7 +2,7 @@ > # Distributed under the terms of the GNU General Public License v2 > # $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.13.6.ebuild,v 1.4 2012/09/15 12:12:45 nativemad Exp $ > >-EAPI=3 >+EAPI=4 > inherit eutils flag-o-matic multilib toolchain-funcs > > NSPR_VER="4.9.2" >@@ -26,6 +26,15 @@ > >=dev-db/sqlite-3.5 > sys-libs/zlib" > >+pkg_pretend() { >+ if [ "${ROOT}" != "/" ]; then >+ HOST_SHLIBSIGN=$(which shlibsign) >+ if [ -z "$HOST_SHLIBSIGN" ]; then >+ die "Please install NSS with USE=utils on host system." >+ fi >+ fi >+} >+ > src_setup() { > export LC_ALL="C" > } >@@ -37,6 +46,7 @@ > epatch "${DISTDIR}/${PN}-3.13.6-add_spi+cacerts_ca_certs.patch" > epatch "${DISTDIR}/${PN}-3.13.3_pem.support" > epatch "${FILESDIR}/${PN}-3.13.5-x32.patch" >+ epatch "${FILESDIR}/${PN}-3.13.6-no-sign.patch" > > cd "${S}"/mozilla/security/coreconf || die > # hack nspr paths >@@ -59,6 +69,11 @@ > > epatch "${FILESDIR}/nss-3.13.1-solaris-gcc.patch" > >+ if tc-is-cross-compiler; then >+ # use the nsinstall binary we build later >+ epatch "${FILESDIR}/${PN}-3.13.6-nsinstall-path.patch" >+ fi >+ > # dirty hack > cd "${S}"/mozilla/security/nss || die > sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \ >@@ -79,8 +94,8 @@ > *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";; > esac > >- export NSPR_INCLUDE_DIR=`nspr-config --includedir` >- export NSPR_LIB_DIR=`nspr-config --libdir` >+ export NSPR_INCLUDE_DIR=${ROOT}/$( $(tc-getPKG_CONFIG) --variable includedir nspr ) >+ export NSPR_LIB_DIR=${ROOT}/$( $(tc-getPKG_CONFIG) --variable libdir nspr ) > export BUILD_OPT=1 > export NSS_USE_SYSTEM_SQLITE=1 > export NSDISTMODE=copy >@@ -89,12 +104,26 @@ > export FREEBL_NO_DEPEND=1 > export ASFLAGS="" > >- cd "${S}"/mozilla/security/coreconf || die >- emake -j1 CC="$(tc-getCC)" || die "coreconf make failed" >+ local make_args >+ >+ if tc-is-cross-compiler; then >+ # NSS can't figure out anything when cross compiling >+ make_args="OS_TARGET=Linux OS_RELEASE=2.6 OS_TEST=$(tc-arch)" >+ >+ # build a host version of nsinstall >+ $(tc-getBUILD_CC) $BUILD_CFLAGS $BUILD_LDFLAGS \ >+ "${S}"/mozilla/security/coreconf/nsinstall/{nsinstall,pathsub}.c \ >+ -o "${S}"/mozilla/security/build-nsinstall \ >+ || die "failed to compile build-nsinstall" >+ else >+ cd "${S}"/mozilla/security/coreconf || die >+ emake -j1 CC="$(tc-getCC)" || die "coreconf make failed" >+ fi >+ > cd "${S}"/mozilla/security/dbm || die >- emake -j1 CC="$(tc-getCC)" || die "dbm make failed" >+ emake -j1 CC="$(tc-getCC)" ${make_args} || die "dbm make failed" > cd "${S}"/mozilla/security/nss || die >- emake -j1 CC="$(tc-getCC)" || die "nss make failed" >+ emake -j1 CC="$(tc-getCC)" ${make_args} || die "nss make failed" > } > > # Altering these 3 libraries breaks the CHK verification. >@@ -204,7 +233,20 @@ > > pkg_postinst() { > # We must re-sign the libraries AFTER they are stripped. >- generate_chk "${EROOT}"/usr/bin/shlibsign "${EROOT}"/usr/$(get_libdir) >+ local shlibsign >+ if [ "${ROOT}" == "/" ]; then >+ shlibsign="${EROOT}"/usr/bin/shlibsign >+ else >+ shlibsign=$(which shlibsign) >+ if [ -z "${shlibsign}" ]; then >+ eerror "Could not sign libraries because shlibsign is not available." >+ eerror "Please install NSS with USE=utils on host and reinstall this" >+ eerror "to get libraries properly signed." >+ return >+ fi >+ fi >+ >+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir) > } > > pkg_postrm() {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 436216
:
324942
|
324944
|
324946
|
331578
|
331580