aboutsummaryrefslogtreecommitdiffstats
path: root/main/abuild/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/abuild/APKBUILD')
-rw-r--r--main/abuild/APKBUILD90
1 files changed, 66 insertions, 24 deletions
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 07cfdad8670..2aab2588e86 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -1,41 +1,47 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=abuild
-pkgver=3.9.0
+pkgver=3.13.0
_ver=${pkgver%_git*}
-pkgrel=0
+pkgrel=3
pkgdesc="Script to build Alpine Packages"
url="https://git.alpinelinux.org/cgit/abuild/"
arch="all"
license="GPL-2.0-only"
-depends="fakeroot scanelf openssl apk-tools>=2.0.7-r1 libc-utils
- attr tar pkgconf patch lzip"
-if [ "$CBUILD" = "$CHOST" ]; then
- depends="$depends curl"
-fi
+depends="
+ apk-tools>=2.0.7-r1
+ attr
+ cmd:getcap
+ fakeroot
+ musl-utils
+ lzip
+ openssl>3
+ patch
+ pkgconf
+ scanelf
+ tar
+ "
makedepends_build="pkgconfig scdoc"
-makedepends_host="openssl1.1-compat-dev zlib-dev"
+makedepends_host="openssl-dev>3 zlib-dev"
makedepends="$makedepends_host $makedepends_build"
-checkdepends="bats"
+checkdepends="cmd:setcap kyua git"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="
apkbuild-cpan:cpan:noarch
apkbuild-gem-resolver:gems:noarch
apkbuild-pypi:pypi:noarch
abuild-rootbld:_rootbld:noarch
+ abuild-sudo:_sudo
$pkgname-doc
"
options="suid"
pkggroups="abuild"
-source="https://git.alpinelinux.org/abuild/snapshot/abuild-$pkgver.tar.xz
+source="https://gitlab.alpinelinux.org/alpine/abuild/-/archive/$pkgver/abuild-$pkgver.tar.gz
+ 0001-abuild-pass-APORTS_BOOTSTRAP-to-bubblewrap.patch
+ 0001-abuild-allow-packages-to-install-under-run.patch
+ 0001-abuild-skip-var-run-in-fhs-check.patch
"
builddir="$srcdir"/abuild-$pkgver
-prepare() {
- default_prepare
-
- sed -i -e "/^CHOST=/s/=.*/=$CHOST/" abuild.conf
-}
-
build() {
make VERSION="$pkgver-r$pkgrel"
}
@@ -48,6 +54,33 @@ package() {
make install VERSION="$pkgver-r$pkgrel" DESTDIR="$pkgdir"
install -m 644 abuild.conf "$pkgdir"/etc/abuild.conf
+
+ case "$CARCH" in
+ x86*|ppc64le)
+ # binutils only supports it here
+ cat >>"$pkgdir"/usr/share/abuild/default.conf <<-EOF
+
+ # binutils ld.bfd supports this on this architecture; default to it
+ export RUSTFLAGS="\$RUSTFLAGS -Clink-arg=-Wl,-z,pack-relative-relocs"
+ export LDFLAGS="\$LDFLAGS -Wl,-z,pack-relative-relocs"
+ EOF
+ esac
+
+ case "$CARCH" in
+ x86_64)
+ # https://lists.alpinelinux.org/~alpine/devel/%3C1628515011.zujvcn248v.none%40localhost%3E
+ # note that this is x86-exclusive. on other architectures, this is pretty much always bad
+ # https://github.com/rust-lang/rust/pull/106380
+ cat >>"$pkgdir"/usr/share/abuild/default.conf <<-EOF
+
+ # -fno-plt has very slight improvements to general code size and speed on x86-only,
+ # for the common system dynamic linking case
+ export CFLAGS="\$CFLAGS -fno-plt"
+ export CXXFLAGS="\$CXXFLAGS -fno-plt"
+ EOF
+ ;;
+ esac
+
install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles
}
@@ -56,16 +89,14 @@ cpan() {
depends="perl perl-libwww perl-json perl-module-build perl-module-build-tiny
perl-lwp-protocol-https"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/apkbuild-cpan "$subpkgdir"/usr/bin/
+ amove usr/bin/apkbuild-cpan
}
gems() {
pkgdesc="APKBUILD dependency resolver for RubyGems"
depends="ruby ruby-augeas"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/apkbuild-gem-resolver "$subpkgdir"/usr/bin/
+ amove usr/bin/apkbuild-gem-resolver
}
pypi() {
@@ -73,16 +104,27 @@ pypi() {
depends="perl perl-libwww perl-json perl-module-build-tiny perl-lwp-protocol-https
perl-ipc-system-simple"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/apkbuild-pypi "$subpkgdir"/usr/bin/
+ amove usr/bin/apkbuild-pypi
}
_rootbld() {
pkgdesc="Build packages in chroot"
- depends="abuild bubblewrap gettext git"
+ depends="abuild bubblewrap cmd:envsubst git"
mkdir -p "$subpkgdir"
}
+_sudo() {
+ pkgdesc="Simple privilege elevation tools for building packages"
+ depends=""
+ install_if="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/bin/abuild-sudo usr/bin/abuild-apk usr/bin/abuild-adduser \
+ usr/bin/abuild-addgroup
+}
+
sha512sums="
-b9f24d9d6f8f4eef320a5dbcc3ff94af64332d6034da306b237541e447839f4debc19eb2b937150166f53c63f9c9e518420cb54092c1f946f1c294c0464c521f abuild-3.9.0.tar.xz
+9aa46693984bd65a1a940d4547239e0a10170e82f186ab231b0d3a26b09a75cf258fae0e16f936e79cf52353dce9fc8a18881e84042b7961f390aba3f34d88da abuild-3.13.0.tar.gz
+2d7cf76202bd50e97fa3ed517c82dd94cbddd27b43d51e41e97c4281092565046aa55cab0869b20753c6bc1d592194528700a779426b67177b9ee7632c943742 0001-abuild-pass-APORTS_BOOTSTRAP-to-bubblewrap.patch
+f7a4240972d33be36931527f4764cb8852989f724406cc079567e71875e7ca7b4c897755770a26f9901ebe9faf166d0e8eb88cb028cbf012f55ddd6efad47e6e 0001-abuild-allow-packages-to-install-under-run.patch
+b94819e61a0a5a7a835bbf7d879371ff1f1573e93c40bb9f7a05b8a54fafbf8fe9234ddaefc2f0dc280d918639fe4193422fa8a56225c622d65466049efe9824 0001-abuild-skip-var-run-in-fhs-check.patch
"