Merge remote-tracking branch 'origin/master' into flea-0.3.5
This commit is contained in:
commit
132199cb9b
56 files changed
+1669
-198
No files matched your search
@@ -1,6 +1,12 @@
|
||||
#!/bin/bash
|
||||
# Verify Flea's published source archive against its checksum manifest when a
|
||||
# newer stable release exists, then check its root and required security fixes.
|
||||
# newer stable release exists, then check its root.
|
||||
#
|
||||
# Through 0.1.x this also grepped the source for the upstream security fixes
|
||||
# Omarchy once carried as patches, so the package could not move to a release
|
||||
# that lacked them. Every release since 0.1.5 has had them, and matching
|
||||
# literal source lines only ever caught renames (#488, 0.3.5's
|
||||
# open_if_regular_with_meta), never a regression.
|
||||
set -euo pipefail
|
||||
|
||||
REPO='thisisgm/flea'
|
||||
@@ -74,38 +80,6 @@ if [[ $served_roots != "$expected_root" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
archive_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/archive.rs")
|
||||
archiveops_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/archiveops.rs")
|
||||
run_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/run.rs")
|
||||
archivereq_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/archivereq.rs")
|
||||
archivework_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/archivework.rs")
|
||||
mediaprobe_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/mediaprobe.rs")
|
||||
metareq_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/metareq.rs")
|
||||
sharelink_qml=$(tar -xOzf "$tarball" "$expected_root/ui/ShareLink.qml")
|
||||
copyfile_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/copyfile.rs")
|
||||
regfile_rs=$(tar -xOzf "$tarball" "$expected_root/src/backend/regfile.rs")
|
||||
|
||||
# Every check below pins a literal line except the O_NOFOLLOW one. That check
|
||||
# guards a property -- the copy opens its source with O_NOFOLLOW, so a symlink
|
||||
# swapped in cannot redirect the read -- and pinning the exact call expression
|
||||
# made it assert the spelling instead. v0.3.0 moved the first argument from
|
||||
# `src` to `src.at` when directory-relative opens landed, kept O_NOFOLLOW, and
|
||||
# hardened symlink handling further; the literal still refused it. Match the
|
||||
# call and the flag together so a rename cannot read as a removed fix, while
|
||||
# dropping O_NOFOLLOW still fails.
|
||||
if ! grep -Fq 'a.push("--".to_string());' <<<"$archive_rs" ||
|
||||
! grep -Fq 'let input = std::fs::canonicalize(input)' <<<"$archiveops_rs" ||
|
||||
! grep -Fq 'if op != "compress" && op != "extract"' <<<"$run_rs$archivereq_rs" ||
|
||||
! grep -Fq 'the sandbox is unavailable: bwrap or prlimit is not on PATH' <<<"$archivework_rs" ||
|
||||
! grep -Fq 'if !sandbox::available()' <<<"$mediaprobe_rs" ||
|
||||
! grep -Fq 'if !sandbox::available()' <<<"$metareq_rs" ||
|
||||
! grep -Fq 'copyToClipboard.command = ["wl-copy", url]' <<<"$sharelink_qml" ||
|
||||
! grep -Eq 'open_if_regular\(.*O_NOFOLLOW' <<<"$copyfile_rs" ||
|
||||
! grep -Fq '.custom_flags(O_NONBLOCK | extra_flags)' <<<"$regfile_rs"; then
|
||||
printf 'Release %s does not contain every required upstream security fix\n' "$best_tag" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
jq -n \
|
||||
--arg pkgver "$best_version" \
|
||||
--arg published_at "$best_published_at" \
|
||||
|
||||
@@ -116,7 +116,12 @@ check() {
|
||||
# back to the next create, so on the builder's /tmp the stranger is
|
||||
# identical and undo walks it back. tmpfs allocates inode numbers from a
|
||||
# counter and never reuses one, which is what the test assumes.
|
||||
# copymanifest's garbage-stream test opens its O_TMPFILE manifest in its
|
||||
# own test dir; the module's other tests must stay off tmpfs, because
|
||||
# Writer::create wants a runtime dir on a different filesystem from the
|
||||
# copy and finds none when both live on /dev/shm.
|
||||
local -a filesystem_tests=(
|
||||
backend::copymanifest::tests::a_garbage_stream_falls_back_with_the_tree_untouched
|
||||
backend::menu_actions::tests::
|
||||
backend::menudelete::tests::
|
||||
backend::redo::tests::
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
pkgname=hermes-desktop
|
||||
pkgver=2026.9.7
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc='Native desktop shell for Hermes Agent'
|
||||
arch=('x86_64')
|
||||
url='https://github.com/NousResearch/hermes-agent'
|
||||
@@ -75,11 +75,11 @@ source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz
|
||||
'runtime.patch'
|
||||
'runtime-test.py')
|
||||
sha256sums=('907c2a72db1c5dd637ea8eeae97f4cb5b32cef615c17258f6b190924ec5bf688'
|
||||
'094d5f3191109a80eea9f23053b78a2e00dbecf90d62d1ca04c8e48866251469'
|
||||
'c68233f93387251f08537559c072c9ec36ba9a304b1669decc56df17c464b252'
|
||||
'3ef685bfcf366776b025d26c37d32854d8d4aa2023b2bd07c8e08b001ef1e8c4'
|
||||
'd60d164e24fdcf6532133b8ea43c77a201e4b9e9dbc396187b58d51d8590ef52'
|
||||
'9d5015d1be762a901f8f64319981ae862e9852fa5cb9a22a2ba1e691f90430a2'
|
||||
'7337a12c71e8091ad5fc2e879e922c9cb1706c65f81b59d6dd70b12123dc7c00')
|
||||
'514a5e7ab2b7262141a2588c5b5036832cb4ba789a9578b8b50b6d79a9d63deb')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${_srcdir}"
|
||||
|
||||
@@ -4,11 +4,6 @@ set -euo pipefail
|
||||
unset ELECTRON_RUN_AS_NODE PYTHONPATH PYTHONHOME
|
||||
export HERMES_DESKTOP_IGNORE_EXISTING=1
|
||||
|
||||
# Reconcile direct package installs and interrupted Omarchy setup as well.
|
||||
if command -v omarchy-install-hermes-cli >/dev/null 2>&1; then
|
||||
omarchy-install-hermes-cli >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
hermes_home=$(realpath -ms -- "${HERMES_HOME:-$HOME/.hermes}")
|
||||
parent=${hermes_home%/*}
|
||||
if [[ ${parent##*/} == [Pp][Rr][Oo][Ff][Ii][Ll][Ee][Ss] ]]; then
|
||||
|
||||
@@ -75,9 +75,11 @@ def with_hermes_node_path(env=None):
|
||||
cli.write_text(forbidden)
|
||||
cli.chmod(0o755)
|
||||
(cli.parent / "python").symlink_to(sys.executable)
|
||||
# The launcher used to call Omarchy's installer on every start; a launcher
|
||||
# that reaches for it, or for sudo, fails here.
|
||||
for command in ("sudo", "omarchy-install-hermes-cli"):
|
||||
target = mock_bin / command
|
||||
target.write_text(forbidden if command == "sudo" else '#!/bin/bash\nexit 0\n')
|
||||
target.write_text(forbidden)
|
||||
target.chmod(0o755)
|
||||
|
||||
output = root / "launch.json"
|
||||
@@ -92,7 +94,7 @@ def with_hermes_node_path(env=None):
|
||||
assert result == {"args": ["--disable-setuid-sandbox", *expected_args],
|
||||
"home": str(home / ".hermes"), "store": store, "gpu": gpu,
|
||||
"ozone": ozone, "cwd": str(home), "inherited": []}, result
|
||||
assert not forbidden_output.exists(), "launcher invoked CLI or sudo"
|
||||
assert not forbidden_output.exists(), "launcher invoked the Omarchy installer or sudo"
|
||||
output.unlink()
|
||||
|
||||
wayland = {"WAYLAND_DISPLAY": "wayland-1"}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Maintainer: noureddinex
|
||||
pkgname=lmstudio-bin
|
||||
pkgver=0.4.25
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
_build=1
|
||||
_pkgver=${pkgver}-${_build}
|
||||
pkgdesc="LM Studio - A desktop app for exploring and running large language models locally"
|
||||
@@ -16,7 +16,7 @@ conflicts=(lmstudio)
|
||||
source=("https://installers.lmstudio.ai/linux/x64/${_pkgver}/LM-Studio-${_pkgver}-x64.AppImage"
|
||||
"lmstudio.png"
|
||||
"lmstudio.desktop")
|
||||
sha256sums=('eca467446c833824697e8befab300fe5269fdf984e3ee4385fcbad8502f07c53' '9f791789c959a11316328692807737a5f1bc1c170ae99ec04c56bfd8ee8263e5' '635dec12f3e3a57136b9e6fd7c2839ed6da7287fa55b482d64debf6eacf36baa')
|
||||
sha256sums=('eca467446c833824697e8befab300fe5269fdf984e3ee4385fcbad8502f07c53' '9f791789c959a11316328692807737a5f1bc1c170ae99ec04c56bfd8ee8263e5' '16b67b6cd672a05b9a0e012c8b9a91187ceda8f85b3391db471298c54e002bcd')
|
||||
|
||||
prepare() {
|
||||
chmod +x "${srcdir}/${source[0]##*/}"
|
||||
@@ -33,8 +33,8 @@ package() {
|
||||
install -Dm644 "${srcdir}/lmstudio.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/lmstudio-bin.png"
|
||||
install -Dm644 "${srcdir}/lmstudio.png" "${pkgdir}/usr/share/pixmaps/lmstudio-bin.png"
|
||||
|
||||
# Desktop entry
|
||||
install -Dm644 "$srcdir/lmstudio.desktop" "$pkgdir/usr/share/applications/lmstudio.desktop"
|
||||
# Desktop entry, under LM Studio's own desktop ID, which matches its window class
|
||||
install -Dm644 "$srcdir/lmstudio.desktop" "$pkgdir/usr/share/applications/ai.elementlabs.lmstudio.desktop"
|
||||
|
||||
# Symlink to binary
|
||||
install -dm755 "$pkgdir/usr/bin"
|
||||
|
||||
@@ -8,5 +8,5 @@ Type=Application
|
||||
Categories=Development;ArtificialIntelligence;
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
StartupWMClass=LM-Studio
|
||||
MimeType=text/plain;
|
||||
StartupWMClass=ai.elementlabs.lmstudio
|
||||
MimeType=x-scheme-handler/lmstudio;
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"source": "local",
|
||||
"channels": [
|
||||
"edge"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
From bd5d6119ca1ed030ad26d06d1b3e980873ff0336 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Stark <901824+martinstark@users.noreply.github.com>
|
||||
Date: Sun, 13 Sep 2026 22:32:38 +0200
|
||||
Subject: [PATCH 1/2] fix(displayport): allow detach when sink is unplugged
|
||||
|
||||
The HPD check in dpPreModeset() rejects detach-only requests after unplug. This skips DP library cleanup while NVKMS advances its head bookkeeping, leaving stale attached groups that can block subsequent link training.
|
||||
|
||||
Allow detach-only requests when HPD is low. Reject requests with an attachment target on any selected head, preserving the connector/discovery guards and forced-connected and dynamic-mux exceptions.
|
||||
---
|
||||
src/common/displayport/src/dp_connectorimpl.cpp | 12 +++++++++---
|
||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/common/displayport/src/dp_connectorimpl.cpp b/src/common/displayport/src/dp_connectorimpl.cpp
|
||||
index 99e0e97..7451e6c 100644
|
||||
--- a/src/common/displayport/src/dp_connectorimpl.cpp
|
||||
+++ b/src/common/displayport/src/dp_connectorimpl.cpp
|
||||
@@ -3861,11 +3861,17 @@ void ConnectorImpl::dpPreModeset(const DpPreModesetParams ¶ms)
|
||||
return;
|
||||
}
|
||||
|
||||
- // Skip gating modeset on HPD for DDS panels
|
||||
+ // Allow detach bookkeeping even when HPD is low.
|
||||
if(!previousPlugged && !bClientForcedConnected && !main->isInternalPanelDynamicMuxCapable())
|
||||
{
|
||||
- DP_ASSERT(0 && "DPCONN> dpPreModeset called when Plugged State is false!");
|
||||
- return;
|
||||
+ for (NvU32 i = 0; i < NV_MAX_HEADS; i++)
|
||||
+ {
|
||||
+ if ((params.headMask & NVBIT(i)) && params.head[i].pTarget != NULL)
|
||||
+ {
|
||||
+ DP_ASSERT(0 && "DPCONN> dpPreModeset attach called when Plugged State is false!");
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
this->bFECEnable |= this->needToEnableFEC(params);
|
||||
@@ -0,0 +1,23 @@
|
||||
From a2e8b26b20dfb6f2fa3cb8985e3f1126cba38aae Mon Sep 17 00:00:00 2001
|
||||
From: Martin Stark <901824+martinstark@users.noreply.github.com>
|
||||
Date: Mon, 14 Sep 2026 10:43:16 +0200
|
||||
Subject: [PATCH 2/2] Clarify DDS exception and unplugged detach bookkeeping
|
||||
|
||||
---
|
||||
src/common/displayport/src/dp_connectorimpl.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/common/displayport/src/dp_connectorimpl.cpp b/src/common/displayport/src/dp_connectorimpl.cpp
|
||||
index 7451e6c..0e81070 100644
|
||||
--- a/src/common/displayport/src/dp_connectorimpl.cpp
|
||||
+++ b/src/common/displayport/src/dp_connectorimpl.cpp
|
||||
@@ -3861,7 +3861,8 @@ void ConnectorImpl::dpPreModeset(const DpPreModesetParams ¶ms)
|
||||
return;
|
||||
}
|
||||
|
||||
- // Allow detach bookkeeping even when HPD is low.
|
||||
+ // Skip gating modeset on HPD for DDS panels.
|
||||
+ // Allow HPD-low detach bookkeeping; notifyLongPulse() permits detach.
|
||||
if(!previousPlugged && !bClientForcedConnected && !main->isInternalPanelDynamicMuxCapable())
|
||||
{
|
||||
for (NvU32 i = 0; i < NV_MAX_HEADS; i++)
|
||||
@@ -0,0 +1,12 @@
|
||||
Copyright Arch Linux Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for
|
||||
any purpose with or without fee is hereby granted.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
|
||||
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
|
||||
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
|
||||
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
||||
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
@@ -0,0 +1,74 @@
|
||||
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
|
||||
# Maintainer: Peter Jung <ptr1337@archlinux.org>
|
||||
# Contributor: James Rayner <iphitus@gmail.com>
|
||||
# Contributor: Vasiliy Stelmachenok <ventureo@yandex.ru>
|
||||
# Contributor: Thomas Baechler <thomas@archlinux.org>
|
||||
|
||||
# ARM-only carry of NVIDIA/open-gpu-kernel-modules#1359 by Martin Stark.
|
||||
# Remove this overlay after a fixed Arch Linux ARM driver is validated.
|
||||
pkgname=nvidia-open-dkms
|
||||
pkgver=615.71.09
|
||||
pkgrel=1.2
|
||||
pkgdesc="NVIDIA open kernel modules - module sources"
|
||||
arch=('aarch64')
|
||||
url="https://www.nvidia.com/"
|
||||
license=('MIT AND GPL-2.0-only')
|
||||
depends=('dkms' "nvidia-utils=$pkgver")
|
||||
conflicts=('nvidia-open' 'NVIDIA-MODULE')
|
||||
provides=('nvidia-open' 'NVIDIA-MODULE' 'nvidia-dkms')
|
||||
replaces=('nvidia-dkms')
|
||||
options=('!strip')
|
||||
_pkg_open="NVIDIA-kernel-module-source-${pkgver}"
|
||||
source=("https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/${_pkg_open}.tar.xz"
|
||||
'0001-allow-unplugged-dp-detach.patch'
|
||||
'0002-clarify-unplugged-dp-detach.patch')
|
||||
sha512sums=('0b32c1aaa5ed261bdee7232d5e5d293e53c42ac9896f49c4be4e6b9b6bce1370cb69a7f7fde5531a7537d5e925d651c36bcb512a2f827c2d2cb26ede33f7c057'
|
||||
'48f802423399ce84a430b7accf10ea50847ea3fafcfe251e3bad2f741af9ca2162408a3109eb3c9fcdbe35ec35154a3dbcc8fe457ed617487c009abf2c9fc89a'
|
||||
'a3ff65cb58d72815b272726c38d45148dfba73ea2a0d88672960d8f706c74e7c2b40ec599783acec46ba18433af45f38547a09b2caa985bd71895a64780c00da')
|
||||
|
||||
prepare() {
|
||||
# Attempt to make builds reproducible
|
||||
sed -i "s/^ HOSTNAME.*/ HOSTNAME = echo archlinux/" "${srcdir}/${_pkg_open}/utils.mk"
|
||||
sed -i "s/^WHOAMI.*/WHOAMI = echo archlinux-builder/" "${srcdir}/${_pkg_open}/utils.mk"
|
||||
sed -i "s/^DATE.*/DATE = date -r version.mk/" "${srcdir}/${_pkg_open}/utils.mk"
|
||||
|
||||
for conf in "${srcdir}/${_pkg_open}/kernel-open/dkms.conf"; do
|
||||
sed -i "s/__VERSION_STRING/${pkgver}/" "$conf"
|
||||
sed -i 's/__JOBS/`nproc`/' "$conf"
|
||||
sed -i 's/__EXCLUDE_MODULES//' "$conf"
|
||||
sed -i 's/__DKMS_MODULES//' "$conf"
|
||||
sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' "$conf"
|
||||
sed -i '$i\
|
||||
BUILT_MODULE_NAME[0]="nvidia"\
|
||||
DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
|
||||
BUILT_MODULE_NAME[1]="nvidia-uvm"\
|
||||
DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
|
||||
BUILT_MODULE_NAME[2]="nvidia-modeset"\
|
||||
DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\
|
||||
BUILT_MODULE_NAME[3]="nvidia-drm"\
|
||||
DEST_MODULE_LOCATION[3]="/kernel/drivers/video"\
|
||||
BUILT_MODULE_NAME[4]="nvidia-peermem"\
|
||||
DEST_MODULE_LOCATION[4]="/kernel/drivers/video"' "$conf"
|
||||
done
|
||||
|
||||
# Additional parameters for open kernel modules
|
||||
cat <<EOF >>"${srcdir}/${_pkg_open}/kernel-open/dkms.conf"
|
||||
BUILT_MODULE_LOCATION[0]="kernel-open"
|
||||
BUILT_MODULE_LOCATION[1]="kernel-open"
|
||||
BUILT_MODULE_LOCATION[2]="kernel-open"
|
||||
BUILT_MODULE_LOCATION[3]="kernel-open"
|
||||
BUILT_MODULE_LOCATION[4]="kernel-open"
|
||||
EOF
|
||||
|
||||
# Exact PR head a2e8b26b20dfb6f2fa3cb8985e3f1126cba38aae.
|
||||
cd "${srcdir}/${_pkg_open}"
|
||||
patch --batch --fuzz=0 -p1 < "$srcdir/0001-allow-unplugged-dp-detach.patch"
|
||||
patch --batch --fuzz=0 -p1 < "$srcdir/0002-clarify-unplugged-dp-detach.patch"
|
||||
}
|
||||
|
||||
package() {
|
||||
install -dm755 "$pkgdir/usr/src"
|
||||
cp -dr --no-preserve=ownership "$srcdir/$_pkg_open" "$pkgdir/usr/src/nvidia-$pkgver"
|
||||
mv "$pkgdir/usr/src/nvidia-$pkgver/kernel-open/dkms.conf" "$pkgdir/usr/src/nvidia-$pkgver/dkms.conf"
|
||||
install -Dm644 "$srcdir/$_pkg_open/COPYING" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# NVIDIA ARM DisplayPort detach fix
|
||||
|
||||
ARM-only edge package carrying Martin Stark's pending
|
||||
[NVIDIA PR #1359](https://github.com/NVIDIA/open-gpu-kernel-modules/pull/1359)
|
||||
to fix DisplayPort disconnect cleanup in 615.71.09. Based on
|
||||
[Arch's DKMS recipe](https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/commit/f9ae10b379f8b1d0832ec92bca1c12072aa123e9).
|
||||
|
||||
Requires `[omarchy]` before `[extra]` and matching `nvidia-utils=615.71.09`.
|
||||
Update both NVIDIA packages together; automatic version tracking is disabled.
|
||||
|
||||
Remove this recipe and the published package/database entry once a fixed
|
||||
Arch Linux ARM driver is validated. A stale package in the earlier repository
|
||||
can block driver updates.
|
||||
@@ -1,13 +1,13 @@
|
||||
# Maintainer: Ryan Hughes <ryan@omarchy.org>
|
||||
pkgname='omarchy-dev'
|
||||
pkgver=4.0.0.r6646.gbf44355
|
||||
pkgver=4.0.0.r6663.g3faafba
|
||||
pkgrel=1
|
||||
# Pinned by the upstream watch in .omarchy/package.json (bin/sync-upstream):
|
||||
# every quattro tip becomes a commit pin here, so the package is versioned,
|
||||
# checksummed and built exactly like a release, just more often. The r-number
|
||||
# is the branch's total commit count, not the distance from the last tag: the
|
||||
# published history used the total, and pacman must never see it go down.
|
||||
_commit=bf44355a985b1bb82cb33df47fc17f765f3b2c4f
|
||||
_commit=3faafba234e530b0986196b98dc2c38951e7dd6f
|
||||
pkgdesc='Beautiful, modern, and opinionated Arch Linux by DHH (quattro branch tip)'
|
||||
# The payload is architecture-independent, but the dependency set is not: the
|
||||
# boot stack differs per architecture (see depends_x86_64 / depends_aarch64),
|
||||
@@ -81,7 +81,7 @@ makedepends=(
|
||||
# build from a local source tree instead (mirrors omarchy-zsh/omarchy-fish DX);
|
||||
# the arrays are emptied below so nothing is downloaded in that case.
|
||||
source=("omarchy::git+https://github.com/basecamp/omarchy.git#commit=${_commit}")
|
||||
sha256sums=('7a90239fd67124279817d614fa6aa19554f40796c523ba698669fbf57fa41668')
|
||||
sha256sums=('d97e0f12d9f17bfd78872bdc12edb63184b59483f055178d8d80597ed132882f')
|
||||
if [[ -n "${OMARCHY_SRC:-}" ]]; then
|
||||
source=()
|
||||
sha256sums=()
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
# Maintainer: Ryan Hughes <ryan@omarchy.org>
|
||||
pkgname='omarchy-settings-dev'
|
||||
pkgver=4.0.0.r6646.gbf44355
|
||||
pkgrel=1
|
||||
pkgver=4.0.0.r6663.g3faafba
|
||||
pkgrel=2
|
||||
# Pinned by the upstream watch in .omarchy/package.json (bin/sync-upstream):
|
||||
# every quattro tip becomes a commit pin here, so the package is versioned,
|
||||
# checksummed and built exactly like a release, just more often. The r-number
|
||||
# is the branch's total commit count, not the distance from the last tag: the
|
||||
# published history used the total, and pacman must never see it go down.
|
||||
_commit=bf44355a985b1bb82cb33df47fc17f765f3b2c4f
|
||||
_commit=3faafba234e530b0986196b98dc2c38951e7dd6f
|
||||
pkgdesc='Omarchy user defaults, /etc/skel content, fonts, plymouth theme, and support helpers (quattro branch tip)'
|
||||
# Arch-specific because the shipped /etc tree is not the same on every
|
||||
# architecture: the Limine, mkinitcpio, zram and oomd drop-ins belong to the
|
||||
# x86_64 boot and memory stack and are left out of the aarch64 package (see
|
||||
# package()). makepkg only honours the arch-suffixed arrays below on
|
||||
# arch-specific packages.
|
||||
# architecture: the zram and oomd drop-ins belong to the x86_64 memory stack
|
||||
# and are left out of the aarch64 package (see package()). The Limine and
|
||||
# mkinitcpio drop-ins ship on both: UEFI aarch64 installs (DGX Spark,
|
||||
# Snapdragon X) boot with Limine and an encrypted root exactly like x86_64.
|
||||
# makepkg only honours the arch-suffixed arrays below on arch-specific packages.
|
||||
arch=('x86_64' 'aarch64')
|
||||
url='https://github.com/basecamp/omarchy'
|
||||
license=('MIT')
|
||||
@@ -73,14 +74,17 @@ backup=(
|
||||
'etc/udev/rules.d/99-omarchy-power-profile.rules'
|
||||
'etc/udev/rules.d/99-omarchy-wifi-powersave.rules'
|
||||
)
|
||||
# Boot configuration is backed up on both architectures.
|
||||
backup+=(
|
||||
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
||||
)
|
||||
# backup has no arch-suffixed form, so the x86_64-only drop-ins join it here.
|
||||
# Each of these paths is removed from the aarch64 package in package().
|
||||
if [[ $CARCH == x86_64 ]]; then
|
||||
backup+=(
|
||||
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
||||
'etc/mkinitcpio.conf.d/thunderbolt_module.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
||||
'etc/modprobe.d/omarchy-usb-autosuspend.conf'
|
||||
'etc/systemd/oomd.conf.d/10-omarchy.conf'
|
||||
'etc/systemd/zram-generator.conf'
|
||||
@@ -117,7 +121,7 @@ _etc_override_paths=(
|
||||
# build from a local source tree instead (mirrors omarchy-zsh/omarchy-fish DX);
|
||||
# the arrays are emptied below so nothing is downloaded in that case.
|
||||
source=("omarchy::git+https://github.com/basecamp/omarchy.git#commit=${_commit}")
|
||||
sha256sums=('7a90239fd67124279817d614fa6aa19554f40796c523ba698669fbf57fa41668')
|
||||
sha256sums=('d97e0f12d9f17bfd78872bdc12edb63184b59483f055178d8d80597ed132882f')
|
||||
if [[ -n "${OMARCHY_SRC:-}" ]]; then
|
||||
source=()
|
||||
sha256sums=()
|
||||
@@ -131,6 +135,23 @@ prepare() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Print the HOOKS that result from sourcing mkinitcpio drop-ins onto a line.
|
||||
_omarchy_settings_hooks_after() {
|
||||
local start=$1
|
||||
shift
|
||||
(
|
||||
# Keep the build host's own tools, such as a platform detector, out of it.
|
||||
PATH=/nonexistent
|
||||
read -ra HOOKS <<<"$start"
|
||||
MODULES=() FILES=()
|
||||
for conf in "$@"; do
|
||||
# shellcheck disable=SC1090
|
||||
source "$conf" || exit 1
|
||||
done
|
||||
echo "${HOOKS[*]}"
|
||||
)
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/omarchy"
|
||||
|
||||
@@ -151,14 +172,6 @@ package() {
|
||||
install -d "$pkgdir/usr/share/omarchy/config"
|
||||
cp -a config/. "$pkgdir/usr/share/omarchy/config/"
|
||||
|
||||
# The Limine/Snapper notifier has nothing to notify about without the x86_64
|
||||
# boot stack; drop it from both seeds so aarch64 users don't autostart a
|
||||
# helper whose backing tool is not installed.
|
||||
if [[ $CARCH == aarch64 ]]; then
|
||||
rm -f "$pkgdir/etc/skel/.config/autostart/limine-snapper-notify.desktop" \
|
||||
"$pkgdir/usr/share/omarchy/config/autostart/limine-snapper-notify.desktop"
|
||||
fi
|
||||
|
||||
# Package-owned defaults with real system/XDG locations. User config remains
|
||||
# higher priority: ~/.config/uwsm/default, ~/.config/uwsm/env.d,
|
||||
# ~/.config/environment.d, ~/.config/fontconfig, ~/.config/xdg-terminals.list,
|
||||
@@ -207,12 +220,44 @@ package() {
|
||||
# stage separately below).
|
||||
install -d "$pkgdir/etc"
|
||||
cp -a etc/. "$pkgdir/etc/"
|
||||
# omacom/omarchy#13362 moves the HOOKS baseline into its own drop-in.
|
||||
[[ ! -f $pkgdir/etc/mkinitcpio.conf.d/00-omarchy-hooks.conf ]] ||
|
||||
backup+=('etc/mkinitcpio.conf.d/00-omarchy-hooks.conf')
|
||||
if [[ $CARCH == aarch64 ]]; then
|
||||
# The x86_64 boot stack's drop-ins must not ship on aarch64: mkinitcpio
|
||||
# reads every file under /etc/mkinitcpio.conf.d/, so omarchy_hooks.conf
|
||||
# would inject the Limine hooks into the Asahi kernel's initramfs, and the
|
||||
# Limine entry-tool config has no consumer without Limine.
|
||||
rm -rf "$pkgdir/etc/limine-entry-tool.d" "$pkgdir/etc/mkinitcpio.conf.d"
|
||||
# Keep omarchy_hooks.conf and the Limine entry-tool config: without them a
|
||||
# kernel update on an encrypted aarch64 install rebuilds an initramfs with
|
||||
# no encrypt hook and the machine cannot unlock its root. Only the
|
||||
# Thunderbolt module request is x86-specific; ARM kernels lack the module
|
||||
# and mkinitcpio treats a missing explicit module as an error.
|
||||
rm -f "$pkgdir/etc/mkinitcpio.conf.d/thunderbolt_module.conf"
|
||||
# Apple Silicon Macs install this package too. Their initramfs needs the
|
||||
# asahi hook, which omarchy-mac-boot's 90-94 fragments (Aurora) or
|
||||
# mkinitcpio.conf (legacy GRUB Macs) set, and an unconditional HOOKS= here
|
||||
# would replace it. A source that sets HOOKS outright (v4.0.4) gets its line
|
||||
# wrapped so it applies only when the hooks loaded so far lack asahi; one that
|
||||
# already decides per platform (omacom/omarchy#13362) ships as it is. The
|
||||
# wrapper reads configuration, not the running machine, so it also holds
|
||||
# when the image is built in a chroot.
|
||||
local hooks_conf hooks_confs=()
|
||||
for hooks_conf in "$pkgdir"/etc/mkinitcpio.conf.d/{00-omarchy-hooks,omarchy_hooks}.conf; do
|
||||
[[ -f $hooks_conf ]] || continue
|
||||
hooks_confs+=("$hooks_conf")
|
||||
sed -i 's/^\(HOOKS=([^#]*)\)[[:space:]]*$/if [[ " ${HOOKS[*]:-} " != *" asahi "* ]]; then\n \1\nfi/' "$hooks_conf"
|
||||
if grep -q '^HOOKS=' "$hooks_conf"; then
|
||||
echo "${hooks_conf#"$pkgdir"/}: cannot guard this HOOKS= line for Apple Silicon" >&2
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
# Whatever the layout, a Mac's asahi line must come through the shipped
|
||||
# files, and a stock line must not: that is where Omarchy's hooks come from.
|
||||
local mac_line='base udev block asahi encrypt filesystems fsck' stock_line='base udev block filesystems fsck'
|
||||
local mac_hooks stock_hooks
|
||||
if ! mac_hooks=$(_omarchy_settings_hooks_after "$mac_line" "${hooks_confs[@]}") ||
|
||||
! stock_hooks=$(_omarchy_settings_hooks_after "$stock_line" "${hooks_confs[@]}") ||
|
||||
[[ $mac_hooks != "$mac_line" || $stock_hooks == "$stock_line" ]]; then
|
||||
echo "etc/mkinitcpio.conf.d: the aarch64 hooks must keep a Mac's asahi line and set everyone else's" >&2
|
||||
return 1
|
||||
fi
|
||||
# Memory stack: no zram device or zswap on the aarch64 install, and
|
||||
# systemd-oomd is not enabled there, so the vm.* reclaim tuning written
|
||||
# for zram would be wrong for it. Keep only the network tuning.
|
||||
@@ -316,11 +361,6 @@ EOF
|
||||
# live root config.
|
||||
install -d "$pkgdir/usr/share/omarchy/default"
|
||||
cp -a default/. "$pkgdir/usr/share/omarchy/default/"
|
||||
# The Limine template is read by the x86_64 ISO orchestrator only.
|
||||
if [[ $CARCH == aarch64 ]]; then
|
||||
rm -rf "$pkgdir/usr/share/omarchy/default/limine"
|
||||
fi
|
||||
|
||||
# Snapper config template used by the install-time `snapper create-config`.
|
||||
install -Dm644 default/snapper/root \
|
||||
"$pkgdir/etc/snapper/config-templates/omarchy"
|
||||
@@ -368,6 +408,13 @@ EOF
|
||||
install -Dm755 bin/omarchy-hw-platform \
|
||||
"$pkgdir/usr/share/libalpm/scripts/omarchy-hw-platform"
|
||||
fi
|
||||
# 00-omarchy-hooks.conf places a Mac through this detector copy; without it
|
||||
# an Aurora Mac gets the busybox line and its initramfs cannot unlock root.
|
||||
if grep -qs omarchy-hw-platform "$pkgdir/etc/mkinitcpio.conf.d/00-omarchy-hooks.conf" &&
|
||||
[[ ! -x $pkgdir/usr/share/libalpm/scripts/omarchy-hw-platform ]]; then
|
||||
echo "etc/mkinitcpio.conf.d/00-omarchy-hooks.conf needs the omarchy-hw-platform copy the source does not ship" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Branding assets (logos, icons).
|
||||
install -Dm644 logo.txt "$pkgdir/usr/share/omarchy/logo.txt"
|
||||
|
||||
@@ -13,13 +13,14 @@ pkgname='omarchy-settings'
|
||||
_tag='v4.0.4'
|
||||
_commit='c668141e9c42b13c80c9ca4ea108e11708c5e8a5'
|
||||
pkgver=4.0.4
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
pkgdesc='Omarchy user defaults, /etc/skel content, fonts, plymouth theme, and support helpers'
|
||||
# Arch-specific because the shipped /etc tree is not the same on every
|
||||
# architecture: the Limine, mkinitcpio, zram and oomd drop-ins belong to the
|
||||
# x86_64 boot and memory stack and are left out of the aarch64 package (see
|
||||
# package()). makepkg only honours the arch-suffixed arrays below on
|
||||
# arch-specific packages.
|
||||
# architecture: the zram and oomd drop-ins belong to the x86_64 memory stack
|
||||
# and are left out of the aarch64 package (see package()). The Limine and
|
||||
# mkinitcpio drop-ins ship on both: UEFI aarch64 installs (DGX Spark,
|
||||
# Snapdragon X) boot with Limine and an encrypted root exactly like x86_64.
|
||||
# makepkg only honours the arch-suffixed arrays below on arch-specific packages.
|
||||
arch=('x86_64' 'aarch64')
|
||||
url='https://github.com/basecamp/omarchy'
|
||||
license=('MIT')
|
||||
@@ -78,14 +79,17 @@ backup=(
|
||||
'etc/udev/rules.d/99-omarchy-power-profile.rules'
|
||||
'etc/udev/rules.d/99-omarchy-wifi-powersave.rules'
|
||||
)
|
||||
# Boot configuration is backed up on both architectures.
|
||||
backup+=(
|
||||
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
||||
)
|
||||
# backup has no arch-suffixed form, so the x86_64-only drop-ins join it here.
|
||||
# Each of these paths is removed from the aarch64 package in package().
|
||||
if [[ $CARCH == x86_64 ]]; then
|
||||
backup+=(
|
||||
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
||||
'etc/mkinitcpio.conf.d/thunderbolt_module.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
||||
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
||||
'etc/modprobe.d/omarchy-usb-autosuspend.conf'
|
||||
'etc/systemd/oomd.conf.d/10-omarchy.conf'
|
||||
'etc/systemd/zram-generator.conf'
|
||||
@@ -136,6 +140,23 @@ prepare() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Print the HOOKS that result from sourcing mkinitcpio drop-ins onto a line.
|
||||
_omarchy_settings_hooks_after() {
|
||||
local start=$1
|
||||
shift
|
||||
(
|
||||
# Keep the build host's own tools, such as a platform detector, out of it.
|
||||
PATH=/nonexistent
|
||||
read -ra HOOKS <<<"$start"
|
||||
MODULES=() FILES=()
|
||||
for conf in "$@"; do
|
||||
# shellcheck disable=SC1090
|
||||
source "$conf" || exit 1
|
||||
done
|
||||
echo "${HOOKS[*]}"
|
||||
)
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/omarchy"
|
||||
|
||||
@@ -156,14 +177,6 @@ package() {
|
||||
install -d "$pkgdir/usr/share/omarchy/config"
|
||||
cp -a config/. "$pkgdir/usr/share/omarchy/config/"
|
||||
|
||||
# The Limine/Snapper notifier has nothing to notify about without the x86_64
|
||||
# boot stack; drop it from both seeds so aarch64 users don't autostart a
|
||||
# helper whose backing tool is not installed.
|
||||
if [[ $CARCH == aarch64 ]]; then
|
||||
rm -f "$pkgdir/etc/skel/.config/autostart/limine-snapper-notify.desktop" \
|
||||
"$pkgdir/usr/share/omarchy/config/autostart/limine-snapper-notify.desktop"
|
||||
fi
|
||||
|
||||
# Package-owned defaults with real system/XDG locations. User config remains
|
||||
# higher priority: ~/.config/uwsm/default, ~/.config/uwsm/env.d,
|
||||
# ~/.config/environment.d, ~/.config/fontconfig, ~/.config/xdg-terminals.list,
|
||||
@@ -215,12 +228,44 @@ package() {
|
||||
# stage separately below).
|
||||
install -d "$pkgdir/etc"
|
||||
cp -a etc/. "$pkgdir/etc/"
|
||||
# omacom/omarchy#13362 moves the HOOKS baseline into its own drop-in.
|
||||
[[ ! -f $pkgdir/etc/mkinitcpio.conf.d/00-omarchy-hooks.conf ]] ||
|
||||
backup+=('etc/mkinitcpio.conf.d/00-omarchy-hooks.conf')
|
||||
if [[ $CARCH == aarch64 ]]; then
|
||||
# The x86_64 boot stack's drop-ins must not ship on aarch64: mkinitcpio
|
||||
# reads every file under /etc/mkinitcpio.conf.d/, so omarchy_hooks.conf
|
||||
# would inject the Limine hooks into the Asahi kernel's initramfs, and the
|
||||
# Limine entry-tool config has no consumer without Limine.
|
||||
rm -rf "$pkgdir/etc/limine-entry-tool.d" "$pkgdir/etc/mkinitcpio.conf.d"
|
||||
# Keep omarchy_hooks.conf and the Limine entry-tool config: without them a
|
||||
# kernel update on an encrypted aarch64 install rebuilds an initramfs with
|
||||
# no encrypt hook and the machine cannot unlock its root. Only the
|
||||
# Thunderbolt module request is x86-specific; ARM kernels lack the module
|
||||
# and mkinitcpio treats a missing explicit module as an error.
|
||||
rm -f "$pkgdir/etc/mkinitcpio.conf.d/thunderbolt_module.conf"
|
||||
# Apple Silicon Macs install this package too. Their initramfs needs the
|
||||
# asahi hook, which omarchy-mac-boot's 90-94 fragments (Aurora) or
|
||||
# mkinitcpio.conf (legacy GRUB Macs) set, and an unconditional HOOKS= here
|
||||
# would replace it. A source that sets HOOKS outright (v4.0.4) gets its line
|
||||
# wrapped so it applies only when the hooks loaded so far lack asahi; one that
|
||||
# already decides per platform (omacom/omarchy#13362) ships as it is. The
|
||||
# wrapper reads configuration, not the running machine, so it also holds
|
||||
# when the image is built in a chroot.
|
||||
local hooks_conf hooks_confs=()
|
||||
for hooks_conf in "$pkgdir"/etc/mkinitcpio.conf.d/{00-omarchy-hooks,omarchy_hooks}.conf; do
|
||||
[[ -f $hooks_conf ]] || continue
|
||||
hooks_confs+=("$hooks_conf")
|
||||
sed -i 's/^\(HOOKS=([^#]*)\)[[:space:]]*$/if [[ " ${HOOKS[*]:-} " != *" asahi "* ]]; then\n \1\nfi/' "$hooks_conf"
|
||||
if grep -q '^HOOKS=' "$hooks_conf"; then
|
||||
echo "${hooks_conf#"$pkgdir"/}: cannot guard this HOOKS= line for Apple Silicon" >&2
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
# Whatever the layout, a Mac's asahi line must come through the shipped
|
||||
# files, and a stock line must not: that is where Omarchy's hooks come from.
|
||||
local mac_line='base udev block asahi encrypt filesystems fsck' stock_line='base udev block filesystems fsck'
|
||||
local mac_hooks stock_hooks
|
||||
if ! mac_hooks=$(_omarchy_settings_hooks_after "$mac_line" "${hooks_confs[@]}") ||
|
||||
! stock_hooks=$(_omarchy_settings_hooks_after "$stock_line" "${hooks_confs[@]}") ||
|
||||
[[ $mac_hooks != "$mac_line" || $stock_hooks == "$stock_line" ]]; then
|
||||
echo "etc/mkinitcpio.conf.d: the aarch64 hooks must keep a Mac's asahi line and set everyone else's" >&2
|
||||
return 1
|
||||
fi
|
||||
# Memory stack: no zram device or zswap on the aarch64 install, and
|
||||
# systemd-oomd is not enabled there, so the vm.* reclaim tuning written
|
||||
# for zram would be wrong for it. Keep only the network tuning.
|
||||
@@ -324,11 +369,6 @@ EOF
|
||||
# live root config.
|
||||
install -d "$pkgdir/usr/share/omarchy/default"
|
||||
cp -a default/. "$pkgdir/usr/share/omarchy/default/"
|
||||
# The Limine template is read by the x86_64 ISO orchestrator only.
|
||||
if [[ $CARCH == aarch64 ]]; then
|
||||
rm -rf "$pkgdir/usr/share/omarchy/default/limine"
|
||||
fi
|
||||
|
||||
# Snapper config template used by the install-time `snapper create-config`.
|
||||
install -Dm644 default/snapper/root \
|
||||
"$pkgdir/etc/snapper/config-templates/omarchy"
|
||||
@@ -376,6 +416,13 @@ EOF
|
||||
install -Dm755 bin/omarchy-hw-platform \
|
||||
"$pkgdir/usr/share/libalpm/scripts/omarchy-hw-platform"
|
||||
fi
|
||||
# 00-omarchy-hooks.conf places a Mac through this detector copy; without it
|
||||
# an Aurora Mac gets the busybox line and its initramfs cannot unlock root.
|
||||
if grep -qs omarchy-hw-platform "$pkgdir/etc/mkinitcpio.conf.d/00-omarchy-hooks.conf" &&
|
||||
[[ ! -x $pkgdir/usr/share/libalpm/scripts/omarchy-hw-platform ]]; then
|
||||
echo "etc/mkinitcpio.conf.d/00-omarchy-hooks.conf needs the omarchy-hw-platform copy the source does not ship" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Branding assets (logos, icons).
|
||||
install -Dm644 logo.txt "$pkgdir/usr/share/omarchy/logo.txt"
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
pkgname=omarchy-steam-fex
|
||||
pkgver=1.0.0
|
||||
pkgrel=3
|
||||
pkgrel=4
|
||||
pkgdesc='Steam launcher with login workarounds for Apple Silicon using muvm and FEX'
|
||||
arch=('aarch64')
|
||||
url='https://github.com/omacom/omarchy-pkgs/tree/master/pkgbuilds/omarchy-steam-fex'
|
||||
license=('MIT')
|
||||
checkdepends=('python')
|
||||
source=('omarchy-launch-steam' 'LICENSE' 'test-launcher.py')
|
||||
sha256sums=('37ad2e8a863e90c2b3248f22d93b548c6070f396f631ad39cefc4745478515b4'
|
||||
sha256sums=('d00742b36ba3d630b43cfe5ab7ac665625e113651d487630e2e440535c8dab64'
|
||||
'717ba1949502290f8e47688ae2e323acd06c8ca47aec9f7596b15f678c1af4a2'
|
||||
'fbab0f88ecdf3238bfb95a1523eef7de2ded2928c91c90e4e06435696dd86cdb')
|
||||
'4584557d52d2a56d1edf082c0d0c0deaa3eed2959b02e6eb681c9dd36bc94f3f')
|
||||
|
||||
check() {
|
||||
python test-launcher.py
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
`omarchy-steam-fex` provides `omarchy-launch-steam` for the Asahi Linux `steam`, `muvm`, and `FEX-Emu` stack. Those runtime packages come from `asahi-alarm`; `FEX-Emu` provides `FEXBash`. The package is restricted to aarch64 and assumes that stack's `~/.local/share/fex-steam/steam-launcher/bin_steam.sh` layout.
|
||||
|
||||
The launcher runs Steam through `muvm` and `FEXBash` with the CEF occlusion workaround. Once Steam's client files are present, it also disables bootstrap verification and repair and patches the Steam UI network initialization block that can leave login waiting indefinitely. Initial bootstrap keeps the normal bootstrap flags. If the FEX launcher is unavailable, it falls back to `steam`.
|
||||
The launcher runs Steam through `muvm` and `FEXBash` with the CEF occlusion workaround. Once Steam's client files are present, it patches the Steam UI network initialization block that can leave login waiting indefinitely. Initial bootstrap uses Steam's normal checks. Subsequent launches keep update and bootstrap checks enabled but pass `-noverifyfiles`: Steam otherwise detects the modified UI file, replaces it, and loses the login fix. After a client update replaces the UI file, launch again to reapply the patch. If the FEX launcher is unavailable, it falls back to `steam`.
|
||||
|
||||
`omarchy-launch-steam --prepare` creates the current user's desktop override with `Exec=omarchy-launch-steam %U` if it is missing, and applies the same UI patch. Existing overrides and symlinks are preserved on preparation and launch. If an existing override uses a different command, edit its `Exec` entry to use `omarchy-launch-steam %U` when you want this launcher. Each matching chunk is backed up as `.omarchy-bak` before its first patch; existing backups are preserved. The regex matches the original network initialization block, so a patched block is not changed again. An unrelated connected-state assignment elsewhere in the chunk does not suppress the fix. The regex depends on Valve's client code and may need updating when that code changes.
|
||||
|
||||
|
||||
@@ -95,13 +95,10 @@ if [[ $(uname -m) == aarch64 ]] && command -v muvm >/dev/null && command -v FEXB
|
||||
if [[ -f $launcher ]]; then
|
||||
steam_args=(-cef-force-occlusion)
|
||||
if steam_client_ready; then
|
||||
# Steam's verifier replaces our patched UI chunk on every launch.
|
||||
# Keep update/bootstrap checks enabled while preserving that patch.
|
||||
steam_args+=(-noverifyfiles)
|
||||
prepare_asahi
|
||||
steam_args+=(
|
||||
-noverifyfiles
|
||||
-nobootstrapupdate
|
||||
-skipinitialbootstrap
|
||||
-norepairfiles
|
||||
)
|
||||
else
|
||||
write_steam_desktop
|
||||
fi
|
||||
|
||||
@@ -25,7 +25,6 @@ ORIGINAL = (
|
||||
'(0,Ab.cd)("System.Network.RegisterForConnectivityTestChanges")&&SteamClient.System.Network.RegisterForConnectivityTestChanges(this.OnConnectivityTestStateChanged),'
|
||||
't||(this.m_bIsAwaitingInitialNetworkState=!1);after();'
|
||||
)
|
||||
SKIP_BOOTSTRAP = ['-noverifyfiles', '-nobootstrapupdate', '-skipinitialbootstrap', '-norepairfiles']
|
||||
|
||||
MOCK = '''
|
||||
import json, os
|
||||
@@ -200,11 +199,11 @@ class SteamLauncherTests(unittest.TestCase):
|
||||
self.assert_fex(self.run_launcher(), ['-cef-force-occlusion'], [])
|
||||
self.assertEqual(path.read_text(), ORIGINAL)
|
||||
|
||||
def test_ready_launch_patches_and_disables_bootstrap(self):
|
||||
def test_ready_launch_patches_and_keeps_update_checks_enabled(self):
|
||||
path = self.chunk()
|
||||
self.client_ready()
|
||||
args = ['steam://open/main']
|
||||
self.assert_fex(self.run_launcher(*args), ['-cef-force-occlusion', *SKIP_BOOTSTRAP], args)
|
||||
self.assert_fex(self.run_launcher(*args), ['-cef-force-occlusion', '-noverifyfiles'], args)
|
||||
self.assertIn('m_bIsConnectedToANetwork=!0', path.read_text())
|
||||
self.assert_desktop()
|
||||
|
||||
|
||||
@@ -2,5 +2,10 @@
|
||||
"source": "local",
|
||||
"rebuild_on": [
|
||||
"hyprland"
|
||||
]
|
||||
],
|
||||
"rebuilt_against": {
|
||||
"x86_64": {
|
||||
"hyprland": "0.56.2-3"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
pkgname=omareel
|
||||
pkgver=0.1.0
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc='Screen recorder and editor for Omarchy with a synthetic cursor, auto zooms, and a camera bubble'
|
||||
arch=('x86_64' 'aarch64')
|
||||
url='https://github.com/omacom/omareel'
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
pkgname=omaspeak-bin
|
||||
_pkgname=${pkgname%-bin}
|
||||
pkgver=0.0.3
|
||||
_upstream_ver=0.0.3
|
||||
pkgrel=4
|
||||
pkgver=0.1.0
|
||||
_upstream_ver=0.1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Local-first text-to-speech application and daemon (pre-built binary)'
|
||||
arch=('x86_64' 'aarch64')
|
||||
url='https://github.com/jacob-vincent-mink/omaspeak'
|
||||
@@ -16,9 +16,10 @@ depends=(
|
||||
)
|
||||
optdepends=(
|
||||
'pipewire-audio: audio playback through pw-play'
|
||||
'openvino: Intel CPU acceleration runtime'
|
||||
'openvino-intel-gpu-plugin: Intel GPU device support for OpenVINO'
|
||||
'openvino-intel-npu-plugin: Intel NPU device support for OpenVINO'
|
||||
'openvino>=2026.4.0: Intel acceleration runtime'
|
||||
'openvino-genai>=2026.4.0.0: Kokoro speech synthesis on OpenVINO'
|
||||
'openvino-intel-gpu-plugin>=2026.4.0: Intel GPU device support for OpenVINO'
|
||||
'openvino-intel-npu-plugin>=2026.4.0: Intel NPU device support for OpenVINO'
|
||||
'cuda: NVIDIA CUDA libraries for an external CUDA runtime bundle'
|
||||
'cudnn: NVIDIA neural-network libraries for an external CUDA runtime bundle'
|
||||
)
|
||||
@@ -34,8 +35,8 @@ sha256sums=('f1b527448529b45fee2f96b4c0a19b11087377c0ac9f43842bab0d04fcfd3b9f'
|
||||
source_x86_64=("${_pkgname}-${_upstream_ver}-linux-x86_64.tar.xz::${url}/releases/download/v${_upstream_ver}/${_pkgname}-${_upstream_ver}-linux-x86_64.tar.xz")
|
||||
source_aarch64=("${_pkgname}-${_upstream_ver}-linux-aarch64.tar.xz::${url}/releases/download/v${_upstream_ver}/${_pkgname}-${_upstream_ver}-linux-aarch64.tar.xz")
|
||||
|
||||
sha256sums_x86_64=('c72428bf6989582b5aa802f39e9390e4cacf26f7fbfacf76645118286c7d1ab2')
|
||||
sha256sums_aarch64=('88fc4ea8c275b9d5b9d41602d32dbca77ee30de0fc7dcbc06ad0e819fd41545a')
|
||||
sha256sums_x86_64=('56936bd17490a3fcf6c004413f1ba8b723d1e08256e215cae6434ef345c951ba')
|
||||
sha256sums_aarch64=('10e6d07de03c8243cbb4172d0517653b82a4d1e785fdd1b6aaf5ae9618ea6171')
|
||||
|
||||
package() {
|
||||
install -Dm755 "${srcdir}/package-remove" "${pkgdir}/usr/lib/${_pkgname}/package-remove"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Maintainer: David Heinemeier Hansson <david@hey.com>
|
||||
|
||||
pkgname=omatrack
|
||||
pkgver=1.2.0
|
||||
pkgver=1.8.6
|
||||
pkgrel=1
|
||||
pkgdesc="Cross-format motorsport telemetry analysis workstation"
|
||||
arch=('x86_64' 'aarch64')
|
||||
@@ -11,9 +11,17 @@ depends=('qt6-base' 'qt6-declarative' 'mpv' 'libyaml' 'gcc-libs' 'glibc' 'hicolo
|
||||
makedepends=('cmake' 'ninja' 'rust')
|
||||
options=('!debug' '!lto')
|
||||
|
||||
_commit=ebe7f4f6b05845a85a2b713f889e676442fd0e82
|
||||
source=("omatrack-$_commit.tar.gz::$url/archive/$_commit.tar.gz")
|
||||
sha256sums=('8e6c62de5f8c98239a84abe9696c83f1155bef12004ee2c028bd99d64b8263a4')
|
||||
_commit=cd3fcdda3f8e15fda73288f6cf3803164138a7e4
|
||||
source=(
|
||||
"omatrack-$_commit.tar.gz::$url/archive/$_commit.tar.gz"
|
||||
'lua-5.4.7.tar.gz::https://www.lua.org/ftp/lua-5.4.7.tar.gz'
|
||||
'sol2-d805d027.tar.gz::https://github.com/ThePhD/sol2/archive/d805d027e0a0a7222e936926139f06e23828ce9f.tar.gz'
|
||||
)
|
||||
sha256sums=(
|
||||
'6beb5703fe0b08a3bb99409581246498300f5cd91195239da00b91123681b8a3'
|
||||
'9fbf5e28ef86c69858f6d3d34eccc32e911c1a28b4120ff3e84aaa70cfbf1e30'
|
||||
'e7877a14e90d44e1b2d00ec77b85090b3b441f4634a63f23bfe44cedbac8ac9c'
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd "omatrack-$_commit/third_party/motorsport-telemetry"
|
||||
@@ -26,7 +34,10 @@ build() {
|
||||
|
||||
cmake -B build -S . -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DFETCHCONTENT_SOURCE_DIR_LUA_SRC="$srcdir/lua-5.4.7" \
|
||||
-DFETCHCONTENT_SOURCE_DIR_SOL2="$srcdir/sol2-d805d027e0a0a7222e936926139f06e23828ce9f" \
|
||||
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
|
||||
cmake --build build
|
||||
}
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
pkgname=omawake-bin
|
||||
_pkgname=${pkgname%-bin}
|
||||
pkgver=0.0.3
|
||||
_upstream_ver=0.0.3
|
||||
pkgrel=4
|
||||
pkgver=0.1.1
|
||||
_upstream_ver=0.1.1
|
||||
pkgrel=1
|
||||
pkgdesc='Configurable local wake-word daemon (pre-built binary)'
|
||||
arch=('x86_64' 'aarch64')
|
||||
url='https://github.com/jacob-vincent-mink/omawake'
|
||||
@@ -16,9 +16,10 @@ depends=(
|
||||
)
|
||||
optdepends=(
|
||||
'pipewire-audio: PipeWire audio support'
|
||||
'openvino: Intel runtime for an externally supplied OpenVINO provider bundle'
|
||||
'openvino-intel-gpu-plugin: Intel GPU device support for OpenVINO'
|
||||
'openvino-intel-npu-plugin: Intel NPU device support for OpenVINO'
|
||||
'openvino>=2026.4.0: Intel runtime for the OpenVINO provider'
|
||||
'openvino-genai>=2026.4.0.0: OpenVINO GenAI C provider for Whisper'
|
||||
'openvino-intel-gpu-plugin>=2026.4.0: Intel GPU device support for OpenVINO'
|
||||
'openvino-intel-npu-plugin>=2026.4.0: Intel NPU device support for OpenVINO'
|
||||
'cuda: NVIDIA CUDA libraries for an external CUDA runtime bundle'
|
||||
'cudnn: NVIDIA neural-network libraries for an external CUDA runtime bundle'
|
||||
)
|
||||
@@ -34,8 +35,8 @@ sha256sums=('f1b527448529b45fee2f96b4c0a19b11087377c0ac9f43842bab0d04fcfd3b9f'
|
||||
source_x86_64=("${_pkgname}-${_upstream_ver}-linux-x86_64.tar.xz::${url}/releases/download/v${_upstream_ver}/${_pkgname}-${_upstream_ver}-linux-x86_64.tar.xz")
|
||||
source_aarch64=("${_pkgname}-${_upstream_ver}-linux-aarch64.tar.xz::${url}/releases/download/v${_upstream_ver}/${_pkgname}-${_upstream_ver}-linux-aarch64.tar.xz")
|
||||
|
||||
sha256sums_x86_64=('fa374341f60760b04c9a97d76f7ad2679463f5b2b673ee6d9c1ceee97d3f0669')
|
||||
sha256sums_aarch64=('384eb11872c873a33332acf51f567dc4d4e327e57563b61056e4d0aa7fe470eb')
|
||||
sha256sums_x86_64=('adf8d93dd892fa77089384944a720de502d331582cc0e6eed66c9eaa2d31b568')
|
||||
sha256sums_aarch64=('9929208a3166f0f1939a66d306018a7a861f92fca1d0e186ea8f9af93a947ecb')
|
||||
|
||||
package() {
|
||||
install -Dm755 "${srcdir}/package-remove" "${pkgdir}/usr/lib/${_pkgname}/package-remove"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
pkgname=omazed
|
||||
pkgver=2.2.0
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="Live theme switching for Zed in Omarchy - automatically synchronize your Zed editor theme with your Omarchy system theme"
|
||||
arch=('any')
|
||||
url="https://github.com/aps6/omazed"
|
||||
license=('MIT')
|
||||
depends=('bash')
|
||||
depends=('bash' 'jq' 'perl')
|
||||
makedepends=('git')
|
||||
backup=()
|
||||
install=omazed.install
|
||||
@@ -19,6 +19,7 @@ package() {
|
||||
install -Dm755 omazed "$pkgdir/usr/bin/omazed"
|
||||
install -Dm755 omazed-generator.sh "$pkgdir/usr/bin/omazed-generator.sh"
|
||||
install -Dm644 omazed-theme.tpl "$pkgdir/usr/bin/omazed-theme.tpl"
|
||||
install -Dm755 omazed-font.sh "$pkgdir/usr/bin/omazed-font.sh"
|
||||
|
||||
# Install documentation
|
||||
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Maintainer: Spencer Bull <spencer@omarchy.org>
|
||||
|
||||
pkgname=openvino-genai
|
||||
pkgver=2026.3.1.0
|
||||
pkgrel=3
|
||||
pkgver=2026.4.0.0
|
||||
pkgrel=1
|
||||
pkgdesc="OpenVINO GenAI C and C++ runtime libraries"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/openvinotoolkit/openvino.genai"
|
||||
@@ -12,7 +12,7 @@ depends=(
|
||||
'gcc-libs'
|
||||
'glibc'
|
||||
'onetbb'
|
||||
'openvino=2026.3.1' # Includes libopenvino_c.so.
|
||||
'openvino=2026.4.0' # Includes libopenvino_c.so.
|
||||
)
|
||||
makedepends=(
|
||||
'cmake'
|
||||
@@ -25,24 +25,22 @@ optdepends=(
|
||||
'openvino-intel-npu-plugin: inference on Intel NPUs'
|
||||
)
|
||||
|
||||
_commit=56d9685302da2fc5cc7c9689cfab500fd0660a02
|
||||
_commit=7ea2546852a382cd16bd22dea0cfad2db70ed744
|
||||
source=(
|
||||
"openvino.genai::git+$url.git#commit=$_commit"
|
||||
'gcc-16-char8_t.patch'
|
||||
'format-template-linkage.patch::https://github.com/openvinotoolkit/openvino.genai/commit/398fbc1450f7485368edf52dd82f45eba215d6c9.patch'
|
||||
'linear-attention-guard-constructor.patch'
|
||||
)
|
||||
sha256sums=(
|
||||
'SKIP'
|
||||
'6e685c1e45d4b2314fd55e2f791846cc9086413ba62a6bb5e31be5a5878a243c'
|
||||
'8c2a3e4bf1d33e00b780da7bec2d5e40b6fd26a4e518359d6ff7c59ca7f649e3'
|
||||
'61958d64dd7510ff0cb6da010f26fddba3e5dbc38691828163a63d54951d1b2a'
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd openvino.genai
|
||||
patch -Np1 -i "$srcdir/gcc-16-char8_t.patch"
|
||||
# Backport upstream 398fbc14: GCC -O3 can otherwise leave format<int>
|
||||
# unresolved in libopenvino_genai.so.
|
||||
patch -Np1 -i "$srcdir/format-template-linkage.patch"
|
||||
patch -Np1 -i "$srcdir/linear-attention-guard-constructor.patch"
|
||||
git submodule update --init --recursive
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/src/cpp/src/continuous_batching/pipeline_impl.cpp b/src/cpp/src/continuous_batching/pipeline_impl.cpp
|
||||
--- a/src/cpp/src/continuous_batching/pipeline_impl.cpp
|
||||
+++ b/src/cpp/src/continuous_batching/pipeline_impl.cpp
|
||||
@@ -529,6 +529,10 @@ void ContinuousBatchingPipeline::ContinuousBatchingImpl::step() {
|
||||
const Scheduler::Output& m_scheduler_output;
|
||||
bool m_armed = true;
|
||||
|
||||
+ BorrowedLinearAttentionRowsGuard(ContinuousBatchingImpl& impl, const Scheduler::Output& scheduler_output)
|
||||
+ : m_impl(impl), m_scheduler_output(scheduler_output) {
|
||||
+ }
|
||||
+
|
||||
~BorrowedLinearAttentionRowsGuard() {
|
||||
if (m_armed) {
|
||||
m_impl._release_linear_attention_borrowed_rows(m_scheduler_output);
|
||||
@@ -7,9 +7,11 @@
|
||||
"qt6-wayland"
|
||||
],
|
||||
"rebuilt_against": {
|
||||
"qt6-base": "6.11.2-3",
|
||||
"qt6-declarative": "6.11.2-1",
|
||||
"qt6-wayland": "6.11.2-1"
|
||||
"x86_64": {
|
||||
"qt6-base": "6.11.2-3",
|
||||
"qt6-declarative": "6.11.2-2",
|
||||
"qt6-wayland": "6.11.2-1"
|
||||
}
|
||||
},
|
||||
"origin": {
|
||||
"aur": "quickshell-git",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
_pkgname=quickshell
|
||||
pkgname="$_pkgname-git"
|
||||
pkgver=0.3.0.r20.g28771c7
|
||||
pkgrel=3
|
||||
pkgrel=4
|
||||
pkgdesc='Flexible toolkit for making desktop shells with QtQuick'
|
||||
arch=(x86_64 aarch64)
|
||||
url='https://git.outfoxxed.me/quickshell/quickshell'
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
pkgname=supergfxctl
|
||||
pkgver=5.2.7
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
pkgdesc="A utility for Linux graphics switching on Intel/AMD iGPU + nVidia dGPU laptops"
|
||||
arch=('x86_64')
|
||||
url="https://gitlab.com/asus-linux/supergfxctl"
|
||||
@@ -13,11 +13,21 @@ makedepends=('rust')
|
||||
provides=('supergfxctl')
|
||||
conflicts=('supergfxctl-git'
|
||||
'optimus-manager')
|
||||
source=("https://gitlab.com/asus-linux/supergfxctl/-/archive/$pkgver/supergfxctl-$pkgver.tar.gz")
|
||||
sha512sums=('bd94646d289c9f3398e1bf2a189554ac60d4db2d4d2cefddc0b342e8a128d4682e20268e0b1f9b168441136ada0b6fadb097a5a35d1023a77528dbf0540de3af')
|
||||
source=("https://gitlab.com/asus-linux/supergfxctl/-/archive/$pkgver/supergfxctl-$pkgver.tar.gz"
|
||||
"drop-nonexistent-sudo-group.patch")
|
||||
sha512sums=('bd94646d289c9f3398e1bf2a189554ac60d4db2d4d2cefddc0b342e8a128d4682e20268e0b1f9b168441136ada0b6fadb097a5a35d1023a77528dbf0540de3af'
|
||||
'c24de0e6a632fd98052eb3b265000cf15bf00ff46f7e52120e462715937df8135297d9f12725d1c303691c0db55b23d2b29671f020bd64e98a993b1ad9b8551e')
|
||||
options=(!debug)
|
||||
_gitdir=${pkgname%"-git"}
|
||||
|
||||
prepare() {
|
||||
cd "$pkgname-$pkgver"
|
||||
# Arch has no "sudo" group, so dbus-broker rejects that policy block by name on
|
||||
# every bus reload ("Invalid group-name ... group=\"sudo\""). The block grants
|
||||
# nothing here; the wheel policy in the same file is the one that applies.
|
||||
patch -p1 -i "$srcdir/drop-nonexistent-sudo-group.patch"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$pkgname-$pkgver"
|
||||
make build
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
--- a/data/org.supergfxctl.Daemon.conf
|
||||
+++ b/data/org.supergfxctl.Daemon.conf
|
||||
@@ -6,10 +6,6 @@
|
||||
<allow send_destination="org.supergfxctl.Daemon"/>
|
||||
<allow receive_sender="org.supergfxctl.Daemon"/>
|
||||
</policy>
|
||||
- <policy group="sudo">
|
||||
- <allow send_destination="org.supergfxctl.Daemon"/>
|
||||
- <allow receive_sender="org.supergfxctl.Daemon"/>
|
||||
- </policy>
|
||||
<policy group="users">
|
||||
<allow send_destination="org.supergfxctl.Daemon"/>
|
||||
<allow receive_sender="org.supergfxctl.Daemon"/>
|
||||
@@ -1,3 +1,14 @@
|
||||
{
|
||||
"source": "local"
|
||||
"source": "local",
|
||||
"upstream": {
|
||||
"git_tags": "https://github.com/tobi/try.git",
|
||||
"tag_pattern": "v{pkgver}",
|
||||
"sources": {
|
||||
"any": [
|
||||
"https://raw.githubusercontent.com/tobi/try/{tag}/try.rb",
|
||||
"https://raw.githubusercontent.com/tobi/try/{tag}/lib/fuzzy.rb",
|
||||
"https://raw.githubusercontent.com/tobi/try/{tag}/lib/tui.rb"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
# Maintainer: dhh
|
||||
|
||||
pkgname='tobi-try'
|
||||
pkgver=1.8.1
|
||||
_subver=d1bc484cc31a34db3d287550f4800e9a6e56bacd
|
||||
pkgrel=3
|
||||
pkgver=1.10.1
|
||||
pkgrel=1
|
||||
pkgdesc='Fresh directories for every vibe.'
|
||||
url='https://github.com/tobi/try'
|
||||
arch=('any')
|
||||
@@ -13,12 +12,12 @@ provides=('try')
|
||||
conflicts=('try')
|
||||
options=('!debug')
|
||||
|
||||
source=("try-${pkgver}.rb::https://raw.githubusercontent.com/tobi/try/${_subver}/try.rb"
|
||||
"fuzzy.rb::https://raw.githubusercontent.com/tobi/try/${_subver}/lib/fuzzy.rb"
|
||||
"tui.rb::https://raw.githubusercontent.com/tobi/try/${_subver}/lib/tui.rb")
|
||||
sha256sums=('55a968dc5b1536b338d8f96693576c8cb19ca6bcabbca9138591cd0518486b02'
|
||||
source=("try-${pkgver}.rb::https://raw.githubusercontent.com/tobi/try/v${pkgver}/try.rb"
|
||||
"fuzzy.rb::https://raw.githubusercontent.com/tobi/try/v${pkgver}/lib/fuzzy.rb"
|
||||
"tui.rb::https://raw.githubusercontent.com/tobi/try/v${pkgver}/lib/tui.rb")
|
||||
sha256sums=('2e52bcd81244ff59e4a51dda5d7ba446dabaa0d1c5e23f02902431ca8d091be9'
|
||||
'cf815ed12c8147bbc7f67008cfc1f3fd05df1638ff290e2079188f1b9bf8f190'
|
||||
'b62d2b61445d8266f064e2809e06ebc0a25da401ee5a13dc3a73d215c0a1ea71')
|
||||
'0ea1b79975f2bcf36dbb29c5b76738e7cac81cedde24bf3bde85d8e2a42fd225')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Maintainer: David Heinemeier Hansson <david@hey.com>
|
||||
|
||||
pkgname=ttfx
|
||||
pkgver=0.4.0
|
||||
pkgver=0.5.0
|
||||
pkgrel=1
|
||||
pkgdesc="Terminal text effects as a single static binary — Rust port of terminaltexteffects"
|
||||
arch=('x86_64' 'aarch64')
|
||||
@@ -9,12 +9,10 @@ url="https://github.com/omacom/ttfx"
|
||||
license=('MIT')
|
||||
depends=('gcc-libs' 'glibc')
|
||||
makedepends=('cargo')
|
||||
# the x86-64 assembly engine; without NASM the build falls back to pure Rust
|
||||
makedepends_x86_64=('nasm')
|
||||
options=('!debug')
|
||||
|
||||
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
|
||||
sha256sums=('90a057971973917a45ae1cb2fc795cfaea33afc265180ba4a963172daf9f64ee')
|
||||
sha256sums=('2882c7e47011a95f4d136303f7320da71613299840f67f88fd1385ef53d5f2a0')
|
||||
|
||||
prepare() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
Reference in new issue
Block a user