Changeset View
Changeset View
Standalone View
Standalone View
lang/ghc/Makefile
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
.if ${PORT_OPTIONS:MDYNAMIC} | .if ${PORT_OPTIONS:MDYNAMIC} | ||||
# The version number is needed as lang/gcc installs a different version | # The version number is needed as lang/gcc installs a different version | ||||
LIB_DEPENDS+= libffi.so.6:${PORTSDIR}/devel/libffi | LIB_DEPENDS+= libffi.so.6:${PORTSDIR}/devel/libffi | ||||
.endif | .endif | ||||
# Earlier versions of FreeBSD 9 cannot do proper resolution for $ORIGIN (due | |||||
# to a bug in rtld(1)), so disable it by default there. This shall go away | |||||
# once 9.2 becomes the latest supported release in that branch. | |||||
.if ${OSVERSION} >= 900000 && ${OSVERSION} < 902001 | |||||
EXTRA_PATCHES+= ${PATCHDIR}/nopatch-rules__distdir-way-opts.mk | |||||
BUILD_DEPENDS+= chrpath:${PORTSDIR}/devel/chrpath | |||||
.endif | |||||
.if empty(PORT_OPTIONS:MBOOT) | .if empty(PORT_OPTIONS:MBOOT) | ||||
BOOT_GHC_VERSION= 7.6.3 | BOOT_GHC_VERSION= 7.6.3 | ||||
.if ${ARCH} == "i386" | .if ${ARCH} == "i386" | ||||
.if ${OSVERSION} >= 1000043 | .if ${OSVERSION} >= 1000043 | ||||
DISTFILES+= ghc-${BOOT_GHC_VERSION}-i386-freebsd10-boot${EXTRACT_SUFX}:boot | DISTFILES+= ghc-${BOOT_GHC_VERSION}-i386-freebsd10-boot${EXTRACT_SUFX}:boot | ||||
.elif ${OSVERSION} >= 900000 | .elif ${OSVERSION} >= 900000 | ||||
DISTFILES+= ghc-${BOOT_GHC_VERSION}-i386-freebsd9-boot${EXTRACT_SUFX}:boot | DISTFILES+= ghc-${BOOT_GHC_VERSION}-i386-freebsd9-boot${EXTRACT_SUFX}:boot | ||||
.elif ${OSVERSION} >= 800000 | |||||
DISTFILES+= ghc-${BOOT_GHC_VERSION}-i386-freebsd8-boot${EXTRACT_SUFX}:boot | |||||
.else | .else | ||||
IGNORE= unsupported | DISTFILES+= ghc-${BOOT_GHC_VERSION}-i386-freebsd8-boot${EXTRACT_SUFX}:boot | ||||
.endif | .endif | ||||
.elif ${ARCH} == "amd64" | .elif ${ARCH} == "amd64" | ||||
.if ${OSVERSION} >= 1000043 | .if ${OSVERSION} >= 1000043 | ||||
DISTFILES+= ghc-${BOOT_GHC_VERSION}-amd64-freebsd10-boot${EXTRACT_SUFX}:boot | DISTFILES+= ghc-${BOOT_GHC_VERSION}-amd64-freebsd10-boot${EXTRACT_SUFX}:boot | ||||
.elif ${OSVERSION} >= 900000 | .elif ${OSVERSION} >= 900000 | ||||
DISTFILES+= ghc-${BOOT_GHC_VERSION}-amd64-freebsd9-boot${EXTRACT_SUFX}:boot | DISTFILES+= ghc-${BOOT_GHC_VERSION}-amd64-freebsd9-boot${EXTRACT_SUFX}:boot | ||||
.elif ${OSVERSION} >= 800000 | |||||
DISTFILES+= ghc-${BOOT_GHC_VERSION}-amd64-freebsd8-boot${EXTRACT_SUFX}:boot | |||||
.else | .else | ||||
IGNORE= unsupported | DISTFILES+= ghc-${BOOT_GHC_VERSION}-amd64-freebsd8-boot${EXTRACT_SUFX}:boot | ||||
.endif | .endif | ||||
.endif | .endif | ||||
.endif # MBOOT | .endif # MBOOT | ||||
DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} | DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} | ||||
GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION} | GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION} | ||||
▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \ | @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \ | ||||
s|%%AR%%|${AR}|; \ | s|%%AR%%|${AR}|; \ | ||||
s|%%RANLIB%%|${RANLIB}|; \ | s|%%RANLIB%%|${RANLIB}|; \ | ||||
s|%%LD%%|${LD}|' \ | s|%%LD%%|${LD}|' \ | ||||
${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs | ${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs | ||||
# FreeBSD 9.{0,1} oddity workaround, part 2 (see above) | |||||
.if ${OSVERSION} >= 900000 && ${OSVERSION} < 902001 | |||||
@${REINPLACE_CMD} -e 's|%%GHC_LIBDIR%%|${GHC_LIBDIR}|g' \ | |||||
${WRKSRC}/rules/distdir-way-opts.mk | |||||
.endif | |||||
pre-configure: | pre-configure: | ||||
@${MKDIR} ${TMPDIR} | @${MKDIR} ${TMPDIR} | ||||
.if empty(PORT_OPTIONS:MBOOT) | .if empty(PORT_OPTIONS:MBOOT) | ||||
@(cd ${BOOT_DIR} && ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS_BOOT}) | @(cd ${BOOT_DIR} && ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS_BOOT}) | ||||
@(cd ${BOOT_DIR} && PACKAGES='' ${MAKE_CMD} install) | @(cd ${BOOT_DIR} && PACKAGES='' ${MAKE_CMD} install) | ||||
.endif | .endif | ||||
Show All 21 Lines | @(cd ${SLAVES_WRKDIRPREFIX} && \ | ||||
${SLAVE_CMD} ./Setup build && \ | ${SLAVE_CMD} ./Setup build && \ | ||||
${SLAVE_CMD} ./Setup install) | ${SLAVE_CMD} ./Setup install) | ||||
.endif | .endif | ||||
post-install: | post-install: | ||||
@${RM} -f ${STAGEDIR}${PREFIX}/bin/haddock | @${RM} -f ${STAGEDIR}${PREFIX}/bin/haddock | ||||
.if ${PORT_OPTIONS:MDOCS} | .if ${PORT_OPTIONS:MDOCS} | ||||
@${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock | @${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock | ||||
.endif | |||||
# FreeBSD 9.{0,1} oddity workaround, part 3 (see above) | |||||
.if ${OSVERSION} >= 900000 && ${OSVERSION} < 902001 | |||||
@(for f in $$(${FIND} ${GHC_LIBDIR}/bin -type f; ${FIND} ${GHC_LIBDIR} -name '*.so' | ${GREP} -v libHSrts); do \ | |||||
chrpath -r $$(chrpath $$f | ${CUT} -d '=' -f2 | ${SED} 's|${GHC_LIBDIR}|${PREFIX}/${GHC_LIBDIR_REL}|g') $$f; \ | |||||
done) | |||||
.endif | .endif | ||||
@(for f in ${STAGEDIR}${PREFIX}/bin/hp2ps ${GHC_LIBDIR}/unlit ${GHC_LIBDIR}/mkGmpDerivedConstants \ | @(for f in ${STAGEDIR}${PREFIX}/bin/hp2ps ${GHC_LIBDIR}/unlit ${GHC_LIBDIR}/mkGmpDerivedConstants \ | ||||
$$(${FIND} ${GHC_LIBDIR}/bin -type f; ${FIND} ${GHC_LIBDIR} -name '*.so'); do \ | $$(${FIND} ${GHC_LIBDIR}/bin -type f; ${FIND} ${GHC_LIBDIR} -name '*.so'); do \ | ||||
${STRIP_CMD} $$f; done) | ${STRIP_CMD} $$f; done) | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |