aboutsummaryrefslogtreecommitdiff
path: root/Mk/Uses/cabal.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk/Uses/cabal.mk')
-rw-r--r--Mk/Uses/cabal.mk13
1 files changed, 13 insertions, 0 deletions
diff --git a/Mk/Uses/cabal.mk b/Mk/Uses/cabal.mk
index 45ee43883ef6..ee632acd1f79 100644
--- a/Mk/Uses/cabal.mk
+++ b/Mk/Uses/cabal.mk
@@ -76,6 +76,12 @@ LIB_DEPENDS+= libgmp.so:math/gmp \
DIST_SUBDIR?= cabal
. if !defined(USE_GITHUB) && !defined(USE_GITLAB) && !${cabal_ARGS:Mnodefault}
+_hackage_is_default= yes
+. else
+_hackage_is_default= no
+. endif
+
+. if ${_hackage_is_default} == yes
MASTER_SITES= https://hackage.haskell.org/package/${PORTNAME}-${PORTVERSION}/ \
http://hackage.haskell.org/package/${PORTNAME}-${PORTVERSION}/
DISTFILES+= ${PORTNAME}-${PORTVERSION}${CABAL_EXTRACT_SUFX}
@@ -125,8 +131,15 @@ DISTFILES+= ${package:C/_[0-9]+//}/revision/${package:C/[^_]*//:S/_//}.cabal:${p
cabal-extract: ${WRKDIR}
${RM} -rf ${CABAL_HOME}/.cabal
${SETENV} HOME=${CABAL_HOME} cabal new-update
+. if ${_hackage_is_default} == yes
cd ${WRKDIR} && \
${SETENV} ${LOCALE_ENV} HOME=${CABAL_HOME} cabal get ${PORTNAME}-${PORTVERSION}
+. else
+ ${MV} ${CABAL_HOME} /tmp/${PORTNAME}-cabal-home
+ cd ${.CURDIR} && ${MAKE} extract CABAL_BOOTSTRAP=yes
+ ${RM} -rf ${CABAL_HOME}
+ ${MV} /tmp/${PORTNAME}-cabal-home ${CABAL_HOME}
+. endif
# Fetches and unpacks dependencies sources for a cabal-extract'ed package.
# Builds them as side-effect.