On Tue, 28 Jul 2026 20:34:53 +0200,
Volker Schlecht <[email protected]> wrote:
>
> [1 <text/plain; UTF-8 (7bit)>]
>
>
> On 7/27/26 11:42 PM, Stuart Henderson wrote:
> > lang/erlang/27 needs @pkgpath markers in 27's pkg/PLIST-*
> > (@pkgpath lang/erlang/26,-main and ,-wx).
>
> I'd rather have an upgrade path from 26 -> 28.
> 28 is the default version for the dependent ports and I don't think that'll
> change before we're working on 8.1
>
If I not mistaken EOL of Erlang 27 is scheduled for the next spring, and it
may happened in a life of 8.0... Or very near to 8.1 release.
> > rebar3 needs a quirks $stem_extensions entry from erl26-rebar3 to
> > erl27-rebar3 and @pkgpath devel/rebar3,erlang26 for rebar3,erlang27 (can
> > be done unconditionally for now, but if an erlang28 flavour is added to
> > rebar3 then the @pkgpath will need to only be in the PLIST for ,erlamg27
> > - this can be done in a PFRAG or via a variable that expands to @comment
> > or nothing).
>
> Done, with an upgrade path from 26 -> 28
>
> > And 27 in -current will need to keep REVISION above 7.9-stable (as will
> > rebar3 if there are any updates in -stable: unlikely I guess, but worth
> > a comment just in case).
> Never say never ...
>
> [2 erlang-29vs26.diff <text/x-patch; UTF-8 (base64)>]
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/erlang/Makefile,v
> retrieving revision 1.79
> diff -u -p -r1.79 Makefile
> --- Makefile 19 Jun 2025 13:24:55 -0000 1.79
> +++ Makefile 28 Jul 2026 18:31:33 -0000
> @@ -1,6 +1,6 @@
> SUBDIR =
> - SUBDIR += 26
> SUBDIR += 27
> SUBDIR += 28
> + SUBDIR += 29
>
> .include <bsd.port.subdir.mk>
> Index: erlang.port.mk
> ===================================================================
> RCS file: /cvs/ports/lang/erlang/erlang.port.mk,v
> retrieving revision 1.49
> diff -u -p -r1.49 erlang.port.mk
> --- erlang.port.mk 6 May 2026 15:52:38 -0000 1.49
> +++ erlang.port.mk 28 Jul 2026 18:31:33 -0000
> @@ -23,7 +23,7 @@ MODERL_HANDLE_FLAVORS ?= No
> # If erlang.port.mk should handle FLAVORS, define a separate FLAVOR
> # for each erlang runtime
> . if !defined(FLAVORS)
> -FLAVORS = erlang26 erlang27 erlang28
> +FLAVORS = erlang27 erlang28 erlang29
> . endif
>
> FULLPKGNAME ?= ${MODERL_PKG_PREFIX}-${PKGNAME}
> @@ -38,27 +38,27 @@ FLAVOR = ${_MODERL_DEFAULT_FLAVOR}
> MODERL_PKG_PREFIX = erl${MODERL_VERSION}
>
> .if defined(MODERL_VERSION)
> -. if ${MODERL_VERSION} == 26
> -_MODERL_FLAVOR = erlang26
> -. elif ${MODERL_VERSION} == 27
> +. if ${MODERL_VERSION} == 27
> _MODERL_FLAVOR = erlang27
> . elif ${MODERL_VERSION} == 28
> _MODERL_FLAVOR = erlang28
> +. elif ${MODERL_VERSION} == 29
> +_MODERL_FLAVOR = erlang29
> . else
> ERRORS += "Invalid MODERL_VERSION set: ${MODERL_VERSION}."
> . endif
> .else
> # When only flavour is set, derive version
> . if !empty(FLAVOR)
> -. if ${FLAVOR} == erlang26
> -MODERL_VERSION ?= 26
> -_MODERL_FLAVOR ?= erlang26
> -. elif ${FLAVOR} == erlang27
> +. if ${FLAVOR} == erlang27
> MODERL_VERSION ?= 27
> _MODERL_FLAVOR ?= erlang27
> . elif ${FLAVOR} == erlang28
> MODERL_VERSION ?= 28
> _MODERL_FLAVOR ?= erlang28
> +. elif ${FLAVOR} == erlang29
> +MODERL_VERSION ?= 29
> +_MODERL_FLAVOR ?= erlang29
> . endif
> . endif
> .endif
> @@ -81,7 +81,7 @@ MODERL_USE_REBAR3 = Yes
> MODERL_BUILD_DEPENDS += devel/rebar3,${_MODERL_FLAVOR}
> REBAR_BIN ?= ${LOCALBASE}/bin/rebar3-${MODERL_VERSION}
> # Make sure rebar gets called as 'rebar3', otherwise escript tries to call
> the
> -# binary name (e.g. rebar3-27) as the script entrypoint.
> +# binary name (e.g. rebar3-28) as the script entrypoint.
> _MODERL_LINKS += rebar3-${MODERL_VERSION} rebar3
> .endif
>
> Index: 28/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/erlang/28/Makefile,v
> retrieving revision 1.23
> diff -u -p -r1.23 Makefile
> --- 28/Makefile 27 Jul 2026 18:55:10 -0000 1.23
> +++ 28/Makefile 28 Jul 2026 18:31:33 -0000
> @@ -14,6 +14,7 @@ PKGNAME= erlang-${V}
> PKGNAME-main= erlang-${V}
> PKGNAME-wx= erlang-wx-${V}
> EPOCH= 0
> +REVISION= 0
>
> VERSION_SPEC= >=28v0,<29v0
> PKGSPEC-main= erlang-${VERSION_SPEC}
> Index: 28/pkg/PLIST-main
> ===================================================================
> RCS file: /cvs/ports/lang/erlang/28/pkg/PLIST-main,v
> retrieving revision 1.7
> diff -u -p -r1.7 PLIST-main
> --- 28/pkg/PLIST-main 4 Mar 2026 19:21:31 -0000 1.7
> +++ 28/pkg/PLIST-main 28 Jul 2026 18:31:33 -0000
> @@ -4,6 +4,7 @@
> @conflict erlang->=28v0,<29v0
> @conflict erlang-wx->=28,<${V}
> @pkgpath lang/erlang/21,-main
> +@pkgpath lang/erlang/26,-main
> @newgroup _epmd:888
> @newuser _epmd:888:_epmd::Erlang EPMD Account:/var/empty:/sbin/nologin
> @rcscript ${RCDIR}/epmd28
> Index: 28/pkg/PLIST-wx
> ===================================================================
> RCS file: /cvs/ports/lang/erlang/28/pkg/PLIST-wx,v
> retrieving revision 1.5
> diff -u -p -r1.5 PLIST-wx
> --- 28/pkg/PLIST-wx 6 Jul 2026 11:23:12 -0000 1.5
> +++ 28/pkg/PLIST-wx 28 Jul 2026 18:31:33 -0000
> @@ -3,6 +3,7 @@
> @conflict erlang-wx->=28,<29
> @conflict erlang-wx->=28v0,<29v0
> @conflict erlang->=28v0,<28.5.0.3p0v0
> +@pkgpath lang/erlang/26,-wx
> lib/${ERLANG_V}/lib/${ERL_DEBUGGER}/
> lib/${ERLANG_V}/lib/${ERL_DEBUGGER}/ebin/
> lib/${ERLANG_V}/lib/${ERL_DEBUGGER}/ebin/dbg_debugged.beam
> [3 rebar3-erlang26.diff <text/x-patch; UTF-8 (base64)>]
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/Makefile,v
> retrieving revision 1.2597
> diff -u -p -r1.2597 Makefile
> --- Makefile 24 Jul 2026 20:18:19 -0000 1.2597
> +++ Makefile 28 Jul 2026 18:23:57 -0000
> @@ -1882,7 +1882,6 @@
> SUBDIR += rcs-fast-import
> SUBDIR += re2c
> SUBDIR += readline
> - SUBDIR += rebar3,erlang26
> SUBDIR += rebar3,erlang27
> SUBDIR += rebar3,erlang28
> SUBDIR += reflection-cpp
> Index: quirks/files/Quirks.pm
> ===================================================================
> RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v
> retrieving revision 1.1821
> diff -u -p -r1.1821 Quirks.pm
> --- quirks/files/Quirks.pm 22 Jun 2026 02:22:11 -0000 1.1821
> +++ quirks/files/Quirks.pm 28 Jul 2026 18:24:05 -0000
> @@ -531,6 +531,7 @@ my $stem_extensions = {
> 'vegastrike-extra' => 'vegastrike-utcs',
> 'vegastrike-music' => 'vegastrike-utcs',
> 'vegastrike-speech' => 'vegastrike-utcs',
> + 'erl26-rebar3' => 'erl28-rebar3',
>
> };
>
> Index: rebar3/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/rebar3/Makefile,v
> retrieving revision 1.22
> diff -u -p -r1.22 Makefile
> --- rebar3/Makefile 28 Feb 2026 18:47:22 -0000 1.22
> +++ rebar3/Makefile 28 Jul 2026 18:24:05 -0000
> @@ -3,7 +3,10 @@ COMMENT = Erlang build tool
> GH_ACCOUNT = erlang
> GH_PROJECT = rebar3
> GH_TAGNAME = 3.27.0
> +REVISION = 0
> +
> CATEGORIES = devel
> +
> HOMEPAGE = https://www.rebar3.org
> MAINTAINER = Volker Schlecht <[email protected]>
>
> @@ -15,9 +18,19 @@ MODULES = lang/erlang
> # for tests
> MODERL_MODULES += meck 0.8.13
> MODERL_HANDLE_FLAVORS= Yes
> +FLAVOR ?= erlang28
> +FLAVORS = erlang27 erlang28
> CONFIGURE_STYLE = None
>
> DISTFILES = rebar3-{}${GH_TAGNAME}.tar.gz
> +
> +# To enable/disable pkgpath for erlang/26
> +.if ${FLAVOR} == "erlang28"
> +ERL_DEFAULT = ""
> +.else
> +ERL_DEFAULT = "@comment "
> +.endif
> +SUBST_VARS += ERL_DEFAULT
>
> pre-configure:
> ${SUBST_CMD} ${WRKSRC}/bootstrap \
> Index: rebar3/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/devel/rebar3/pkg/PLIST,v
> retrieving revision 1.5
> diff -u -p -r1.5 PLIST
> --- rebar3/pkg/PLIST 28 May 2024 18:30:32 -0000 1.5
> +++ rebar3/pkg/PLIST 28 Jul 2026 18:24:05 -0000
> @@ -1,3 +1,4 @@
> @conflict rebar3-*-erlang${MODERL_VERSION}
> @pkgpath devel/rebar
> +${ERL_DEFAULT}@pkgpath devel/rebar3,erlang26
> bin/rebar3-${MODERL_VERSION}
--
wbr, Kirill