06.01.2026 07:44, Thomas Frohwein пишет:
> Hi,
> 
> It looks like amongst the different code forges/sources for DIST_TUPLE,
> codeberg is a special case in that it extracts just to ${_project}
> instead of something like ${_project}-${_id}. The current ports that
> use codeberg all only use it with '.' at the end of DIST_TUPLE, so
> without a mv(1). While working on updating games/godot, godotsteam is
> now hosted on codeberg, too. When pulling this in with
> 
> DIST_TUPLE += codeberg godotsteam godotsteam v3.20 godotsteam
> 
> the MODDIST-TUPLE_post-extract fails because DIST_TUPLE gets the
> directory wrong by including the ${_id}.
> 
> The diff below fixes this . It doesn't address the WRKDIST at this
> point for the other ports that already use DIST_TUPLE for codeberg and
> that all set WRKDIST manually. Fixing that will be a bit more
> involved...
> 
> I tested the change with dist-tuple.test [1] which confirms that none
> of the DIST_TUPLE-derived variables in existing ports change in the
> existing ports tree.
> 
> ok?

Reads OK to me.

> 
> [1] https://github.com/rfht/dist-tuple.test
> 
> Index: dist-tuple.port.mk
> ===================================================================
> RCS file: /cvs/ports/infrastructure/mk/dist-tuple.port.mk,v
> diff -u -p -r1.19 dist-tuple.port.mk
> --- dist-tuple.port.mk        28 Dec 2025 17:58:25 -0000      1.19
> +++ dist-tuple.port.mk        6 Jan 2026 04:26:42 -0000
> @@ -42,7 +42,12 @@ EXTRACT_SUFX.${_template} ?=               ${TEMPLATE
>  TEMPLATE_HOMEPAGE.${_template} ?=    ${TEMPLATE_HOMEPAGE}
>  HOMEPAGE ?=  ${TEMPLATE_HOMEPAGE.${_template}:${_subst}}
>  
> -.      if "${_targetdir}" != "."
> +.      if "${_targetdir}" != "." && "${_template}" == "codeberg"
> +MODDIST-TUPLE_post-extract += \
> +     t=${WRKDIST}/${_targetdir}; [[ -d $$t ]] && rmdir $$t \
> +     || mkdir -p `dirname $$t` ; \
> +     mv ${WRKDIR}/${_project:T} $$t;
> +.      elif "${_targetdir}" != "."
>  MODDIST-TUPLE_post-extract += \
>       t=${WRKDIST}/${_targetdir}; [[ -d $$t ]] && rmdir $$t \
>       || mkdir -p `dirname $$t` ; \
> 

Reply via email to