pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/ghc98
Module Name: pkgsrc
Committed By: pho
Date: Sun Jan 12 19:06:28 UTC 2025
Modified Files:
pkgsrc/lang/ghc98: bootstrap.mk distinfo
pkgsrc/lang/ghc98/patches: patch-hadrian_bootstrap_bootstrap.py
patch-hadrian_src_Settings_Packages.hs
Added Files:
pkgsrc/lang/ghc98/patches: patch-m4_fp__find__cxx__std__lib.m4
Removed Files:
pkgsrc/lang/ghc98/files: hadrian-extra.patch hadrian-hashable.patch
hadrian-splitmix.patch
pkgsrc/lang/ghc98/patches: patch-distrib_configure.ac.in
patch-hadrian_hadrian.cabal
patch-linters_lint-commit-msg_lint-commit-msg.cabal
patch-linters_lint-submodule-refs_lint-submodule-refs.cabal
patch-linters_lint-whitespace_lint-whitespace.cabal
patch-linters_linters-common_linters-common.cabal
Log Message:
lang/ghc98: Fix build by reverting changes I made today
Turned out I committed these changes prematurely. I could only do it after
rebuilding all of the bootkits.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/ghc98/bootstrap.mk
cvs rdiff -u -r1.14 -r1.15 pkgsrc/lang/ghc98/distinfo
cvs rdiff -u -r1.1 -r0 pkgsrc/lang/ghc98/files/hadrian-extra.patch \
pkgsrc/lang/ghc98/files/hadrian-hashable.patch \
pkgsrc/lang/ghc98/files/hadrian-splitmix.patch
cvs rdiff -u -r1.1 -r0 \
pkgsrc/lang/ghc98/patches/patch-distrib_configure.ac.in \
pkgsrc/lang/ghc98/patches/patch-hadrian_hadrian.cabal \
pkgsrc/lang/ghc98/patches/patch-linters_lint-commit-msg_lint-commit-msg.cabal \
pkgsrc/lang/ghc98/patches/patch-linters_lint-submodule-refs_lint-submodule-refs.cabal \
pkgsrc/lang/ghc98/patches/patch-linters_lint-whitespace_lint-whitespace.cabal \
pkgsrc/lang/ghc98/patches/patch-linters_linters-common_linters-common.cabal
cvs rdiff -u -r1.5 -r1.6 \
pkgsrc/lang/ghc98/patches/patch-hadrian_bootstrap_bootstrap.py
cvs rdiff -u -r1.3 -r1.4 \
pkgsrc/lang/ghc98/patches/patch-hadrian_src_Settings_Packages.hs
cvs rdiff -u -r0 -r1.4 \
pkgsrc/lang/ghc98/patches/patch-m4_fp__find__cxx__std__lib.m4
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/ghc98/bootstrap.mk
diff -u pkgsrc/lang/ghc98/bootstrap.mk:1.8 pkgsrc/lang/ghc98/bootstrap.mk:1.9
--- pkgsrc/lang/ghc98/bootstrap.mk:1.8 Sun Jan 12 18:04:33 2025
+++ pkgsrc/lang/ghc98/bootstrap.mk Sun Jan 12 19:06:27 2025
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.8 2025/01/12 18:04:33 pho Exp $
+# $NetBSD: bootstrap.mk,v 1.9 2025/01/12 19:06:27 pho Exp $
# -----------------------------------------------------------------------------
# Select a bindist of bootstrapping compiler on a per-platform basis. See
# ./files/BOOTSTRAP.md for details.
@@ -35,7 +35,7 @@ HADRIAN_BOOT_SOURCE= ghc-${BOOT_VERSION}
# one. [2024-04-27; pho]
.if ${MACHINE_PLATFORM:MDarwin-*-aarch64} || make(distinfo) || make (makesum) || make(mdi)
-BOOT_VERSION:= 9.8.2
+BOOT_VERSION:= 9.4.7
BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-aarch64-apple-darwin.tar.xz
DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} ${HADRIAN_BOOT_SOURCE} # Available in LOCAL_PORTS
.endif
@@ -59,7 +59,8 @@ DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE}
.endif
.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make(makesum) || make(mdi)
-BOOT_VERSION:= 9.8.2
+# Cross-compiled from x86_64 on a QEMU guest. It took days to compile...
+BOOT_VERSION:= 9.4.7
BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-aarch64-unknown-netbsd.tar.xz
DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} ${HADRIAN_BOOT_SOURCE} # Available in LOCAL_PORTS
.endif
@@ -133,16 +134,10 @@ pre-configure:
# RTS even if it doesn't. Note that GHC devs are in the process of moving
# the settings file from being generated by configure, to being generated
# by the build system. This workaround is expected to go away in the
-# (hopefully near) future. config.mk.in is in the top-level directory since
-# 9.8.2. It was previously in mk/.
+# (hopefully near) future.
${RUN}cd ${WRKDIR}/bootkit-dist/${BOOT_ARCHIVE_TOP_DIR} && \
- if ${TEST} -f config.mk.in; then \
- fp="config.mk.in"; \
- else \
- fp="mk/config.mk.in"; \
- fi; \
- ${SED} -e '/^GhcRTSWays/d' < "$${fp}" > "$${fp}.tmp" && \
- ${MV} -f "$${fp}.tmp" "$${fp}"
+ ${SED} -e '/^GhcRTSWays/d' < mk/config.mk.in > mk/config.mk.in.tmp && \
+ ${MV} -f mk/config.mk.in.tmp mk/config.mk.in
# </kludge>
${RUN}cd ${WRKDIR}/bootkit-dist/${BOOT_ARCHIVE_TOP_DIR} && \
${PKGSRC_SETENV} ${CONFIGURE_ENV} ${SH} ./configure \
Index: pkgsrc/lang/ghc98/distinfo
diff -u pkgsrc/lang/ghc98/distinfo:1.14 pkgsrc/lang/ghc98/distinfo:1.15
--- pkgsrc/lang/ghc98/distinfo:1.14 Sun Jan 12 18:04:33 2025
+++ pkgsrc/lang/ghc98/distinfo Sun Jan 12 19:06:27 2025
@@ -1,5 +1,11 @@
-$NetBSD: distinfo,v 1.14 2025/01/12 18:04:33 pho Exp $
+$NetBSD: distinfo,v 1.15 2025/01/12 19:06:27 pho Exp $
+BLAKE2s (ghc-9.4.7-boot-aarch64-apple-darwin.tar.xz) = c771cfa45f5635bdf8175775cf7a67c9541bd5b4d4927ed9b5189e3dcefcd2ba
+SHA512 (ghc-9.4.7-boot-aarch64-apple-darwin.tar.xz) = 3d50e4c6605ebfa7eef018d3e9e11e8115cf2f97e24a5adfc05fd1bab152c726e240f9a213d73e220dc7fc5b9358df74eee0d4cb1b77bd5491f28899c831b1a4
+Size (ghc-9.4.7-boot-aarch64-apple-darwin.tar.xz) = 109805384 bytes
+BLAKE2s (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = a691117b405b9f7954b954acc382b3357a9ff8c98151514c82d18d83da397940
+SHA512 (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = 1c917a52a020be3a1878f9d7e8e4c47d31180e54248c127a60706c1053a95b2d8a487f79e7fb5daa725178f271a7cc17e4e7b47ce2119f8546e259c63b9864d8
+Size (ghc-9.4.7-boot-aarch64-unknown-netbsd.tar.xz) = 90305900 bytes
BLAKE2s (ghc-9.4.7-boot-hadrian-ghc9.8.tar.gz) = ac74fdc6f8a5d4a75bda0c6501902c2c160d3780b41b739129b5a36773c295cd
SHA512 (ghc-9.4.7-boot-hadrian-ghc9.8.tar.gz) = e086a40eb6b655fcb22744a32247ab596adf649179681d6203514d66cbc0989e6b59430de5f02e18419b27584e2dbac5a418fb40f66bcdc76e8776d1e315a332
Size (ghc-9.4.7-boot-hadrian-ghc9.8.tar.gz) = 1527081 bytes
@@ -18,30 +24,19 @@ Size (ghc-9.4.7-boot-x86_64-unknown-netb
BLAKE2s (ghc-9.4.7-boot-x86_64-unknown-solaris2.tar.xz) = 82abea5431d6d106c7eb4388c196594a050446f8164aecd5c76e263a96114a03
SHA512 (ghc-9.4.7-boot-x86_64-unknown-solaris2.tar.xz) = c6dd73fce67dd8a4933a7f31318af662bc3fd873e3d96fa6aa2e0c72282c554cc2e13abdecc29919231c3cf346d878f5f738bb72f2db53d63dd79bf07a1e2d91
Size (ghc-9.4.7-boot-x86_64-unknown-solaris2.tar.xz) = 128747936 bytes
-BLAKE2s (ghc-9.8.2-boot-aarch64-apple-darwin.tar.xz) = 45867db56f03b0c25a13f034dd3eca3a91cc1b031790e457a55f599b023827ba
-SHA512 (ghc-9.8.2-boot-aarch64-apple-darwin.tar.xz) = c9b8717b0e37fd7c0fcff4f3dac603673fabe235bc8257cc24200ca926b7d2a226f656b8ffd13c1e6c0260f73a162d81b19a4f866b7c34d1ea54cdddef3aa406
-Size (ghc-9.8.2-boot-aarch64-apple-darwin.tar.xz) = 119596964 bytes
-BLAKE2s (ghc-9.8.2-boot-aarch64-unknown-netbsd.tar.xz) = 8595c7115a7c7d131c16806fbb7156de3595ae35122db0a95bb9d525fd80a5ee
-SHA512 (ghc-9.8.2-boot-aarch64-unknown-netbsd.tar.xz) = 6ae7c3a75b5794aa3ab890ad29f575754f6c0b674f7f7111255018ace0f7c07610ce5bb5687fdfde371a024322de35fea6d5248ba02ab47ba235a6a8b5e9d8ae
-Size (ghc-9.8.2-boot-aarch64-unknown-netbsd.tar.xz) = 91507768 bytes
-BLAKE2s (ghc-9.8.2-boot-hadrian-ghc9.8.tar.gz) = 054f11f3e443c5c4c88bc14690983c83a9fb14eac95d3da885fe59bbc698ca90
-SHA512 (ghc-9.8.2-boot-hadrian-ghc9.8.tar.gz) = 9b8a28041bf08e79064cc7e275b35fdc1c76766081e7c26c589e08df21aeadfcebab560320c6132177b5aafd887cd071c4b37263e9763ade2900c0689f5e9a4e
-Size (ghc-9.8.2-boot-hadrian-ghc9.8.tar.gz) = 1528222 bytes
BLAKE2s (ghc-9.8.2-src.tar.xz) = 4d903dc828e46d12ad4dc8be912e2996666351ecf8b7a5e1c85790f1fb7eaa5a
SHA512 (ghc-9.8.2-src.tar.xz) = 9b677d5ead5ebb5df7bc960055a76ef00e68ed8102844997b12154bf71bdbfafdfff9ca31edce86b3df759242a7c98f52a464887973b53985f54ecd9fc4b4627
Size (ghc-9.8.2-src.tar.xz) = 32432564 bytes
SHA1 (patch-compiler_GHC_Driver_Pipeline_Execute.hs) = 8a86aabddfa4cc5dcff3bb9812010696fb6a16df
SHA1 (patch-compiler_GHC_SysTools_Process.hs) = ceb26657516e207e22d555ec6f87f735344b0d08
SHA1 (patch-configure.ac) = 985482ae70830ddbf1334c9c82a2cec78a34bb4c
-SHA1 (patch-distrib_configure.ac.in) = 14f60847c3d17e831d23846fd3cb11bd8f0228b2
SHA1 (patch-hadrian_bindist_Makefile) = 3a91d56be4f1b59c6534eceb5b1a4f8e86d49c68
-SHA1 (patch-hadrian_bootstrap_bootstrap.py) = acbb67f77bb3e75bc7c1aef4c1769839d1f60c8e
+SHA1 (patch-hadrian_bootstrap_bootstrap.py) = bf96af392612aad143373f628dcbd3345b83eee7
SHA1 (patch-hadrian_bootstrap_src_Main.hs) = 2e0a7ae2ef195013ca07313c150a7e48b6985e32
-SHA1 (patch-hadrian_hadrian.cabal) = c1b41c7ea96afb6f64d6a1043ef5d302dba49a77
SHA1 (patch-hadrian_src_Builder.hs) = bbfb1ddc30af900c89ca3cf649a32da2a1c83174
SHA1 (patch-hadrian_src_Rules_BinaryDist.hs) = fb908f74b8b619bccd673fbdb40b1c53ab7a51d8
SHA1 (patch-hadrian_src_Settings_Builders_Ghc.hs) = e2913e9f83bb36bb0b432a24518c9b6ca2990c6a
-SHA1 (patch-hadrian_src_Settings_Packages.hs) = c543ebdcd3b71edacdf4c843462494b0ccc2c8e6
+SHA1 (patch-hadrian_src_Settings_Packages.hs) = f21f801727cf5889c3b41e88beb33290a4cc1574
SHA1 (patch-libraries_Cabal_Cabal_src_Distribution_Simple_GHC.hs) = 9e6028dd6ffc2d3c71493fbb7336adcec9f08f78
SHA1 (patch-libraries_Cabal_Cabal_src_Distribution_Simple_Register.hs) = adbb8fe40fc1a0e4afa7cd4bfb1c32b08ab73f15
SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
@@ -58,10 +53,7 @@ SHA1 (patch-libraries_unix_System_Posix_
SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = ee59a04571881382bcfd9fc82bf196ff86a40ed5
SHA1 (patch-libraries_unix_System_Posix_User.hsc) = b583f591838fe2d7f42241787e02c5385d336939
SHA1 (patch-libraries_unix_System_Posix_User_ByteString.hsc) = 2a331de2292835ae6904980facd8201705fa63e8
-SHA1 (patch-linters_lint-commit-msg_lint-commit-msg.cabal) = 05fc63a1350197b3189110cf1162935fb4407a7f
-SHA1 (patch-linters_lint-submodule-refs_lint-submodule-refs.cabal) = 77ae34a0b58d4213c9e82a71db4b05d47a34862a
-SHA1 (patch-linters_lint-whitespace_lint-whitespace.cabal) = 61941f07cc350cba1ef39a5fe2fb5a61875c4966
-SHA1 (patch-linters_linters-common_linters-common.cabal) = aefc902558b4c03525048103f074d3d94430bb52
+SHA1 (patch-m4_fp__find__cxx__std__lib.m4) = 67a86c6eaf4ce1cabb87080651ec4b42f3b7a914
SHA1 (patch-m4_fptools__set__haskell__platform__vars.m4) = 8c7a7ab965f4df8a68bedb35c32ee32c59ac2c94
SHA1 (patch-rts_rts.cabal.in) = d6805ed0669d73ad68488283c579e1e41eb0536e
SHA1 (patch-utils_haddock_driver_Main.hs) = 26b015d3aef9fdff66e66c8e3d9a370a2dbd7067
Index: pkgsrc/lang/ghc98/patches/patch-hadrian_bootstrap_bootstrap.py
diff -u pkgsrc/lang/ghc98/patches/patch-hadrian_bootstrap_bootstrap.py:1.5 pkgsrc/lang/ghc98/patches/patch-hadrian_bootstrap_bootstrap.py:1.6
--- pkgsrc/lang/ghc98/patches/patch-hadrian_bootstrap_bootstrap.py:1.5 Sun Jan 12 17:37:30 2025
+++ pkgsrc/lang/ghc98/patches/patch-hadrian_bootstrap_bootstrap.py Sun Jan 12 19:06:27 2025
@@ -1,4 +1,4 @@
-$NetBSD: patch-hadrian_bootstrap_bootstrap.py,v 1.5 2025/01/12 17:37:30 pho Exp $
+$NetBSD: patch-hadrian_bootstrap_bootstrap.py,v 1.6 2025/01/12 19:06:27 pho Exp $
Hunk #0, #1:
bootstrap.py assumes that GHC always has a threaded RTS but our
@@ -23,21 +23,11 @@ Hunk #1-#7:
#logging.basicConfig(level=logging.INFO)
-@@ -180,24 +181,55 @@ def resolve_dep(dep : BootstrapDep) -> P
+@@ -180,24 +181,42 @@ def resolve_dep(dep : BootstrapDep) -> P
return sdist_dir
-def install_dep(dep: BootstrapDep, ghc: Compiler) -> None:
-+def dos2unix(path: Path):
-+ with open(path, 'rb') as f:
-+ content = f.read()
-+
-+ content = content.replace(b'\r\n', b'\n')
-+
-+ with open(path, 'wb') as f:
-+ f.write(content)
-+
-+
+def install_dep(dep: BootstrapDep, ghc: Compiler, jobs: int) -> None:
dist_dir = (DISTDIR / f'{dep.package}-{dep.version}').resolve()
@@ -52,9 +42,6 @@ Hunk #1-#7:
+ # hadrian.
+ patch_path = Path(os.environ['FILESDIR']) / f'hadrian-{dep.package}.patch'
+ if patch_path.is_file():
-+ # But some .cabal files annoyingly use CRLF. We must convert them
-+ # before applying patches.
-+ dos2unix(sdist_dir / f'{dep.package}.cabal')
+ with open(patch_path) as patch_file:
+ patch = patch_file.read()
+ subprocess_run(
@@ -84,7 +71,7 @@ Hunk #1-#7:
f'--package-db={PKG_DB.resolve()}',
f'--prefix={prefix}',
f'--bindir={BINDIR.resolve()}',
-@@ -207,6 +239,12 @@ def install_sdist(dist_dir: Path, sdist_
+@@ -207,6 +226,12 @@ def install_sdist(dist_dir: Path, sdist_
f'--flags={flags_option}',
]
@@ -97,7 +84,7 @@ Hunk #1-#7:
def check_call(args: List[str]) -> None:
subprocess_run(args, cwd=sdist_dir, check=True)
-@@ -223,7 +261,7 @@ def install_sdist(dist_dir: Path, sdist_
+@@ -223,7 +248,7 @@ def install_sdist(dist_dir: Path, sdist_
check_call([str(ghc.ghc_path), '--make', '-package-env=-', '-i', f'-odir={setup_dist_dir}', f'-hidir={setup_dist_dir}', '-o', setup, 'Setup'])
check_call([setup, 'configure'] + configure_args)
check_call([setup, 'build'] + build_args)
@@ -106,7 +93,7 @@ Hunk #1-#7:
def hash_file(h, f: BinaryIO) -> SHA256Hash:
while True:
-@@ -238,7 +276,7 @@ def hash_file(h, f: BinaryIO) -> SHA256H
+@@ -238,7 +263,7 @@ def hash_file(h, f: BinaryIO) -> SHA256H
UnitId = NewType('UnitId', str)
PlanUnit = NewType('PlanUnit', dict)
@@ -115,7 +102,7 @@ Hunk #1-#7:
if not PKG_DB.exists():
print(f'Creating package database {PKG_DB}')
PKG_DB.parent.mkdir(parents=True, exist_ok=True)
-@@ -248,7 +286,7 @@ def bootstrap(info: BootstrapInfo, ghc:
+@@ -248,7 +273,7 @@ def bootstrap(info: BootstrapInfo, ghc:
check_builtin(dep, ghc)
for dep in info.dependencies:
@@ -124,7 +111,7 @@ Hunk #1-#7:
# Steps
#######################################################################
-@@ -374,6 +412,8 @@ def main() -> None:
+@@ -374,6 +399,8 @@ def main() -> None:
help='produce a Hadrian distribution archive (default)')
parser.add_argument('--no-archive', dest='want_archive', action='store_false',
help='do not produce a Hadrian distribution archive')
@@ -133,7 +120,7 @@ Hunk #1-#7:
parser.set_defaults(want_archive=True)
subparsers = parser.add_subparsers(dest="command")
-@@ -480,7 +520,8 @@ Alternatively, you could use `bootstrap.
+@@ -480,7 +507,8 @@ Alternatively, you could use `bootstrap.
plan = gen_fetch_plan(info)
fetch_from_plan(plan, TARBALLS)
Index: pkgsrc/lang/ghc98/patches/patch-hadrian_src_Settings_Packages.hs
diff -u pkgsrc/lang/ghc98/patches/patch-hadrian_src_Settings_Packages.hs:1.3 pkgsrc/lang/ghc98/patches/patch-hadrian_src_Settings_Packages.hs:1.4
--- pkgsrc/lang/ghc98/patches/patch-hadrian_src_Settings_Packages.hs:1.3 Sun Jan 12 15:02:35 2025
+++ pkgsrc/lang/ghc98/patches/patch-hadrian_src_Settings_Packages.hs Sun Jan 12 19:06:27 2025
@@ -1,15 +1,11 @@
-$NetBSD: patch-hadrian_src_Settings_Packages.hs,v 1.3 2025/01/12 15:02:35 pho Exp $
+$NetBSD: patch-hadrian_src_Settings_Packages.hs,v 1.4 2025/01/12 19:06:27 pho Exp $
-Hunk #1, #3:
+Hunk #0, #1:
Don't assume we always build the threaded RTS. We can't upstream this
until they adopt this change to Haddock:
https://github.com/haskell/haddock/commit/75a94e010fb5b0236c670d22b04f5472397dc15d
-Hunk #0, #1, #2:
- Fix build with GHC >= 9.8.1:
- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11541
-
-Hunk #4:
+Hunk #2:
Hadrian does something unholy on i386 to gain speed but it seems to be
incompatible with LLD. Disable the speed hack to work around a linkage
failure. Ideally we should do this by detecting the type of linker but
@@ -17,33 +13,15 @@ Hunk #4:
--- hadrian/src/Settings/Packages.hs.orig 2024-02-22 20:59:45.000000000 +0000
+++ hadrian/src/Settings/Packages.hs
-@@ -6,6 +6,7 @@ import Oracles.Setting
- import Oracles.Flag
- import Packages
- import Settings
-+import Data.Version.Extra
-
- -- | Package-specific command-line arguments.
- packageArgs :: Args
-@@ -29,6 +30,8 @@ packageArgs = do
+@@ -29,6 +29,7 @@ packageArgs = do
cursesLibraryDir <- getSetting CursesLibDir
ffiIncludeDir <- getSetting FfiIncludeDir
ffiLibraryDir <- getSetting FfiLibDir
-+ stageVersion <- readVersion <$> (expr $ ghcVersionStage stage)
+ rtsWays <- getRtsWays
mconcat
--------------------------------- base ---------------------------------
-@@ -79,7 +82,7 @@ packageArgs = do
- -- not being fixed to `ghc`, when building stage0, we must set
- -- -this-unit-id to `ghc` because the boot compiler expects that.
- -- We do it through a cabal flag in ghc.cabal
-- , stage0 ? arg "+hadrian-stage0"
-+ , stageVersion < makeVersion [9, 8, 1] ? arg "+hadrian-stage0"
- , flag StaticLibzstd `cabalFlag` "static-libzstd"
- ]
-
-@@ -166,7 +169,17 @@ packageArgs = do
+@@ -166,7 +167,17 @@ packageArgs = do
-------------------------------- haddock -------------------------------
, package haddock ?
@@ -62,7 +40,7 @@ Hunk #4:
---------------------------------- text --------------------------------
, package text ? mconcat
-@@ -441,7 +454,7 @@ rtsPackageArgs = package rts ? do
+@@ -441,7 +452,7 @@ rtsPackageArgs = package rts ? do
speedHack :: Action Bool
speedHack = do
i386 <- anyTargetArch ["i386"]
Added files:
Index: pkgsrc/lang/ghc98/patches/patch-m4_fp__find__cxx__std__lib.m4
diff -u /dev/null pkgsrc/lang/ghc98/patches/patch-m4_fp__find__cxx__std__lib.m4:1.4
--- /dev/null Sun Jan 12 19:06:28 2025
+++ pkgsrc/lang/ghc98/patches/patch-m4_fp__find__cxx__std__lib.m4 Sun Jan 12 19:06:28 2025
@@ -0,0 +1,39 @@
+$NetBSD: patch-m4_fp__find__cxx__std__lib.m4,v 1.4 2025/01/12 19:06:28 pho Exp $
+
+$CXX must not be quoted because it may contain flags. The same goes for
+$CC. This causes a configuration failure on MacOS X 14 where AC_PROG_CXX
+sets $CXX to "clang++ -std=gnu++11".
+
+https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12612
+
+--- m4/fp_find_cxx_std_lib.m4.orig 2024-05-05 18:35:55.965776858 +0000
++++ m4/fp_find_cxx_std_lib.m4
+@@ -26,7 +26,7 @@ unknown
+ #endif
+ EOF
+ AC_MSG_CHECKING([C++ standard library flavour])
+- if ! "$CXX" -E actest.cpp -o actest.out; then
++ if ! $CXX -E actest.cpp -o actest.out; then
+ rm -f actest.cpp actest.out
+ AC_MSG_ERROR([Failed to compile test program])
+ fi
+@@ -54,16 +54,16 @@ int main(int argc, char** argv) {
+ return 0;
+ }
+ EOF
+- if ! "$CXX" -c actest.cpp; then
++ if ! $CXX -c actest.cpp; then
+ AC_MSG_ERROR([Failed to compile test object])
+ fi
+
+ try_libs() {
+ dnl Try to link a plain object with CC manually
+ AC_MSG_CHECKING([for linkage against '${3}'])
+- if "$CC" -o actest actest.o ${1} 2>/dev/null; then
++ if $CC -o actest actest.o ${1} 2>/dev/null; then
+ CXX_STD_LIB_LIBS="${3}"
+- p="`"$CXX" --print-file-name ${2}`"
++ p="`$CXX --print-file-name ${2}`"
+ d="`dirname "$p"`"
+ dnl On some platforms (e.g. Windows) the C++ standard library
+ dnl can be found in the system search path. In this case $CXX
Home |
Main Index |
Thread Index |
Old Index