diff --git a/community/erlang/APKBUILD b/community/erlang26/APKBUILD similarity index 84% rename from community/erlang/APKBUILD rename to community/erlang26/APKBUILD index dea90bb488f950ba402b16e566ed1407b00c6c12..24a0b71b846838a5e9085adf0b8667ee5d3dd05e 100644 --- a/community/erlang/APKBUILD +++ b/community/erlang26/APKBUILD @@ -1,6 +1,7 @@ # NOTE: Please do NOT upgrade to X.0 releases of Erlang, as they tend # to have breaking changes which require the rest of the ecosystem to # catch up with. If in doubt, do a test rebuild of community/elixir. +_pkgname=erlang # Contributor: Michael Mason <ms13sp@gmail.com> # Contributor: Gabriele Santomaggio <g.santomaggio@gmail.com> @@ -8,10 +9,12 @@ # Contributor: Daniel Isaksen <d@duniel.no> # Maintainer: Celeste <cielesti@protonmail.com> maintainer="Celeste <cielesti@protonmail.com>" -pkgname=erlang pkgver=26.2.5.9 -pkgrel=0 -pkgdesc="General-purpose programming language and runtime environment" +pkgrel=1 +_majorver=${pkgver%%.*} +_prevmajorver=$((_majorver - 1)) +pkgname=$_pkgname$_majorver +pkgdesc="General-purpose programming language and runtime environment, version $_majorver" url="https://www.erlang.org/" license="Apache-2.0" arch="all" @@ -26,7 +29,8 @@ makedepends=" wxwidgets-dev zlib-dev " -subpackages="$pkgname-dev +subpackages=" + $pkgname-dev $pkgname-doc $pkgname-debugger:_mv_erlang_lib $pkgname-dialyzer:_mv_erlang_lib @@ -41,8 +45,19 @@ source="https://github.com/erlang/otp/releases/download/OTP-$pkgver/otp_src_$pkg builddir="$srcdir/otp_src_$pkgver" -# Disable Java support (jinterface) on architectures that lack OpenJDK -case "$CTARGET_ARCH" in +# Whether this package provides "erlang" without the version suffix. +_default_erlang="yes" + +if [ "$_default_erlang" = yes ]; then + provides="erlang=$pkgver-r$pkgrel" + replaces="erlang" +fi + +# explicit override for previous version as well +replaces="erlang$_prevmajorver" + +# Disable Java support (jinterface) on architectures that lack OpenJDK 8 +case "$CARCH" in x86|armhf|armv7|x86_64|aarch64|ppc64le|s390x) makedepends="$makedepends openjdk8" export PATH="/usr/lib/jvm/java-1.8-openjdk/bin:$PATH" @@ -97,8 +112,12 @@ package() { } _mv_erlang_lib() { - local lib=$(echo ${subpkgname#"$pkgname-"} | tr '-' '_') + _default_provide + depends="$pkgname=$pkgver-r$pkgrel" + + local lib=${subpkgname#"$pkgname-"} + lib=${lib//-/_} case "$lib" in debugger) depends="$pkgname-wx=$pkgver-r$pkgrel";; dialyzer) depends="$pkgname-wx=$pkgver-r$pkgrel";; @@ -106,7 +125,7 @@ _mv_erlang_lib() { megaco) depends="$pkgname-debugger=$pkgver-r$pkgrel $pkgname-et=$pkgver-r$pkgrel";; observer) depends="$pkgname-et=$pkgver-r$pkgrel $pkgname-wx=$pkgver-r$pkgrel";; reltool) depends="$pkgname-wx=$pkgver-r$pkgrel";; - wx) depends="$pkgname=$pkgver-r$pkgrel xauth terminus-font";; + wx) depends="$pkgname=$pkgver-r$pkgrel xauth font-terminus";; esac mkdir -p "$subpkgdir"/usr/lib/erlang/lib @@ -115,6 +134,8 @@ _mv_erlang_lib() { } dev() { + _default_provide + set -x local i='' depends="$pkgname=$pkgver-r$pkgrel $depends_dev" @@ -152,6 +173,8 @@ dev() { doc() { default_doc + _default_provide + pkgdesc="$pkgdesc (documentation chunks and man pages)" amove usr/lib/erlang/*/info \ @@ -179,6 +202,13 @@ verifydeps() { done } +_default_provide() { + if [ "$_default_erlang" = yes ]; then + provides="erlang${subpkgname#"$pkgname"}=$pkgver-r$pkgrel" + replaces="erlang${subpkgname#"$pkgname"} erlang${_prevmajorver}${subpkgname#"$pkgname"}" + fi +} + sha512sums=" 941752b85c0d8535df73c1c17fe8e9db1125d61aa0c8669e4e5105e221206274415f6b3b5ffaaa43a78f26cf47ce3d20dd3c896a80d80f97d4c31c738eab257a otp_src_26.2.5.9.tar.gz "