Mon Oct 23 17:00:09 2023 UTC ()
lang/ghc96: Fix some linkage issues


(pho)
diff -r1.1 -r1.2 pkgsrc/lang/ghc96/Makefile
diff -r1.1 -r1.2 pkgsrc/lang/ghc96/buildlink3.mk
diff -r1.1 -r1.2 pkgsrc/lang/ghc96/distinfo
diff -r0 -r1.1 pkgsrc/lang/ghc96/patches/patch-libraries_unix_System_Posix_Env_PosixString.hsc
diff -r0 -r1.1 pkgsrc/lang/ghc96/patches/patch-libraries_unix_System_Posix_User.hsc

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

--- pkgsrc/lang/ghc96/Makefile 2023/10/23 08:06:48 1.1
+++ pkgsrc/lang/ghc96/Makefile 2023/10/23 17:00:08 1.2
@@ -1,19 +1,20 @@ @@ -1,19 +1,20 @@
1# $NetBSD: Makefile,v 1.1 2023/10/23 08:06:48 pho Exp $ 1# $NetBSD: Makefile,v 1.2 2023/10/23 17:00:08 pho Exp $
2# ----------------------------------------------------------------------------- 2# -----------------------------------------------------------------------------
3# Package metadata 3# Package metadata
4# 4#
5DISTNAME= ghc-9.6.3-src 5DISTNAME= ghc-9.6.3-src
6PKGNAME= ${DISTNAME:S/-src$//} 6PKGNAME= ${DISTNAME:S/-src$//}
 7PKGREVISION= 1
7CATEGORIES= lang 8CATEGORIES= lang
8MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/ 9MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/
9EXTRACT_SUFX= .tar.xz 10EXTRACT_SUFX= .tar.xz
10 11
11MAINTAINER= pkgsrc-users@NetBSD.org 12MAINTAINER= pkgsrc-users@NetBSD.org
12HOMEPAGE= https://www.haskell.org/ghc/ 13HOMEPAGE= https://www.haskell.org/ghc/
13COMMENT= Compiler for the functional language Haskell - 9.6 Release Series 14COMMENT= Compiler for the functional language Haskell - 9.6 Release Series
14LICENSE= modified-bsd 15LICENSE= modified-bsd
15 16
16UNLIMIT_RESOURCES= cputime datasize virtualsize 17UNLIMIT_RESOURCES= cputime datasize virtualsize
17 18
18# GHC requires GHC to build itself. We have to prepare stripped-down 19# GHC requires GHC to build itself. We have to prepare stripped-down
19# binaries sufficient to bootstrap compilers for each platform. If you want 20# binaries sufficient to bootstrap compilers for each platform. If you want

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

--- pkgsrc/lang/ghc96/buildlink3.mk 2023/10/23 08:06:48 1.1
+++ pkgsrc/lang/ghc96/buildlink3.mk 2023/10/23 17:00:08 1.2
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: buildlink3.mk,v 1.1 2023/10/23 08:06:48 pho Exp $ 1# $NetBSD: buildlink3.mk,v 1.2 2023/10/23 17:00:08 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>=9.6.3 8BUILDLINK_API_DEPENDS.ghc+= ghc>=9.6.3nb1
9BUILDLINK_ABI_DEPENDS.ghc+= ghc>=9.6.3 9BUILDLINK_ABI_DEPENDS.ghc+= ghc>=9.6.3nb1
10BUILDLINK_PKGSRCDIR.ghc?= ../../lang/ghc96 10BUILDLINK_PKGSRCDIR.ghc?= ../../lang/ghc96
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.1 -r1.2 pkgsrc/lang/ghc96/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/ghc96/distinfo 2023/10/23 08:06:48 1.1
+++ pkgsrc/lang/ghc96/distinfo 2023/10/23 17:00:08 1.2
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1$NetBSD: distinfo,v 1.1 2023/10/23 08:06:48 pho Exp $ 1$NetBSD: distinfo,v 1.2 2023/10/23 17:00:08 pho Exp $
2 2
3BLAKE2s (ghc-9.2.1-boot-hadrian.tar.gz) = 363fea08f46524eab654b3225650be4938bd0404e8c44145381f97a0c4489dca 3BLAKE2s (ghc-9.2.1-boot-hadrian.tar.gz) = 363fea08f46524eab654b3225650be4938bd0404e8c44145381f97a0c4489dca
4SHA512 (ghc-9.2.1-boot-hadrian.tar.gz) = a006ab38df77bc22e51ee75808065ad75781f85eb52cae54ed8995942ba16e70f4d68d4097f2597bca09e8b7890858d0a28a0f66216e6a4b21a3c68bb8082c59 4SHA512 (ghc-9.2.1-boot-hadrian.tar.gz) = a006ab38df77bc22e51ee75808065ad75781f85eb52cae54ed8995942ba16e70f4d68d4097f2597bca09e8b7890858d0a28a0f66216e6a4b21a3c68bb8082c59
5Size (ghc-9.2.1-boot-hadrian.tar.gz) = 1501585 bytes 5Size (ghc-9.2.1-boot-hadrian.tar.gz) = 1501585 bytes
6BLAKE2s (ghc-9.2.1-boot-x86_64-unknown-solaris2.tar.xz) = 1d70d79ad765f0222e27f0a98915231d75dcb61b1ba4fb044ab531bc9930dc5f 6BLAKE2s (ghc-9.2.1-boot-x86_64-unknown-solaris2.tar.xz) = 1d70d79ad765f0222e27f0a98915231d75dcb61b1ba4fb044ab531bc9930dc5f
7SHA512 (ghc-9.2.1-boot-x86_64-unknown-solaris2.tar.xz) = 7e55f4a002808aa1ae3c6053b129f0f0c0ac2d9f6b9ad5e4fc7c0fa9a09defeea2ed46a7e8d4c5a81213b631aacfa4cdd92b3bc724a6ee4de8b9d201840f3185 7SHA512 (ghc-9.2.1-boot-x86_64-unknown-solaris2.tar.xz) = 7e55f4a002808aa1ae3c6053b129f0f0c0ac2d9f6b9ad5e4fc7c0fa9a09defeea2ed46a7e8d4c5a81213b631aacfa4cdd92b3bc724a6ee4de8b9d201840f3185
8Size (ghc-9.2.1-boot-x86_64-unknown-solaris2.tar.xz) = 69490428 bytes 8Size (ghc-9.2.1-boot-x86_64-unknown-solaris2.tar.xz) = 69490428 bytes
9BLAKE2s (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = a691117b405b9f7954b954acc382b3357a9ff8c98151514c82d18d83da397940 9BLAKE2s (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = a691117b405b9f7954b954acc382b3357a9ff8c98151514c82d18d83da397940
10SHA512 (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = 1c917a52a020be3a1878f9d7e8e4c47d31180e54248c127a60706c1053a95b2d8a487f79e7fb5daa725178f271a7cc17e4e7b47ce2119f8546e259c63b9864d8 10SHA512 (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = 1c917a52a020be3a1878f9d7e8e4c47d31180e54248c127a60706c1053a95b2d8a487f79e7fb5daa725178f271a7cc17e4e7b47ce2119f8546e259c63b9864d8
11Size (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = 90305900 bytes 11Size (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = 90305900 bytes
12BLAKE2s (ghc-9.4.7-boot-hadrian.tar.gz) = 046c19d703e7a4ca5db28a69d3fd4f7b4cefe08cec0c81d00dcf106561839ae7 12BLAKE2s (ghc-9.4.7-boot-hadrian.tar.gz) = 046c19d703e7a4ca5db28a69d3fd4f7b4cefe08cec0c81d00dcf106561839ae7
13SHA512 (ghc-9.4.7-boot-hadrian.tar.gz) = 9d7adeaf00c8eace027d1289aa4c1de7cf2b2c3b52fbcfb12a1d496f8ed897b9d1bf128c64e24d2971d4663f591a602556274f446badabed750ed5809b97600f 13SHA512 (ghc-9.4.7-boot-hadrian.tar.gz) = 9d7adeaf00c8eace027d1289aa4c1de7cf2b2c3b52fbcfb12a1d496f8ed897b9d1bf128c64e24d2971d4663f591a602556274f446badabed750ed5809b97600f
14Size (ghc-9.4.7-boot-hadrian.tar.gz) = 1501569 bytes 14Size (ghc-9.4.7-boot-hadrian.tar.gz) = 1501569 bytes
@@ -42,20 +42,22 @@ SHA1 (patch-hadrian_src_Settings_Package @@ -42,20 +42,22 @@ SHA1 (patch-hadrian_src_Settings_Package
42SHA1 (patch-libraries_Cabal_Cabal_src_Distribution_Simple_GHC.hs) = a8b2eeec9a469b43e611f79fbf5b080c1e05aa50 42SHA1 (patch-libraries_Cabal_Cabal_src_Distribution_Simple_GHC.hs) = a8b2eeec9a469b43e611f79fbf5b080c1e05aa50
43SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00 43SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
44SHA1 (patch-libraries_base_System_CPUTime_Posix_Times.hsc) = 2bfb779d534d12073287274ce5e90b99e457a860 44SHA1 (patch-libraries_base_System_CPUTime_Posix_Times.hsc) = 2bfb779d534d12073287274ce5e90b99e457a860
45SHA1 (patch-libraries_base_System_Environment.hs) = 7d79a91f295915b4408d5f41d5405739d7189215 45SHA1 (patch-libraries_base_System_Environment.hs) = 7d79a91f295915b4408d5f41d5405739d7189215
46SHA1 (patch-libraries_base_System_Environment_ExecutablePath.hsc) = 30baa7f76f20d449feea0f634ca6b90e04d9481e 46SHA1 (patch-libraries_base_System_Environment_ExecutablePath.hsc) = 30baa7f76f20d449feea0f634ca6b90e04d9481e
47SHA1 (patch-libraries_base_configure) = 4e02082cdfde8d927d12f3d2f3d98ace6d4ee116 47SHA1 (patch-libraries_base_configure) = 4e02082cdfde8d927d12f3d2f3d98ace6d4ee116
48SHA1 (patch-libraries_ghc-boot_GHC_BaseDir.hs) = 27336cee41ba343c452a90ed004ba1ef2261482c 48SHA1 (patch-libraries_ghc-boot_GHC_BaseDir.hs) = 27336cee41ba343c452a90ed004ba1ef2261482c
49SHA1 (patch-libraries_process_cbits_posix_fork__exec.c) = 8bc8aa1a3cfe8101257f77da98e5f877c59a36b0 49SHA1 (patch-libraries_process_cbits_posix_fork__exec.c) = 8bc8aa1a3cfe8101257f77da98e5f877c59a36b0
50SHA1 (patch-libraries_terminfo_configure.ac) = 507a96209e32017faa96557d21a140bdb8f0b5c3 50SHA1 (patch-libraries_terminfo_configure.ac) = 507a96209e32017faa96557d21a140bdb8f0b5c3
51SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimespec.hsc) = 588270767f8a9cbde0648fc99807891fef65d721 51SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimespec.hsc) = 588270767f8a9cbde0648fc99807891fef65d721
52SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimeval.hs) = 68914d012a98cc4a4a245efeabcb9143dba0246a 52SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimeval.hs) = 68914d012a98cc4a4a245efeabcb9143dba0246a
53SHA1 (patch-libraries_unix_System_Posix_Env.hsc) = 414f0310793bf184cdac7546e3f81fee4821a05f 53SHA1 (patch-libraries_unix_System_Posix_Env.hsc) = 414f0310793bf184cdac7546e3f81fee4821a05f
54SHA1 (patch-libraries_unix_System_Posix_Env_ByteString.hsc) = a579c00d7d5d7ffbb73f6499e09588d6417be123 54SHA1 (patch-libraries_unix_System_Posix_Env_ByteString.hsc) = a579c00d7d5d7ffbb73f6499e09588d6417be123
 55SHA1 (patch-libraries_unix_System_Posix_Env_PosixString.hsc) = 40d464638eb11cb832f93d9892818655f4d70e00
55SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = ee59a04571881382bcfd9fc82bf196ff86a40ed5 56SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = ee59a04571881382bcfd9fc82bf196ff86a40ed5
 57SHA1 (patch-libraries_unix_System_Posix_User.hsc) = b583f591838fe2d7f42241787e02c5385d336939
56SHA1 (patch-m4_fptools__set__haskell__platform__vars.m4) = 8c7a7ab965f4df8a68bedb35c32ee32c59ac2c94 58SHA1 (patch-m4_fptools__set__haskell__platform__vars.m4) = 8c7a7ab965f4df8a68bedb35c32ee32c59ac2c94
57SHA1 (patch-rts_linker_MMap.c) = c2abd34b8d39bb8f508a54bf3db25f53e113e45b 59SHA1 (patch-rts_linker_MMap.c) = c2abd34b8d39bb8f508a54bf3db25f53e113e45b
58SHA1 (patch-rts_linker_MMap.h) = 8228fabcdaeb1511191da9fc614ff94d3eee8fbd 60SHA1 (patch-rts_linker_MMap.h) = 8228fabcdaeb1511191da9fc614ff94d3eee8fbd
59SHA1 (patch-utils_genprimopcode_Main.hs) = aff614cad3b7584ea7de069c0a0e77acd7c7ceef 61SHA1 (patch-utils_genprimopcode_Main.hs) = aff614cad3b7584ea7de069c0a0e77acd7c7ceef
60SHA1 (patch-utils_haddock_driver_Main.hs) = 26b015d3aef9fdff66e66c8e3d9a370a2dbd7067 62SHA1 (patch-utils_haddock_driver_Main.hs) = 26b015d3aef9fdff66e66c8e3d9a370a2dbd7067
61SHA1 (patch-utils_haddock_haddock.cabal) = c8a244f2f341b736b65b218590d1a3a8309f55ba 63SHA1 (patch-utils_haddock_haddock.cabal) = c8a244f2f341b736b65b218590d1a3a8309f55ba

File Added: pkgsrc/lang/ghc96/patches/patch-libraries_unix_System_Posix_Env_PosixString.hsc
$NetBSD: patch-libraries_unix_System_Posix_Env_PosixString.hsc,v 1.1 2023/10/23 17:00:08 pho Exp $

Suppress linker warnings about compatibility symbols by using "capi"
instead of "ccall".

--- libraries/unix/System/Posix/Env/PosixString.hsc.orig	2023-10-23 10:24:23.010158238 +0000
+++ libraries/unix/System/Posix/Env/PosixString.hsc
@@ -146,7 +146,7 @@ putEnv (PS sbs) = do
  where l = B.length sbs
 
 
-foreign import ccall unsafe "putenv"
+foreign import capi unsafe "HsUnix.h putenv"
    c_putenv :: CString -> IO CInt
 
 {- |The 'setEnv' function inserts or resets the environment variable name in

File Added: pkgsrc/lang/ghc96/patches/patch-libraries_unix_System_Posix_User.hsc
$NetBSD: patch-libraries_unix_System_Posix_User.hsc,v 1.1 2023/10/23 17:00:08 pho Exp $

Suppress linker warnings about compatibility symbols by using "capi"
instead of "ccall".

--- libraries/unix/System/Posix/User.hsc.orig	2023-10-23 10:26:54.941601450 +0000
+++ libraries/unix/System/Posix/User.hsc
@@ -605,9 +605,9 @@ getAllUserEntries = lockpw GETALL $ brac
             else do thisentry <- unpackUserEntry ppw
                     worker (thisentry : accum)
 
-foreign import ccall safe "getpwent" c_getpwent :: IO (Ptr CPasswd)
-foreign import ccall safe "setpwent" c_setpwent :: IO ()
-foreign import ccall safe "endpwent" c_endpwent :: IO ()
+foreign import capi safe "HsUnix.h getpwent" c_getpwent :: IO (Ptr CPasswd)
+foreign import capi safe "HsUnix.h setpwent" c_setpwent :: IO ()
+foreign import capi safe "HsUnix.h endpwent" c_endpwent :: IO ()
 #else
 {-# WARNING getAllUserEntries "System.Posix.User.getAllUserEntries: not supported" #-}
 getAllUserEntries = error "System.Posix.User.getAllUserEntries: not supported"