Index: lang/ghc/Makefile =================================================================== --- lang/ghc/Makefile +++ lang/ghc/Makefile @@ -18,8 +18,6 @@ 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 Index: lang/ghc/bsd.ghc.mk =================================================================== --- lang/ghc/bsd.ghc.mk +++ lang/ghc/bsd.ghc.mk @@ -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 @@ # 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 @@ 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 + +DOCS_BUILD_DEPENDS+= sphinx-build:textproc/py-sphinx -DYNAMIC_CONFIGURE_ARGS= --with-system-libffi \ - --with-ffi-includes=${LOCALBASE}/include \ - --with-ffi-libraries=${LOCALBASE}/lib +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 .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 @@ . 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 @@ .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 Index: lang/ghc/distinfo =================================================================== --- lang/ghc/distinfo +++ lang/ghc/distinfo @@ -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 Index: lang/ghc/files/build.boot.mk.in =================================================================== --- lang/ghc/files/build.boot.mk.in +++ /dev/null @@ -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 Index: lang/ghc/files/build.mk.in =================================================================== --- lang/ghc/files/build.mk.in +++ lang/ghc/files/build.mk.in @@ -6,6 +6,7 @@ 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%% Index: lang/ghc843/Makefile =================================================================== --- lang/ghc843/Makefile +++ lang/ghc843/Makefile @@ -20,8 +20,6 @@ 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 Index: lang/ghc843/distinfo =================================================================== --- lang/ghc843/distinfo +++ lang/ghc843/distinfo @@ -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 Index: lang/ghc843/files/build.boot.mk.in =================================================================== --- lang/ghc843/files/build.boot.mk.in +++ /dev/null @@ -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 Index: lang/ghc843/files/build.mk.in =================================================================== --- lang/ghc843/files/build.mk.in +++ lang/ghc843/files/build.mk.in @@ -6,6 +6,7 @@ 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%%