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>