pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang Swith to CHECK_SHLIBS_SUPPORTED=no from individua...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/4b7c80711eb4
branches:  trunk
changeset: 451495:4b7c80711eb4
user:      pho <pho%pkgsrc.org@localhost>
date:      Tue Apr 27 13:55:25 2021 +0000

description:
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:

 lang/ghc7/Makefile   |  21 ++++++++++++++-------
 lang/ghc80/Makefile  |  21 ++++++++++++++-------
 lang/ghc810/Makefile |  15 +++++++++------
 lang/ghc84/Makefile  |  21 ++++++++++++++-------
 lang/ghc88/Makefile  |  16 +++++++++-------
 lang/ghc90/Makefile  |  16 +++++++++-------
 6 files changed, 69 insertions(+), 41 deletions(-)

diffs (236 lines):

diff -r 51885efc5aab -r 4b7c80711eb4 lang/ghc7/Makefile
--- a/lang/ghc7/Makefile        Tue Apr 27 13:04:32 2021 +0000
+++ b/lang/ghc7/Makefile        Tue Apr 27 13:55:25 2021 +0000
@@ -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 @@
 # 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 -r 51885efc5aab -r 4b7c80711eb4 lang/ghc80/Makefile
--- a/lang/ghc80/Makefile       Tue Apr 27 13:04:32 2021 +0000
+++ b/lang/ghc80/Makefile       Tue Apr 27 13:55:25 2021 +0000
@@ -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 @@
 # 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 -r 51885efc5aab -r 4b7c80711eb4 lang/ghc810/Makefile
--- a/lang/ghc810/Makefile      Tue Apr 27 13:04:32 2021 +0000
+++ b/lang/ghc810/Makefile      Tue Apr 27 13:55:25 2021 +0000
@@ -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 @@
 # 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 -r 51885efc5aab -r 4b7c80711eb4 lang/ghc84/Makefile
--- a/lang/ghc84/Makefile       Tue Apr 27 13:04:32 2021 +0000
+++ b/lang/ghc84/Makefile       Tue Apr 27 13:55:25 2021 +0000
@@ -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 @@
 # 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 -r 51885efc5aab -r 4b7c80711eb4 lang/ghc88/Makefile
--- a/lang/ghc88/Makefile       Tue Apr 27 13:04:32 2021 +0000
+++ b/lang/ghc88/Makefile       Tue Apr 27 13:55:25 2021 +0000
@@ -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 @@
 # 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 -r 51885efc5aab -r 4b7c80711eb4 lang/ghc90/Makefile
--- a/lang/ghc90/Makefile       Tue Apr 27 13:04:32 2021 +0000
+++ b/lang/ghc90/Makefile       Tue Apr 27 13:55:25 2021 +0000
@@ -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 @@
 # 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?



Home | Main Index | Thread Index | Old Index