gnu: gcc: Add $libdir to the RUNPATH of libvtv.so.

* gnu/packages/gcc.scm (gcc-4.9): Inherit from GCC-4.8.
  [source]: Add 'gcc-libvtv-runpath.patch'.
  (gcc-5.1): Inherit from GCC-4.9.
  [source]: Use patches from GCC-4.9.
* gnu/packages/patches/gcc-libvtv-runpath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
Ludovic Courtès 2015-04-30 13:31:59 +02:00
parent b416c647e9
commit 7e35b9dd3d
3 changed files with 41 additions and 23 deletions

View File

@ -420,6 +420,7 @@ dist_patch_DATA = \
gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-arm-link-spec-fix.patch \ gnu/packages/patches/gcc-arm-link-spec-fix.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \ gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gcc-libvtv-runpath.patch \
gnu/packages/patches/geoclue-config.patch \ gnu/packages/patches/geoclue-config.patch \
gnu/packages/patches/ghostscript-runpath.patch \ gnu/packages/patches/ghostscript-runpath.patch \
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \ gnu/packages/patches/gitolite-openssh-6.8-compat.patch \

View File

@ -316,7 +316,7 @@ Go. It also includes runtime support libraries for these languages.")
(patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) (patches (list (search-patch "gcc-arm-link-spec-fix.patch")))))))
(define-public gcc-4.9 (define-public gcc-4.9
(package (inherit gcc-4.7) (package (inherit gcc-4.8)
(version "4.9.2") (version "4.9.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -325,10 +325,12 @@ Go. It also includes runtime support libraries for these languages.")
(sha256 (sha256
(base32 (base32
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810")) "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))
(patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) (patches (map search-patch
'("gcc-arm-link-spec-fix.patch"
"gcc-libvtv-runpath.patch")))))))
(define-public gcc-5.1 (define-public gcc-5.1
(package (inherit gcc-4.7) (package (inherit gcc-4.9)
(version "5.1.0") (version "5.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -337,7 +339,7 @@ Go. It also includes runtime support libraries for these languages.")
(sha256 (sha256
(base32 (base32
"1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp")) "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp"))
(patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) (patches (origin-patches (package-source gcc-4.9)))))))
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t)) (define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES." "Return a custom version of GCC that supports LANGUAGES."

View File

@ -0,0 +1,15 @@
GCC 4.9 and later have libvtv and, just like libstdc++ (see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354), it doesn't
have $libdir in its RUNPATH, but it NEEDs libgcc_s. This patch
fixes that.
--- gcc-4.9.2/libvtv/Makefile.in 2014-10-30 09:28:58.000000000 +0100
+++ gcc-4.9.2/libvtv/Makefile.in 2015-04-30 09:51:04.161129705 +0200
@@ -15,6 +15,7 @@
@SET_MAKE@
+AM_LDFLAGS = -Wl,-rpath=$(libdir)
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@