mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-19 05:36:38 +02:00
121 lines
3 KiB
Text
121 lines
3 KiB
Text
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=abuild
|
|
pkgver=3.15.0_rc3
|
|
pkgrel=1
|
|
pkgdesc="Script to build Alpine Packages"
|
|
url="https://gitlab.alpinelinux.org/alpine/abuild/"
|
|
arch="all"
|
|
license="GPL-2.0-only"
|
|
depends="
|
|
apk-tools>=2.0.7-r1
|
|
cmd:getcap
|
|
fakeroot
|
|
musl-utils
|
|
lzip
|
|
openssl>3
|
|
patch
|
|
pkgconf
|
|
scanelf
|
|
tar
|
|
"
|
|
makedepends_build="pkgconfig scdoc"
|
|
makedepends_host="openssl-dev>3 zlib-dev"
|
|
makedepends="$makedepends_host $makedepends_build"
|
|
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://gitlab.alpinelinux.org/alpine/abuild/-/archive/$pkgver/abuild-$pkgver.tar.gz"
|
|
builddir="$srcdir"/abuild-$pkgver
|
|
|
|
build() {
|
|
make VERSION="$pkgver-r$pkgrel"
|
|
}
|
|
|
|
check() {
|
|
make check
|
|
}
|
|
|
|
package() {
|
|
make install VERSION="$pkgver-r$pkgrel" DESTDIR="$pkgdir"
|
|
|
|
install -m 644 abuild.conf "$pkgdir"/etc/abuild.conf
|
|
|
|
case "$CARCH" in
|
|
aarch64|loongarch64|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
|
|
}
|
|
|
|
cpan() {
|
|
pkgdesc="Script to generate perl APKBUILD from CPAN"
|
|
depends="perl perl-libwww perl-json perl-module-build perl-module-build-tiny
|
|
perl-lwp-protocol-https"
|
|
|
|
amove usr/bin/apkbuild-cpan
|
|
}
|
|
|
|
gems() {
|
|
pkgdesc="APKBUILD dependency resolver for RubyGems"
|
|
depends="ruby ruby-augeas"
|
|
|
|
amove usr/bin/apkbuild-gem-resolver
|
|
}
|
|
|
|
pypi() {
|
|
pkgdesc="Script to generate python3 APKBUILD from PYPI"
|
|
depends="perl perl-libwww perl-json perl-module-build-tiny perl-lwp-protocol-https
|
|
perl-ipc-system-simple"
|
|
|
|
amove usr/bin/apkbuild-pypi
|
|
}
|
|
|
|
_rootbld() {
|
|
pkgdesc="Build packages in chroot"
|
|
depends="abuild bubblewrap cmd:envsubst"
|
|
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="
|
|
4e6d167d68f346a93222364962d425c20a54c81f986ca68b9118884a769de0c22ff0c3256b3d97c471dd7c6276c3a927bb92c95be218ab4dd1a0aac337a34a94 abuild-3.15.0_rc3.tar.gz
|
|
"
|