Merge lang/ghcXXX ports into lang/ghc.

Remove OPTIONS support from library Haskell ports.
Do not install documentation by library Haskell ports.
Remove deprecation notice from library ports, that still needed.

PR:		224083
Approved by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D20247
This commit is contained in:
Gleb Popov 2019-05-28 15:53:04 +00:00
parent e3182c311c
commit 0402fd9082
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=502898
66 changed files with 348 additions and 743 deletions

3
MOVED
View file

@ -12772,3 +12772,6 @@ devel/rubygem-peek-rblineprof-rails50|devel/rubygem-peek-rblineprof-rails5|2019-
devel/rubygem-peek-redis-rails50|devel/rubygem-peek-redis-rails5|2019-05-28|Obsolete by gitlab-ce upgrade, use devel/rubygem-peek-redis-rails5 instead
mail/rubygem-premailer-rails19-rails50|mail/rubygem-premailer-rails19-rails5|2019-05-28|Obsolete by gitlab-ce upgrade, use mail/rubygem-premailer-rails19-rails5 instead
www/rubygem-webpack-rails-rails50|www/rubygem-webpack-rails-rails5|2019-05-28|Obsolete by gitlab-ce upgrade, use www/rubygem-webpack-rails-rails5 instead
lang/ghc843||2019-05-28|Old versions of GHC are removed from ports. Use devel/stack and appropriate resolver to install this version of GHC for your user only
lang/ghc844||2019-05-28|Old versions of GHC are removed from ports. Use devel/stack and appropriate resolver to install this version of GHC for your user only
lang/ghc862||2019-05-28|Old versions of GHC are removed from ports. Use devel/stack and appropriate resolver to install this version of GHC for your user only

View file

@ -2,7 +2,7 @@
PORTNAME= data-default-class
PORTVERSION= 0.1.2.0
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Class for types with a default value
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= data-default-instances-base
PORTVERSION= 0.1.0.1
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Default instances for types in base
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= data-default-class
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= data-default-instances-containers
PORTVERSION= 0.0.1
PORTREVISION= 12
PORTREVISION= 13
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Default instances for types in containers
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= data-default-class
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= data-default-instances-dlist
PORTVERSION= 0.0.1
PORTREVISION= 12
PORTREVISION= 13
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Default instances for types in dlist
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= data-default-class dlist
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= data-default-instances-old-locale
PORTVERSION= 0.0.1
PORTREVISION= 13
PORTREVISION= 14
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Default instances for types in old-locale
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= data-default-class old-locale
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= data-default
PORTVERSION= 0.7.1.1
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Class for types with a default value
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= data-default-class data-default-instances-base \
data-default-instances-containers data-default-instances-dlist \
data-default-instances-old-locale

View file

@ -3,7 +3,7 @@
PORTNAME= dlist
PORTVERSION= 0.8.0.5
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -11,8 +11,5 @@ COMMENT= Difference lists
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= extensible-exceptions
PORTVERSION= 0.1.1.4
PORTREVISION= 12
PORTREVISION= 13
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Extensible exceptions
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
CABAL_SETUP= Setup.hs
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -3,7 +3,7 @@
PORTNAME= haddock
PORTVERSION= 2.21.0
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -14,15 +14,5 @@ LICENSE= BSD3CLAUSE
USES= cabal
USE_CABAL= ghc-paths-0.1.0.9_4 haddock-api-2.21.0 haddock-library-1.7.0
SKIP_CABAL_PLIST= yes
# new-cabal doesn't seem to support this yet
#CONFIGURE_ARGS+= --program-suffix=-${PORTVERSION}
post-stage:
${MV} ${STAGEDIR}/${PREFIX}/bin/haddock ${STAGEDIR}/${PREFIX}/bin/haddock-${PORTVERSION}
post-install-script:
${ECHO_CMD} 'bin/haddock-${PORTVERSION}' >> ${TMPPLIST}
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= hashable
PORTVERSION= 1.2.7.0
PORTREVISION= 3
PORTREVISION= 4
PORTEPOCH= 1
CATEGORIES= devel haskell
@ -11,9 +11,6 @@ COMMENT= Class for types that can be converted to a hash value
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
FLAGS_DEFINE= INTEGER_GMP SSE2 SSE41
FLAGS_DEFAULT_amd64= INTEGER_GMP SSE2
FLAGS_DEFAULT_i386= INTEGER_GMP SSE2

View file

@ -2,7 +2,7 @@
PORTNAME= mtl
PORTVERSION= 2.2.1
PORTREVISION= 5
PORTREVISION= 6
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Monad classes, using functional dependencies
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= old-locale
PORTVERSION= 1.0.0.7
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Locale library
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= old-time
PORTVERSION= 1.1.0.3
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Time library
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= old-locale>=1.0
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= random
PORTVERSION= 1.1
PORTREVISION= 5
PORTREVISION= 6
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Random number library
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= setlocale
PORTVERSION= 1.0.0.8
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Haskell setlocale package
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= transformers-compat
PORTVERSION= 0.5.1.4
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Compatibility shim exposing the new types from transformers 0.3 and 0.4
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -2,7 +2,7 @@
PORTNAME= unordered-containers
PORTVERSION= 0.2.9.0
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Efficient hashing-based container types
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= hashable>=1.0.1.1
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= utf8-string
PORTVERSION= 1.0.1.1
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= devel haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,8 +10,5 @@ COMMENT= Support for reading and writing UTF-8 strings
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>

View file

@ -113,9 +113,6 @@
SUBDIR += gcc9-devel
SUBDIR += gforth
SUBDIR += ghc
SUBDIR += ghc843
SUBDIR += ghc844
SUBDIR += ghc862
SUBDIR += gjs
SUBDIR += gnat_util
SUBDIR += gnatcross-aarch64

View file

@ -3,11 +3,11 @@
PORTNAME= ghc
PORTVERSION= ${GHC_VERSION}
PORTREVISION= 1
CATEGORIES= lang haskell
MASTER_SITES= http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
MASTER_SITES= https://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
LOCAL/arrowd/:boot \
${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs
https://hackage.haskell.org/package/hscolour-${HSCOLOUR_VERSION}/:docs
DISTFILES= ghc-${PORTVERSION}-src${EXTRACT_SUFX}:source \
hscolour-${HSCOLOUR_VERSION}.tar.gz:docs
EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g}
@ -18,12 +18,314 @@ COMMENT= Compiler for the functional language Haskell
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
GHC_VERSION= 8.6.3
# other supported arches are added based on GHC_VERSION below
ONLY_FOR_ARCHS= amd64 i386
USES= autoreconf gmake iconv:translit localbase:ldflags ncurses perl5 tar:xz
USE_LOCALE= en_US.UTF-8
USE_PERL5= build
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-iconv-includes=${LOCALBASE}/include \
--with-iconv-libraries=${LOCALBASE}/lib
CONFIGURE_ENV= CC=${CC} LD=${LD} PATH=${SLAVES_PREFIX}/bin:${PATH}
MAKE_ENV= PATH=${SLAVES_PREFIX}/bin:${PATH}
# Turn off for a while, see PR 228727
CONFIGURE_ARGS+= --enable-dtrace=0
SUB_FILES= build.mk
SUB_LIST= GHC_VERSION=${GHC_VERSION} \
NCURSESINC="${NCURSESBASE}/include" NCURSESLIB="${NCURSESLIB}" \
CFLAGS="${CFLAGS}"
OPTIONS_GROUP= BOOTSTRAP
BOOTSTRAP_DESC= Bootsrap using installed ghc
OPTIONS_GROUP_BOOTSTRAP=BOOT
OPTIONS_DEFINE= DYNAMIC GMP PROFILE DOCS
OPTIONS_SUB= yes
OPTIONS_DEFAULT= DYNAMIC PROFILE GMP
BOOT_DESC= Use installed GHC for bootstrapping
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
DOCS_SUB_LIST= WITH_DOCS="YES"
DOCS_SUB_LIST_OFF= WITH_DOCS="NO"
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
DYNAMIC_SUB_LIST= WITH_DYNAMIC="YES"
DYNAMIC_SUB_LIST_OFF= WITH_DYNAMIC="NO"
GMP_CONFIGURE_WITH= gmp-includes=${LOCALBASE}/include \
gmp-libraries=${LOCALBASE}/lib
GMP_LIB_DEPENDS= libgmp.so:math/gmp
GMP_SUB_LIST= INTEGER_LIBRARY="integer-gmp"
GMP_SUB_LIST_OFF= INTEGER_LIBRARY="integer-simple"
# Append substitutions for build.mk
BOOT_SUB_LIST= HSC2HS=${LOCALBASE}/bin/hsc2hs
BOOT_SUB_LIST_OFF= HSC2HS=${BOOT_HSC2HS}
PROFILE_SUB_LIST= WITH_PROFILE="YES"
PROFILE_SUB_LIST_OFF= WITH_PROFILE="NO"
GHC_VERSION?= ${GHC_VERSION_DEFAULT}
GHC_VERSION_DEFAULT= 8.6.3
GHC_VERSION_MAJOR= ${GHC_VERSION:S/./ /g:[1]}
GHC_VERSION_MINOR= ${GHC_VERSION:S/./ /g:[2]}
HSCOLOUR_VERSION= 1.24.4
.if ${GHC_VERSION_MAJOR} >= 8 && ${GHC_VERSION_MINOR} >= 6
ONLY_FOR_ARCHS+= aarch64 armv6 armv7 powerpc64
.endif
.include <bsd.port.pre.mk>
.if ${GHC_VERSION_MAJOR} == 8 && ${GHC_VERSION_MINOR} <= 4
LLVM_VERSION= 50
.else
LLVM_VERSION= 60
.endif
CONFLICTS_INSTALL= ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* ghc-8.0.* ghc-8.4.* ghc-8.6.2
.if ${ARCH} == amd64 || ${ARCH} == i386
BOOT_GHC_VERSION= 8.4.3
.else
BOOT_GHC_VERSION= 8.6.3
.endif
.include "${.CURDIR}/../../lang/ghc/bsd.ghc.mk"
# LLVM version that bootstrap compiler uses
BOOT_LLVM_VERSION= 60
.include <bsd.port.mk>
.if "${GHC_VERSION}" != "${GHC_VERSION_DEFAULT}"
PATCHDIR= ${.CURDIR}/files${GHC_VERSION:S/.//g}/
.endif
NO_CCACHE= ccache: error: Failed to create directory /nonexistent/.ccache/tmp: Permission denied
DOCSDIR= ${PREFIX}/share/doc/${DISTNAME}
DATADIR= ${PREFIX}/share/ghc-${GHC_VERSION}
EXAMPLESDIR= ${PREFIX}/share/examples/ghc-${GHC_VERSION}
GHC_ARCH= ${ARCH:S/amd64/x86_64/:C/armv.*/arm/}
GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION}
GHC_LIBDIR_REL= lib/ghc-${GHC_VERSION}
_EXECUTABLES= ${GHC_LIBDIR}/bin/unlit \
${GHC_LIBDIR}/bin/hpc \
${GHC_LIBDIR}/bin/ghc-iserv \
${GHC_LIBDIR}/bin/ghc-pkg \
${GHC_LIBDIR}/bin/hsc2hs \
${GHC_LIBDIR}/bin/runghc \
${GHC_LIBDIR}/bin/ghc \
${GHC_LIBDIR}/bin/hp2ps \
${GHC_LIBDIR}/bin/haddock
.if ${PORT_OPTIONS:MPROFILE}
_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-prof
.endif
.if ${PORT_OPTIONS:MDYNAMIC}
_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-dyn
.endif
.include <bsd.port.options.mk>
.if empty(PORT_OPTIONS:MBOOT)
DISTFILES+= ghc-${BOOT_GHC_VERSION}-boot-${ARCH}-freebsd${EXTRACT_SUFX}:boot
.endif # MBOOT
.if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7
# CONFIGURE_TARGET must to be the same as the llvm triple
CONFIGURE_TARGET= ${ARCH}-unknown-freebsd${"${ARCH:Maarch64}" != "":?:-gnueabihf}
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-aclocal.m4
BUILD_DEPENDS+= ld.gold:devel/binutils \
llc${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
RUN_DEPENDS+= ld.gold:devel/binutils \
llc${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
USE_GCC= yes
# 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 ${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
. if ${OSVERSION} < 1200064
IGNORE= lang/ghc on ARM requires at least __FreeBSD_version 1200064
. endif
. ifdef QEMU_EMULATING
IGNORE= qemu-user-static isn't able to build lang/ghc, but it builds fine on a real hardware
. endif
.endif
.if ${ARCH} == powerpc64
USE_GCC= yes
. if ${OSVERSION} < 1200086
IGNORE= lang/ghc on powerpc64 requires at least __FreeBSD_version 1200086
. endif
.endif
# Use binutils strip if we are using gcc, as it is faster that base one. See PR 234949
.if defined(USE_GCC)
CONFIGURE_ENV+= STRIP=${LOCALBASE}/bin/strip
.endif
PLIST_SUB+= GHC_VERSION=${GHC_VERSION} GHC_LIBDIR=${GHC_LIBDIR_REL}
.if empty(PORT_OPTIONS:MBOOT)
BOOT_DIR= ${WRKDIR}/ghc-${BOOT_GHC_VERSION}-boot
BOOT_GHC= ${BOOT_DIR}/bin/ghc-${BOOT_GHC_VERSION}
BOOT_GHC-PKG= ${BOOT_DIR}/bin/ghc-pkg-${BOOT_GHC_VERSION}
BOOT_HSC2HS= ${BOOT_DIR}/bin/hsc2hs
SLAVE_ENV= ${SETENV} PATH=${BOOT_DIR}/bin:${PATH}
CONFIGURE_ARGS+= --with-ghc=${BOOT_GHC}
.else # MBOOT
SLAVE_ENV= # empty
CONFIGURE_ARGS+= --with-ghc=${LOCALBASE}/bin/ghc
.endif # MBOOT
# override TMPDIR because /tmp often doesn't have enough space
# to build some of the larger libraries.
#TMPDIR= ${WRKSRC}/tmp
SLAVES_PREFIX= ${WRKDIR}/slaves_prefix
SLAVES_WRKDIRPREFIX= ${WRKDIR}/slaves_wrkdirprefix
post-extract:
# Use the "wrap" trick on arches that have to use pre-ino64 bootstrap binaries
.if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 && \
(${ARCH} == amd64 || ${ARCH} == i386)
@${REINPLACE_CMD} -e 's|@SettingsCCompilerLinkFlags@|& -Wl,--wrap=readdir_r,--wrap=stat,--wrap=lstat,--wrap=fstat,--wrap=mknod|' ${BOOT_DIR}/settings.in
.endif
# %%PORTDOCS%%%%DOCSDIR%%/html/libraries/doc-index-V.html
post-install-script:
${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E \
-e 's,^${STAGEDIR}${PREFIX}/?,,' \
-e '/^${GHC_LIBDIR:C/\//\\\//g}\/package.conf.d\/package\.cache/s|^|@comment |g' \
>> ${TMPPLIST}
${FIND} -ds ${STAGEDIR}${DOCSDIR} -type f -print | ${SED} -E \
-e 's,^${STAGEDIR}${PREFIX}/?,,' \
-e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/s|^|@comment |g' \
-e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/s|^|@comment|g' \
-e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/s|^|@comment |g' \
>> ${TMPPLIST}
.if ${PORT_OPTIONS:MDOCS}
# Cleanup the indexen created by gen_contents_index
${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST}
${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST}
${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST}
.endif
${ECHO} '@postunexec ${RM} %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST}
post-patch:
@${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \
s|%%AR%%|${AR}|; \
s|%%LD%%|${LD}|' \
${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs
# we must use binutils:ld on arm
.if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7
@${REINPLACE_CMD} -e 's|LD_NO_GOLD=ld|LD_NO_GOLD=${LOCALBASE}/bin/ld|' \
${WRKSRC}/aclocal.m4
.endif
@${REINPLACE_CMD} -e 's/@SettingsLlcCommand@/llc${LLVM_VERSION}/' ${WRKSRC}/settings.in
@${REINPLACE_CMD} -e 's/@SettingsOptCommand@/opt${LLVM_VERSION}/' ${WRKSRC}/settings.in
.if empty(PORT_OPTIONS:MBOOT)
@${REINPLACE_CMD} -e '/^mandir/d' ${BOOT_DIR}/mk/build.mk
@${REINPLACE_CMD} -e '/^infodir/d' ${BOOT_DIR}/mk/build.mk
@${REINPLACE_CMD} -e '/^docdir/d' ${BOOT_DIR}/mk/build.mk
@${REINPLACE_CMD} -e '/^htmldir/d' ${BOOT_DIR}/mk/build.mk
.endif
pre-configure: apply-slist
# Copy the subbed build.mk to the proper position
${CP} ${WRKDIR}/build.mk ${WRKSRC}/mk/build.mk
# Use the "wrap" trick on arches that have to use pre-ino64 bootstrap binaries
.if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && \
${OSVERSION} >= 1200031 && \
(${ARCH} == amd64 || ${ARCH} == i386)
${CC} ${CFLAGS} -c -o ${BOOT_DIR}/wrap.o ${PATCHDIR}/wrap.c
for x in ${BOOT_DIR}/rts/dist/build/libCffi*.a; do \
${AR} q $$x ${BOOT_DIR}/wrap.o; ${RANLIB} $$x; \
done
${RM} ${BOOT_DIR}/wrap.o
.endif
# If we are using bootstrap compiler, configure and install it into ${BOOT_DIR}
.if empty(PORT_OPTIONS:MBOOT)
cd ${BOOT_DIR} && ${CONFIGURE_ENV} ${CONFIGURE_CMD} --prefix=${BOOT_DIR}
cd ${BOOT_DIR} && PACKAGES='' ${MAKE_CMD} install
.endif
# If DOCS are set, install HsColour in-place
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${SLAVES_PREFIX}
${MKDIR} ${SLAVES_WRKDIRPREFIX}
cd ${SLAVES_WRKDIRPREFIX} && \
${TAR} xvf ${DISTDIR}/hscolour-${HSCOLOUR_VERSION}.tar.gz && \
cd hscolour-${HSCOLOUR_VERSION} && \
${SLAVE_ENV} ghc --make -o Setup Setup.hs -package Cabal && \
${SLAVE_ENV} ./Setup configure --ghc --prefix=${SLAVES_PREFIX} --with-gcc=${CC} --with-ld=${LD} && \
${SLAVE_ENV} ./Setup build && \
${SLAVE_ENV} ./Setup install
.endif
post-install:
(for f in ${_EXECUTABLES} $$(${FIND} ${GHC_LIBDIR} -name '*.so*'); do \
${STRIP_CMD} $$f; done)
.if ${PORT_OPTIONS:MDOCS}
${MV} ${STAGEDIR}${PREFIX}/bin/haddock ${STAGEDIR}${PREFIX}/bin/haddock-ghc-${GHC_VERSION}
.endif
# Create a bootstrap compiler tar ball: run this in an interactive poudriere jail
.PHONY: create-bootstrap
create-bootstrap:
cd ${WRKSRC} \
&& ${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
# Much like create-bootstrap, just different naming and output format
.PHONY: create-stack-bindist
create-stack-bindist:
${REINPLACE_CMD} -e '/^mandir/d' \
-e '/^infodir/d' \
-e '/^docdir/d' \
-e '/^htmldir/d' \
${WRKSRC}/mk/build.mk
cd ${WRKSRC} \
&& ${GMAKE} binary-dist TAR_COMP=xz \
&& ${MV} ${WRKSRC}/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/
cd /tmp \
&& ${ECHO} "${GHC_VERSION}:" \
&& ${ECHO} "url: \"http://distcache.FreeBSD.org/local-distfiles/arrowd/stack-bindists/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz\"" \
&& ${ECHO} -n "content-length: " \
&& ${STAT} -f %z ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz \
&& ${ECHO} -n "sha1: " \
&& sha1 -q ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz \
&& ${ECHO} -n "sha256: " \
&& sha256 -q ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz
.include <bsd.port.post.mk>

View file

@ -151,68 +151,19 @@ IGNORE?= dependency fail: ${__u_h_r_package} is part of lang/ghc
BUILD_DEPENDS+= ${dependencies}
. if !defined(STANDALONE) || ${PORT_OPTIONS:MDYNAMIC}
. if !defined(STANDALONE)
RUN_DEPENDS+= ${dependencies}
. endif
.endif
.if ${PORT_OPTIONS:MDOCS}
. if !defined(XMLDOCS)
. if defined(HADDOCK_AVAILABLE)
HADDOCK_OPTS= # empty
. if ${PORT_OPTIONS:MHSCOLOUR}
BUILD_DEPENDS+= HsColour:print/hs-hscolour
HSCOLOUR_DATADIR= ${LOCALBASE}/share/cabal/ghc-${GHC_VERSION}/hscolour-${HSCOLOUR_VERSION}
HADDOCK_OPTS+= --hyperlink-source --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css
. endif # HSCOLOUR
. endif # HADDOCK_AVAILABLE
. endif # !XMLDOCS
. if defined(XMLDOCS)
BUILD_DEPENDS+= docbook-xsl>0:textproc/docbook-xsl \
${LOCALBASE}/bin/xsltproc:textproc/libxslt
. if defined(XMLDOCS_CONF)
BUILD_DEPENDS+= autoconf>0:devel/autoconf
. endif
USES+= gmake
. endif # XMLDOCS
.endif # DOCS
__handle_datadir__= --datadir='${DATADIR}' --datasubdir='' --docdir='${DOCSDIR}'
.if defined(HADDOCK_AVAILABLE) && !defined(XMLDOCS) && ${PORT_OPTIONS:MDOCS}
CONFIGURE_ARGS+= --haddock-options=-w --with-haddock=${HADDOCK_CMD}
.endif
.if ${PORT_OPTIONS:MDYNAMIC}
CONFIGURE_ARGS+= --enable-shared --enable-executable-dynamic
.else
CONFIGURE_ARGS+= --disable-shared --disable-executable-dynamic
.endif
.if ${PORT_OPTIONS:MPROFILE}
CONFIGURE_ARGS+= --enable-executable-profiling --enable-library-profiling
.else
CONFIGURE_ARGS+= --disable-profiling --disable-library-profiling
.endif
CONFIGURE_ARGS+= --disable-executable-dynamic \
--disable-profiling --disable-library-profiling
.SILENT:
post-patch::
.if defined(XMLDOCS) && defined(XMLDOCS_CONF)
@${REINPLACE_CMD} -e 's|/usr/local/share/xsl/docbook|${LOCALBASE}/share/xsl/docbook|' \
${WRKSRC}/doc/configure.ac
.endif
_BUILD_SETUP= ${GHC_CMD} -o ${SETUP_CMD} -package Cabal --make
.if !defined(METAPORT)
@ -232,12 +183,6 @@ do-configure:
${ECHO_MSG} "===> ${PKGNAME} configure fails: no setup program could be created."; \
exit 1; \
fi
. if ${PORT_OPTIONS:MDOCS}
. if defined(XMLDOCS) && defined(XMLDOCS_CONF)
cd ${WRKSRC}/doc && ${LOCALBASE}/bin/autoconf && ./configure --prefix=${PREFIX}
. endif
. endif # DOCS
. endif # target(do-configure)
.endif # !METAPORT
@ -248,15 +193,6 @@ do-build:
. if !defined(STANDALONE)
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} register --gen-script
. endif
. if ${PORT_OPTIONS:MDOCS}
. if defined(HADDOCK_AVAILABLE) && !defined(XMLDOCS) && !defined(STANDALONE) && ${PORT_OPTIONS:MDOCS}
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} haddock ${HADDOCK_OPTS}
. endif # STANDALONE
. if defined(XMLDOCS)
@(cd ${WRKSRC}/doc && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} html)
. endif # XMLDOCS
. endif # DOCS
. endif # target(do-build)
.endif # !METAPORT
@ -296,13 +232,6 @@ do-install:
. endif # MAN${sect}SRC
. endfor
. if ${PORT_OPTIONS:MDOCS}
. if !empty(XMLDOCS)
. for xmldoc in ${XMLDOCS}
@(cd ${WRKSRC}/${xmldoc:C/:.*$//g} && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}/${xmldoc:C/^.*://g})
. endfor
. endif # XMLDOCS
. endif # DOCS
. endif # target(do-install)
.endif # !METAPORT
@ -328,18 +257,6 @@ add-plist-cabal:
@${ECHO_CMD} '@postunexec ${LOCALBASE}/bin/ghc-pkg unregister --no-user-package-db --force ${PORTNAME}-${PORTVERSION}' >> ${TMPPLIST}
. endif
. if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS}
# GHC_LIB_DOCSDIR_REL= share/doc/ghc-${GHC_VERSION}/html/libraries
(${ECHO} '@postexec ${LN} -s ${DOCSDIR}/html ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE} && \
cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \
${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST}
(${ECHO} '@postunexec ${RM} -r ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE}' ; \
${ECHO} '@postunexec cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \
${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST}
# Don't install index files
${ECHO} "@comment share/doc/ghc-%%GHC_VERSION%%/html/libraries/index.html" >> ${TMPPLIST}
. endif
. if !defined(STANDALONE)
@${ECHO_CMD} '@postexec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh > /dev/null' >> ${TMPPLIST}
. endif

View file

@ -20,30 +20,6 @@ HSCOLOUR_CMD?= ${LOCALBASE}/bin/HsColour
GHC_VERSION?= 8.6.3
HSCOLOUR_VERSION= 1.24.4
HSCOLOUR_DESC?= Colorize generated documentation by HsColour
DYNAMIC_DESC?= Add support for dynamic linking
PROFILE_DESC?= Add support for profiling
.if (!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/rts/libHSrts-ghc${GHC_VERSION}.so)) && !defined(IGNORE_DYNAMIC)
OPTIONS_DEFINE+= DYNAMIC
OPTIONS_DEFAULT+= DYNAMIC
.endif
.if (!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/rts/libHSrts_p.a)) && !defined(IGNORE_PROFILE)
OPTIONS_DEFINE+= PROFILE
.endif
.if ((!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/html)) || exists(${HADDOCK_CMD})) && !defined(IGNORE_DOCS)
OPTIONS_DEFINE+= DOCS
HADDOCK_AVAILABLE= yes
.if (${PORTNAME} != hscolour || exists(${HSCOLOUR_CMD})) && !defined(IGNORE_HSCOLOUR)
OPTIONS_DEFINE+= HSCOLOUR
.endif
.endif
.if defined(OPTIONSMKINCLUDED)
IGNORE?= options fail: bsd.cabal.mk already includes bsd.options.mk
.endif

View file

@ -1,339 +0,0 @@
# $FreeBSD$
#
# bsd.ghc.mk -- Common code for various versions of GHC ports.
#
# Maintained by: haskell@FreeBSD.org
#
ONLY_FOR_ARCHS= amd64 i386
GHC_VERSION_MAJOR= ${GHC_VERSION:S/./ /g:[1]}
GHC_VERSION_MINOR= ${GHC_VERSION:S/./ /g:[2]}
.if ${GHC_VERSION_MAJOR} >= 8 && ${GHC_VERSION_MINOR} >= 6
ONLY_FOR_ARCHS+= aarch64 armv6 armv7 powerpc64
.endif
DATADIR= ${PREFIX}/share/ghc-${GHC_VERSION}
EXAMPLESDIR= ${PREFIX}/share/examples/ghc-${GHC_VERSION}
USES= autoreconf gmake iconv:translit localbase:ldflags ncurses perl5 tar:xz
USE_LOCALE= en_US.UTF-8
USE_PERL5= build
NO_CCACHE= ccache: error: Failed to create directory /nonexistent/.ccache/tmp: Permission denied
# The configure process accepts,filters and canonicalises
# the CONFIGURE_TARGET variable. You can read the files
# ${WRKSRC}/configure and ${WRKSRC}/config.sub.
# This is better fixed in files/build.mk.in
GNU_CONFIGURE= yes
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
SUB_LIST= GHC_VERSION=${GHC_VERSION} \
NCURSESINC="${NCURSESBASE}/include" NCURSESLIB="${NCURSESLIB}" \
CFLAGS="${CFLAGS}"
OPTIONS_GROUP= BOOTSTRAP
BOOTSTRAP_DESC= Bootsrap using installed ghc
OPTIONS_GROUP_BOOTSTRAP=BOOT
OPTIONS_DEFINE= DYNAMIC GMP PROFILE DOCS
OPTIONS_SUB= yes
OPTIONS_DEFAULT= DYNAMIC PROFILE GMP
BOOT_DESC= Use installed GHC for bootstrapping
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_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_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"
LOCALBASE?= /usr/local
PLIST?= ${.CURDIR}/../../lang/ghc/pkg-plist
GHC_ARCH= ${ARCH:S/amd64/x86_64/:C/armv.*/arm/}
.include <bsd.port.options.mk>
.if empty(PORT_OPTIONS:MBOOT)
. if ${ARCH} == amd64 || ${ARCH} == i386
BOOT_GHC_VERSION= 8.4.3
. else
BOOT_GHC_VERSION= 8.6.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= 60
. 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
.if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7
# CONFIGURE_TARGET must to be the same as the llvm triple
CONFIGURE_TARGET= ${ARCH}-unknown-freebsd${"${ARCH:Maarch64}" != "":?:-gnueabihf}
CONFIGURE_ENV+= STRIP=${LOCALBASE}/bin/strip
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-aclocal.m4
BUILD_DEPENDS+= ld.gold:devel/binutils \
llc${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
RUN_DEPENDS+= ld.gold:devel/binutils \
llc${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
USE_GCC= yes
. if ${OSVERSION} < 1200064
IGNORE= lang/ghc on ARM requires at least __FreeBSD_version 1200064
. endif
. ifdef QEMU_EMULATING
IGNORE= qemu-user-static isn't able to build lang/ghc, but it builds fine on a real hardware
. endif
.endif
.if ${ARCH} == powerpc64
USE_GCC= yes
CONFIGURE_ENV+= STRIP=${LOCALBASE}/bin/strip
. if ${OSVERSION} < 1200086
IGNORE= lang/ghc on powerpc64 requires at least __FreeBSD_version 1200086
. endif
.endif
CONFIGURE_ENV+= CC=${CC} LD=${LD}
DOCSDIR= ${PREFIX}/share/doc/${DISTNAME}
GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION}
GHC_LIBDIR_REL= lib/ghc-${GHC_VERSION}
PLIST_SUB+= GHC_VERSION=${GHC_VERSION} GHC_LIBDIR=${GHC_LIBDIR_REL}
HACKAGE_SITE?= http://hackage.haskell.org/package/
.if empty(PORT_OPTIONS:MBOOT)
BOOT_DIR= ${WRKDIR}/ghc-${BOOT_GHC_VERSION}-boot
BOOT_GHC= ${BOOT_DIR}/bin/ghc-${BOOT_GHC_VERSION}
BOOT_GHC-PKG= ${BOOT_DIR}/bin/ghc-pkg-${BOOT_GHC_VERSION}
BOOT_HSC2HS= ${BOOT_DIR}/bin/hsc2hs
SLAVE_CMD= ${SETENV} PATH=${BOOT_DIR}/bin:${PATH}
CONFIGURE_ARGS_BOOT+= --prefix=${BOOT_DIR}
CONFIGURE_ARGS+= --with-ghc=${BOOT_GHC}
.else # MBOOT
SLAVE_CMD= # empty
CONFIGURE_ARGS+= --with-ghc=${LOCALBASE}/bin/ghc
.endif # MBOOT
# override TMPDIR because /tmp often doesn't have enough space
# to build some of the larger libraries.
TMPDIR= ${WRKSRC}/tmp
# Defining with documentation:
# An in place installation and registration of hscolour will be
# activated. In this way it's possible to use it directly into
# the build tree, without needing to install it. At the end
# you could view the output of: ${BOOT_GHC} describe hscolour
SLAVES_PREFIX= ${WRKDIR}/slaves_prefix
SLAVES_WRKDIRPREFIX= ${WRKDIR}/slaves_wrkdirprefix
MAKE_ENV+= PATH=${SLAVES_PREFIX}/bin:${PATH}
CONFIGURE_ENV+= PATH=${SLAVES_PREFIX}/bin:${PATH}
post-extract:
# Use the "wrap" trick on arches that have to use pre-ino64 bootstrap binaries
.if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 && \
(${ARCH} == amd64 || ${ARCH} == i386)
@${REINPLACE_CMD} -e 's|@SettingsCCompilerLinkFlags@|& -Wl,--wrap=readdir_r,--wrap=stat,--wrap=lstat,--wrap=fstat,--wrap=mknod|' ${BOOT_DIR}/settings.in
.endif
# %%PORTDOCS%%%%DOCSDIR%%/html/libraries/doc-index-V.html
post-install-script:
${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E \
-e 's,^${STAGEDIR}${PREFIX}/?,,' \
-e '/^${GHC_LIBDIR:C/\//\\\//g}\/package.conf.d\/package\.cache/s|^|@comment |g' \
>> ${TMPPLIST}
${FIND} -ds ${STAGEDIR}${DOCSDIR} -type f -print | ${SED} -E \
-e 's,^${STAGEDIR}${PREFIX}/?,,' \
-e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/s|^|@comment |g' \
-e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/s|^|@comment|g' \
-e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/s|^|@comment |g' \
>> ${TMPPLIST}
.if ${PORT_OPTIONS:MDOCS}
# Cleanup the indexen created by gen_contents_index
${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST}
${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST}
${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST}
.endif
${ECHO} '@postunexec ${RM} %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST}
${ECHO} "@postexec %D/bin/ghc-pkg recache" >>${TMPPLIST}
.if ${PORT_OPTIONS:MDOCS}
${ECHO} '@postexec ${SH} -c "cd %D/${DOCSDIR_REL}/html/libraries && ./gen_contents_index"' >> ${TMPPLIST}
.endif
post-patch:
@${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \
s|%%AR%%|${AR}|; \
s|%%LD%%|${LD}|' \
${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs
# we must use binutils:ld on arm
.if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7
@${REINPLACE_CMD} -e 's|LD_NO_GOLD=ld|LD_NO_GOLD=${LOCALBASE}/bin/ld|' \
${WRKSRC}/aclocal.m4
.endif
@${REINPLACE_CMD} -e 's/@SettingsLlcCommand@/llc${LLVM_VERSION}/' ${WRKSRC}/settings.in
@${REINPLACE_CMD} -e 's/@SettingsOptCommand@/opt${LLVM_VERSION}/' ${WRKSRC}/settings.in
.if empty(PORT_OPTIONS:MBOOT)
@${REINPLACE_CMD} -e '/^mandir/d' ${BOOT_DIR}/mk/build.mk
@${REINPLACE_CMD} -e '/^infodir/d' ${BOOT_DIR}/mk/build.mk
@${REINPLACE_CMD} -e '/^docdir/d' ${BOOT_DIR}/mk/build.mk
@${REINPLACE_CMD} -e '/^htmldir/d' ${BOOT_DIR}/mk/build.mk
.endif
pre-configure: apply-slist
# Copy the subbed build.mk to the proper position
${CP} ${WRKDIR}/build.mk ${WRKSRC}/mk/build.mk
@${MKDIR} ${TMPDIR}
.if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && \
${OSVERSION} >= 1200031 && \
(${ARCH} == amd64 || ${ARCH} == i386)
${CC} ${CFLAGS} -c -o ${BOOT_DIR}/wrap.o ${PATCHDIR}/wrap.c
for x in ${BOOT_DIR}/rts/dist/build/libCffi*.a; do \
${AR} q $$x ${BOOT_DIR}/wrap.o; ${RANLIB} $$x; \
done
rm ${BOOT_DIR}/wrap.o
.endif # Do not merge, prev condition need to grow OSVER check.
.if empty(PORT_OPTIONS:MBOOT)
@(cd ${BOOT_DIR} && ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS_BOOT})
@(cd ${BOOT_DIR} && PACKAGES='' ${MAKE_CMD} install)
.endif
.if ${PORT_OPTIONS:MDOCS}
@${ECHO_MSG} -e "\a"
@${ECHO_MSG} "======================================================================"
@${ECHO_MSG} " WARNING: Now HsColour will be built, the respective port will not "
@${ECHO_MSG} " be installed, but an in-place installation and "
@${ECHO_MSG} " registration of both takes place. "
@${ECHO_MSG} "======================================================================"
@${ECHO_MSG} ""
. if !(defined(PACKAGE_BUILDING) || defined(BATCH))
@sleep 3
. endif
@${MKDIR} ${SLAVES_PREFIX}
@${MKDIR} ${SLAVES_WRKDIRPREFIX}
@(cd ${SLAVES_WRKDIRPREFIX} && \
${TAR} xvf ${DISTDIR}/hscolour-${HSCOLOUR_VERSION}.tar.gz && \
cd hscolour-${HSCOLOUR_VERSION} && \
${SLAVE_CMD} ghc --make -o Setup Setup.hs -package Cabal && \
${SLAVE_CMD} ./Setup configure --ghc --prefix=${SLAVES_PREFIX} --with-gcc=${CC} --with-ld=${LD} && \
${SLAVE_CMD} ./Setup build && \
${SLAVE_CMD} ./Setup install)
.endif
_EXECUTABLES= ${GHC_LIBDIR}/bin/unlit \
${GHC_LIBDIR}/bin/hpc \
${GHC_LIBDIR}/bin/ghc-iserv \
${GHC_LIBDIR}/bin/ghc-pkg \
${GHC_LIBDIR}/bin/hsc2hs \
${GHC_LIBDIR}/bin/runghc \
${GHC_LIBDIR}/bin/ghc \
${GHC_LIBDIR}/bin/hp2ps
.if ${PORT_OPTIONS:MPROFILE}
_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-prof
.endif
.if ${PORT_OPTIONS:MDYNAMIC}
_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-dyn
.endif
.if ${PORT_OPTIONS:MDOCS}
_EXECUTABLES+= ${GHC_LIBDIR}/bin/haddock
.endif
post-install:
${RM} ${STAGEDIR}${PREFIX}/bin/haddock
.if ${PORT_OPTIONS:MDOCS}
${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock
.endif
(for f in ${_EXECUTABLES} $$(${FIND} ${GHC_LIBDIR} -name '*.so*'); do \
${STRIP_CMD} $$f; done)
# Create a bootstrap compiler tar ball: run this in an interactive poudriere jail
.PHONY: create-bootstrap
create-bootstrap:
cd ${WRKSRC} \
&& ${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
# Much like create-bootstrap, just different naming and output format
.PHONY: create-stack-bindist
create-stack-bindist:
${REINPLACE_CMD} -e '/^mandir/d' \
-e '/^infodir/d' \
-e '/^docdir/d' \
-e '/^htmldir/d' \
${WRKSRC}/mk/build.mk
cd ${WRKSRC} \
&& gmake binary-dist TAR_COMP=xz \
&& ${MV} ${WRKSRC}/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/
cd /tmp \
&& ${ECHO} "${GHC_VERSION}:" \
&& ${ECHO} "url: \"http://distcache.FreeBSD.org/local-distfiles/arrowd/stack-bindists/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz\"" \
&& ${ECHO} -n "content-length: " \
&& ${STAT} -f %z ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz \
&& ${ECHO} -n "sha1: " \
&& sha1 -q ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz \
&& ${ECHO} -n "sha256: " \
&& sha256 -q ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz

View file

@ -1,12 +1,16 @@
TIMESTAMP = 1541010523
SHA256 (ghc-8.6.3-src.tar.xz) = 9f9e37b7971935d88ba80426c36af14b1e0b3ec1d9c860f44a4391771bc07f23
SIZE (ghc-8.6.3-src.tar.xz) = 19138116
SHA256 (ghc-8.6.2-src.tar.xz) = caaa819d21280ecde90a4773143dee188711e9ff175a27cfbaee56eb851d76d5
SIZE (ghc-8.6.2-src.tar.xz) = 19024236
SHA256 (ghc-8.4.4-src.tar.xz) = 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2
SIZE (ghc-8.4.4-src.tar.xz) = 11319500
SHA256 (ghc-8.4.3-src.tar.xz) = ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6
SIZE (ghc-8.4.3-src.tar.xz) = 11315068
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.6.3-boot-aarch64-freebsd.tar.xz) = 5a1f043ada7262cf4eac4a900b7d5af965e5f6f89939e635ad0c10b0185a15b7
SIZE (ghc-8.6.3-boot-aarch64-freebsd.tar.xz) = 104631584
SHA256 (ghc-8.6.3-boot-armv6-freebsd.tar.xz) = 5260987646c9f6102f35a7cdedfde785227c4f317fb3ccc52d06cae6a0950a68
@ -15,3 +19,5 @@ SHA256 (ghc-8.6.3-boot-armv7-freebsd.tar.xz) = 765d01199ceb0dfa5c84de692cec427e6
SIZE (ghc-8.6.3-boot-armv7-freebsd.tar.xz) = 114046668
SHA256 (ghc-8.6.3-boot-powerpc64-freebsd.tar.xz) = fb9bd4bad3a54722b7012c0a531cbdfe71b3b20a0b92cbd52195a526dc5ccde4
SIZE (ghc-8.6.3-boot-powerpc64-freebsd.tar.xz) = 112652192
SHA256 (hscolour-1.24.4.tar.gz) = 243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d
SIZE (hscolour-1.24.4.tar.gz) = 28729

View file

@ -3,15 +3,12 @@ bin/ghci
bin/ghc-pkg
bin/runhaskell
bin/runghc
%%DOCS%%bin/haddock
bin/haddock-ghc-%%GHC_VERSION%%
bin/hp2ps
bin/hpc
bin/hsc2hs
bin/ghc-%%GHC_VERSION%%
bin/ghci-%%GHC_VERSION%%
bin/ghc-pkg-%%GHC_VERSION%%
%%DOCS%%bin/haddock-ghc-%%GHC_VERSION%%
bin/runghc-%%GHC_VERSION%%
%%DOCS%%man/man1/ghc.1.gz
%%DOCS%%@postexec /bin/ln -sf %D/bin/haddock-ghc-%%GHC_VERSION%% %D/bin/haddock || return true
%%DOCS%%@postunexec /bin/rm -f %D/bin/haddock || return true

View file

@ -1,31 +0,0 @@
# Created by: Simon Marlow <simonmar@microsoft.com>
# $FreeBSD$
PORTNAME= ghc
PORTVERSION= ${GHC_VERSION}
PORTREVISION= 1
CATEGORIES= lang haskell
MASTER_SITES= http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
LOCAL/arrowd/:boot \
${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs
PKGNAMESUFFIX= 843
DISTFILES= ghc-${PORTVERSION}-src${EXTRACT_SUFX}:source \
hscolour-${HSCOLOUR_VERSION}.tar.gz:docs
EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g}
MAINTAINER= haskell@FreeBSD.org
COMMENT= Compiler for the functional language Haskell
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
GHC_VERSION= 8.4.3
HSCOLOUR_VERSION= 1.24.4
LLVM_VERSION= 60
CONFLICTS_INSTALL= ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* ghc-8.0.* ghc-8.4.4
.include "${.CURDIR}/../../lang/ghc/bsd.ghc.mk"
.include <bsd.port.mk>

View file

@ -1,9 +0,0 @@
TIMESTAMP = 1530033472
SHA256 (ghc-8.4.3-src.tar.xz) = ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6
SIZE (ghc-8.4.3-src.tar.xz) = 11315068
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

View file

@ -1,20 +0,0 @@
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and
interactive environment for the functional language Haskell. Highlights:
* Supports the entire Haskell 2010 language plus a wide variety of
extensions.
* Has particularly good support for concurrency and parallelism, including
support for Software Transactional Memory (STM).
* Generates fast code, particularly for concurrent programs.
* Works on several platforms including FreeBSD, Windows, Mac, Linux, most
varieties of Unix, and several different processor architectures.
* Has extensive optimisation capabilities, including inter-module optimisation.
* Compiles Haskell code either directly to native code or using LLVM as a
back-end. It can also generate C code as an intermediate target for porting
to new platforms. The interactive environment compiles Haskell to bytecode,
and supports execution of mixed bytecode/compiled programs.
* Profiling is supported, both by time/allocation and various kinds of heap
profiling.
* Comes with several libraries, and thousands more are available on Hackage.
WWW: http://www.haskell.org/ghc/

View file

@ -1,29 +0,0 @@
# $FreeBSD$
PORTNAME= ghc
PORTVERSION= ${GHC_VERSION}
CATEGORIES= lang haskell
MASTER_SITES= http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
LOCAL/arrowd/:boot \
${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs
PKGNAMESUFFIX= ${GHC_VERSION:S/.//g}
DISTFILES= ghc-${PORTVERSION}-src${EXTRACT_SUFX}:source \
hscolour-${HSCOLOUR_VERSION}.tar.gz:docs
EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g}
MAINTAINER= haskell@FreeBSD.org
COMMENT= Compiler for the functional language Haskell
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
GHC_VERSION= 8.4.4
HSCOLOUR_VERSION= 1.24.4
LLVM_VERSION= 60
CONFLICTS_INSTALL= ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* ghc-8.0.* ghc-8.4.3
.include "${.CURDIR}/../../lang/ghc/bsd.ghc.mk"
.include <bsd.port.mk>

View file

@ -1,9 +0,0 @@
TIMESTAMP = 1541010522
SHA256 (ghc-8.4.4-src.tar.xz) = 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2
SIZE (ghc-8.4.4-src.tar.xz) = 11319500
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

View file

@ -1,20 +0,0 @@
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and
interactive environment for the functional language Haskell. Highlights:
* Supports the entire Haskell 2010 language plus a wide variety of
extensions.
* Has particularly good support for concurrency and parallelism, including
support for Software Transactional Memory (STM).
* Generates fast code, particularly for concurrent programs.
* Works on several platforms including FreeBSD, Windows, Mac, Linux, most
varieties of Unix, and several different processor architectures.
* Has extensive optimisation capabilities, including inter-module optimisation.
* Compiles Haskell code either directly to native code or using LLVM as a
back-end. It can also generate C code as an intermediate target for porting
to new platforms. The interactive environment compiles Haskell to bytecode,
and supports execution of mixed bytecode/compiled programs.
* Profiling is supported, both by time/allocation and various kinds of heap
profiling.
* Comes with several libraries, and thousands more are available on Hackage.
WWW: http://www.haskell.org/ghc/

View file

@ -1,29 +0,0 @@
# $FreeBSD$
PORTNAME= ghc
PORTVERSION= ${GHC_VERSION}
CATEGORIES= lang haskell
MASTER_SITES= http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
LOCAL/arrowd/:boot \
${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs
PKGNAMESUFFIX= 862
DISTFILES= ghc-${PORTVERSION}-src${EXTRACT_SUFX}:source \
hscolour-${HSCOLOUR_VERSION}.tar.gz:docs
EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g}
MAINTAINER= haskell@FreeBSD.org
COMMENT= Compiler for the functional language Haskell
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
GHC_VERSION= 8.6.2
HSCOLOUR_VERSION= 1.24.4
LLVM_VERSION= 60
CONFLICTS_INSTALL= ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* ghc-8.0.* ghc-8.4.*
.include "${.CURDIR}/../../lang/ghc/bsd.ghc.mk"
.include <bsd.port.mk>

View file

@ -1,17 +0,0 @@
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.6.3-boot-aarch64-freebsd.tar.xz) = 5a1f043ada7262cf4eac4a900b7d5af965e5f6f89939e635ad0c10b0185a15b7
SIZE (ghc-8.6.3-boot-aarch64-freebsd.tar.xz) = 104631584
SHA256 (ghc-8.6.3-boot-armv6-freebsd.tar.xz) = 5260987646c9f6102f35a7cdedfde785227c4f317fb3ccc52d06cae6a0950a68
SIZE (ghc-8.6.3-boot-armv6-freebsd.tar.xz) = 113748008
SHA256 (ghc-8.6.3-boot-armv7-freebsd.tar.xz) = 765d01199ceb0dfa5c84de692cec427e67ae1cf1ba6e1fc20e7ca854c6ceb556
SIZE (ghc-8.6.3-boot-armv7-freebsd.tar.xz) = 114046668
SHA256 (ghc-8.6.3-boot-powerpc64-freebsd.tar.xz) = fb9bd4bad3a54722b7012c0a531cbdfe71b3b20a0b92cbd52195a526dc5ccde4
SIZE (ghc-8.6.3-boot-powerpc64-freebsd.tar.xz) = 112652192

View file

@ -1,20 +0,0 @@
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and
interactive environment for the functional language Haskell. Highlights:
* Supports the entire Haskell 2010 language plus a wide variety of
extensions.
* Has particularly good support for concurrency and parallelism, including
support for Software Transactional Memory (STM).
* Generates fast code, particularly for concurrent programs.
* Works on several platforms including FreeBSD, Windows, Mac, Linux, most
varieties of Unix, and several different processor architectures.
* Has extensive optimisation capabilities, including inter-module optimisation.
* Compiles Haskell code either directly to native code or using LLVM as a
back-end. It can also generate C code as an intermediate target for porting
to new platforms. The interactive environment compiles Haskell to bytecode,
and supports execution of mixed bytecode/compiled programs.
* Profiling is supported, both by time/allocation and various kinds of heap
profiling.
* Comes with several libraries, and thousands more are available on Hackage.
WWW: http://www.haskell.org/ghc/

View file

@ -2,7 +2,7 @@
PORTNAME= semigroups
PORTVERSION= 0.18.4
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= math haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Anything that associates
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= hashable>=1.1 transformers-compat>=0.3 unordered-containers>=0.2
.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"

View file

@ -2,7 +2,7 @@
PORTNAME= network
PORTVERSION= 2.6.3.2
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= net haskell
MAINTAINER= haskell@FreeBSD.org

View file

@ -3,7 +3,7 @@
PORTNAME= xmonad-contrib
PORTVERSION= 0.15
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= x11-wm haskell
MAINTAINER= haskell@FreeBSD.org

View file

@ -3,7 +3,7 @@
PORTNAME= xmonad
PORTVERSION= 0.15
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= x11-wm haskell
MAINTAINER= haskell@FreeBSD.org

View file

@ -2,7 +2,7 @@
PORTNAME= X11-xft
PORTVERSION= 0.3.1
PORTREVISION= 19
PORTREVISION= 20
CATEGORIES= x11 haskell
MAINTAINER= haskell@FreeBSD.org
@ -10,9 +10,6 @@ COMMENT= Bindings to the Xft, Xrender and Freetype for Haskell programs
LICENSE= LGPL21
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USES= pkgconfig
USE_CABAL= utf8-string>=0.1 X11>=1.2.1
USE_XORG= xft xrender

View file

@ -3,7 +3,7 @@
PORTNAME= X11
PORTVERSION= 1.8
PORTREVISION= 5
PORTREVISION= 6
CATEGORIES= x11 haskell
MAINTAINER= haskell@FreeBSD.org
@ -11,9 +11,6 @@ COMMENT= Binding to the X11 graphics library
LICENSE= BSD3CLAUSE
DEPRECATED= Haskell libraries are getting pushed out of the ports tree. If you are using this port for development, consider switching to cabal sandboxes (old way), cabal new-build (new way), or use devel/stack. If you believe this port shouldn't be removed, contact haskell@FreeBSD.org
EXPIRATION_DATE= 2019-04-14
USE_CABAL= data-default
USE_XORG= x11 xrandr xext