Re: Retire erlang/26 for erlang/29

Stuart Henderson <[email protected]> Mon, 27 Jul 2026 22:42:39 +0100
Newsgroups gmane.os.openbsd.ports
Message-ID <[email protected]>
OK to hook up 29.

I agree with dropping 26 but it's missing the upgrade path.

lang/erlang/27 needs @pkgpath markers in 27's pkg/PLIST-*
(@pkgpath lang/erlang/26,-main and ,-wx).

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

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



On 2026/07/27 22:01, Volker Schlecht wrote:
> Erlang 26 is not supported anymore, and Erlang 29 has been building
> and testing fine for the past 4 releases.
> 
> I'd like to sent 26 to the attic, and hook up 29.
> 
> Unfortunately devel/rebar3 still doesn't play nice with 29 yet, so I'd just
> disable building a 29 FLAVOR for now.
> 
> ok?

> 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	27 Jul 2026 19:51:38 -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	27 Jul 2026 19:51:38 -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: 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	27 Jul 2026 19:56:12 -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: 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	27 Jul 2026 19:56:17 -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,6 +18,8 @@ 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