Sat May 1 04:43:57 2021 UTC ()
Port the $ORIGIN removal patch from ghc88


(pho)
diff -r1.1 -r1.2 pkgsrc/lang/ghc810/DESCR
diff -r1.1 -r1.2 pkgsrc/lang/ghc810/bootstrap.mk
diff -r1.3 -r1.4 pkgsrc/lang/ghc810/Makefile
diff -r1.2 -r1.3 pkgsrc/lang/ghc810/buildlink3.mk
diff -r1.2 -r1.3 pkgsrc/lang/ghc810/distinfo
diff -r0 -r1.1 pkgsrc/lang/ghc810/patches/patch-ghc.mk
diff -r0 -r1.1 pkgsrc/lang/ghc810/patches/patch-rts_ghc.mk
diff -r0 -r1.1 pkgsrc/lang/ghc810/patches/patch-rules_build-package-way.mk
diff -r0 -r1.1 pkgsrc/lang/ghc810/patches/patch-rules_distdir-way-opts.mk

cvs diff -r1.1 -r1.2 pkgsrc/lang/ghc810/DESCR (expand / switch to unified diff)

--- pkgsrc/lang/ghc810/DESCR 2021/02/09 13:16:24 1.1
+++ pkgsrc/lang/ghc810/DESCR 2021/05/01 04:43:57 1.2
@@ -1,12 +1,15 @@ @@ -1,12 +1,15 @@
1GHC: The Glasgow Haskell Compiler. 1GHC: The Glasgow Haskell Compiler.
2 2
3The Glasgow Haskell Compiler is a robust, fully-featured, optimising 3The Glasgow Haskell Compiler is a robust, fully-featured, optimising
4compiler for the functional programming language Haskell 98 4compiler for the functional programming language Haskell 98
5(http://www.haskell.org). GHC compiles Haskell to either native code 5(http://www.haskell.org). GHC compiles Haskell to either native code
6or C. It implements numerous experimental language extensions to 6or C. It implements numerous experimental language extensions to
7Haskell, including concurrency, a foreign language interface, several 7Haskell, including concurrency, a foreign language interface, several
8type-system extensions, exceptions, and so on. GHC comes with a 8type-system extensions, exceptions, and so on. GHC comes with a
9generational garbage collector, a space and time profiler, and a 9generational garbage collector, a space and time profiler, and a
10comprehensive set of libraries. 10comprehensive set of libraries.
11 11
12This package provides the 8.10.x release series. 12This package provides the 8.10.x release series which have been
 13superseded by GHC 9.0.x (lang/ghc90). There is basically no reason why
 14one would want to use this anymore, as GHC 9 can also be bootstrapped
 15using GHC 8.8.

cvs diff -r1.1 -r1.2 pkgsrc/lang/ghc810/bootstrap.mk (expand / switch to unified diff)

--- pkgsrc/lang/ghc810/bootstrap.mk 2021/02/09 13:16:24 1.1
+++ pkgsrc/lang/ghc810/bootstrap.mk 2021/05/01 04:43:57 1.2
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: bootstrap.mk,v 1.1 2021/02/09 13:16:24 ryoon Exp $ 1# $NetBSD: bootstrap.mk,v 1.2 2021/05/01 04:43:57 pho Exp $
2# ----------------------------------------------------------------------------- 2# -----------------------------------------------------------------------------
3# Select a bindist of bootstrapping compiler on a per-platform basis. 3# Select a bindist of bootstrapping compiler on a per-platform basis.
4# 4#
5# BOOT_ARCHIVE 5# BOOT_ARCHIVE
6# This variable is set to the name of compressed archive file of a 6# This variable is set to the name of compressed archive file of a
7# bootstrapping compiler for the current platform. 7# bootstrapping compiler for the current platform.
8# 8#
9# BOOT_VERSION 9# BOOT_VERSION
10# Version of the bootstrapping compiler to use. This can be 10# Version of the bootstrapping compiler to use. This can be
11# overriden for specific platforms. 11# overriden for specific platforms.
12# 12#
13.include "../../mk/bsd.prefs.mk" 13.include "../../mk/bsd.prefs.mk"
14 14
@@ -44,27 +44,27 @@ @@ -44,27 +44,27 @@
44#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS 44#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
45#.endif 45#.endif
46 46
47#.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 47#.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
48#BOOT_VERSION:= 8.4.4 48#BOOT_VERSION:= 8.4.4
49#BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-freebsd.tar.xz 49#BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-freebsd.tar.xz
50#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS 50#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
51#.endif 51#.endif
52 52
53.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) 53.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
54BOOT_VERSION:= 8.8.4 54BOOT_VERSION:= 8.8.4
55BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-netbsd.tar.xz 55BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-netbsd.tar.xz
56DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS 56DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
57. if !empty(MACHINE_PLATFORM:MNetBSD-9.99*-x86_64) || make(distinfo) || make (makesum) || make(mdi) 57. if !empty(MACHINE_PLATFORM:MNetBSD-9.99.*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
58DISTFILES+= netbsd-9.0-amd64-libterminfo.tar.gz 58DISTFILES+= netbsd-9.0-amd64-libterminfo.tar.gz
59EXTRACT_ONLY+= netbsd-9.0-amd64-libterminfo.tar.gz 59EXTRACT_ONLY+= netbsd-9.0-amd64-libterminfo.tar.gz
60. endif 60. endif
61.endif 61.endif
62 62
63#.if !empty(MACHINE_PLATFORM:MSunOS-*-i386) || make(distinfo) || make (makesum) || make(mdi) 63#.if !empty(MACHINE_PLATFORM:MSunOS-*-i386) || make(distinfo) || make (makesum) || make(mdi)
64#BOOT_VERSION:= 8.4.4 64#BOOT_VERSION:= 8.4.4
65#BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-i386-unknown-solaris2.tar.xz 65#BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-i386-unknown-solaris2.tar.xz
66#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS 66#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
67#.endif 67#.endif
68 68
69#.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) 69#.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
70#BOOT_VERSION:= 8.4.4 70#BOOT_VERSION:= 8.4.4

cvs diff -r1.3 -r1.4 pkgsrc/lang/ghc810/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/ghc810/Makefile 2021/04/27 13:55:25 1.3
+++ pkgsrc/lang/ghc810/Makefile 2021/05/01 04:43:57 1.4
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1# $NetBSD: Makefile,v 1.3 2021/04/27 13:55:25 pho Exp $ 1# $NetBSD: Makefile,v 1.4 2021/05/01 04:43:57 pho Exp $
2# ----------------------------------------------------------------------------- 2# -----------------------------------------------------------------------------
3# Package metadata 3# Package metadata
4# 4#
5DISTNAME= ghc-8.10.4-src 5DISTNAME= ghc-8.10.4-src
6PKGREVISION= 1 6PKGREVISION= 2
7PKGNAME= ${DISTNAME:S/-src$//} 7PKGNAME= ${DISTNAME:S/-src$//}
8CATEGORIES= lang 8CATEGORIES= lang
9MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ 9MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/
10EXTRACT_SUFX= .tar.xz 10EXTRACT_SUFX= .tar.xz
11 11
12MAINTAINER= pkgsrc-users@NetBSD.org 12MAINTAINER= pkgsrc-users@NetBSD.org
13HOMEPAGE= https://www.haskell.org/ghc/ 13HOMEPAGE= https://www.haskell.org/ghc/
14COMMENT= Compiler for the functional language Haskell - 8.10 Release Series 14COMMENT= Compiler for the functional language Haskell - 8.10 Release Series
15LICENSE= modified-bsd 15LICENSE= modified-bsd
16 16
17UNLIMIT_RESOURCES= datasize virtualsize 17UNLIMIT_RESOURCES= datasize virtualsize
18 18
19# TODO: We should be using the alternatives framework. 19# TODO: We should be using the alternatives framework.
@@ -192,62 +192,46 @@ post-install: @@ -192,62 +192,46 @@ post-install:
192# [2019-12-27; pho]. 192# [2019-12-27; pho].
193GENERATE_PLIST+= \ 193GENERATE_PLIST+= \
194 cd ${DESTDIR}${PREFIX} && \ 194 cd ${DESTDIR}${PREFIX} && \
195 ${FIND} * \( -type f -o -type l \) | ${SORT}; 195 ${FIND} * \( -type f -o -type l \) | ${SORT};
196 196
197 197
198# ----------------------------------------------------------------------------- 198# -----------------------------------------------------------------------------
199# Sanity checks 199# Sanity checks
200# 200#
201 201
202# There is an unused script which don't pass the portability test. 202# There is an unused script which don't pass the portability test.
203CHECK_PORTABILITY_SKIP+= distrib/prep-bin-dist-mingw 203CHECK_PORTABILITY_SKIP+= distrib/prep-bin-dist-mingw
204 204
205# Dynamically linked Haskell executables and libraries have rpaths to 
206# dependent Haskell libraries, but the problem is that they are 
207# specified with $ORIGIN, which isn't currently supported by 
208# ../../mk/check/check-shlibs-elf.awk nor 
209# mk/pkgformat/pkg/metadata.mk. 
210# 
211# This means we need to disable the entire CHECK_SHLIBS machinery 
212# because otherwise the resulting binary package would contain 
213# REQUIRES lines with $ORIGIN wrongly expanded by ldd(1). 
214# 
215# Note that arguments like "-Wl,-rpath,$ORIGIN/.." are usually dropped 
216# by the "cleanup" phase of wrappers. This is not the case in GHC 
217# because GHC uses @file syntax while linking objects, and our 
218# wrappers does nothing about it. 
219CHECK_SHLIBS_SUPPORTED= no 
220 
221# ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable 205# ghc57207_0.s: failed to add inputs for merge: Resource temporarily unavailable
222CTF_FILES_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.* 206CTF_FILES_SKIP+= */libHS*-ghc${PKGVERSION_NOREV}.*
223 207
224# ld: fatal: relocation error ... relocation requires reference symbol 208# ld: fatal: relocation error ... relocation requires reference symbol
225STRIP_FILES_SKIP+= lib/${PKGNAME_NOREV}/libHSrts.a 209STRIP_FILES_SKIP+= lib/${PKGNAME_NOREV}/libHSrts.a
226 210
227 211
228# ----------------------------------------------------------------------------- 212# -----------------------------------------------------------------------------
229# Dependencies 213# Dependencies
230# 214#
231.if ${BUILD_SPHINX_HTML} != "no" 215.if ${BUILD_SPHINX_HTML} != "no"
232BUILDLINK_DEPMETHOD.python:= build 216BUILDLINK_DEPMETHOD.python:= build
233.include "../../lang/python/pyversion.mk" 217.include "../../lang/python/pyversion.mk"
234BUILD_DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx 218BUILD_DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
235.endif 219.endif
236 220
237# NetBSD 9.x have libcurses with a newer major version than the 221# NetBSD 9.x have libcurses with a newer major version than the
238# bootstrap kit is linked against. For now, work around this with 222# bootstrap kit is linked against. For now, work around this with
239# compat80. 223# compat80.
240.if ${OPSYS} == "NetBSD" && empty(OS_VERSION:M[0-8].*) 224.if ${OPSYS} == "NetBSD" && empty(OS_VERSION:M[0-8].*)
241BUILD_DEPENDS+= compat80-[0-9]*:../../emulators/compat80 225BUILD_DEPENDS+= compat80-[0-9]*:../../emulators/compat80
242# In a sandboxed build environment, we have to reach over to the 226# In a sandboxed build environment, we have to reach over to the
243# installed libraries themselves, since the symlinks compat80 adds 227# installed libraries themselves, since the symlinks compat80 adds
244# to the /usr tree can't be applied. 228# to the /usr tree can't be applied.
245ALL_ENV+= LD_LIBRARY_PATH=${PREFIX}/emul/netbsd/usr/lib:${WRKDIR}/lib:${FILESDIR} 229ALL_ENV+= LD_LIBRARY_PATH=${PREFIX}/emul/netbsd/usr/lib:${WRKDIR}/lib
246.endif 230.endif
247 231
248.include "../../converters/libiconv/buildlink3.mk" 232.include "../../converters/libiconv/buildlink3.mk"
249.include "../../devel/libffi/buildlink3.mk" 233.include "../../devel/libffi/buildlink3.mk"
250.include "../../devel/gmp/buildlink3.mk" 234.include "../../devel/gmp/buildlink3.mk"
251.include "../../mk/curses.buildlink3.mk" 235.include "../../mk/curses.buildlink3.mk"
252.include "../../mk/pthread.buildlink3.mk" 236.include "../../mk/pthread.buildlink3.mk"
253.include "../../mk/bsd.pkg.mk" 237.include "../../mk/bsd.pkg.mk"

cvs diff -r1.2 -r1.3 pkgsrc/lang/ghc810/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/lang/ghc810/buildlink3.mk 2021/02/25 10:36:52 1.2
+++ pkgsrc/lang/ghc810/buildlink3.mk 2021/05/01 04:43:57 1.3
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: buildlink3.mk,v 1.2 2021/02/25 10:36:52 nia Exp $ 1# $NetBSD: buildlink3.mk,v 1.3 2021/05/01 04:43:57 pho Exp $
2 2
3BUILDLINK_TREE+= ghc 3BUILDLINK_TREE+= ghc
4 4
5.if !defined(GHC_BUILDLINK3_MK) 5.if !defined(GHC_BUILDLINK3_MK)
6GHC_BUILDLINK3_MK:= 6GHC_BUILDLINK3_MK:=
7 7
8BUILDLINK_API_DEPENDS.ghc+= ghc>=8.10<8.11 8BUILDLINK_API_DEPENDS.ghc+= ghc>=8.10<8.11
9BUILDLINK_ABI_DEPENDS.ghc+= ghc>=8.10<8.11 9BUILDLINK_ABI_DEPENDS.ghc+= ghc>=8.10<8.11
10BUILDLINK_PKGSRCDIR.ghc?= ../../lang/ghc88 10BUILDLINK_PKGSRCDIR.ghc?= ../../lang/ghc810
11 11
12.include "../../converters/libiconv/buildlink3.mk" 12.include "../../converters/libiconv/buildlink3.mk"
13.include "../../devel/libffi/buildlink3.mk" 13.include "../../devel/libffi/buildlink3.mk"
14.include "../../devel/gmp/buildlink3.mk" 14.include "../../devel/gmp/buildlink3.mk"
15.include "../../mk/curses.buildlink3.mk" 15.include "../../mk/curses.buildlink3.mk"
16.endif # GHC_BUILDLINK3_MK 16.endif # GHC_BUILDLINK3_MK
17 17
18BUILDLINK_TREE+= -ghc 18BUILDLINK_TREE+= -ghc

cvs diff -r1.2 -r1.3 pkgsrc/lang/ghc810/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/ghc810/distinfo 2021/02/16 15:41:10 1.2
+++ pkgsrc/lang/ghc810/distinfo 2021/05/01 04:43:57 1.3
@@ -1,29 +1,33 @@ @@ -1,29 +1,33 @@
1$NetBSD: distinfo,v 1.2 2021/02/16 15:41:10 ryoon Exp $ 1$NetBSD: distinfo,v 1.3 2021/05/01 04:43:57 pho Exp $
2 2
3SHA1 (ghc-8.10.4-src.tar.xz) = 41f242d2bb2509c63bedbd6751b2b142ae65ba3e 3SHA1 (ghc-8.10.4-src.tar.xz) = 41f242d2bb2509c63bedbd6751b2b142ae65ba3e
4RMD160 (ghc-8.10.4-src.tar.xz) = 9b7ab19c21229f0c565c19e851323529c4184f4b 4RMD160 (ghc-8.10.4-src.tar.xz) = 9b7ab19c21229f0c565c19e851323529c4184f4b
5SHA512 (ghc-8.10.4-src.tar.xz) = 9bb078cb72535a352243b83b671c871392564efd09e478549f27ae58fc6f46e337a0782f5500d26d5704ad96eace22e77bb36031a1fe9b7e175f265b0b9c028b 5SHA512 (ghc-8.10.4-src.tar.xz) = 9bb078cb72535a352243b83b671c871392564efd09e478549f27ae58fc6f46e337a0782f5500d26d5704ad96eace22e77bb36031a1fe9b7e175f265b0b9c028b
6Size (ghc-8.10.4-src.tar.xz) = 19818108 bytes 6Size (ghc-8.10.4-src.tar.xz) = 19818108 bytes
7SHA1 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 49974bf7f3b8dc4387f9ebbd148a7f32b26783d2 7SHA1 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 49974bf7f3b8dc4387f9ebbd148a7f32b26783d2
8RMD160 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 5e7011aec3f0c02ebbe274e2424a1d482e9ddd90 8RMD160 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 5e7011aec3f0c02ebbe274e2424a1d482e9ddd90
9SHA512 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 3f68f15e106cfd6bd833dddc0c2c07fe3d1bae6db0f2e3680b69d18b07778e0d70be9c75285ad2d4faf0369b8b2142ce62cee6ae5ceb6aa4ca8d014525140927 9SHA512 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 3f68f15e106cfd6bd833dddc0c2c07fe3d1bae6db0f2e3680b69d18b07778e0d70be9c75285ad2d4faf0369b8b2142ce62cee6ae5ceb6aa4ca8d014525140927
10Size (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 47574408 bytes 10Size (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 47574408 bytes
11SHA1 (netbsd-9.0-amd64-libterminfo.tar.gz) = db6b385b8676efc135c08b06e3dd6fd11b926999 11SHA1 (netbsd-9.0-amd64-libterminfo.tar.gz) = db6b385b8676efc135c08b06e3dd6fd11b926999
12RMD160 (netbsd-9.0-amd64-libterminfo.tar.gz) = 5a246633c90ee85f71efcc02d8280bd0c50ab5a7 12RMD160 (netbsd-9.0-amd64-libterminfo.tar.gz) = 5a246633c90ee85f71efcc02d8280bd0c50ab5a7
13SHA512 (netbsd-9.0-amd64-libterminfo.tar.gz) = 79288d44b84df8848afc2cdfee628cc4fd1ec0334159403ef8ba994d617bc56a7114af3031198afb5f3b8f45c0463a848099431e32bc6725042908576b6f95b8 13SHA512 (netbsd-9.0-amd64-libterminfo.tar.gz) = 79288d44b84df8848afc2cdfee628cc4fd1ec0334159403ef8ba994d617bc56a7114af3031198afb5f3b8f45c0463a848099431e32bc6725042908576b6f95b8
14Size (netbsd-9.0-amd64-libterminfo.tar.gz) = 27744 bytes 14Size (netbsd-9.0-amd64-libterminfo.tar.gz) = 27744 bytes
15SHA1 (patch-aclocal.m4) = 16ac8899a7d87cf93a6139edba9e5222eb4c5c66 15SHA1 (patch-aclocal.m4) = 16ac8899a7d87cf93a6139edba9e5222eb4c5c66
16SHA1 (patch-configure.ac) = 5d33ac8e1a9ab2f729bf5580eddfd87c9fed386a 16SHA1 (patch-configure.ac) = 5d33ac8e1a9ab2f729bf5580eddfd87c9fed386a
 17SHA1 (patch-ghc.mk) = fdcbc5b0c48b616eb96868e49681536d773eaddd
17SHA1 (patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs) = a4c82b1282c0580a7945be8c3b9d38bc760db99f 18SHA1 (patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs) = a4c82b1282c0580a7945be8c3b9d38bc760db99f
18SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00 19SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
19SHA1 (patch-libraries_base_System_CPUTime_Posix_Times.hsc) = 2bfb779d534d12073287274ce5e90b99e457a860 20SHA1 (patch-libraries_base_System_CPUTime_Posix_Times.hsc) = 2bfb779d534d12073287274ce5e90b99e457a860
20SHA1 (patch-libraries_base_System_Environment.hs) = 7d79a91f295915b4408d5f41d5405739d7189215 21SHA1 (patch-libraries_base_System_Environment.hs) = 7d79a91f295915b4408d5f41d5405739d7189215
21SHA1 (patch-libraries_base_configure) = f06a961a6507f635aafe50dab3ff4396c012bdec 22SHA1 (patch-libraries_base_configure) = f06a961a6507f635aafe50dab3ff4396c012bdec
22SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimespec.hsc) = 588270767f8a9cbde0648fc99807891fef65d721 23SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimespec.hsc) = 588270767f8a9cbde0648fc99807891fef65d721
23SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimeval.hs) = b2811ec4a845e6b2b44414e940b6108178b597c5 24SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimeval.hs) = b2811ec4a845e6b2b44414e940b6108178b597c5
24SHA1 (patch-libraries_unix_System_Posix_Env.hsc) = e94936c139ca15d45cac4a7feb74a601567913ab 25SHA1 (patch-libraries_unix_System_Posix_Env.hsc) = e94936c139ca15d45cac4a7feb74a601567913ab
25SHA1 (patch-libraries_unix_System_Posix_Env_ByteString.hsc) = 3f675fc5d6bf5cc59a2d5ccffeb9ccd51521645a 26SHA1 (patch-libraries_unix_System_Posix_Env_ByteString.hsc) = 3f675fc5d6bf5cc59a2d5ccffeb9ccd51521645a
26SHA1 (patch-libraries_unix_System_Posix_Files_Common.hsc) = 6efef280832d376915a8987e4e8aac283408f607 27SHA1 (patch-libraries_unix_System_Posix_Files_Common.hsc) = 6efef280832d376915a8987e4e8aac283408f607
27SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = 49215dce493a6bbc440f91a3959e592f86fc779b 28SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = 49215dce493a6bbc440f91a3959e592f86fc779b
28SHA1 (patch-libraries_unix_include_execvpe.h) = 67dd9720a71a6a55bbe2b50e61621ca60187ef00 29SHA1 (patch-libraries_unix_include_execvpe.h) = 67dd9720a71a6a55bbe2b50e61621ca60187ef00
29SHA1 (patch-rts_StgCRun.c) = 121c7bd714725d5b14a3cbb03d81b1c769848824 30SHA1 (patch-rts_StgCRun.c) = 121c7bd714725d5b14a3cbb03d81b1c769848824
 31SHA1 (patch-rts_ghc.mk) = 6e3daf71fb7e656131aa2aeeb0346c651520216a
 32SHA1 (patch-rules_build-package-way.mk) = ec73df0bbc85e962f76a9068683879a1a1ba1815
 33SHA1 (patch-rules_distdir-way-opts.mk) = a058c6428faf02ef94aab3336d2d2874f2726f4e

File Added: pkgsrc/lang/ghc810/patches/patch-ghc.mk
$NetBSD: patch-ghc.mk,v 1.1 2021/05/01 04:43:57 pho Exp $

Use the wrapper scripts for ghc as we can't use the ones from the DESTDIR
as the libraries are not in the right place yet.

--- ghc.mk.orig	2021-01-25 16:30:28.000000000 +0000
+++ ghc.mk
@@ -938,7 +938,7 @@ endif
 
 INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdir)/package.conf.d
 
-ifeq "$(BINDIST) $(CrossCompiling)" "NO YES"
+ifeq "$(BINDIST)" "NO"
 # when installing ghc-stage2 we can't run target's
 # 'ghc-pkg' and 'ghc-stage2' but those are needed for registration.
 INSTALLED_GHC_REAL=$(TOP)/inplace/bin/ghc-stage1

File Added: pkgsrc/lang/ghc810/patches/patch-rts_ghc.mk
$NetBSD: patch-rts_ghc.mk,v 1.1 2021/05/01 04:43:57 pho Exp $

This is for Darwin. See the patch to rules/distdir-way-opts.mk.

--- rts/ghc.mk.orig	2021-04-29 03:14:20.000000000 +0000
+++ rts/ghc.mk
@@ -251,6 +251,7 @@ endif
 $$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(rts_$1_DTRACE_OBJS) rts/dist/libs.depend $$(rts_dist_FFI_SO)
 	"$$(RM)" $$(RM_OPTS) $$@
 	"$$(rts_dist_HC)" -this-unit-id rts -shared -dynamic -dynload deploy \
+	  -dylib-install-name $$(ghclibdir)/rts/$$(rts_$1_LIB_FILE) \
 	  -no-auto-link-packages $$(LIBFFI_LIBS) `cat rts/dist/libs.depend` $$(rts_$1_OBJS) \
           $$(rts_dist_$1_GHC_LD_OPTS) \
 	  $$(rts_$1_DTRACE_OBJS) -o $$@

File Added: pkgsrc/lang/ghc810/patches/patch-rules_build-package-way.mk
$NetBSD: patch-rules_build-package-way.mk,v 1.1 2021/05/01 04:43:57 pho Exp $

This is for Darwin. See the patch to rules/distdir-way-opts.mk.

--- rules/build-package-way.mk.orig	2021-04-28 17:51:42.000000000 +0000
+++ rules/build-package-way.mk
@@ -64,6 +64,7 @@ else # ifneq "$$(TargetOS_CPP)" "mingw32
 $$($1_$2_$3_LIB) : $$($1_$2_$3_ALL_OBJS) $$(ALL_RTS_LIBS) $$($1_$2_$3_DEPS_LIBS)
 	$$(call cmd,$1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) $$($1_$2_$3_GHC_LD_OPTS) $$($1_$2_$3_ALL_OBJS) \
          -shared -dynamic -dynload deploy \
+	 -dylib-install-name $$(ghclibdir)/$$($1_$2_COMPONENT_ID)/$$($1_$2_$3_LIB_FILE) \
 	 $$(addprefix -l,$$($1_$2_EXTRA_LIBRARIES)) $$(addprefix -L,$$($1_$2_EXTRA_LIBDIRS)) \
          -no-auto-link-packages \
          -o $$@

File Added: pkgsrc/lang/ghc810/patches/patch-rules_distdir-way-opts.mk
$NetBSD: patch-rules_distdir-way-opts.mk,v 1.1 2021/05/01 04:43:57 pho Exp $

Use correct RPATHs. On ELF we replace "$ORIGIN/../{PACKAGE_ID}" with
the final installation path.

On Darwin library paths work differently. If an executable (or a
library) A depends on a library B, the installation path of B is first
embedded in B, and then the path propagates to A at the time when A is
linked. So we remove -rpath to libraries here, and do the other half
in rules/build-package-way.mk and rts/ghc.mk.

--- rules/distdir-way-opts.mk.orig	2020-07-08 16:43:04.000000000 +0000
+++ rules/distdir-way-opts.mk
@@ -209,11 +209,10 @@ ifneq "$4" "0"
 ifeq "$$(TargetElf)" "YES"
 $1_$2_$3_GHC_LD_OPTS += \
     -fno-use-rpaths \
-    $$(foreach d,$$($1_$2_TRANSITIVE_DEP_COMPONENT_IDS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)'$$$$ORIGIN/../$$d') -optl-Wl,-zorigin
+    $$(foreach d,$$($1_$2_TRANSITIVE_DEP_COMPONENT_IDS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)$$(ghclibdir)/$$d)
 else ifeq "$$(TargetOS_CPP)" "darwin"
 $1_$2_$3_GHC_LD_OPTS += \
-    -fno-use-rpaths \
-    $$(foreach d,$$($1_$2_TRANSITIVE_DEP_COMPONENT_IDS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)'@loader_path/../$$d')
+    -fno-use-rpaths
 endif
 endif
 endif