[Libreoffice-commits] core.git: external/nss

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Wed Mar 25 07:25:55 UTC 2020


 external/nss/UnpackedTarball_gyp.mk |    3 +++
 external/nss/gyp-rpath.patch        |   12 ++++++++++++
 2 files changed, 15 insertions(+)

New commits:
commit 23245f723fb29262b8543d6447d1b0bb69cb50fb
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Mar 24 22:45:23 2020 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Wed Mar 25 08:25:22 2020 +0100

    external/nss: Fix rpath for Linux et al
    
    See CustomTarget_postprocess/check_dynamic_objects (in a
    --with-package-format=... build) failing after
    8512f4ca090c85477a6670438aeefe7fdfcf8a98 "build nss using their new build system
    (gyp/ninja-based)" with
    
    > instdir/program/libsmime3.so has no RPATH
    > instdir/program/libnssutil3.so has no RPATH
    > instdir/program/libnssdbm3.so has no RPATH
    > instdir/program/libfreeblpriv3.so has no RPATH
    > instdir/program/libsqlite3.so has no RPATH
    > instdir/program/libfreebl3.so has no RPATH
    > instdir/program/libnssckbi.so has no RPATH
    > instdir/program/libnss3.so has no RPATH
    > instdir/program/libsoftokn3.so has no RPATH
    > instdir/program/libssl3.so has no RPATH
    
    workdir/UnpackedTarball/gyp/pylib/gyp/generator/ninja.py already has logic to
    add -Wl,-rpath=$ORIGIN/... to certain link command lines, presumably for
    building certain executables, but of which we apparently include none in
    ExternalPackage_nss, so it shouldn't hurt to keep them using that other
    -Wl,-rpath=$ORIGIN/...  I have no idea whether there would be a cleaner way than
    this patch to pass an additional -Wl,-rpath=$ORIGIN to all link command lines
    via the invocation of build.sh in ExternalProject_nss (even if those executables
    mentioned in the previous sentence would then have two -Wl,-rpath=..., that
    should not hurt in practice).
    
    (Most, if not all of the rpath-related hunks of external/nss/nss.patch that were
    needed for the make-based nss build on Linux et al prior to
    8512f4ca090c85477a6670438aeefe7fdfcf8a98 can probably be removed in a follow-up
    commit.)
    
    Change-Id: I65eaf52efeb6feceb8540e0aedf340f9a9a18599
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91012
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/external/nss/UnpackedTarball_gyp.mk b/external/nss/UnpackedTarball_gyp.mk
index ce44ae51f996..72358686e97a 100644
--- a/external/nss/UnpackedTarball_gyp.mk
+++ b/external/nss/UnpackedTarball_gyp.mk
@@ -11,8 +11,11 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,gyp))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,gyp,$(GYP_TARBALL)))
 
+$(eval $(call gb_UnpackedTarball_set_patchlevel,gyp,0))
+
 $(eval $(call gb_UnpackedTarball_add_patches,gyp,\
 	external/nss/gyp-buildsystem.patch.0 \
+	external/nss/gyp-rpath.patch \
 ))
 
 ifeq ($(OS),WNT)
diff --git a/external/nss/gyp-rpath.patch b/external/nss/gyp-rpath.patch
new file mode 100644
index 000000000000..d918584c9745
--- /dev/null
+++ b/external/nss/gyp-rpath.patch
@@ -0,0 +1,12 @@
+--- pylib/gyp/generator/ninja.py
++++ pylib/gyp/generator/ninja.py
+@@ -1241,6 +1241,8 @@
+         else:
+           ldflags.append('-Wl,-rpath=%s' % self.target_rpath)
+         ldflags.append('-Wl,-rpath-link=%s' % rpath)
++      elif not is_executable:
++        ldflags.append('-Wl,-rpath=\$$ORIGIN')
+     self.WriteVariableList(ninja_file, 'ldflags',
+                            map(self.ExpandSpecial, ldflags))
+ 
+


More information about the Libreoffice-commits mailing list