pkgsrc-wip/ghc/Makefile

88 lines
3.4 KiB
Makefile

# $NetBSD$
DISTNAME= ghc-7.10.2-src
PKGNAME= ${DISTNAME:S/-src$//}
CATEGORIES= lang
MASTER_SITES= http://www.haskell.org/ghc/dist/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tar.bz2
EXTRACT_USING= gtar
MAINTAINER= pho@cielonero.org
HOMEPAGE= https://www.haskell.org/ghc/
COMMENT= Compiler for the functional language Haskell
LICENSE= modified-bsd
BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl
BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt
# By default only extract the primary source, not all of the bootstrap kits.
DISTFILES= ${DEFAULT_DISTFILES}
EXTRACT_ONLY= ${DEFAULT_DISTFILES}
WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
GNU_CONFIGURE= yes
USE_GNU_CONFIGURE_HOST= no
USE_LIBTOOL= yes
USE_TOOLS+= autoconf gmake patch perl:run
CONFIGURE_ARGS+= --with-gcc=${CC:Q}
CONFIGURE_ARGS+= --with-gmp-includes=${BUILDLINK_PREFIX.gmp}/${BUILDLINK_INCDIRS.gmp:Q}
CONFIGURE_ARGS+= --with-gmp-libraries=${BUILDLINK_PREFIX.gmp}/${BUILDLINK_LIBDIRS.gmp:Q}
CONFIGURE_ARGS+= --with-iconv-includes=${BUILDLINK_PREFIX.iconv}/${BUILDLINK_INCDIRS.iconv:Q}
CONFIGURE_ARGS+= --with-iconv-libraries=${BUILDLINK_PREFIX.iconv}/${BUILDLINK_LIBDIRS.iconv:Q}
CONFIGURE_ENV+= PerlCmd=${PERL5:Q}
.for stage in 0 1 2
CONFIGURE_ENV+= CONF_CC_OPTS_STAGE${stage}=${CFLAGS:Q}
CONFIGURE_ENV+= CONF_GCC_LINKER_OPTS_STAGE${stage}=${LDFLAGS:Q}
.endfor
.include "../../mk/bsd.prefs.mk"
# Darwin's /usr/lib/libffi.dylib is picked up and used, but is the wrong
# version so we force the "system" (pkgsrc) one to be used. This needs to
# be fixed properly, figuring out how to exclude /usr/lib from the @rpath
# search instead.
.if ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --with-system-libffi
CONFIGURE_ARGS+= --with-ffi-includes=${BUILDLINK_PREFIX.libffi}/${BUILDLINK_INCDIRS.libffi:Q}
CONFIGURE_ARGS+= --with-ffi-libraries=${BUILDLINK_PREFIX.libffi}/${BUILDLINK_LIBDIRS.libffi:Q}
.include "../../devel/libffi/buildlink3.mk"
.endif
# Define the target "pre-configure" and non-standard "bootstrap".
.include "../../wip/ghc/bootstrap.mk"
# Our pre-configure phase installs a bindist of bootstrapping compiler
# directly into TOOLS_DIR so that ./configure can find it.
do-configure:
${RUN} cd ${WRKSRC} && \
${SETENV} ${CONFIGURE_ENV} ${SH} ./configure ${CONFIGURE_ARGS}
${RUN} ${RM} -f ${WRKSRC}/mk/build.mk
${RUN} ${ECHO} "BuildFlavour = quick" >${WRKSRC}/mk/build.mk
${RUN} ${ECHO} "DYNAMIC_GHC_PROGRAMS = NO" >>${WRKSRC}/mk/build.mk
${RUN} ${CAT} ${WRKSRC}/mk/build.mk.sample >>${WRKSRC}/mk/build.mk
${RUN} ${ECHO} "libraries/terminfo_CONFIGURE_OPTS += \
--configure-option=--with-curses-includes=${BUILDLINK_PREFIX.curses}/${BUILDLINK_INCDIRS.curses} \
--configure-option=--with-curses-libraries=${BUILDLINK_PREFIX.curses}/${BUILDLINK_LIBDIRS.curses}" >> ${WRKSRC}/mk/build.mk
# Substitutions for INSTALL and DEINSTALL that handles package.cache.
FILES_SUBST+= DISTNAME=${DISTNAME}
# We don't want package.cache to be in the PLIST.
post-install:
${RM} -f ${DESTDIR}${PREFIX}/lib/${DISTNAME}/package.conf.d/package.cache
# We can't use static PLIST because the package installs some files whose
# names are randomly generated (e.g. lib/${PKGNAME}/package.conf.d/*.conf)
GENERATE_PLIST+= \
cd ${DESTDIR}${PREFIX} && \
${FIND} * \( -type f -o -type l \) | ${SORT} -d;
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"