summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2021-09-30 13:23:48 +0000
committerjperkin <jperkin@pkgsrc.org>2021-09-30 13:23:48 +0000
commit32dc62884b5e21d174dd4ee5413747de4f5fa9a1 (patch)
tree67f78a30239bfc081b6eda880272a6944f950823 /lang
parent13d6dc4eeaeac886bf598a9d5b849c2768aafc4c (diff)
downloadpkgsrc-32dc62884b5e21d174dd4ee5413747de4f5fa9a1.tar.gz
ghc810: Some fixes to SunOS build.
Switch to new 8.8.4 bootstrap that has been rebuilt after recent changes, fix hardlink usage, and pull in upstream patch for thread CPU time.
Diffstat (limited to 'lang')
-rw-r--r--lang/ghc810/Makefile4
-rw-r--r--lang/ghc810/bootstrap.mk14
-rw-r--r--lang/ghc810/distinfo11
-rw-r--r--lang/ghc810/patches/patch-aclocal.m419
-rw-r--r--lang/ghc810/patches/patch-configure.ac19
-rw-r--r--lang/ghc810/patches/patch-rts_posix_GetTime.c30
6 files changed, 78 insertions, 19 deletions
diff --git a/lang/ghc810/Makefile b/lang/ghc810/Makefile
index a83c84a9efa..365248d3542 100644
--- a/lang/ghc810/Makefile
+++ b/lang/ghc810/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.7 2021/09/27 14:30:48 nia Exp $
+# $NetBSD: Makefile,v 1.8 2021/09/30 13:23:48 jperkin Exp $
# -----------------------------------------------------------------------------
# Package metadata
#
@@ -14,8 +14,6 @@ HOMEPAGE= https://www.haskell.org/ghc/
COMMENT= Compiler for the functional language Haskell - 8.10 Release Series
LICENSE= modified-bsd
-MKPIE_SUPPORTED= no
-
UNLIMIT_RESOURCES= datasize virtualsize
# GHC requires GHC to build itself. We have to prepare stripped-down
diff --git a/lang/ghc810/bootstrap.mk b/lang/ghc810/bootstrap.mk
index c1504d4a9dd..70ab89c5036 100644
--- a/lang/ghc810/bootstrap.mk
+++ b/lang/ghc810/bootstrap.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.2 2021/05/01 04:43:57 pho Exp $
+# $NetBSD: bootstrap.mk,v 1.3 2021/09/30 13:23:48 jperkin Exp $
# -----------------------------------------------------------------------------
# Select a bindist of bootstrapping compiler on a per-platform basis.
#
@@ -66,12 +66,12 @@ EXTRACT_ONLY+= netbsd-9.0-amd64-libterminfo.tar.gz
#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
#.endif
-#.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-#BOOT_VERSION:= 8.4.4
-#BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-solaris2.tar.xz
-#SITES.${BOOT_ARCHIVE}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
-#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE}
-#.endif
+.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
+BOOT_VERSION:= 8.8.4
+BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-solaris2.tar.xz
+SITES.${BOOT_ARCHIVE}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
+DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE}
+.endif
.if empty(BOOT_ARCHIVE)
BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-unknown.tar.xz
diff --git a/lang/ghc810/distinfo b/lang/ghc810/distinfo
index ba5c11e53bc..d025efd00aa 100644
--- a/lang/ghc810/distinfo
+++ b/lang/ghc810/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.3 2021/05/01 04:43:57 pho Exp $
+$NetBSD: distinfo,v 1.4 2021/09/30 13:23:48 jperkin Exp $
SHA1 (ghc-8.10.4-src.tar.xz) = 41f242d2bb2509c63bedbd6751b2b142ae65ba3e
RMD160 (ghc-8.10.4-src.tar.xz) = 9b7ab19c21229f0c565c19e851323529c4184f4b
@@ -8,12 +8,16 @@ SHA1 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 49974bf7f3b8dc4387f9ebbd148
RMD160 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 5e7011aec3f0c02ebbe274e2424a1d482e9ddd90
SHA512 (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 3f68f15e106cfd6bd833dddc0c2c07fe3d1bae6db0f2e3680b69d18b07778e0d70be9c75285ad2d4faf0369b8b2142ce62cee6ae5ceb6aa4ca8d014525140927
Size (ghc-8.8.4-boot-x86_64-unknown-netbsd.tar.xz) = 47574408 bytes
+SHA1 (ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz) = fcd9ed1a416532722f7dfa6e63687355745aeacd
+RMD160 (ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz) = ed0663e291b91f670af07e79b1ba229d93e78302
+SHA512 (ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz) = 39dcff330e875b504df5ac4cedd0265ee78e153fea7d16646177ce85694d8960419a332530f5ad8c5874a5b53be51a4726f2521f212d9bd42c8526a07e2309cc
+Size (ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz) = 61518048 bytes
SHA1 (netbsd-9.0-amd64-libterminfo.tar.gz) = db6b385b8676efc135c08b06e3dd6fd11b926999
RMD160 (netbsd-9.0-amd64-libterminfo.tar.gz) = 5a246633c90ee85f71efcc02d8280bd0c50ab5a7
SHA512 (netbsd-9.0-amd64-libterminfo.tar.gz) = 79288d44b84df8848afc2cdfee628cc4fd1ec0334159403ef8ba994d617bc56a7114af3031198afb5f3b8f45c0463a848099431e32bc6725042908576b6f95b8
Size (netbsd-9.0-amd64-libterminfo.tar.gz) = 27744 bytes
-SHA1 (patch-aclocal.m4) = 16ac8899a7d87cf93a6139edba9e5222eb4c5c66
-SHA1 (patch-configure.ac) = 5d33ac8e1a9ab2f729bf5580eddfd87c9fed386a
+SHA1 (patch-aclocal.m4) = c766a72973e630ec3da84f55b107074a2b490fdb
+SHA1 (patch-configure.ac) = 52c6df8f07d83f8bc7ee3c0dd71c6a70a03213e4
SHA1 (patch-ghc.mk) = fdcbc5b0c48b616eb96868e49681536d773eaddd
SHA1 (patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs) = a4c82b1282c0580a7945be8c3b9d38bc760db99f
SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
@@ -29,5 +33,6 @@ SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = 49215dce493a6bbc440f91a39
SHA1 (patch-libraries_unix_include_execvpe.h) = 67dd9720a71a6a55bbe2b50e61621ca60187ef00
SHA1 (patch-rts_StgCRun.c) = 121c7bd714725d5b14a3cbb03d81b1c769848824
SHA1 (patch-rts_ghc.mk) = 6e3daf71fb7e656131aa2aeeb0346c651520216a
+SHA1 (patch-rts_posix_GetTime.c) = b02d26228a76cc999e1c6d60f5168d8313e44a65
SHA1 (patch-rules_build-package-way.mk) = ec73df0bbc85e962f76a9068683879a1a1ba1815
SHA1 (patch-rules_distdir-way-opts.mk) = a058c6428faf02ef94aab3336d2d2874f2726f4e
diff --git a/lang/ghc810/patches/patch-aclocal.m4 b/lang/ghc810/patches/patch-aclocal.m4
index a9da29d5450..695c5599838 100644
--- a/lang/ghc810/patches/patch-aclocal.m4
+++ b/lang/ghc810/patches/patch-aclocal.m4
@@ -1,4 +1,4 @@
-$NetBSD: patch-aclocal.m4,v 1.1 2021/02/09 13:16:24 ryoon Exp $
+$NetBSD: patch-aclocal.m4,v 1.2 2021/09/30 13:23:48 jperkin Exp $
Hunk #1:
Remove _AC_PROG_CC_C99 macro that is removed in autoconf-2.71
@@ -11,9 +11,9 @@ Hunk #3:
Canonicalize OS name netbsd* to "netbsd":
https://gitlab.haskell.org/ghc/ghc/merge_requests/2496
---- aclocal.m4.orig 2020-07-08 16:43:03.000000000 +0000
+--- aclocal.m4.orig 2021-01-25 19:33:20.000000000 +0000
+++ aclocal.m4
-@@ -611,17 +611,6 @@ AC_DEFUN([FP_SET_CFLAGS_C99],
+@@ -651,17 +651,6 @@ AC_DEFUN([FP_SET_CFLAGS_C99],
CC="$$1"
CFLAGS="$$2"
CPPFLAGS="$$3"
@@ -31,7 +31,7 @@ Hunk #3:
dnl restore saved state
FP_COPY_SHELLVAR([fp_save_CC],[CC])
FP_COPY_SHELLVAR([fp_save_CFLAGS],[CFLAGS])
-@@ -661,7 +650,7 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
+@@ -701,7 +690,7 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
x86_64-unknown-solaris2)
$2="$$2 -m64"
$3="$$3 -m64"
@@ -40,7 +40,16 @@ Hunk #3:
$5="$$5 -m64"
;;
alpha-*)
-@@ -2047,6 +2036,9 @@ AC_DEFUN([GHC_CONVERT_OS],[
+@@ -1360,7 +1349,7 @@ AC_DEFUN([FP_GCC_VERSION], [
+ AC_MSG_ERROR([C compiler is required])
+ fi
+
+- if $CC --version | grep --quiet gcc; then
++ if $CC --version | grep gcc >/dev/null; then
+ AC_CACHE_CHECK([version of gcc], [fp_cv_gcc_version],
+ [
+ # Be sure only to look at the first occurrence of the "version " string;
+@@ -2106,6 +2095,9 @@ AC_DEFUN([GHC_CONVERT_OS],[
openbsd*)
$3="openbsd"
;;
diff --git a/lang/ghc810/patches/patch-configure.ac b/lang/ghc810/patches/patch-configure.ac
index 3fcd7d5d738..58e9ccc0b62 100644
--- a/lang/ghc810/patches/patch-configure.ac
+++ b/lang/ghc810/patches/patch-configure.ac
@@ -1,10 +1,27 @@
-$NetBSD: patch-configure.ac,v 1.1 2021/02/09 13:16:24 ryoon Exp $
+$NetBSD: patch-configure.ac,v 1.2 2021/09/30 13:23:48 jperkin Exp $
Don't use non-portable operator ==:
https://gitlab.haskell.org/ghc/ghc/merge_requests/2497
--- configure.ac.orig 2021-02-04 05:28:14.000000000 +0000
+++ configure.ac
+@@ -723,11 +723,11 @@ dnl ------------------------------------
+ dnl ** Copy the files from the "fs" utility into the right folders.
+ dnl --------------------------------------------------------------
+ AC_MSG_NOTICE([Creating links for in-tree file handling routines.])
+-ln -f utils/fs/fs.* utils/lndir/
+-ln -f utils/fs/fs.* utils/unlit/
+-ln -f utils/fs/fs.* rts/
+-ln -f utils/fs/fs.h libraries/base/include/
+-ln -f utils/fs/fs.c libraries/base/cbits/
++cp -p utils/fs/fs.* utils/lndir/
++cp -p utils/fs/fs.* utils/unlit/
++cp -p utils/fs/fs.* rts/
++cp -p utils/fs/fs.h libraries/base/include/
++cp -p utils/fs/fs.c libraries/base/cbits/
+ AC_MSG_NOTICE([Routines in place. Packages can now be build normally.])
+
+ dnl --------------------------------------------------------------
@@ -848,7 +848,7 @@ if test "x$EnableDtrace" = "xyes"; then
if test -n "$DtraceCmd"; then
if test "x$TargetOS_CPP-$TargetVendor_CPP" = "xdarwin-apple" \
diff --git a/lang/ghc810/patches/patch-rts_posix_GetTime.c b/lang/ghc810/patches/patch-rts_posix_GetTime.c
new file mode 100644
index 00000000000..27b64a44016
--- /dev/null
+++ b/lang/ghc810/patches/patch-rts_posix_GetTime.c
@@ -0,0 +1,30 @@
+$NetBSD: patch-rts_posix_GetTime.c,v 1.1 2021/09/30 13:23:48 jperkin Exp $
+
+Backport SunOS fix from trunk.
+
+--- rts/posix/GetTime.c.orig 2020-12-04 20:04:01.000000000 +0000
++++ rts/posix/GetTime.c
+@@ -32,6 +32,10 @@
+ #include <mach/mach_port.h>
+ #endif
+
++#if defined(solaris2_HOST_OS)
++#include <sys/time.h>
++#endif
++
+ #if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_GETRUSAGE)
+ // we'll implement getProcessCPUTime() and getProcessElapsedTime()
+ // separately, using getrusage() and gettimeofday() respectively
+@@ -81,6 +85,12 @@ Time getCurrentThreadCPUTime(void)
+ sysErrorBelch("getThreadCPUTime");
+ stg_exit(EXIT_FAILURE);
+ }
++#elif defined(solaris2_HOST_OS)
++ // On OpenSolaris derivatives, the constant CLOCK_THREAD_CPUTIME_ID is
++ // defined in a system header but it isn't actually usable. clock_gettime(2)
++ // always returns EINVAL. Use solaris-specific gethrvtime(3) as an
++ // alternative.
++ return NSToTime(gethrvtime());
+ #elif defined(HAVE_CLOCK_GETTIME) && \
+ defined(CLOCK_PROCESS_CPUTIME_ID) && \
+ defined(HAVE_SYSCONF)