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

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 ...

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
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}

Reply via email to