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 | |
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.
-rw-r--r-- | lang/ghc7/Makefile | 21 | ||||
-rw-r--r-- | lang/ghc80/Makefile | 21 | ||||
-rw-r--r-- | lang/ghc810/Makefile | 15 | ||||
-rw-r--r-- | lang/ghc84/Makefile | 21 | ||||
-rw-r--r-- | lang/ghc88/Makefile | 16 | ||||
-rw-r--r-- | lang/ghc90/Makefile | 16 |
6 files changed, 69 insertions, 41 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}.* diff --git a/lang/ghc80/Makefile b/lang/ghc80/Makefile index 73f69007c0d..ebad8c25727 100644 --- a/lang/ghc80/Makefile +++ b/lang/ghc80/Makefile @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.9 2021/02/17 08:44:33 wiz Exp $ +# $NetBSD: Makefile,v 1.10 2021/04/27 13:55:25 pho Exp $ # ----------------------------------------------------------------------------- # Package metadata # DISTNAME= ghc-8.0.2-src PKGNAME= ${DISTNAME:S/-src$//} -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= lang MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ EXTRACT_SUFX= .tar.xz @@ -165,11 +165,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-iserv-dyn 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}.* diff --git a/lang/ghc810/Makefile b/lang/ghc810/Makefile index 534826c488a..a15637a86d0 100644 --- a/lang/ghc810/Makefile +++ b/lang/ghc810/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.2 2021/02/16 15:41:10 ryoon Exp $ +# $NetBSD: Makefile,v 1.3 2021/04/27 13:55:25 pho Exp $ # ----------------------------------------------------------------------------- # Package metadata # DISTNAME= ghc-8.10.4-src +PKGREVISION= 1 PKGNAME= ${DISTNAME:S/-src$//} CATEGORIES= lang MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ @@ -204,16 +205,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. +# ../../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_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* -.for f in ghc ghc-iserv-dyn ghc-pkg haddock hpc hsc2hs runghc -CHECK_SHLIBS_SKIP+= lib/${PKGNAME_NOREV}/bin/${f} -.endfor +CHECK_SHLIBS_SUPPORTED= no # ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable CTF_FILES_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* diff --git a/lang/ghc84/Makefile b/lang/ghc84/Makefile index 5e6ead4a622..fb04ca48700 100644 --- a/lang/ghc84/Makefile +++ b/lang/ghc84/Makefile @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.11 2021/02/17 07:02:30 wiz Exp $ +# $NetBSD: Makefile,v 1.12 2021/04/27 13:55:25 pho Exp $ # ----------------------------------------------------------------------------- # Package metadata # DISTNAME= ghc-8.4.4-src PKGNAME= ${DISTNAME:S/-src$//} -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= lang MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ EXTRACT_SUFX= .tar.xz @@ -181,11 +181,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-iserv-dyn 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}.* diff --git a/lang/ghc88/Makefile b/lang/ghc88/Makefile index 318fb2649a2..16f41a0b115 100644 --- a/lang/ghc88/Makefile +++ b/lang/ghc88/Makefile @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.16 2021/02/16 21:13:52 wiz Exp $ +# $NetBSD: Makefile,v 1.17 2021/04/27 13:55:25 pho Exp $ # ----------------------------------------------------------------------------- # Package metadata # DISTNAME= ghc-8.8.4-src PKGNAME= ${DISTNAME:S/-src$//} -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= lang MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ EXTRACT_SUFX= .tar.xz @@ -205,16 +205,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. +# ../../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_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* -.for f in ghc ghc-iserv-dyn ghc-pkg haddock hpc hsc2hs runghc -CHECK_SHLIBS_SKIP+= lib/${PKGNAME_NOREV}/bin/${f} -.endfor +CHECK_SHLIBS_SUPPORTED= no # ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable CTF_FILES_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* diff --git a/lang/ghc90/Makefile b/lang/ghc90/Makefile index 24490a22ced..9fe02d3f1b4 100644 --- a/lang/ghc90/Makefile +++ b/lang/ghc90/Makefile @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.8 2021/04/27 11:59:42 pho Exp $ +# $NetBSD: Makefile,v 1.9 2021/04/27 13:55:25 pho Exp $ # ----------------------------------------------------------------------------- # Package metadata # DISTNAME= ghc-9.0.1-src -PKGREVISION= 1 +PKGREVISION= 2 PKGNAME= ${DISTNAME:S/-src$//} CATEGORIES= lang MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ @@ -187,16 +187,18 @@ GENERATE_PLIST+= \ # 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. +# ../../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_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* -.for f in ghc ghc-iserv-dyn ghc-pkg haddock hpc hsc2hs runghc -CHECK_SHLIBS_SKIP+= lib/${PKGNAME_NOREV}/bin/${f} -.endfor +CHECK_SHLIBS_SUPPORTED= no # ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable # XXX: On which platform? Is it still an issue? |