diff options
author | pho <pho@pkgsrc.org> | 2021-04-27 13:55:25 +0000 |
---|---|---|
committer | pho <pho@pkgsrc.org> | 2021-04-27 13:55:25 +0000 |
commit | f555e0c6f9088cad73a51f0d785c643fe28b9691 (patch) | |
tree | ad9140b99f50d3571fcd69650d5406a576e98f98 /lang/ghc7 | |
parent | 5875f48e2fc537f91240479139e48458cbb19e5d (diff) | |
download | pkgsrc-f555e0c6f9088cad73a51f0d785c643fe28b9691.tar.gz |
Swith to CHECK_SHLIBS_SUPPORTED=no from individual CHECK_SHLIBS_SKIP list (pkg/56125)
Our binary packages have been broken because of bad "REQUIRES"
entries: GHC uses $ORIGIN in rpath but mk/pkgformat/pkg/metadata.mk
uses ldd(1) to extract the list of required .so objects, which causes
them to be wrongly expanded.
Diffstat (limited to 'lang/ghc7')
-rw-r--r-- | lang/ghc7/Makefile | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/lang/ghc7/Makefile b/lang/ghc7/Makefile index b409ccbbcdf..b7a865fd1fc 100644 --- a/lang/ghc7/Makefile +++ b/lang/ghc7/Makefile @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.45 2020/08/31 18:09:49 wiz Exp $ +# $NetBSD: Makefile,v 1.46 2021/04/27 13:55:25 pho Exp $ # ----------------------------------------------------------------------------- # Package metadata # DISTNAME= ghc-7.10.3-src -PKGREVISION= 4 +PKGREVISION= 5 PKGNAME= ${DISTNAME:S/-src$//} CATEGORIES= lang MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ @@ -166,11 +166,18 @@ CHECK_PORTABILITY_SKIP+= distrib/prep-bin-dist-mingw # Dynamically linked Haskell executables and libraries have rpaths to # dependent Haskell libraries, but the problem is that they are # specified with $ORIGIN, which isn't currently supported by -# ../../mk/check/check-shlibs-elf.awk. -CHECK_SHLIBS_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* -.for f in ghc ghc-pkg haddock hpc hsc2hs runghc -CHECK_SHLIBS_SKIP+= lib/${PKGNAME_NOREV}/bin/${f} -.endfor +# ../../mk/check/check-shlibs-elf.awk nor +# mk/pkgformat/pkg/metadata.mk. +# +# This means we need to disable the entire CHECK_SHLIBS machinery +# because otherwise the resulting binary package would contain +# REQUIRES lines with $ORIGIN wrongly expanded by ldd(1). +# +# Note that arguments like "-Wl,-rpath,$ORIGIN/.." are usually dropped +# by the "cleanup" phase of wrappers. This is not the case in GHC +# because GHC uses @file syntax while linking objects, and our +# wrappers does nothing about it. +CHECK_SHLIBS_SUPPORTED= no # ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable CTF_FILES_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* |