From 7e35b9dd3ddb6ec4b9bed3c01a99fe1638e96c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 30 Apr 2015 13:31:59 +0200 Subject: [PATCH] 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. --- gnu-system.am | 1 + gnu/packages/gcc.scm | 48 ++++++++++--------- gnu/packages/patches/gcc-libvtv-runpath.patch | 15 ++++++ 3 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 gnu/packages/patches/gcc-libvtv-runpath.patch diff --git a/gnu-system.am b/gnu-system.am index 820e1e1e79..b2f5bbe833 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -420,6 +420,7 @@ dist_patch_DATA = \ gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gcc-arm-link-spec-fix.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/ghostscript-runpath.patch \ gnu/packages/patches/gitolite-openssh-6.8-compat.patch \ diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index dbce52e2f2..8804f3b12a 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -307,37 +307,39 @@ Go. It also includes runtime support libraries for these languages.") (package (inherit gcc-4.7) (version "4.8.4") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-" - version "/gcc-" version ".tar.bz2")) - (sha256 - (base32 - "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a")) - (patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a")) + (patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) (define-public gcc-4.9 - (package (inherit gcc-4.7) + (package (inherit gcc-4.8) (version "4.9.2") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-" - version "/gcc-" version ".tar.bz2")) - (sha256 - (base32 - "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810")) - (patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810")) + (patches (map search-patch + '("gcc-arm-link-spec-fix.patch" + "gcc-libvtv-runpath.patch"))))))) (define-public gcc-5.1 - (package (inherit gcc-4.7) + (package (inherit gcc-4.9) (version "5.1.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-" - version "/gcc-" version ".tar.bz2")) - (sha256 - (base32 - "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp")) - (patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp")) + (patches (origin-patches (package-source gcc-4.9))))))) (define* (custom-gcc gcc name languages #:key (separate-lib-output? #t)) "Return a custom version of GCC that supports LANGUAGES." diff --git a/gnu/packages/patches/gcc-libvtv-runpath.patch b/gnu/packages/patches/gcc-libvtv-runpath.patch new file mode 100644 index 0000000000..df74363c83 --- /dev/null +++ b/gnu/packages/patches/gcc-libvtv-runpath.patch @@ -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@