abr: new ptrcport
This commit is contained in:
parent
c69d9a2b1b
commit
e47b48ea7b
3 changed files with 159 additions and 0 deletions
45
abr/APKBUILD
Normal file
45
abr/APKBUILD
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# Maintainer: psykose <alice@ayaya.dev>
|
||||||
|
pkgname=abr
|
||||||
|
pkgver=1
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="abr~!"
|
||||||
|
url="https://git.ddd.rip/ptrcnull/aports"
|
||||||
|
arch="noarch"
|
||||||
|
license="ISC"
|
||||||
|
# chrt, ionice
|
||||||
|
depends="
|
||||||
|
abuild
|
||||||
|
util-linux-misc
|
||||||
|
"
|
||||||
|
checkdepends="
|
||||||
|
shellcheck
|
||||||
|
shfmt
|
||||||
|
"
|
||||||
|
source="
|
||||||
|
abr
|
||||||
|
apkbuild-anitya
|
||||||
|
"
|
||||||
|
builddir="$srcdir"
|
||||||
|
options="!check" # manual
|
||||||
|
|
||||||
|
check() {
|
||||||
|
shellcheck -s sh .
|
||||||
|
shfmt \
|
||||||
|
--diff \
|
||||||
|
--simplify \
|
||||||
|
--posix \
|
||||||
|
--indent 3 \
|
||||||
|
--space-redirects \
|
||||||
|
--binary-next-line \
|
||||||
|
.
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
install -Dm755 abr apkbuild-anitya \
|
||||||
|
-t "$pkgdir"/usr/bin/
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
1a01d9a9cc3fd29622c803193e7b60c4c5855a65db786cb5d826fdd03a2ab071baff70a6bf01d7cd82e2c638a0691700e7810dca070b30071a0ad4066bc73b13 abr
|
||||||
|
71d8cb1e5e57ff739915fa4de1f5699afa60ab36e2e5219c4c366af5ceab24dc6ee55e738d29ca2b63dd5e387de7661594fc86bf2183d787932e75b4c03c6a9f apkbuild-anitya
|
||||||
|
"
|
104
abr/abr
Executable file
104
abr/abr
Executable file
|
@ -0,0 +1,104 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# clean self and do not pass through any environment
|
||||||
|
# except env, because it doesn't matter too much for this specific purpose
|
||||||
|
# and a few that are useful to keep some cache paths
|
||||||
|
if [ -z "$_CLEAN" ]; then
|
||||||
|
exec env -i \
|
||||||
|
_CLEAN=1 \
|
||||||
|
CARGO_HOME="$CARGO_HOME" \
|
||||||
|
GNUPGHOME="$GNUPGHOME" \
|
||||||
|
GOCACHE="$GOCACHE" \
|
||||||
|
GOMODCACHE="$GOMODCACHE" \
|
||||||
|
GOPATH="$GOPATH" \
|
||||||
|
GOTMPDIR="$GOTMPDIR" \
|
||||||
|
HOME="$HOME" \
|
||||||
|
PATH="$PATH" \
|
||||||
|
XDG_CACHE_HOME="$XDG_CACHE_HOME" \
|
||||||
|
XDG_CONFIG_HOME="$XDG_CONFIG_HOME" \
|
||||||
|
"$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
while getopts "j:fmnx" opt; do
|
||||||
|
case "$opt" in
|
||||||
|
'j')
|
||||||
|
jobs="$OPTARG"
|
||||||
|
export JOBS="$jobs"
|
||||||
|
export MAKEFLAGS="-j$jobs"
|
||||||
|
export SAMUFLAGS="-j$jobs"
|
||||||
|
export CARGO_BUILD_JOBS="$jobs"
|
||||||
|
;;
|
||||||
|
'f')
|
||||||
|
# also run checksum/checkapk
|
||||||
|
full=1
|
||||||
|
;;
|
||||||
|
'm')
|
||||||
|
# don't set LD_PRELOAD for another alloc
|
||||||
|
# since i set this normally, this unexports it.
|
||||||
|
# XXX: funnily, any extra alloc breaks gjs-based testsuites (why?)
|
||||||
|
nomemhack=1
|
||||||
|
unset LD_PRELOAD
|
||||||
|
;;
|
||||||
|
'n')
|
||||||
|
nonice=1
|
||||||
|
;;
|
||||||
|
'x')
|
||||||
|
# skip checks
|
||||||
|
export ABUILD_BOOTSTRAP=1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "invalid argument passed"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift "$((OPTIND - 1))"
|
||||||
|
|
||||||
|
# loop again to check if rootbld
|
||||||
|
for arg; do
|
||||||
|
if eltest "${arg:-x}" =~ "rootbld"; then
|
||||||
|
# not available in rootbld
|
||||||
|
nosccache=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$nosccache" ]; then
|
||||||
|
export RUSTC_WRAPPER=sccache
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$nomemhack" ]; then
|
||||||
|
extra="scudo-malloc"
|
||||||
|
export LD_PRELOAD="/usr/lib/libscudo.so"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$nonice" ]; then
|
||||||
|
# max bg idle
|
||||||
|
# note that there is no nice here,
|
||||||
|
# but nice is mostly useless with modern linux process groups.
|
||||||
|
# (and this is in its' own by virtue of a new terminal)
|
||||||
|
nicewrap="chrt -i 0 ionice -c 2 -n 7"
|
||||||
|
fi
|
||||||
|
|
||||||
|
root="$(git rev-parse --show-toplevel)"
|
||||||
|
|
||||||
|
if [ -n "$root" ]; then
|
||||||
|
# abuild cannot detect the root dir to get .rootbld-repositories
|
||||||
|
# to work, unless the dir has aports in git remotes or is ~/aports
|
||||||
|
# ...
|
||||||
|
export APORTSDIR="$root"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export EXTRADEPENDS_BUILD="$extra pigz xz"
|
||||||
|
|
||||||
|
if [ -n "$full" ]; then
|
||||||
|
abuild checksum
|
||||||
|
fi
|
||||||
|
|
||||||
|
$nicewrap abuild -fr "$@"
|
||||||
|
|
||||||
|
if [ -n "$full" ]; then
|
||||||
|
checkapk
|
||||||
|
abuild sanitycheck
|
||||||
|
apkbuild-shellcheck
|
||||||
|
apkbuild-anitya
|
||||||
|
fi
|
10
abr/apkbuild-anitya
Executable file
10
abr/apkbuild-anitya
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. APKBUILD
|
||||||
|
items="$(curl -s "https://release-monitoring.org/api/v2/packages/?name=$pkgname&distribution=Alpine" | jq .total_items)"
|
||||||
|
|
||||||
|
if [ "$items" = 0 ]; then
|
||||||
|
echo "Package $pkgname is not tracked by Anitya."
|
||||||
|
echo "Add it here: https://release-monitoring.org/"
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
Reference in a new issue