On Mon, Sep 04, 2023 at 12:45:05PM -0700, Greg Steuck wrote:
> Looks like we no longer have to manage a namespace of just 10 entries
> globally in the ports tree :)
>
> OK?
>
> >From 9f430fa6addbc4b89e260d5d7aa5cb43b8943b9b Mon Sep 17 00:00:00 2001
> From: Greg Steuck <g...@nest.cx>
> Date: Mon, 4 Sep 2023 12:41:33 -0700
> Subject: [PATCH] Switch from MASTER_SITES to MASTER_SITES.hs in Haskell ports
>
> ---
> devel/cabal-install/Makefile | 6 +++---
> devel/cabal/cabal.port.mk | 15 ++++++---------
> 2 files changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/devel/cabal-install/Makefile b/devel/cabal-install/Makefile
> index 26b784af857..607e49060f7 100644
> --- a/devel/cabal-install/Makefile
> +++ b/devel/cabal-install/Makefile
> @@ -27,7 +27,7 @@ RUN_DEPENDS = lang/ghc
> EXTRACT_ONLY = ${DISTNAME}.tar.gz
> DISTFILES = ${EXTRACT_ONLY}
> DIST_SUBDIR = hackage
> -MASTER_SITES0 = https://hackage.haskell.org/package/
> +MASTER_SITES.hs = https://hackage.haskell.org/package/
>
> # Produced by manually copying values out of files/openbsd.json.
> _MANIFEST = \
> @@ -64,8 +64,8 @@ _MANIFEST = \
> zlib 0.6.3.0 1
>
> .for _package _version _revision in ${_MANIFEST}
> -DISTFILES += {${_package}-${_version}/}${_package}-${_version}.tar.gz:0
> -DISTFILES +=
> ${_package}-${_version}_${_revision}{${_package}-${_version}/revision/${_revision}}.cabal:0
> +DISTFILES.hs += {${_package}-${_version}/}${_package}-${_version}.tar.gz
> +DISTFILES.hs +=
> ${_package}-${_version}_${_revision}{${_package}-${_version}/revision/${_revision}}.cabal
> .endfor
>
> BUILD_DEPENDS += lang/ghc>=8.10.6
> diff --git a/devel/cabal/cabal.port.mk b/devel/cabal/cabal.port.mk
> index ac8a419315f..539f0473c5a 100644
> --- a/devel/cabal/cabal.port.mk
> +++ b/devel/cabal/cabal.port.mk
> @@ -35,10 +35,7 @@ ONLY_FOR_ARCHS ?= i386 amd64
> BUILD_DEPENDS += devel/cabal-install>=3.4.0.0 \
> lang/ghc>=8.6.4
>
> -# Takes over :9 site for hackage. The day when we have a port using
> -# both Go/Rust and Hackage we'll have to resolve their common
> -# insistance on grabbing :9.
> -MASTER_SITES9 = https://hackage.haskell.org/package/
> +MASTER_SITES.hs = https://hackage.haskell.org/package/
>
> DIST_SUBDIR ?= hackage
>
> @@ -47,8 +44,8 @@ DIST_SUBDIR ?= hackage
> EXTRACT_CASES += *.cabal) ;;
>
> DISTNAME ?= ${MODCABAL_STEM}-${MODCABAL_VERSION}
> -HOMEPAGE ?= ${MASTER_SITES9}${MODCABAL_STEM}
> -MASTER_SITES ?= ${MASTER_SITES9}${DISTNAME}/
> +HOMEPAGE ?= ${MASTER_SITES.hs}${MODCABAL_STEM}
> +MASTER_SITES ?= ${MASTER_SITES.hs}${DISTNAME}/
> DISTFILES ?= ${DISTNAME}.tar.gz
> SUBST_VARS += MODCABAL_STEM MODCABAL_VERSION PKGNAME
>
> @@ -63,7 +60,7 @@ MODCABAL_post-extract = \
> # Some packages need an updated .cabal file from hackage to overwrite
> # the one in the tar ball.
> .if defined(MODCABAL_REVISION)
> -DISTFILES +=
> ${DISTNAME}_${MODCABAL_REVISION}{revision/${MODCABAL_REVISION}}.cabal
> +DISTFILES.hs +=
> ${DISTNAME}_${MODCABAL_REVISION}{revision/${MODCABAL_REVISION}}.cabal
> MODCABAL_post-extract += \
> && cp ${FULLDISTDIR}/${DISTNAME}_${MODCABAL_REVISION}.cabal \
> ${WRKSRC}/${MODCABAL_STEM}.cabal
> @@ -71,9 +68,9 @@ MODCABAL_post-extract += \
>
> # The dependent sources get downloaded from hackage.
> .for _package _version _revision in ${MODCABAL_MANIFEST}
> -DISTFILES += {${_package}-${_version}/}${_package}-${_version}.tar.gz:9
> +DISTFILES.hs += {${_package}-${_version}/}${_package}-${_version}.tar.gz
> . if ${_revision} > 0
> -DISTFILES +=
> ${_package}-${_version}_${_revision}{${_package}-${_version}/revision/${_revision}}.cabal:9
> +DISTFILES.hs +=
> ${_package}-${_version}_${_revision}{${_package}-${_version}/revision/${_revision}}.cabal
> . endif
> .endfor # MODCABAL_MANIFEST
>
> --
> 2.41.0
>
>
Seems straightforward. Bye bye cumbersomeness, hello awesome new syntax
(yeah, you had to choose a name, which is the most difficult part about
the new syntax !)