Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Dec 2018 05:46:39 +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: r486824 - in head/lang: ghc ghc/files ghc843 ghc843/files
Message-ID:  <201812070546.wB75kdWc038452@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arrowd
Date: Fri Dec  7 05:46:39 2018
New Revision: 486824
URL: https://svnweb.freebsd.org/changeset/ports/486824

Log:
  Cleanup GHC ports:
  
    - Switch to using ld instead of binutils ld or ld.bfd on amd64/i386.
    - Add GMP option.
    - Re-enable DYNAMIC option on ARM. It is reported that it works now.
    - Fix create-bootstrap target to produce tarballs ready to be consumed by ports.
    - Update bootstrap compilers to 8.4.3 on amd64, i386, aarch64.
    - Get rid merge build.boot.mk.in into build.mk.in.
    - Sort some Makefile variables.
  
  Reviewed by:	Mikael Urankar <mikael.urankar@gmail.com> (ARM bits), tcberner
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D18378

Deleted:
  head/lang/ghc/files/build.boot.mk.in
  head/lang/ghc843/files/build.boot.mk.in
Modified:
  head/lang/ghc/Makefile
  head/lang/ghc/bsd.ghc.mk
  head/lang/ghc/distinfo
  head/lang/ghc/files/build.mk.in
  head/lang/ghc843/Makefile
  head/lang/ghc843/distinfo
  head/lang/ghc843/files/build.mk.in

Modified: head/lang/ghc/Makefile
==============================================================================
--- head/lang/ghc/Makefile	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc/Makefile	Fri Dec  7 05:46:39 2018	(r486824)
@@ -18,8 +18,6 @@ COMMENT=	Compiler for the functional language Haskell
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-ONLY_FOR_ARCHS=	aarch64 amd64 armv6 armv7 i386
-
 GHC_VERSION=		8.4.4
 HSCOLOUR_VERSION=	1.24.4
 LLVM_VERSION=		50

Modified: head/lang/ghc/bsd.ghc.mk
==============================================================================
--- head/lang/ghc/bsd.ghc.mk	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc/bsd.ghc.mk	Fri Dec  7 05:46:39 2018	(r486824)
@@ -5,11 +5,11 @@
 # Maintained by: haskell@FreeBSD.org
 #
 
+ONLY_FOR_ARCHS=	aarch64 amd64 armv6 armv7 i386
+
 DATADIR=	${PREFIX}/share/ghc-${GHC_VERSION}
 EXAMPLESDIR=	${PREFIX}/share/examples/ghc-${GHC_VERSION}
 
-LIB_DEPENDS+=	libgmp.so:math/gmp
-
 USES=		autoreconf gmake iconv:translit localbase:ldflags ncurses perl5 tar:xz
 USE_LOCALE=	en_US.UTF-8
 USE_PERL5=	build
@@ -21,13 +21,12 @@ NO_CCACHE=	ccache: error: Failed to create directory /
 # This is better fixed in files/build.mk.in
 GNU_CONFIGURE=	yes
 
-CONFIGURE_ARGS=		--with-gmp-includes=${LOCALBASE}/include \
-			--with-gmp-libraries=${LOCALBASE}/lib \
-			--with-iconv-includes=${LOCALBASE}/include \
+CONFIGURE_ARGS=		--with-iconv-includes=${LOCALBASE}/include \
 			--with-iconv-libraries=${LOCALBASE}/lib
+# Turn off for a while, see PR 228727
+CONFIGURE_ARGS+=	--enable-dtrace=0
 
-SUB_FILES=		build.mk \
-			build.boot.mk
+SUB_FILES=		build.mk
 SUB_LIST=		GHC_VERSION=${GHC_VERSION} \
 			NCURSESINC="${NCURSESBASE}/include" NCURSESLIB="${NCURSESLIB}" \
 			CFLAGS="${CFLAGS}"
@@ -35,47 +34,57 @@ SUB_LIST=		GHC_VERSION=${GHC_VERSION} \
 OPTIONS_GROUP=		BOOTSTRAP
 BOOTSTRAP_DESC=		Bootsrap using installed ghc
 OPTIONS_GROUP_BOOTSTRAP=BOOT
-OPTIONS_DEFINE=		DYNAMIC PROFILE DOCS
+OPTIONS_DEFINE=		DYNAMIC GMP PROFILE DOCS
 OPTIONS_SUB=		yes
 
-OPTIONS_DEFAULT=	PROFILE DYNAMIC
-# ghci segfaults on arm when dynamic linking is used
-OPTIONS_EXCLUDE_armv6=	DYNAMIC
-OPTIONS_EXCLUDE_armv7=	DYNAMIC
-OPTIONS_EXCLUDE_aarch64=	DYNAMIC
+OPTIONS_DEFAULT=	DYNAMIC PROFILE GMP
 
 BOOT_DESC=		Use installed GHC for bootstrapping
-PROFILE_DESC=		Add support for performance profiling
-DYNAMIC_DESC=		Add support for dynamic linking
 DOCS_DESC=		Install HTML documentation
+DYNAMIC_DESC=		Add support for dynamic linking
+GMP_DESC=		Use GNU Multi-precision Library for big integers support
+PROFILE_DESC=		Add support for performance profiling
 
-DYNAMIC_CONFIGURE_ARGS=	--with-system-libffi \
-			--with-ffi-includes=${LOCALBASE}/include \
-			--with-ffi-libraries=${LOCALBASE}/lib
+DOCS_BUILD_DEPENDS+=	sphinx-build:textproc/py-sphinx
+
+DYNAMIC_CONFIGURE_WITH=	system-libffi \
+			ffi-includes=${LOCALBASE}/include \
+			ffi-libraries=${LOCALBASE}/lib
 # The version number is needed as lang/gcc installs a different version
 DYNAMIC_LIB_DEPENDS=	libffi.so.6:devel/libffi
 
+GMP_CONFIGURE_WITH=	gmp-includes=${LOCALBASE}/include \
+			gmp-libraries=${LOCALBASE}/lib
+GMP_LIB_DEPENDS=	libgmp.so:math/gmp
+
 # Append substitutions for build.mk
 BOOT_SUB_LIST=		HSC2HS=${LOCALBASE}/bin/hsc2hs
 BOOT_SUB_LIST_OFF=	HSC2HS=${BOOT_HSC2HS}
 
-DOCS_BUILD_DEPENDS+=	sphinx-build:textproc/py-sphinx
+DOCS_SUB_LIST=		WITH_DOCS="YES"
+DOCS_SUB_LIST_OFF=	WITH_DOCS="NO"
 
 DYNAMIC_SUB_LIST=	WITH_DYNAMIC="YES"
 DYNAMIC_SUB_LIST_OFF=	WITH_DYNAMIC="NO"
 
+GMP_SUB_LIST=		INTEGER_LIBRARY="integer-gmp"
+GMP_SUB_LIST_OFF=	INTEGER_LIBRARY="integer-simple"
+
 PROFILE_SUB_LIST=	WITH_PROFILE="YES"
 PROFILE_SUB_LIST_OFF=	WITH_PROFILE="NO"
 
-DOCS_SUB_LIST=		WITH_DOCS="YES"
-DOCS_SUB_LIST_OFF=	WITH_DOCS="NO"
-
 LOCALBASE?=	/usr/local
 
+GHC_ARCH=		${ARCH:S/amd64/x86_64/:C/armv.*/arm/}
+
 .include <bsd.port.options.mk>
 
 .if empty(PORT_OPTIONS:MBOOT)
+.  if ${ARCH} == armv6 || ${ARCH} == armv7
 BOOT_GHC_VERSION=	8.4.2
+.  else
+BOOT_GHC_VERSION=	8.4.3
+.  endif
 DISTFILES+=		ghc-${BOOT_GHC_VERSION}-boot-${ARCH}-freebsd${EXTRACT_SUFX}:boot
 .endif # MBOOT
 
@@ -98,16 +107,6 @@ IGNORE=	qemu-user-static isn't able to build lang/ghc,
 .  endif
 .endif
 
-# Turn off for a while, see PR 228727
-CONFIGURE_ARGS+=	--enable-dtrace=0
-.if ${OSVERSION} < 1200000
-USE_GCC=	yes
-.else
-.  if !exists(/usr/bin/ld.bfd)
-USE_BINUTILS=	yes
-.  endif
-LD=		ld.bfd
-.endif
 CONFIGURE_ENV+=		CC=${CC} LD=${LD}
 
 DOCSDIR=	${PREFIX}/share/doc/${DISTNAME}
@@ -275,7 +274,12 @@ post-install:
 .PHONY: create-bootstrap
 create-bootstrap:
 	cd ${WRKSRC} \
-	&& gmake binary-dist TAR_COMP=xz \
-	&& mv ${WRKSRC}/ghc-${GHC_VERSION}-${ARCH}-portbld-freebsd.tar.xz /tmp/ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
-	&& sha256 ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
-	&& stat -f %z ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
+		&& ${ECHO} "BIN_DIST_NAME=ghc-${GHC_VERSION}-boot" >> mk/build.mk \
+		&& ${ECHO} "BIN_DIST_TAR=ghc-${GHC_VERSION}-boot.tar" >> mk/build.mk \
+		&& gmake binary-dist TAR_COMP=xz \
+		&& ${MV} ${WRKSRC}/ghc-${GHC_VERSION}-boot-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
+
+	cd /tmp \
+		&& sha256 ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz \
+		&& ${ECHO} -n "SIZE (ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz) = " \
+		&& ${STAT} -f %z ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz

Modified: head/lang/ghc/distinfo
==============================================================================
--- head/lang/ghc/distinfo	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc/distinfo	Fri Dec  7 05:46:39 2018	(r486824)
@@ -1,14 +1,14 @@
-TIMESTAMP = 1541010521
+TIMESTAMP = 1541010522
 SHA256 (ghc-8.4.4-src.tar.xz) = 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2
 SIZE (ghc-8.4.4-src.tar.xz) = 11319500
-SHA256 (ghc-8.4.2-boot-amd64-freebsd.tar.xz) = 8fe44700c0b765b38a2072c8ea9ddb1da18b4a738397c9ceddcce80708900e4f
-SIZE (ghc-8.4.2-boot-amd64-freebsd.tar.xz) = 72751016
-SHA256 (ghc-8.4.2-boot-i386-freebsd.tar.xz) = 673230735fc459a3c05cf845ef7beeeb6eab9576bc03471b9fb50bd3fe29d911
-SIZE (ghc-8.4.2-boot-i386-freebsd.tar.xz) = 69976728
+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.2-boot-aarch64-freebsd.tar.xz) = 18412f10bb172dbaff7f31505845fbd43fdde14046463fdacc42e26683be311d
-SIZE (ghc-8.4.2-boot-aarch64-freebsd.tar.xz) = 100240140
+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-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/ghc/files/build.mk.in
==============================================================================
--- head/lang/ghc/files/build.mk.in	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc/files/build.mk.in	Fri Dec  7 05:46:39 2018	(r486824)
@@ -6,6 +6,7 @@ DYNAMIC_GHC_PROGRAMS = %%WITH_DYNAMIC%%
 BUILD_PROF_LIBS = %%WITH_PROFILE%%
 HADDOCK_DOCS = %%WITH_DOCS%%
 HSCOLOUR_SRCS = %%WITH_DOCS%%
+INTEGER_LIBRARY = %%INTEGER_LIBRARY%%
 # disable xelatex: PR 231438
 BUILD_SPHINX_PDF = NO
 BSD_PATH_TO_HSC2HS = %%HSC2HS%%

Modified: head/lang/ghc843/Makefile
==============================================================================
--- head/lang/ghc843/Makefile	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc843/Makefile	Fri Dec  7 05:46:39 2018	(r486824)
@@ -20,8 +20,6 @@ COMMENT=	Compiler for the functional language Haskell
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-ONLY_FOR_ARCHS=	aarch64 amd64 armv6 armv7 i386
-
 GHC_VERSION=		8.4.3
 HSCOLOUR_VERSION=	1.24.4
 LLVM_VERSION=		50

Modified: head/lang/ghc843/distinfo
==============================================================================
--- head/lang/ghc843/distinfo	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc843/distinfo	Fri Dec  7 05:46:39 2018	(r486824)
@@ -1,14 +1,14 @@
-TIMESTAMP = 1530033471
+TIMESTAMP = 1530033472
 SHA256 (ghc-8.4.3-src.tar.xz) = ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6
 SIZE (ghc-8.4.3-src.tar.xz) = 11315068
-SHA256 (ghc-8.4.2-boot-amd64-freebsd.tar.xz) = 8fe44700c0b765b38a2072c8ea9ddb1da18b4a738397c9ceddcce80708900e4f
-SIZE (ghc-8.4.2-boot-amd64-freebsd.tar.xz) = 72751016
-SHA256 (ghc-8.4.2-boot-i386-freebsd.tar.xz) = 673230735fc459a3c05cf845ef7beeeb6eab9576bc03471b9fb50bd3fe29d911
-SIZE (ghc-8.4.2-boot-i386-freebsd.tar.xz) = 69976728
+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.2-boot-aarch64-freebsd.tar.xz) = 18412f10bb172dbaff7f31505845fbd43fdde14046463fdacc42e26683be311d
-SIZE (ghc-8.4.2-boot-aarch64-freebsd.tar.xz) = 100240140
+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-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/ghc843/files/build.mk.in
==============================================================================
--- head/lang/ghc843/files/build.mk.in	Fri Dec  7 04:49:40 2018	(r486823)
+++ head/lang/ghc843/files/build.mk.in	Fri Dec  7 05:46:39 2018	(r486824)
@@ -6,6 +6,7 @@ DYNAMIC_GHC_PROGRAMS = %%WITH_DYNAMIC%%
 BUILD_PROF_LIBS = %%WITH_PROFILE%%
 HADDOCK_DOCS = %%WITH_DOCS%%
 HSCOLOUR_SRCS = %%WITH_DOCS%%
+INTEGER_LIBRARY = %%INTEGER_LIBRARY%%
 # disable xelatex: PR 231438
 BUILD_SPHINX_PDF = NO
 BSD_PATH_TO_HSC2HS = %%HSC2HS%%



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