Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Dec 2018 18:47:16 +0000 (UTC)
From:      Gleb Popov <arrowd@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r486978 - in head/lang: . ghc ghc862 ghc862/files
Message-ID:  <201812081847.wB8IlG63092502@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arrowd
Date: Sat Dec  8 18:47:16 2018
New Revision: 486978
URL: https://svnweb.freebsd.org/changeset/ports/486978

Log:
  lang/ghc862: Add a port for GHC 8.6.2.
  
  Reviewed by:	Mikael Urankar <mikael.urankar@gmail.com> (ARM bits), tcberner
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D18397

Added:
  head/lang/ghc862/
     - copied from r486969, head/lang/ghc/
Deleted:
  head/lang/ghc862/bsd.cabal.mk
  head/lang/ghc862/bsd.cabal.options.mk
  head/lang/ghc862/bsd.ghc.mk
  head/lang/ghc862/bsd.hackage.mk
  head/lang/ghc862/files/patch-configure
  head/lang/ghc862/files/patch-fix-build-on-arm
  head/lang/ghc862/files/patch-llvm-targets
  head/lang/ghc862/files/patch-rts_posix_OSMem.c
  head/lang/ghc862/pkg-plist
Modified:
  head/lang/Makefile
  head/lang/ghc/bsd.ghc.mk
  head/lang/ghc862/Makefile
  head/lang/ghc862/distinfo
  head/lang/ghc862/files/extra-patch-aclocal.m4
  head/lang/ghc862/files/patch-ghc.mk

Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile	Sat Dec  8 18:47:16 2018	(r486977)
+++ head/lang/Makefile	Sat Dec  8 18:47:16 2018	(r486978)
@@ -113,6 +113,7 @@
     SUBDIR += gforth
     SUBDIR += ghc
     SUBDIR += ghc843
+    SUBDIR += ghc862
     SUBDIR += gjs
     SUBDIR += gnat_util
     SUBDIR += gnatcross-aarch64

Modified: head/lang/ghc/bsd.ghc.mk
==============================================================================
--- head/lang/ghc/bsd.ghc.mk	Sat Dec  8 18:47:16 2018	(r486977)
+++ head/lang/ghc/bsd.ghc.mk	Sat Dec  8 18:47:16 2018	(r486978)
@@ -85,6 +85,19 @@ BOOT_GHC_VERSION=	8.4.2
 .  else
 BOOT_GHC_VERSION=	8.4.3
 .  endif
+
+# When GHC being compiled and GHC used for bootstrapping support different
+# LLVM versions, we have to pull in both. Luckily, this is relatively rare.
+.  if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7
+# LLVM version that bootstrap compiler uses
+BOOT_LLVM_VERSION=	50
+
+.    if ${BOOT_LLVM_VERSION} != ${LLVM_VERSION}
+BUILD_DEPENDS+=		llc${BOOT_LLVM_VERSION}:devel/llvm${BOOT_LLVM_VERSION}
+RUN_DEPENDS+=		llc${BOOT_LLVM_VERSION}:devel/llvm${BOOT_LLVM_VERSION}
+.    endif
+.  endif
+
 DISTFILES+=		ghc-${BOOT_GHC_VERSION}-boot-${ARCH}-freebsd${EXTRACT_SUFX}:boot
 .endif # MBOOT
 

Modified: head/lang/ghc862/Makefile
==============================================================================
--- head/lang/ghc/Makefile	Sat Dec  8 18:00:22 2018	(r486969)
+++ head/lang/ghc862/Makefile	Sat Dec  8 18:47:16 2018	(r486978)
@@ -1,8 +1,8 @@
-# Created by: Simon Marlow <simonmar@microsoft.com>
 # $FreeBSD$
 
 PORTNAME=	ghc
 PORTVERSION=	${GHC_VERSION}
+PKGNAMESUFFIX=	862
 CATEGORIES=	lang haskell
 MASTER_SITES=	http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
 		LOCAL/arrowd/:boot \
@@ -18,11 +18,13 @@ COMMENT=	Compiler for the functional language Haskell
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-GHC_VERSION=		8.4.4
+GHC_VERSION=		8.6.2
 HSCOLOUR_VERSION=	1.24.4
-LLVM_VERSION=		50
+LLVM_VERSION=		60
 
-CONFLICTS_INSTALL=	ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* ghc-8.0.* ghc-8.4.3
+CONFLICTS_INSTALL=	ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* ghc-8.0.* ghc-8.4.*
+
+PLIST=			${.CURDIR}/../../lang/ghc/pkg-plist
 
 .include "${.CURDIR}/../../lang/ghc/bsd.ghc.mk"
 

Modified: head/lang/ghc862/distinfo
==============================================================================
--- head/lang/ghc/distinfo	Sat Dec  8 18:00:22 2018	(r486969)
+++ head/lang/ghc862/distinfo	Sat Dec  8 18:47:16 2018	(r486978)
@@ -1,14 +1,14 @@
-TIMESTAMP = 1541010522
-SHA256 (ghc-8.4.4-src.tar.xz) = 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2
-SIZE (ghc-8.4.4-src.tar.xz) = 11319500
+TIMESTAMP = 1543568924
+SHA256 (ghc-8.6.2-src.tar.xz) = caaa819d21280ecde90a4773143dee188711e9ff175a27cfbaee56eb851d76d5
+SIZE (ghc-8.6.2-src.tar.xz) = 19024236
 SHA256 (ghc-8.4.3-boot-amd64-freebsd.tar.xz) = 0e0324a539d471a813ed4d18c537fb19be22a4e250bd5434a3a911b9d5343724
 SIZE (ghc-8.4.3-boot-amd64-freebsd.tar.xz) = 67718400
 SHA256 (ghc-8.4.3-boot-i386-freebsd.tar.xz) = 65fcd48b1c0166e028b3f6d50ad295525e6b84490da82663ec66165e57e87972
 SIZE (ghc-8.4.3-boot-i386-freebsd.tar.xz) = 66143592
 SHA256 (hscolour-1.24.4.tar.gz) = 243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d
 SIZE (hscolour-1.24.4.tar.gz) = 28729
-SHA256 (ghc-8.4.3-boot-aarch64-freebsd.tar.xz) = 84611f37d31a43a3216274ee7dcee4b89f2c5ef6ab713222f266b5658c736e05
-SIZE (ghc-8.4.3-boot-aarch64-freebsd.tar.xz) = 99933576
+SHA256 (ghc-8.4.2-boot-aarch64-freebsd.tar.xz) = 18412f10bb172dbaff7f31505845fbd43fdde14046463fdacc42e26683be311d
+SIZE (ghc-8.4.2-boot-aarch64-freebsd.tar.xz) = 100240140
 SHA256 (ghc-8.4.2-boot-armv6-freebsd.tar.xz) = 61d3a4486dbb904b05a735e98f23a49c2b464d6b19212dd655ff578f36d02f0d
 SIZE (ghc-8.4.2-boot-armv6-freebsd.tar.xz) = 107368936
 SHA256 (ghc-8.4.2-boot-armv7-freebsd.tar.xz) = eedb9416870bfe82315155751871e31e815b718b381ccf4f7e45a99a6ad7c94d

Modified: head/lang/ghc862/files/extra-patch-aclocal.m4
==============================================================================
--- head/lang/ghc/files/extra-patch-aclocal.m4	Sat Dec  8 18:00:22 2018	(r486969)
+++ head/lang/ghc862/files/extra-patch-aclocal.m4	Sat Dec  8 18:47:16 2018	(r486978)
@@ -1,46 +1,8 @@
 --- aclocal.m4.orig	2018-03-25 21:22:32 UTC
 +++ aclocal.m4
-@@ -648,6 +648,14 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
-         $3="$$3 -D_HPUX_SOURCE"
-         $5="$$5 -D_HPUX_SOURCE"
-         ;;
-+    arm*freebsd*)
-+        # On arm/freebsd, tell gcc to generate Arm
-+        # instructions (ie not Thumb) and to link using the gold linker.
-+        # Forcing LD to be ld.gold is done in FIND_LD m4 macro.
-+        $2="$$2 -marm"
-+        $3="$$3 -Wl,-z,noexecstack"
-+        $4="$$4 -z noexecstack"
-+        ;;
-     arm*linux*)
-         # On arm/linux and arm/android, tell gcc to generate Arm
-         # instructions (ie not Thumb).
-@@ -656,6 +664,11 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
-         $4="$$4 -z noexecstack"
-         ;;
- 
-+    aarch64*freebsd*)
-+        $3="$$3 -Wl,-z,noexecstack"
-+        $4="$$4 -z noexecstack"
-+        ;;
-+
-     aarch64*linux*)
-         $3="$$3 -Wl,-z,noexecstack"
-         $4="$$4 -z noexecstack"
-@@ -1917,6 +1930,10 @@ case "$1" in
- # converts the canonicalized target into someting llvm can understand
- AC_DEFUN([GHC_LLVM_TARGET], [
-   case "$2-$3" in
-+    *-freebsd*-gnueabihf)
-+      llvm_target_vendor="unknown"
-+      llvm_target_os="freebsd-gnueabihf"
-+      ;;
-     hardfloat-*eabi)
-       llvm_target_vendor="unknown"
-       llvm_target_os="$3""hf"
 @@ -2361,13 +2378,6 @@ AC_DEFUN([FIND_LD],[
        [enable_ld_override=yes])
- 
+
      find_ld() {
 -        # Make sure the user didn't specify LD manually.
 -        if test "z$LD" != "z"; then

Modified: head/lang/ghc862/files/patch-ghc.mk
==============================================================================
--- head/lang/ghc/files/patch-ghc.mk	Sat Dec  8 18:00:22 2018	(r486969)
+++ head/lang/ghc862/files/patch-ghc.mk	Sat Dec  8 18:47:16 2018	(r486978)
@@ -1,4 +1,4 @@
---- ghc.mk.orig	2017-01-03 15:59:18 UTC
+--- ghc.mk.orig 2018-09-16 20:53:54 UTC
 +++ ghc.mk
 @@ -96,6 +96,7 @@ endif
  # Catch make if it runs away into an infinite loop
@@ -8,14 +8,13 @@
  else
  $(error Make has restarted itself $(MAKE_RESTARTS) times; is there a makefile bug? See http://ghc.haskell.org/trac/ghc/wiki/Building/Troubleshooting#Makehasrestarteditself3timesisthereamakefilebug for details)
  endif
-@@ -459,10 +460,7 @@ PACKAGES_STAGE1 += ghc-boot-th
- PACKAGES_STAGE1 += ghc-boot
- PACKAGES_STAGE1 += template-haskell
+@@ -461,9 +462,7 @@ PACKAGES_STAGE1 += template-haskell
  PACKAGES_STAGE1 += ghc-compact
--
+ PACKAGES_STAGE1 += ghc-heap
+
 -ifeq "$(HADDOCK_DOCS)" "YES"
  PACKAGES_STAGE1 += xhtml
 -endif
- 
+
  ifeq "$(WITH_TERMINFO)" "YES"
  PACKAGES_STAGE1 += terminfo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201812081847.wB8IlG63092502>