Own ARM-compatible recipes and sync upstream directly

This commit is contained in:
Ryan Hughes committed 2026-09-03 22:04:04 -04:00
1 parent c3c1f8fbab
commit d9705d0e2f
21 files changed
+204 -43

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@ epoch=1
pkgver=0.6.0
pkgrel=2
pkgdesc="Control brightness on Apple Displays connected via USB-C"
arch=('x86_64')
arch=('x86_64' 'aarch64')
url="https://github.com/omakasui/asdcontrol"
license=('GPL2')
options=('!debug')
@@ -1,5 +1,4 @@
{
"source": "aur",
"release_ring": "fast",
"upstream_commit": "fc4db00ecaf6c2669422b32c023a16bf6eb4e6c7"
"source": "local",
"release_ring": "fast"
}
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
# GitHub Copilot CLI is published to npm. Track npm's stable `latest` tag,
# then hash both inputs the PKGBUILD downloads. AUR is deliberately not part
# of this update path: Omarchy owns the multi-architecture recipe.
set -euo pipefail
REGISTRY_URL="https://registry.npmjs.org/@github%2Fcopilot"
CHANGELOG_BASE="https://raw.githubusercontent.com/github/copilot-cli"
metadata=$(curl -fsSL "$REGISTRY_URL")
version=$(jq -r '."dist-tags".latest // ""' <<<"$metadata")
tarball=$(jq -r --arg version "$version" '.versions[$version].dist.tarball // ""' <<<"$metadata")
if [[ ! $version =~ ^[0-9]+\.[0-9]+\.[0-9]+$ || ! $tarball =~ ^https://registry\.npmjs\.org/ ]]; then
echo "npm returned an unusable Copilot release: version='$version' tarball='$tarball'" >&2
exit 1
fi
current=$(grep -m1 '^pkgver=' PKGBUILD | cut -d= -f2- | tr -d "\"'")
if [[ $(vercmp "$version" "$current") -le 0 ]]; then
echo '{}'
exit 0
fi
work=$(mktemp -d)
trap 'rm -rf "$work"' EXIT
curl -fsSL -o "$work/copilot.tgz" "$tarball"
curl -fsSL -o "$work/changelog.md" "$CHANGELOG_BASE/v${version}/changelog.md"
jq -n \
--arg pkgver "$version" \
--arg package_sum "$(sha256sum "$work/copilot.tgz" | cut -d' ' -f1)" \
--arg changelog_sum "$(sha256sum "$work/changelog.md" | cut -d' ' -f1)" \
'{pkgver: $pkgver, sha256sums: {any: [$package_sum, $changelog_sum]}}'
+3 -4
View File
@@ -14,7 +14,7 @@ pkgdesc="GitHub Copilot CLI brings the power of Copilot coding agent directly to
url="https://github.com/github/copilot-cli"
_urlraw="https://raw.githubusercontent.com/github/copilot-cli/v${pkgver}"
arch=("x86_64")
arch=("x86_64" "aarch64")
license=("LicenseRef-GitHub-Copilot")
@@ -30,8 +30,8 @@ source=("https://registry.npmjs.org/${_npmmodule}/-/copilot-${pkgver}.tgz"
"CHANGELOG-${pkgver}.md::${_urlraw}/changelog.md")
noextract=("copilot-${pkgver}.tgz")
b2sums=('41c8306b58a142afe162bad9822b150babb0f3903fe7392aa7106fcb0ffce4483c0a2ebda8bb1d2036199deb52dc83d9a0e9408b8e11f7b0bc2a8f57c6841425'
'5d2dfc870356f83b9b890d351b21bc9339100b0bfdce405ee77751e934dbeab0f8656f5eee85119a06aa3b01dcf3c91224ce28c24ff318eb1b13fdb6082037cd')
sha256sums=('563cbfe9b873fa52e998376cfea499eb77a5a300fb6db48fcc85f8eb297da4b9'
'653b32793f5e5d29952c0e301649473c8097afc15270aa488efa08aa9399afcf')
# Document: https://wiki.archlinux.org/title/Node.js_package_guidelines
package() {
@@ -124,4 +124,3 @@ package() {
ln -sf "/usr/lib/node_modules/${_npmmodule}/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
@@ -4,7 +4,7 @@ pkgname="hyprland-preview-share-picker"
pkgver=0.2.1
pkgrel=1
pkgdesc="An alternative share picker for hyprland with window and monitor previews"
arch=(x86_64)
arch=(x86_64 aarch64)
url="https://github.com/WhySoBad/hyprland-preview-share-picker"
license=(MIT)
depends=('gtk4' 'gtk4-layer-shell' 'xdg-desktop-portal-hyprland' 'hyprland')
+1 -1
View File
@@ -4,7 +4,7 @@ pkgname=omasnap
pkgver=1.20.1
pkgrel=1
pkgdesc="Native Wayland screenshot and annotation overlay for Hyprland"
arch=('x86_64')
arch=('x86_64' 'aarch64')
url="https://github.com/tobi/omasnap"
license=('MIT' 'OFL-1.1')
depends=(
+1 -2
View File
@@ -1,4 +1,3 @@
{
"source": "aur",
"upstream_commit": "a850f2d07e825f61cb01b87931d2ae5f1802dde1"
"source": "local"
}
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
# qmk_hid marks every GitHub Release as a prerelease, including the versions
# it considers current. Track its semver tags instead and hash the tagged
# source archive only when a newer version appears.
set -euo pipefail
REPO="https://github.com/FrameworkComputer/qmk_hid.git"
best=""
while read -r tag; do
tag=${tag%\^\{\}}
[[ $tag =~ ^v([0-9]+\.[0-9]+\.[0-9]+)$ ]] || continue
version=${BASH_REMATCH[1]}
if [[ -z $best || $(vercmp "$version" "$best") -gt 0 ]]; then
best=$version
fi
done < <(git ls-remote --tags "$REPO" | sed 's#^.*refs/tags/##')
[[ -n $best ]] || { echo "No usable qmk_hid version tag found" >&2; exit 1; }
current=$(grep -m1 '^pkgver=' PKGBUILD | cut -d= -f2- | tr -d "\"'")
if [[ $(vercmp "$best" "$current") -le 0 ]]; then
echo '{}'
exit 0
fi
sum=$(curl -fsSL "https://github.com/FrameworkComputer/qmk_hid/archive/refs/tags/v${best}.tar.gz" | sha256sum | cut -d' ' -f1)
jq -n --arg pkgver "$best" --arg sha256 "$sum" \
'{pkgver: $pkgver, sha256sums: {any: [$sha256]}}'
+4 -4
View File
@@ -2,16 +2,16 @@
pkgname=qmk-hid
_srcname=qmk_hid
pkgver=0.1.11
pkgrel=3
pkgver=0.1.13
pkgrel=1
pkgdesc="Commandline tool for interacting with QMK devices over HID"
arch=('x86_64')
arch=('x86_64' 'aarch64')
url="https://github.com/FrameworkComputer/qmk_hid"
license=('BSD')
depends=('gcc-libs' 'systemd-libs' 'libcap')
makedepends=('cargo')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
b2sums=('e898d27cfe8350f4a8cd2938a3d066935093daf1292f41fc10b8f1937059f2b59e4ac34a987f26c8258a5d3b15a900059024fe3a18ed793f7e3b524939ab4c71')
sha256sums=('8a058395b8ba56ff54308a681223f11a6032c54df42b4d0223143ccf09d0c858')
options=('!lto')
prepare() {
+2 -3
View File
@@ -1,5 +1,4 @@
{
"source": "aur",
"release_ring": "fast",
"upstream_commit": "39667376addf3916b7bed3ecbe3ec6ed2af367e4"
"source": "local",
"release_ring": "fast"
}
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
# Symfony publishes a checksum manifest with every stable GitHub release.
# The `latest` URL is its vendor-maintained stable feed, so no GitHub API or
# AUR state is involved in selecting and verifying the source tarball.
set -euo pipefail
CHECKSUMS_URL="https://github.com/symfony-cli/symfony-cli/releases/latest/download/checksums.txt"
checksums=$(curl -fsSL "$CHECKSUMS_URL")
best=""
best_sum=""
while read -r sum filename; do
[[ $filename =~ ^symfony-cli-([0-9]+\.[0-9]+\.[0-9]+)\.tar\.gz$ ]] || continue
version=${BASH_REMATCH[1]}
[[ $sum =~ ^[0-9a-f]{64}$ ]] || continue
if [[ -z $best || $(vercmp "$version" "$best") -gt 0 ]]; then
best=$version
best_sum=$sum
fi
done <<<"$checksums"
[[ -n $best ]] || { echo "Symfony's latest checksum manifest names no source tarball" >&2; exit 1; }
current=$(grep -m1 '^pkgver=' PKGBUILD | cut -d= -f2- | tr -d "\"'")
if [[ $(vercmp "$best" "$current") -le 0 ]]; then
echo '{}'
exit 0
fi
jq -n --arg pkgver "$best" --arg sha256 "$best_sum" \
'{pkgver: $pkgver, sha256sums: {any: [$sha256]}}'
+14 -10
View File
@@ -1,23 +1,27 @@
# Maintainer: Florian Moser <arch@famoser.ch>
pkgname=symfony-cli
pkgrel=8
pkgrel=9
pkgver=5.20.0
pkgdesc="The Symfony client helps developers create and manage Symfony applications."
url="https://symfony.com/"
arch=('x86_64')
arch=('x86_64' 'aarch64')
license=('AGPL3')
depends=('glibc')
makedepends=('git' 'go')
makedepends=('go')
provides=('symfony-cli')
conflicts=('symfony-cli')
source=(
"git+https://github.com/symfony-cli/symfony-cli#tag=v${pkgver}"
)
sha256sums=('SKIP')
source=("$pkgname-$pkgver.tar.gz::https://github.com/symfony-cli/symfony-cli/releases/download/v${pkgver}/symfony-cli-${pkgver}.tar.gz")
sha256sums=('11354f7206740dc8b31410bf7fbcb20debccb4a92935da84729fd7d754b2082f')
noextract=("$pkgname-$pkgver.tar.gz")
prepare() {
mkdir "$pkgname-$pkgver"
bsdtar -xf "$pkgname-$pkgver.tar.gz" -C "$pkgname-$pkgver"
}
build() {
cd "symfony-cli"
cd "$pkgname-$pkgver"
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
PKGVER=${pkgver}
@@ -26,6 +30,6 @@ build() {
go build -trimpath -ldflags '-s -w -X main.channel=stable -X main.buildDate='"${DATE}"' -X main.version='"${PKGVER}"''
}
package() {
install -D -m 755 "${srcdir}/symfony-cli/symfony-cli" "${pkgdir}/usr/bin/symfony"
package() {
install -D -m 755 "${srcdir}/${pkgname}-${pkgver}/symfony-cli" "${pkgdir}/usr/bin/symfony"
}
+1 -2
View File
@@ -1,4 +1,3 @@
{
"source": "aur",
"upstream_commit": "c6fe8f2c6dc43a5c2f0c95df5656037b351dacb7"
"source": "local"
}
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
# Tensaku publishes semver tags but no source checksum manifest. Select the
# newest tag using pacman's ordering and hash its source archive.
set -euo pipefail
REPO="https://github.com/jondkinney/tensaku.git"
version=""
while read -r tag; do
tag=${tag%\^\{\}}
[[ $tag =~ ^v([0-9]+\.[0-9]+\.[0-9]+)$ ]] || continue
candidate=${BASH_REMATCH[1]}
if [[ -z $version || $(vercmp "$candidate" "$version") -gt 0 ]]; then
version=$candidate
fi
done < <(git ls-remote --tags "$REPO" | sed 's#^.*refs/tags/##')
[[ -n $version ]] || { echo "No usable Tensaku version tag found" >&2; exit 1; }
current=$(grep -m1 '^pkgver=' PKGBUILD | cut -d= -f2- | tr -d "\"'")
if [[ $(vercmp "$version" "$current") -le 0 ]]; then
echo '{}'
exit 0
fi
sum=$(curl -fsSL "https://github.com/jondkinney/tensaku/archive/refs/tags/v${version}.tar.gz" | sha256sum | cut -d' ' -f1)
jq -n --arg pkgver "$version" --arg sha256 "$sum" \
'{pkgver: $pkgver, sha256sums: {any: [$sha256]}}'
+1 -1
View File
@@ -9,7 +9,7 @@ pkgname=tensaku
pkgver=0.28.0
pkgrel=1
pkgdesc='Modern screenshot annotation tool for Wayland'
arch=('x86_64')
arch=('x86_64' 'aarch64')
url='https://github.com/jondkinney/tensaku'
license=('MPL-2.0')
depends=('gtk4' 'gtk4-layer-shell' 'libadwaita' 'libepoxy' 'fontconfig')
+1 -2
View File
@@ -1,4 +1,3 @@
{
"source": "aur",
"upstream_commit": "1b3c3bdf6289a348da09eed57d653d3f6dce1956"
"source": "local"
}
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
# tzupdate publishes version tags but no GitHub Releases. Track its semver
# tags and hash the tagged source archive when a new version appears.
set -euo pipefail
REPO="https://github.com/cdown/tzupdate.git"
best=""
while read -r tag; do
tag=${tag%\^\{\}}
[[ $tag =~ ^v?([0-9]+\.[0-9]+\.[0-9]+)$ ]] || continue
version=${BASH_REMATCH[1]}
if [[ -z $best || $(vercmp "$version" "$best") -gt 0 ]]; then
best=$version
fi
done < <(git ls-remote --tags "$REPO" | sed 's#^.*refs/tags/##')
[[ -n $best ]] || { echo "No usable tzupdate version tag found" >&2; exit 1; }
current=$(grep -m1 '^pkgver=' PKGBUILD | cut -d= -f2- | tr -d "\"'")
if [[ $(vercmp "$best" "$current") -le 0 ]]; then
echo '{}'
exit 0
fi
sum=$(curl -fsSL "https://github.com/cdown/tzupdate/archive/refs/tags/${best}.tar.gz" | sha256sum | cut -d' ' -f1)
jq -n --arg pkgver "$best" --arg sha256 "$sum" \
'{pkgver: $pkgver, sha256sums: {any: [$sha256]}}'
+1 -1
View File
@@ -5,7 +5,7 @@ pkgver=3.1.0
pkgrel=1
pkgdesc='Set the system timezone based on IP geolocation'
url=https://github.com/cdown/tzupdate
arch=('x86_64')
arch=('x86_64' 'aarch64')
options=(!lto)
license=('MIT')
makedepends=('cargo')
+1 -7
View File
@@ -1,9 +1,3 @@
{
"source": "aur",
"sync": false,
"pkgrel": {
"suffix": 2,
"offset": 1
},
"upstream_commit": "086fa284d7f5ad562ea6ba79b3cb4fd798e759d3"
"source": "local"
}
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
# v4l2-relayd uses GitLab tags named upstream/<version>. Keep Omarchy's local
# patches and follow that authoritative tag stream directly.
set -euo pipefail
REPO="https://gitlab.com/vicamo/v4l2-relayd.git"
best=""
while read -r tag; do
tag=${tag%\^\{\}}
[[ $tag =~ ^upstream/([0-9]+\.[0-9]+\.[0-9]+)$ ]] || continue
version=${BASH_REMATCH[1]}
if [[ -z $best || $(vercmp "$version" "$best") -gt 0 ]]; then
best=$version
fi
done < <(git ls-remote --tags "$REPO" | sed 's#^.*refs/tags/##')
[[ -n $best ]] || { echo "No usable v4l2-relayd upstream tag found" >&2; exit 1; }
current=$(grep -m1 '^pkgver=' PKGBUILD | cut -d= -f2- | tr -d "\"'")
if [[ $(vercmp "$best" "$current") -le 0 ]]; then
echo '{}'
exit 0
fi
sum=$(curl -fsSL "https://gitlab.com/vicamo/v4l2-relayd/-/archive/upstream/${best}/v4l2-relayd-upstream-${best}.tar.gz" | sha256sum | cut -d' ' -f1)
jq -n --arg pkgver "$best" --arg sha256 "$sum" \
'{pkgver: $pkgver, sha256sums: {any: [$sha256, "SKIP", "SKIP"]}}'
+1 -1
View File
@@ -4,7 +4,7 @@ pkgname=v4l2-relayd
pkgver=0.2.0
pkgrel=2.2
pkgdesc="Plays gstreamer sources into v4l2loopback devices."
arch=('x86_64')
arch=('x86_64' 'aarch64')
url="https://gitlab.com/vicamo/v4l2-relayd"
license=('GPL')
depends=(