summaryrefslogtreecommitdiff
path: root/lang/ghc84
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2020-02-17 17:24:06 +0000
committerjperkin <jperkin@pkgsrc.org>2020-02-17 17:24:06 +0000
commit8bc70fc7d4303df08c571d03d3013ef421757d47 (patch)
tree2db07b2589ba29db9055e425f96049ef6b96c7f3 /lang/ghc84
parent749fccb9ee7671f4cac13709534de2e5b1c5b6d5 (diff)
downloadpkgsrc-8bc70fc7d4303df08c571d03d3013ef421757d47.tar.gz
ghc84: Support SunOS/x86_64.
Diffstat (limited to 'lang/ghc84')
-rw-r--r--lang/ghc84/Makefile9
-rw-r--r--lang/ghc84/bootstrap.mk11
-rw-r--r--lang/ghc84/distinfo13
-rw-r--r--lang/ghc84/patches/patch-configure.ac19
-rw-r--r--lang/ghc84/patches/patch-rules_distdir-way-opts.mk17
5 files changed, 53 insertions, 16 deletions
diff --git a/lang/ghc84/Makefile b/lang/ghc84/Makefile
index f7fa068b4bf..33a78151087 100644
--- a/lang/ghc84/Makefile
+++ b/lang/ghc84/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.5 2020/01/15 02:05:46 pho Exp $
+# $NetBSD: Makefile,v 1.6 2020/02/17 17:24:06 jperkin Exp $
# -----------------------------------------------------------------------------
# Package metadata
#
@@ -26,7 +26,7 @@ BROKEN_EXCEPT_ON_PLATFORM+= FreeBSD-*-i386
BROKEN_EXCEPT_ON_PLATFORM+= FreeBSD-*-x86_64
BROKEN_EXCEPT_ON_PLATFORM+= NetBSD-*-x86_64
#BROKEN_EXCEPT_ON_PLATFORM+= SunOS-*-i386 # Not available yet
-#BROKEN_EXCEPT_ON_PLATFORM+= SunOS-*-x86_64 # Not available yet
+BROKEN_EXCEPT_ON_PLATFORM+= SunOS-*-x86_64 # Not available yet
# -----------------------------------------------------------------------------
@@ -139,6 +139,11 @@ post-configure:
# Don't even think of PDF.
${RUN} ${ECHO} "BUILD_SPHINX_PDF = NO" >> ${WRKSRC}/mk/build.mk
+# https://gitlab.haskell.org/ghc/ghc/issues/13542
+.if ${OPSYS} == "SunOS"
+ ${RUN} ${ECHO} "SplitSections = YES" >> ${WRKSRC}/mk/build.mk
+.endif
+
# -----------------------------------------------------------------------------
# Installation/removal hooks
diff --git a/lang/ghc84/bootstrap.mk b/lang/ghc84/bootstrap.mk
index 9f2bc6402b6..3da4bdd83f1 100644
--- a/lang/ghc84/bootstrap.mk
+++ b/lang/ghc84/bootstrap.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.4 2020/01/14 14:44:50 pho Exp $
+# $NetBSD: bootstrap.mk,v 1.5 2020/02/17 17:24:06 jperkin Exp $
# -----------------------------------------------------------------------------
# Select a bindist of bootstrapping compiler on a per-platform basis.
#
@@ -55,9 +55,10 @@ 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.0.2
-#BOOT_ARCHIVE:= ghc-${BOOT_VERSION}-boot-x86_64-unknown-solaris2.tar.xz
-#DISTFILES:= ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
+BOOT_VERSION:= 8.0.2
+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)
@@ -107,7 +108,7 @@ pre-configure:
# configured, otherwise it will produce executables with no rpath and
# fail at the configure phase.
@${PHASE_MSG} "Preparing bootstrapping compiler for ${PKGNAME}"
- ${RUN}cd ${WRKDIR}/build-extract/${PKGNAME_NOREV}-boot && \
+ ${RUN}cd ${WRKDIR}/build-extract/ghc-${BOOT_VERSION}-boot && \
${PKGSRC_SETENV} ${CONFIGURE_ENV} ${SH} ./configure \
--prefix=${TOOLS_DIR:Q} && \
${MAKE_PROGRAM} install
diff --git a/lang/ghc84/distinfo b/lang/ghc84/distinfo
index e3806b94938..ed008a4856a 100644
--- a/lang/ghc84/distinfo
+++ b/lang/ghc84/distinfo
@@ -1,5 +1,9 @@
-$NetBSD: distinfo,v 1.4 2020/01/14 14:44:50 pho Exp $
+$NetBSD: distinfo,v 1.5 2020/02/17 17:24:06 jperkin Exp $
+SHA1 (ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz) = 517ea9435af0c8b4f32899ae3bd26ff8da34f180
+RMD160 (ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz) = c88b0958085ce9a6e1b175280d536986e4c712b1
+SHA512 (ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz) = 9a58d74a4e4256caf4b2ecd09f6f96156e5d4d242ed83d906d114a0cb1fc86277384dfb966dd3a7fdbbf9a18d0abca05e4633637f1ba1afbdc30623793aa8b22
+Size (ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz) = 71752772 bytes
SHA1 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = 04981802730423aa12999e59679be198d540222a
RMD160 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = f617e67f2c2f07c7211cb391a4bc2e7b304045e2
SHA512 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = 0819d9d9cd73688c143812c703e8394c9010e9e81c03a69c81f6bcc784f262ec04bffb9d8f2d030209f2f1a05ccddfb46c36fe789936e2b850920bf08052448f
@@ -21,14 +25,15 @@ RMD160 (ghc-8.4.4-src.tar.xz) = d2be33c4b38ee0660fe081e625ad5242c819392c
SHA512 (ghc-8.4.4-src.tar.xz) = 685e102eee8cf8b6a377afd7871998c8c368a5da288469367e3fb804aa6109e6f59be5945b8cd3d1e36c851190ea9a7f74c576528589589313d237b721d86da5
Size (ghc-8.4.4-src.tar.xz) = 11319500 bytes
SHA1 (patch-aclocal.m4) = 848cf4e1fdc8ccd066f5edca1eeef27182d13312
-SHA1 (patch-configure.ac) = a6e0fe61f6a9237c0b3e3a1dd489af761ce041fb
+SHA1 (patch-configure.ac) = dae98e76c51fdc2f70a77adf7d206c3d79c6bca6
SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
SHA1 (patch-libraries_base_System_CPUTime_Posix_Times.hsc) = 2bfb779d534d12073287274ce5e90b99e457a860
SHA1 (patch-libraries_base_System_Environment.hs) = 7d79a91f295915b4408d5f41d5405739d7189215
SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimespec.hsc) = 588270767f8a9cbde0648fc99807891fef65d721
SHA1 (patch-libraries_time_lib_Data_Time_Clock_Internal_CTimeval.hs) = b2811ec4a845e6b2b44414e940b6108178b597c5
-SHA1 (patch-libraries_unix_include_execvpe.h) = 67dd9720a71a6a55bbe2b50e61621ca60187ef00
-SHA1 (patch-libraries_unix_System_Posix_Env_ByteString.hsc) = 3f675fc5d6bf5cc59a2d5ccffeb9ccd51521645a
SHA1 (patch-libraries_unix_System_Posix_Env.hsc) = e94936c139ca15d45cac4a7feb74a601567913ab
+SHA1 (patch-libraries_unix_System_Posix_Env_ByteString.hsc) = 3f675fc5d6bf5cc59a2d5ccffeb9ccd51521645a
SHA1 (patch-libraries_unix_System_Posix_Files_Common.hsc) = 6efef280832d376915a8987e4e8aac283408f607
SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = 49215dce493a6bbc440f91a3959e592f86fc779b
+SHA1 (patch-libraries_unix_include_execvpe.h) = 67dd9720a71a6a55bbe2b50e61621ca60187ef00
+SHA1 (patch-rules_distdir-way-opts.mk) = 7fc9e3111377680f698ec8877b91e98f7cdcdbb9
diff --git a/lang/ghc84/patches/patch-configure.ac b/lang/ghc84/patches/patch-configure.ac
index f863a66cca8..adb56c24c6e 100644
--- a/lang/ghc84/patches/patch-configure.ac
+++ b/lang/ghc84/patches/patch-configure.ac
@@ -1,4 +1,4 @@
-$NetBSD: patch-configure.ac,v 1.2 2020/01/14 14:44:50 pho Exp $
+$NetBSD: patch-configure.ac,v 1.3 2020/02/17 17:24:06 jperkin Exp $
Hunk #0:
Don't use non-portable operator ==.
@@ -9,6 +9,15 @@ Hunk #1:
--- configure.ac.orig 2018-10-13 19:49:38.000000000 +0000
+++ configure.ac
+@@ -811,7 +811,7 @@ if test "x$EnableDtrace" = "xyes"; then
+ if test -n "$DtraceCmd"; then
+ if test "x$TargetOS_CPP-$TargetVendor_CPP" = "xdarwin-apple" \
+ -o "x$TargetOS_CPP-$TargetVendor_CPP" = "xfreebsd-portbld" \
+- -o "x$TargetOS_CPP-$TargetVendor_CPP" = "xsolaris2-unknown"; then
++ ; then
+ HaveDtrace=YES
+ fi
+ fi
@@ -914,7 +914,7 @@ FP_CHECK_SIZEOF_AND_ALIGNMENT(uint64_t)
dnl for use in settings.in
@@ -18,15 +27,15 @@ Hunk #1:
AC_SUBST([Cabal64bit],[True])
else
AC_SUBST([Cabal64bit],[False])
-@@ -1172,6 +1172,11 @@ if test "$ac_cv_sizeof_void_p" -eq 8 ; then
- # as of OpenBSD 5.8 (2015), OpenBSD does not support mmap with MAP_NORESERVE.
+@@ -1173,6 +1173,11 @@ if test "$ac_cv_sizeof_void_p" -eq 8 ; t
# The flag MAP_NORESERVE is supported for source compatibility reasons,
# but is completely ignored by OS mmap
-+ use_large_address_space=no
+ use_large_address_space=no
+ elif test "$ghc_host_os" = "freebsd" ; then
+ # FreeBSD doesn't support MAP_NORESERVE. The flag
+ # MAP_NORESERVE is supported for source compatibility
+ # reasons, but is completely ignored by OS mmap
- use_large_address_space=no
++ use_large_address_space=no
else
AC_CHECK_DECLS([MAP_NORESERVE, MADV_FREE, MADV_DONTNEED],[],[],
+ [
diff --git a/lang/ghc84/patches/patch-rules_distdir-way-opts.mk b/lang/ghc84/patches/patch-rules_distdir-way-opts.mk
new file mode 100644
index 00000000000..3158997f9e7
--- /dev/null
+++ b/lang/ghc84/patches/patch-rules_distdir-way-opts.mk
@@ -0,0 +1,17 @@
+$NetBSD: patch-rules_distdir-way-opts.mk,v 1.1 2020/02/17 17:24:06 jperkin Exp $
+
+https://gitlab.haskell.org/ghc/ghc/issues/17385
+
+--- rules/distdir-way-opts.mk.orig 2017-11-28 16:39:14.000000000 +0000
++++ rules/distdir-way-opts.mk
+@@ -187,8 +187,8 @@ $1_$2_$3_ALL_LD_OPTS = \
+ $$($1_$2_$3_LD_OPTS) \
+ $$($1_$2_EXTRA_LD_OPTS) \
+ $$(EXTRA_LD_OPTS) \
+- $$(foreach o,$$(EXTRA_LD_LINKER_OPTS),-optl-Wl$$(comma)$$o) \
+- $$(foreach o,$$(CONF_LD_LINKER_OPTS_STAGE$4),-optl-Wl$$(comma)$$o)
++ $$(foreach o,$$(EXTRA_LD_LINKER_OPTS),-Wl$$(comma)$$o) \
++ $$(foreach o,$$(CONF_LD_LINKER_OPTS_STAGE$4),-Wl$$(comma)$$o)
+
+ # Options for passing to GHC when we use it for linking
+ $1_$2_$3_GHC_LD_OPTS = \