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
This commit is contained in:
parent
a1a2a6deff
commit
7bcee44538
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=486824
9 changed files with 56 additions and 72 deletions
|
@ -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
|
||||
|
|
|
@ -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 /nonexistent/.ccache/tmp: P
|
|||
# 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, but it builds fine on a r
|
|||
. 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
GhcLibWays = v
|
||||
XMLDocWays =
|
||||
HADDOCK_DOCS = NO
|
||||
HSCOLOUR_SRCS = NO
|
||||
INTEGER_LIBRARY = integer-simple
|
||||
DYNAMIC_GHC_PROGRAMS = NO
|
||||
BUILD_PROF_LIBS = NO
|
||||
BIN_DIST_NAME = ghc-%%GHC_VERSION%%-boot
|
||||
BIN_DIST_TAR = ghc-%%GHC_VERSION%%-boot.tar
|
|
@ -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%%
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
GhcLibWays = v
|
||||
XMLDocWays =
|
||||
HADDOCK_DOCS = NO
|
||||
HSCOLOUR_SRCS = NO
|
||||
INTEGER_LIBRARY = integer-simple
|
||||
DYNAMIC_GHC_PROGRAMS = NO
|
||||
BUILD_PROF_LIBS = NO
|
||||
BIN_DIST_NAME = ghc-%%GHC_VERSION%%-boot
|
||||
BIN_DIST_TAR = ghc-%%GHC_VERSION%%-boot.tar
|
|
@ -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%%
|
||||
|
|
Loading…
Reference in a new issue