diff options
Diffstat (limited to 'prepare_pkg.raku')
-rwxr-xr-x | prepare_pkg.raku | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/prepare_pkg.raku b/prepare_pkg.raku new file mode 100755 index 000000000000..1c50d7f9c50b --- /dev/null +++ b/prepare_pkg.raku @@ -0,0 +1,33 @@ +#!/usr/bin/env raku + +my $pkgver := '0.9.2'; + +put 'Downloading checksums file.'; + +my $p := run «wget -q -O - + "https://github.com/alecthomas/chroma/releases/download/v$pkgver/chroma-{$pkgver}-checksums.txt"», + :out; + +my %checksums = $p.out.lines.grep(/linux/).split(/\s+/).hash.antipairs; + +my $PKGBUILD_file := 'PKGBUILD'.IO; + +my $PKGBUILD = $PKGBUILD_file.slurp; + +# Set package version +$PKGBUILD ~~ s/<?after ^^'pkgver='>\N+/$pkgver/; + +# Set package checksums +for %checksums.kv -> $linux, $checksum { + $PKGBUILD ~~ s/<?after ^^ 'sha256sums_x86_64='> \N+/('$checksum')/ if $linux ~~ /amd64/; + $PKGBUILD ~~ s/<?after ^^ 'sha256sums_i686='> \N+/('$checksum')/ if $linux ~~ /386/; +} + +put 'Writing to PKGBUILD.'; +$PKGBUILD_file.spurt: $PKGBUILD; + +put 'Writing to .SRCINFO'; +run <makepkg --printsrcinfo>, :out('.SRCINFO'.IO.open: :w); + +put 'Running makepkg --install'; +run <makepkg --install>; |