diff --git a/Mk/Uses/cabal.mk b/Mk/Uses/cabal.mk --- a/Mk/Uses/cabal.mk +++ b/Mk/Uses/cabal.mk @@ -76,6 +76,12 @@ 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 @@ 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.