bottles-opener, bt-volume-step, cachy-auto-update, face-unlock, face-unlock-bin, middleclick-autoscroll: source from git.felo.gg [skip ci]

This commit is contained in:
Felitendo committed 2026-10-04 20:40:44 +02:00
1 parent 30617166f5
commit 06bc509002
12 files changed
+72 -64

No files matched your search

+6 -6
View File
@@ -1,13 +1,13 @@
# Maintainer: Felitendo # Maintainer: Felitendo
# This PKGBUILD is updated automatically: # This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS # https://git.felo.gg/Felitendo/PKGBUILDS
pkgname=bottles-opener pkgname=bottles-opener
pkgver=0.1.1 pkgver=0.1.1
pkgrel=1 pkgrel=1
pkgdesc="Double-click a file and it opens in its Windows program, inside its Bottles bottle" pkgdesc="Double-click a file and it opens in its Windows program, inside its Bottles bottle"
arch=('any') arch=('any')
url="https://github.com/LoonixTools/bottles-opener" url="https://git.felo.gg/LoonixTools/bottles-opener"
license=('GPL-3.0-or-later') license=('GPL-3.0-or-later')
depends=('bash' 'coreutils' 'gawk' 'grep' 'sed' 'gettext' 'shared-mime-info' 'systemd') depends=('bash' 'coreutils' 'gawk' 'grep' 'sed' 'gettext' 'shared-mime-info' 'systemd')
makedepends=('gettext' 'scdoc') makedepends=('gettext' 'scdoc')
@@ -18,15 +18,15 @@ optdepends=('bottles: Bottles itself (the Flatpak works too)'
'desktop-file-utils: refresh the desktop database after a change' 'desktop-file-utils: refresh the desktop database after a change'
'flatpak: open files with the Bottles Flatpak') 'flatpak: open files with the Bottles Flatpak')
install="${pkgname}.install" install="${pkgname}.install"
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
sha256sums=('c8289f0941d9355993f4912bb69aea2fd916c1ba706ee15e497459de296bd639') sha256sums=('3ec601cd59006e72d3b4c1d20b8967aad77b7baf20525d8ff53a7ae4f4822bd9')
build() { build() {
# pass the version being packaged so `bottles-opener --version` cannot drift # pass the version being packaged so `bottles-opener --version` cannot drift
# away from pkgver # away from pkgver
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" make -C "${pkgname}" VERSION="$pkgver"
} }
package() { package() {
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" DESTDIR="$pkgdir" install make -C "${pkgname}" VERSION="$pkgver" DESTDIR="$pkgdir" install
} }
+6 -3
View File
@@ -1,5 +1,5 @@
# bottles-opener - opens files in their Windows program inside Bottles # bottles-opener - opens files in their Windows program inside Bottles
# (https://github.com/LoonixTools/bottles-opener). # (https://git.felo.gg/LoonixTools/bottles-opener).
# #
# Shell and two small Python scripts, a gettext catalog and a scdoc man page: # Shell and two small Python scripts, a gettext catalog and a scdoc man page:
# the PKGBUILD runs the upstream Makefile against the release tarball. # the PKGBUILD runs the upstream Makefile against the release tarball.
@@ -10,7 +10,10 @@ UPSTREAM_REPO="LoonixTools/bottles-opener"
BUILD_DEPS=(gettext scdoc) BUILD_DEPS=(gettext scdoc)
latest_version() { latest_version() {
gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' # the highest vX.Y.Z tag; not every release has a release page
curl -sf "https://git.felo.gg/api/v1/repos/$UPSTREAM_REPO/tags?limit=50" \
| jq -r '.[].name | select(test("^v[0-9]+(\\.[0-9]+)*$"))' \
| sed 's/^v//' | sort -V | tail -n 1
} }
# refresh_checksums <version> <pkgbuild-path> # refresh_checksums <version> <pkgbuild-path>
@@ -18,7 +21,7 @@ refresh_checksums() {
local ver="$1" pkgbuild="$2" local ver="$1" pkgbuild="$2"
local sha local sha
sha="$(curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" \ sha="$(curl -sfL "https://git.felo.gg/$UPSTREAM_REPO/archive/v$ver.tar.gz" \
| sha256sum | cut -d' ' -f1)" | sha256sum | cut -d' ' -f1)"
sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild" sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild"
+6 -6
View File
@@ -1,13 +1,13 @@
# Maintainer: Felitendo # Maintainer: Felitendo
# This PKGBUILD is updated automatically: # This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS # https://git.felo.gg/Felitendo/PKGBUILDS
pkgname=bt-volume-step pkgname=bt-volume-step
pkgver=1.0.0 pkgver=1.0.0
pkgrel=1 pkgrel=1
pkgdesc="Fixed volume steps for Bluetooth audio devices on PipeWire" pkgdesc="Fixed volume steps for Bluetooth audio devices on PipeWire"
arch=('any') arch=('any')
url="https://github.com/LoonixTools/bt-volume-step" url="https://git.felo.gg/LoonixTools/bt-volume-step"
license=('BSD-3-Clause') license=('BSD-3-Clause')
depends=('python' 'libpulse') depends=('python' 'libpulse')
optdepends=('kconfig: follow the KDE Plasma volume step setting' optdepends=('kconfig: follow the KDE Plasma volume step setting'
@@ -17,16 +17,16 @@ optdepends=('kconfig: follow the KDE Plasma volume step setting'
# anyway - it runs as root, without the user's session bus. Print the command # anyway - it runs as root, without the user's session bus. Print the command
# instead. # instead.
install="${pkgname}.install" install="${pkgname}.install"
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
sha256sums=('0b06ba55c3764271856a5a806c28dc71b0802f85fd3d706699834eb4249ed097') sha256sums=('32373fd4440dcd7bd19988f78675f9cf400ec7ebe51a828bbd9468ee0c5a18dc')
check() { check() {
cd "${pkgname}-${pkgver}" cd "${pkgname}"
make check make check
} }
package() { package() {
cd "${pkgname}-${pkgver}" cd "${pkgname}"
make install PREFIX=/usr DESTDIR="$pkgdir" make install PREFIX=/usr DESTDIR="$pkgdir"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 README.md -t "$pkgdir/usr/share/doc/$pkgname" install -Dm644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+6 -4
View File
@@ -1,5 +1,5 @@
# bt-volume-step - fixed volume steps for Bluetooth audio devices on PipeWire # bt-volume-step - fixed volume steps for Bluetooth audio devices on PipeWire
# (https://github.com/LoonixTools/bt-volume-step). # (https://git.felo.gg/LoonixTools/bt-volume-step).
# #
# Nothing is compiled: the payload is a single Python script plus a systemd # Nothing is compiled: the payload is a single Python script plus a systemd
# user unit, installed by the upstream Makefile. Sourced from the release # user unit, installed by the upstream Makefile. Sourced from the release
@@ -12,8 +12,10 @@ UPSTREAM_REPO="LoonixTools/bt-volume-step"
BUILD_DEPS=(python) BUILD_DEPS=(python)
latest_version() { latest_version() {
curl -sf "https://api.github.com/repos/$UPSTREAM_REPO/releases/latest" \ # the highest vX.Y.Z tag; not every release has a release page
| jq -r '.tag_name' | sed 's/^v//' curl -sf "https://git.felo.gg/api/v1/repos/$UPSTREAM_REPO/tags?limit=50" \
| jq -r '.[].name | select(test("^v[0-9]+(\\.[0-9]+)*$"))' \
| sed 's/^v//' | sort -V | tail -n 1
} }
# refresh_checksums <version> <pkgbuild-path> # refresh_checksums <version> <pkgbuild-path>
@@ -21,7 +23,7 @@ refresh_checksums() {
local ver="$1" pkgbuild="$2" local ver="$1" pkgbuild="$2"
local sha local sha
sha="$(curl -sfL \ sha="$(curl -sfL \
"https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" \ "https://git.felo.gg/$UPSTREAM_REPO/archive/v$ver.tar.gz" \
| sha256sum | cut -d' ' -f1)" | sha256sum | cut -d' ' -f1)"
sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild" sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild"
} }
+6 -6
View File
@@ -1,13 +1,13 @@
# Maintainer: Felitendo # Maintainer: Felitendo
# This PKGBUILD is updated automatically: # This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS # https://git.felo.gg/Felitendo/PKGBUILDS
pkgname=cachy-auto-update pkgname=cachy-auto-update
pkgver=1.3.2 pkgver=1.3.2
pkgrel=1 pkgrel=1
pkgdesc="Unattended background updates for CachyOS, aware of battery, gaming and manual package management" pkgdesc="Unattended background updates for CachyOS, aware of battery, gaming and manual package management"
arch=('any') arch=('any')
url="https://github.com/LoonixTools/cachy-auto-update" url="https://git.felo.gg/LoonixTools/cachy-auto-update"
license=('GPL-3.0-or-later') license=('GPL-3.0-or-later')
depends=('bash' 'systemd' 'pacman' 'pacman-contrib' 'util-linux' 'sudo' depends=('bash' 'systemd' 'pacman' 'pacman-contrib' 'util-linux' 'sudo'
'gettext') 'gettext')
@@ -22,15 +22,15 @@ optdepends=('paru: AUR package updates'
backup=('etc/cachy-auto-update/cachy-auto-update.conf' backup=('etc/cachy-auto-update/cachy-auto-update.conf'
'etc/logrotate.d/cachy-auto-update') 'etc/logrotate.d/cachy-auto-update')
install="${pkgname}.install" install="${pkgname}.install"
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
sha256sums=('799a48862d5269fa3696b52e85f1ee1d0fbd69fdeca5f61ea6640ead4c41fc25') sha256sums=('0f680d222852a72197d1b6a3cad9d093d1c06257c55d9f58144b0403dc42adec')
build() { build() {
# pass the version being packaged so `cachy-auto-update --version` cannot # pass the version being packaged so `cachy-auto-update --version` cannot
# drift away from pkgver # drift away from pkgver
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" make -C "${pkgname}" VERSION="$pkgver"
} }
package() { package() {
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" DESTDIR="$pkgdir" install make -C "${pkgname}" VERSION="$pkgver" DESTDIR="$pkgdir" install
} }
+6 -3
View File
@@ -1,5 +1,5 @@
# cachy-auto-update - unattended background updates for CachyOS # cachy-auto-update - unattended background updates for CachyOS
# (https://github.com/LoonixTools/cachy-auto-update). # (https://git.felo.gg/LoonixTools/cachy-auto-update).
# #
# Pure shell plus a gettext catalog and a scdoc man page, so the PKGBUILD just # Pure shell plus a gettext catalog and a scdoc man page, so the PKGBUILD just
# runs the upstream Makefile against the release tarball. Nothing is prebuilt # runs the upstream Makefile against the release tarball. Nothing is prebuilt
@@ -12,7 +12,10 @@ UPSTREAM_REPO="LoonixTools/cachy-auto-update"
BUILD_DEPS=(gettext scdoc) BUILD_DEPS=(gettext scdoc)
latest_version() { latest_version() {
gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' # the highest vX.Y.Z tag; not every release has a release page
curl -sf "https://git.felo.gg/api/v1/repos/$UPSTREAM_REPO/tags?limit=50" \
| jq -r '.[].name | select(test("^v[0-9]+(\\.[0-9]+)*$"))' \
| sed 's/^v//' | sort -V | tail -n 1
} }
# refresh_checksums <version> <pkgbuild-path> # refresh_checksums <version> <pkgbuild-path>
@@ -20,7 +23,7 @@ refresh_checksums() {
local ver="$1" pkgbuild="$2" local ver="$1" pkgbuild="$2"
local sha local sha
sha="$(curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" \ sha="$(curl -sfL "https://git.felo.gg/$UPSTREAM_REPO/archive/v$ver.tar.gz" \
| sha256sum | cut -d' ' -f1)" | sha256sum | cut -d' ' -f1)"
sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild" sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild"
+2 -2
View File
@@ -1,13 +1,13 @@
# Maintainer: Felitendo # Maintainer: Felitendo
# This PKGBUILD is updated automatically: # This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS # https://git.felo.gg/Felitendo/PKGBUILDS
pkgname=face-unlock-bin pkgname=face-unlock-bin
pkgver=2.1.0 pkgver=2.1.0
pkgrel=1 pkgrel=1
pkgdesc="Face ID for Linux: the lock screen, sudo and admin prompts by face, on Plasma, GNOME, Hyprland and Niri (upstream binary)" pkgdesc="Face ID for Linux: the lock screen, sudo and admin prompts by face, on Plasma, GNOME, Hyprland and Niri (upstream binary)"
arch=('x86_64') arch=('x86_64')
url="https://github.com/LoonixTools/face-unlock" url="https://git.felo.gg/LoonixTools/face-unlock"
# The program is GPL, the two face networks are MIT (YuNet) and Apache-2.0 # The program is GPL, the two face networks are MIT (YuNet) and Apache-2.0
# (SFace). The daemon has OpenCV (Apache-2.0) linked in, with its copies of # (SFace). The daemon has OpenCV (Apache-2.0) linked in, with its copies of
# protobuf, libjpeg-turbo, libpng and zlib. All texts are in the package. # protobuf, libjpeg-turbo, libpng and zlib. All texts are in the package.
+9 -14
View File
@@ -1,20 +1,20 @@
# face-unlock-bin - the Arch build of face-unlock # face-unlock-bin - the Arch build of face-unlock
# (https://github.com/LoonixTools/face-unlock), made by upstream's release # (https://git.felo.gg/LoonixTools/face-unlock), made by upstream's release
# workflow: the same program as the face-unlock package, with OpenCV linked in # workflow: the same program as the face-unlock package, with OpenCV linked in
# statically, so an OpenCV update on Arch does not break it. # statically, so an OpenCV update on Arch does not break it.
# #
# Not every release has the tarball (2.0.0 and older do not), so the newest # Not every release has the tarball (2.0.0 and older do not), so the newest
# release that has it is tracked, not /releases/latest. The checksum is the # release that has it is tracked, not /releases/latest. Gitea keeps no digest
# digest GitHub keeps for every release asset. # for release assets, so the checksum comes from downloading the tarball.
UPSTREAM_REPO="LoonixTools/face-unlock" UPSTREAM_REPO="LoonixTools/face-unlock"
# newest published release with an Arch tarball, as its tag # newest published release with an Arch tarball, as its tag
latest_tag() { latest_tag() {
gh api "repos/$UPSTREAM_REPO/releases?per_page=30" \ curl -sf "https://git.felo.gg/api/v1/repos/$UPSTREAM_REPO/releases?limit=30" \
--jq '[.[] | select((.draft or .prerelease) | not) | jq -r '[.[] | select((.draft or .prerelease) | not)
| select(any(.assets[]; .name | endswith("-arch-x86_64.tar.zst")))] | select(any(.assets[]; .name | endswith("-arch-x86_64.tar.zst")))]
| first | .tag_name // empty' | first | .tag_name // empty'
} }
# Kept off the AUR until a release has the tarball: until then the PKGBUILD # Kept off the AUR until a release has the tarball: until then the PKGBUILD
@@ -37,13 +37,8 @@ refresh_checksums() {
local ver="$1" pkgbuild="$2" local ver="$1" pkgbuild="$2"
local name="face-unlock-$ver-arch-x86_64.tar.zst" sha local name="face-unlock-$ver-arch-x86_64.tar.zst" sha
sha="$(gh api "repos/$UPSTREAM_REPO/releases/tags/v$ver" \ sha="$(curl -sfL "https://git.felo.gg/$UPSTREAM_REPO/releases/download/v$ver/$name" \
--jq ".assets[] | select(.name == \"$name\") | .digest // empty" \ | sha256sum | cut -d' ' -f1)"
| sed -n 's/^sha256://p')"
if [[ ! "$sha" =~ ^[0-9a-f]{64}$ ]]; then
sha="$(curl -sfL "https://github.com/$UPSTREAM_REPO/releases/download/v$ver/$name" \
| sha256sum | cut -d' ' -f1)"
fi
sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild" sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild"
} }
+7 -7
View File
@@ -1,13 +1,13 @@
# Maintainer: Felitendo # Maintainer: Felitendo
# This PKGBUILD is updated automatically: # This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS # https://git.felo.gg/Felitendo/PKGBUILDS
pkgname=face-unlock pkgname=face-unlock
pkgver=2.1.0 pkgver=2.1.0
pkgrel=1 pkgrel=1
pkgdesc="Face ID for Linux: the lock screen, sudo and admin prompts by face, on Plasma, GNOME, Hyprland and Niri" pkgdesc="Face ID for Linux: the lock screen, sudo and admin prompts by face, on Plasma, GNOME, Hyprland and Niri"
arch=('x86_64' 'aarch64') arch=('x86_64' 'aarch64')
url="https://github.com/LoonixTools/face-unlock" url="https://git.felo.gg/LoonixTools/face-unlock"
license=('GPL-3.0-or-later' 'MIT' 'Apache-2.0') license=('GPL-3.0-or-later' 'MIT' 'Apache-2.0')
depends=('bash' 'coreutils' 'gawk' 'grep' 'sed' 'gettext' 'systemd' 'systemd-libs' 'pam' 'polkit' depends=('bash' 'coreutils' 'gawk' 'grep' 'sed' 'gettext' 'systemd' 'systemd-libs' 'pam' 'polkit'
'opencv' 'qt6-base' 'qt6-declarative' 'layer-shell-qt' 'ki18n') 'opencv' 'qt6-base' 'qt6-declarative' 'layer-shell-qt' 'ki18n')
@@ -18,20 +18,20 @@ replaces=('plasma-face-unlock')
conflicts=('plasma-face-unlock') conflicts=('plasma-face-unlock')
install="${pkgname}.install" install="${pkgname}.install"
# The two face networks come from the OpenCV model zoo, pinned by checksum. # The two face networks come from the OpenCV model zoo, pinned by checksum.
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz" source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz"
"face_detection_yunet_2023mar.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_detection_yunet/face_detection_yunet_2023mar.onnx" "face_detection_yunet_2023mar.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_detection_yunet/face_detection_yunet_2023mar.onnx"
"face_recognition_sface_2021dec.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_recognition_sface/face_recognition_sface_2021dec.onnx") "face_recognition_sface_2021dec.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_recognition_sface/face_recognition_sface_2021dec.onnx")
noextract=('face_detection_yunet_2023mar.onnx' 'face_recognition_sface_2021dec.onnx') noextract=('face_detection_yunet_2023mar.onnx' 'face_recognition_sface_2021dec.onnx')
sha256sums=('a4014b302064b39c9a20bf4745b03dc38152f48839d9daa82d5da325a87f0133' '8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4' '0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79') sha256sums=('35ab950c775c92706bd1ea7e5b8abfa99dea7635f8e971dabd80ed6a1afc1270' '8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4' '0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79')
build() { build() {
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" make -C "${pkgname}" VERSION="$pkgver"
} }
check() { check() {
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" test make -C "${pkgname}" VERSION="$pkgver" test
} }
package() { package() {
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" MODELS_SRC="$srcdir" DESTDIR="$pkgdir" install make -C "${pkgname}" VERSION="$pkgver" MODELS_SRC="$srcdir" DESTDIR="$pkgdir" install
} }
+6 -4
View File
@@ -1,5 +1,5 @@
# face-unlock - Face ID for Linux: Plasma, GNOME, Hyprland and Niri # face-unlock - Face ID for Linux: Plasma, GNOME, Hyprland and Niri
# (https://github.com/LoonixTools/face-unlock). Called plasma-face-unlock # (https://git.felo.gg/LoonixTools/face-unlock). Called plasma-face-unlock
# before 2.0.0. # before 2.0.0.
# #
# Built from the release tarball with the upstream Makefile (CMake for the # Built from the release tarball with the upstream Makefile (CMake for the
@@ -14,8 +14,10 @@ UPSTREAM_REPO="LoonixTools/face-unlock"
BUILD_DEPS=(cmake scdoc gettext opencv qt6-base qt6-declarative layer-shell-qt ki18n pam systemd-libs) BUILD_DEPS=(cmake scdoc gettext opencv qt6-base qt6-declarative layer-shell-qt ki18n pam systemd-libs)
latest_version() { latest_version() {
curl -sf "https://api.github.com/repos/$UPSTREAM_REPO/releases/latest" \ # the highest vX.Y.Z tag; not every release has a release page
| jq -r '.tag_name' | sed 's/^v//' curl -sf "https://git.felo.gg/api/v1/repos/$UPSTREAM_REPO/tags?limit=50" \
| jq -r '.[].name | select(test("^v[0-9]+(\\.[0-9]+)*$"))' \
| sed 's/^v//' | sort -V | tail -n 1
} }
# refresh_checksums <version> <pkgbuild-path> # refresh_checksums <version> <pkgbuild-path>
@@ -23,7 +25,7 @@ refresh_checksums() {
local ver="$1" pkgbuild="$2" local ver="$1" pkgbuild="$2"
local sha local sha
sha="$(curl -sfL \ sha="$(curl -sfL \
"https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" \ "https://git.felo.gg/$UPSTREAM_REPO/archive/v$ver.tar.gz" \
| sha256sum | cut -d' ' -f1)" | sha256sum | cut -d' ' -f1)"
# Only the first sum is the tarball's; the models' stay. # Only the first sum is the tarball's; the models' stay.
sed -i -E "s|^sha256sums=\('[^']*'|sha256sums=('$sha'|" "$pkgbuild" sed -i -E "s|^sha256sums=\('[^']*'|sha256sums=('$sha'|" "$pkgbuild"
+6 -6
View File
@@ -1,13 +1,13 @@
# Maintainer: Felitendo # Maintainer: Felitendo
# This PKGBUILD is updated automatically: # This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS # https://git.felo.gg/Felitendo/PKGBUILDS
pkgname=middleclick-autoscroll pkgname=middleclick-autoscroll
pkgver=1.7.0 pkgver=1.7.0
pkgrel=1 pkgrel=1
pkgdesc="Middle-click autoscroll in every application that supports it" pkgdesc="Middle-click autoscroll in every application that supports it"
arch=('any') arch=('any')
url="https://github.com/LoonixTools/middleclick-autoscroll" url="https://git.felo.gg/LoonixTools/middleclick-autoscroll"
license=('GPL-3.0-or-later') license=('GPL-3.0-or-later')
depends=('bash' 'systemd' 'coreutils' 'gawk' 'grep' 'sed' 'gettext') depends=('bash' 'systemd' 'coreutils' 'gawk' 'grep' 'sed' 'gettext')
makedepends=('gettext' 'scdoc') makedepends=('gettext' 'scdoc')
@@ -16,15 +16,15 @@ optdepends=('flatpak: cover Flatpak applications too'
'steam: cover the Steam interface' 'steam: cover the Steam interface'
'desktop-file-utils: refresh the desktop database after a change') 'desktop-file-utils: refresh the desktop database after a change')
install="${pkgname}.install" install="${pkgname}.install"
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
sha256sums=('f52f5678ba100b2632632759e8506eeeaba3002c041596ca2109f45fc7fae9b5') sha256sums=('2583f80d56effb0fefcb93b6623a6f8a6cfdcf31217b8ca283591a882f484ea2')
build() { build() {
# pass the version being packaged so `middleclick-autoscroll --version` # pass the version being packaged so `middleclick-autoscroll --version`
# cannot drift away from pkgver # cannot drift away from pkgver
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" make -C "${pkgname}" VERSION="$pkgver"
} }
package() { package() {
make -C "${pkgname}-${pkgver}" VERSION="$pkgver" DESTDIR="$pkgdir" install make -C "${pkgname}" VERSION="$pkgver" DESTDIR="$pkgdir" install
} }
+6 -3
View File
@@ -1,5 +1,5 @@
# middleclick-autoscroll - middle-click autoscroll for Chromium-based # middleclick-autoscroll - middle-click autoscroll for Chromium-based
# applications (https://github.com/LoonixTools/middleclick-autoscroll). # applications (https://git.felo.gg/LoonixTools/middleclick-autoscroll).
# #
# Pure shell plus a gettext catalog and a scdoc man page, so the PKGBUILD just # Pure shell plus a gettext catalog and a scdoc man page, so the PKGBUILD just
# runs the upstream Makefile against the release tarball. Nothing is prebuilt # runs the upstream Makefile against the release tarball. Nothing is prebuilt
@@ -12,7 +12,10 @@ UPSTREAM_REPO="LoonixTools/middleclick-autoscroll"
BUILD_DEPS=(gettext scdoc) BUILD_DEPS=(gettext scdoc)
latest_version() { latest_version() {
gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' # the highest vX.Y.Z tag; not every release has a release page
curl -sf "https://git.felo.gg/api/v1/repos/$UPSTREAM_REPO/tags?limit=50" \
| jq -r '.[].name | select(test("^v[0-9]+(\\.[0-9]+)*$"))' \
| sed 's/^v//' | sort -V | tail -n 1
} }
# refresh_checksums <version> <pkgbuild-path> # refresh_checksums <version> <pkgbuild-path>
@@ -20,7 +23,7 @@ refresh_checksums() {
local ver="$1" pkgbuild="$2" local ver="$1" pkgbuild="$2"
local sha local sha
sha="$(curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" \ sha="$(curl -sfL "https://git.felo.gg/$UPSTREAM_REPO/archive/v$ver.tar.gz" \
| sha256sum | cut -d' ' -f1)" | sha256sum | cut -d' ' -f1)"
sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild" sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild"