summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-04-05 01:17:30 +0200
committerLudovic Courtès <ludo@gnu.org>2015-04-05 01:17:30 +0200
commit3e462da5c1c48c43f6da95cba6237e24452b2d6c (patch)
tree3a72ab30adabd5188fb405efdb53ea9dc9484419
parent353fda815e8b7863408857048aff224bbd0716d5 (diff)
downloadpatches-3e462da5c1c48c43f6da95cba6237e24452b2d6c.tar
patches-3e462da5c1c48c43f6da95cba6237e24452b2d6c.tar.gz
gnu: openssl: Set appropriate RUNPATH on shared libraries.
Fixes <http://bugs.gnu.org/20041>. Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer). * gnu/packages/patches/openssl-runpath.patch: New file. * gnu/packages/openssl.scm (openssl)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/openssl.scm3
-rw-r--r--gnu/packages/patches/openssl-runpath.patch15
3 files changed, 18 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index d3e4dafc4e..bb2bef33d0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -489,6 +489,7 @@ dist_patch_DATA = \
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
gnu/packages/patches/nvi-db4.patch \
gnu/packages/patches/openexr-missing-samples.patch \
+ gnu/packages/patches/openssl-runpath.patch \
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \
gnu/packages/patches/ots-no-include-missing-file.patch \
gnu/packages/patches/patchelf-page-size.patch \
diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm
index 6acbb12737..1ed7a7a1f2 100644
--- a/gnu/packages/openssl.scm
+++ b/gnu/packages/openssl.scm
@@ -36,7 +36,8 @@
".tar.gz"))
(sha256
(base32
- "0jijgzf72659pikms2bc5w31h78xrd1h5zp2r01an2h340y3kdhm"))))
+ "0jijgzf72659pikms2bc5w31h78xrd1h5zp2r01an2h340y3kdhm"))
+ (patches (list (search-patch "openssl-runpath.patch")))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
diff --git a/gnu/packages/patches/openssl-runpath.patch b/gnu/packages/patches/openssl-runpath.patch
new file mode 100644
index 0000000000..fa7c0b9962
--- /dev/null
+++ b/gnu/packages/patches/openssl-runpath.patch
@@ -0,0 +1,15 @@
+This patch makes the build system pass -Wl,-rpath=$out/lib even for
+libraries (it already does so for executables, thanks to 'DO_GNU_APP'
+in 'Makefile.shared'.)
+
+--- openssl-1.0.2a/Makefile.shared 2015-04-05 01:07:35.357602454 +0200
++++ openssl-1.0.2a/Makefile.shared 2015-04-05 01:09:50.474513303 +0200
+@@ -106,7 +106,7 @@ LINK_SO= \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+- $${SHAREDCMD} $${SHAREDFLAGS} \
++ $${SHAREDCMD} $${SHAREDFLAGS} -Wl,-rpath,$(LIBRPATH) \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+ $$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
+ ) && $(SYMLINK_SO)