pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/ghc88 ghc88: Support SunOS/x86_64.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/91f28f53a645
branches:  trunk
changeset: 411654:91f28f53a645
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Mon Feb 17 17:26:53 2020 +0000

description:
ghc88: Support SunOS/x86_64.

diffstat:

 lang/ghc88/Makefile                                |   9 +++++--
 lang/ghc88/bootstrap.mk                            |   9 ++++---
 lang/ghc88/distinfo                                |  12 ++++++++--
 lang/ghc88/patches/patch-aclocal.m4                |  13 ++++++++++-
 lang/ghc88/patches/patch-configure.ac              |  15 +++++++++++--
 lang/ghc88/patches/patch-rts_StgCRun.c             |  24 ++++++++++++++++++++++
 lang/ghc88/patches/patch-rules_distdir-way-opts.mk |  17 +++++++++++++++
 7 files changed, 84 insertions(+), 15 deletions(-)

diffs (192 lines):

diff -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/Makefile
--- a/lang/ghc88/Makefile       Mon Feb 17 17:24:06 2020 +0000
+++ b/lang/ghc88/Makefile       Mon Feb 17 17:26:53 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.9 2020/01/18 13:43:38 pho Exp $
+# $NetBSD: Makefile,v 1.10 2020/02/17 17:26:53 jperkin Exp $
 # -----------------------------------------------------------------------------
 # Package metadata
 #
@@ -26,8 +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
 
 
 # -----------------------------------------------------------------------------
@@ -159,6 +158,10 @@
 # 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 -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/bootstrap.mk
--- a/lang/ghc88/bootstrap.mk   Mon Feb 17 17:24:06 2020 +0000
+++ b/lang/ghc88/bootstrap.mk   Mon Feb 17 17:26:53 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.4 2020/01/15 01:34:08 pho Exp $
+# $NetBSD: bootstrap.mk,v 1.5 2020/02/17 17:26:53 jperkin Exp $
 # -----------------------------------------------------------------------------
 # Select a bindist of bootstrapping compiler on a per-platform basis.
 #
@@ -63,9 +63,10 @@
 .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
-#DISTFILES:=   ${DISTFILES} ${BOOT_ARCHIVE} # Available in LOCAL_PORTS
+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(BOOT_ARCHIVE)
diff -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/distinfo
--- a/lang/ghc88/distinfo       Mon Feb 17 17:24:06 2020 +0000
+++ b/lang/ghc88/distinfo       Mon Feb 17 17:26:53 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.10 2020/01/18 11:40:04 pho Exp $
+$NetBSD: distinfo,v 1.11 2020/02/17 17:26:53 jperkin Exp $
 
 SHA1 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = 04981802730423aa12999e59679be198d540222a
 RMD160 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = f617e67f2c2f07c7211cb391a4bc2e7b304045e2
@@ -16,13 +16,17 @@
 RMD160 (ghc-8.4.4-boot-x86_64-unknown-netbsd.tar.xz) = dd50835c50cd2102c1af4d2ed8f1148c8ac4d4d9
 SHA512 (ghc-8.4.4-boot-x86_64-unknown-netbsd.tar.xz) = 0cc836390985c56d79a5c08dd2117c53fc9802b969db408dab14cfd441d95b2b5c18fed5d0b6da8a8555501e668ba471d0b878ea11a0021fba76265ed4ef8f76
 Size (ghc-8.4.4-boot-x86_64-unknown-netbsd.tar.xz) = 53040892 bytes
+SHA1 (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = f7021882f5bd695834bdef17b824763174274b95
+RMD160 (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = 986c8ef22d4a2cb5cbf058dafd8b8dc1a6295dd9
+SHA512 (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = 88cba2a1954f0f2282e7b54b2c42f9b8d852b337996556301d9b739e4a89678c7a606e653ff21cce694489b9f02b8edd6641f62624dc0b6ecc53a377129785d5
+Size (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = 67421732 bytes
 SHA1 (ghc-8.8.1-src.tar.xz) = 9d8c1b2e0bad002fed39ba8f53684615a96bc218
 RMD160 (ghc-8.8.1-src.tar.xz) = c514d565e9f808a58991e47b17dccb85f0c01056
 SHA512 (ghc-8.8.1-src.tar.xz) = 7268b012c3a6c34e7eac05c7d6959de6005651d33e870860bbfe589295502e8794a76580130b8f4da2f88032b68116dbbdbc4c1e900e0c862aaa9891fa788bef
 Size (ghc-8.8.1-src.tar.xz) = 28634672 bytes
-SHA1 (patch-aclocal.m4) = 869a0c177922bb0152cc871717a385af2cdb0e3d
+SHA1 (patch-aclocal.m4) = 2ff22865f9fac8a7169cc513ddf34827b9420d58
 SHA1 (patch-compiler_main_DynFlags.hs) = 07bb2a5afdd087f4d2da5c035feecc13273aec70
-SHA1 (patch-configure.ac) = 28d8ed6e4ebf12cd24a1eab0dd2d4f5c30ee9c98
+SHA1 (patch-configure.ac) = 6e5cec26e440ccd71343a1981b415459813f88be
 SHA1 (patch-ghc_ghc.mk) = b395747d7871b466bc38d3a232992abb8cfe95e1
 SHA1 (patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs) = a4c82b1282c0580a7945be8c3b9d38bc760db99f
 SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
@@ -35,3 +39,5 @@
 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-rts_StgCRun.c) = 121c7bd714725d5b14a3cbb03d81b1c769848824
+SHA1 (patch-rules_distdir-way-opts.mk) = 417444cab62ab07ab47adcd1941a3c8026d8a60a
diff -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/patches/patch-aclocal.m4
--- a/lang/ghc88/patches/patch-aclocal.m4       Mon Feb 17 17:24:06 2020 +0000
+++ b/lang/ghc88/patches/patch-aclocal.m4       Mon Feb 17 17:26:53 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-aclocal.m4,v 1.3 2020/01/18 10:40:55 pho Exp $
+$NetBSD: patch-aclocal.m4,v 1.4 2020/02/17 17:26:53 jperkin Exp $
 
 Hunk #1:
   Don't require Alex to build. Fixed in upstream:
@@ -8,8 +8,17 @@
   Canonicalize OS name netbsd* to "netbsd":
   https://gitlab.haskell.org/ghc/ghc/merge_requests/2496
 
---- aclocal.m4.orig    2020-01-12 06:28:01.000000000 +0000
+--- aclocal.m4.orig    2019-08-25 12:03:36.000000000 +0000
 +++ aclocal.m4
+@@ -661,7 +661,7 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
+     x86_64-unknown-solaris2)
+         $2="$$2 -m64"
+         $3="$$3 -m64"
+-        $4="$$4 -m64"
++        $4="$$4 -64"
+         $5="$$5 -m64"
+         ;;
+     alpha-*)
 @@ -985,8 +985,11 @@ else
  fi;
  changequote([, ])dnl
diff -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/patches/patch-configure.ac
--- a/lang/ghc88/patches/patch-configure.ac     Mon Feb 17 17:24:06 2020 +0000
+++ b/lang/ghc88/patches/patch-configure.ac     Mon Feb 17 17:26:53 2020 +0000
@@ -1,11 +1,20 @@
-$NetBSD: patch-configure.ac,v 1.2 2020/01/18 11:27:55 pho Exp $
+$NetBSD: patch-configure.ac,v 1.3 2020/02/17 17:26:53 jperkin Exp $
 
 Don't use non-portable operator ==:
 https://gitlab.haskell.org/ghc/ghc/merge_requests/2497
 
---- configure.ac.orig  2020-01-04 08:10:34.453377650 +0000
+--- configure.ac.orig  2019-08-25 12:03:36.000000000 +0000
 +++ configure.ac
-@@ -914,7 +914,7 @@ FP_CHECK_SIZEOF_AND_ALIGNMENT(uint64_t)
+@@ -829,7 +829,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
+@@ -936,7 +936,7 @@ FP_CHECK_SIZEOF_AND_ALIGNMENT(uint64_t)
  
  dnl for use in settings.in
  TargetWordSize=$ac_cv_sizeof_void_p
diff -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/patches/patch-rts_StgCRun.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/ghc88/patches/patch-rts_StgCRun.c    Mon Feb 17 17:26:53 2020 +0000
@@ -0,0 +1,24 @@
+$NetBSD: patch-rts_StgCRun.c,v 1.1 2020/02/17 17:26:53 jperkin Exp $
+
+https://gitlab.haskell.org/ghc/ghc/merge_requests/2607/diffs
+
+--- rts/StgCRun.c.orig 2019-08-25 04:26:28.000000000 +0000
++++ rts/StgCRun.c
+@@ -405,7 +405,7 @@ StgRunIsImplementedInAssembler(void)
+         "movq %%xmm15,136(%%rax)\n\t"
+ #endif
+ 
+-#if !defined(darwin_HOST_OS)
++#if !defined(darwin_HOST_OS) && !defined(solaris2_HOST_OS)
+         /*
+          * Let the unwinder know where we saved the registers
+          * See Note [Unwinding foreign exports on x86-64].
+@@ -519,7 +519,7 @@ StgRunIsImplementedInAssembler(void)
+           "i"(RESERVED_C_STACK_BYTES + STG_RUN_STACK_FRAME_SIZE
+               /* rip relative to cfa */)
+ 
+-#if !defined(darwin_HOST_OS)
++#if !defined(darwin_HOST_OS) && !defined(solaris2_HOST_OS)
+           , "i"((RSP_DELTA & 127) | (128 * ((RSP_DELTA >> 7) > 0)))
+             /* signed LEB128-encoded delta from rsp - byte 1 */
+ #if (RSP_DELTA >> 7) > 0
diff -r c1da4d627b94 -r 91f28f53a645 lang/ghc88/patches/patch-rules_distdir-way-opts.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/ghc88/patches/patch-rules_distdir-way-opts.mk        Mon Feb 17 17:26:53 2020 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-rules_distdir-way-opts.mk,v 1.1 2020/02/17 17:26:53 jperkin Exp $
+
+https://gitlab.haskell.org/ghc/ghc/issues/17385
+
+--- rules/distdir-way-opts.mk.orig     2019-08-25 12:03:36.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 = \



Home | Main Index | Thread Index | Old Index