update stable

This commit is contained in:
Sheldon Cove
2026-02-07 12:47:09 +00:00
parent cefc5a0789
commit 88aeabbd77
131 changed files with 3936 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
pkgbase = asdcontrol
pkgdesc = Control brightness on Apple Displays connected via USB-C
pkgver = 0.23.0ee8bd5
pkgrel = 1
url = https://github.com/nikosdion/asdcontrol
install = asdcontrol.install
arch = x86_64
license = GPL2
makedepends = make
makedepends = gcc
depends = glibc
depends = gcc-libs
source = asdcontrol-0.23.0ee8bd5.tar.gz::https://github.com/nikosdion/asdcontrol/archive/0ee8bd5.tar.gz
sha256sums = 1381ba2e048ec73aa0f8c32e47370460efd31b31f7558a7b922a3c4ebef00ebc
pkgname = asdcontrol
+27
View File
@@ -0,0 +1,27 @@
# Build directories
src/
pkg/
# Package files
*.pkg.tar.zst
*.pkg.tar.xz
*.pkg.tar.gz
*.pkg.tar
# Source archives
*.tar.gz
*.tar.xz
*.tar.bz2
*.zip
# Logs
*.log
# Temporary files
*~
*.swp
*.swo
.DS_Store
# Git clones
asdcontrol/
+31
View File
@@ -0,0 +1,31 @@
# Maintainer: Ryan Hughes <ryan@omarchy.org>
pkgname=asdcontrol
pkgver=0.23.0ee8bd5
pkgrel=1
pkgdesc="Control brightness on Apple Displays connected via USB-C"
arch=('x86_64')
url="https://github.com/nikosdion/asdcontrol"
license=('GPL2')
options=('!debug')
depends=('glibc' 'gcc-libs')
makedepends=('make' 'gcc')
source=("$pkgname-$pkgver.tar.gz::https://github.com/nikosdion/asdcontrol/archive/0ee8bd5.tar.gz")
sha256sums=('1381ba2e048ec73aa0f8c32e47370460efd31b31f7558a7b922a3c4ebef00ebc')
install=asdcontrol.install
build() {
cd "$srcdir/asdcontrol-0ee8bd576d4e93513027d713e688988cb0d827ef"
make
}
package() {
cd "$srcdir/asdcontrol-0ee8bd576d4e93513027d713e688988cb0d827ef"
# Install the binary
install -Dm755 asdcontrol "$pkgdir/usr/bin/asdcontrol"
# Install the sudoers file for passwordless execution
install -dm750 "$pkgdir/etc/sudoers.d"
echo "ALL ALL=(ALL) NOPASSWD: /usr/bin/asdcontrol" > "$pkgdir/etc/sudoers.d/asdcontrol"
chmod 440 "$pkgdir/etc/sudoers.d/asdcontrol"
}
@@ -0,0 +1,13 @@
post_install() {
echo ":: asdcontrol has been installed"
echo ":: You can now use 'sudo asdcontrol' to control Apple Display brightness"
echo ":: Passwordless sudo has been configured for /usr/bin/asdcontrol"
}
post_upgrade() {
post_install
}
post_remove() {
echo ":: Sudoers configuration for asdcontrol has been removed"
}
+49
View File
@@ -0,0 +1,49 @@
pkgbase = asusctl
pkgdesc = A control daemon, tools, and a collection of crates for interacting with ASUS ROG laptops
pkgver = 6.3.2
pkgrel = 0.1
url = https://asus-linux.org
arch = x86_64
license = MPL-2.0
makedepends = clang
makedepends = cmake
makedepends = fontconfig
makedepends = git
makedepends = hicolor-icon-theme
makedepends = libayatana-appindicator
makedepends = libinput
makedepends = libusb
makedepends = rust
makedepends = seatd
makedepends = systemd
source = git+https://gitlab.com/asus-linux/asusctl.git#tag=6.3.2
b2sums = 4bf6b850e19551426c2011cfb75e880fad1f7161a6f3200748d4dafe9a26d038676c1ba3df8bc68d4b080146e1f78abca07984860c0034c15ce0b742fe34477c
pkgname = asusctl
pkgdesc = A control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops
install = asusctl.install
depends = gcc-libs
depends = glibc
depends = libusb
depends = systemd
depends = systemd-libs
optdepends = acpi_call: fan control
optdepends = asusctltray: tray profile switcher
optdepends = rog-control-center: app to control asusctl
optdepends = supergfxctl: hybrid GPU control
conflicts = gnome-shell-extension-asusctl-gnome
pkgname = rog-control-center
pkgdesc = App to control asusctl
depends = asusctl
depends = fontconfig
depends = freetype2
depends = gcc-libs
depends = glibc
depends = hicolor-icon-theme
depends = libayatana-appindicator
depends = libinput
depends = libxkbcommon
depends = mesa
depends = seatd
depends = systemd-libs
+4
View File
@@ -0,0 +1,4 @@
[asusctl]
source = "git"
git = "https://gitlab.com/asus-linux/asusctl.git"
+12
View File
@@ -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.
+1
View File
@@ -0,0 +1 @@
../LICENSE
+107
View File
@@ -0,0 +1,107 @@
# Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>
# Contributor: Static_Rocket
pkgbase=asusctl
pkgname=(
asusctl
rog-control-center
)
pkgver=6.3.2
pkgrel=0.1
pkgdesc="A control daemon, tools, and a collection of crates for interacting with ASUS ROG laptops"
arch=('x86_64')
url="https://asus-linux.org"
license=('MPL-2.0')
makedepends=(
clang
cmake
fontconfig
git
hicolor-icon-theme
libayatana-appindicator
libinput
libusb
rust
seatd
systemd
)
source=("git+https://gitlab.com/asus-linux/asusctl.git#tag=$pkgver")
b2sums=('4bf6b850e19551426c2011cfb75e880fad1f7161a6f3200748d4dafe9a26d038676c1ba3df8bc68d4b080146e1f78abca07984860c0034c15ce0b742fe34477c')
prepare() {
cd "${pkgbase}"
# Keep rust/cargo build-dependency management inside the build directory
export CARGO_HOME="${srcdir}/cargo"
# Follow Rust package guidelines
## https://wiki.archlinux.org/title/Rust_package_guidelines
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "${pkgbase}"
# Keep rust/cargo build-dependency management inside the build directory
export CARGO_HOME="${srcdir}/cargo"
# Follow Rust package guidelines
## https://wiki.archlinux.org/title/Rust_package_guidelines
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
make build
}
package_asusctl() {
pkgdesc="${pkgdesc/tools/CLI tools}"
depends=(
gcc-libs
glibc
libusb
systemd
systemd-libs
)
conflicts=(gnome-shell-extension-asusctl-gnome)
install=asusctl.install
optdepends=(
'acpi_call: fan control'
'asusctltray: tray profile switcher'
'rog-control-center: app to control asusctl'
'supergfxctl: hybrid GPU control'
)
cd "${pkgbase}"
export CARGO_HOME="${srcdir}/cargo"
make DESTDIR="${pkgdir}" \
install-asusctl \
install-asusd \
install-asusd_user \
install-data-asusd \
install-data-asusd_user
}
package_rog-control-center() {
depends=(
asusctl
fontconfig
freetype2
gcc-libs
glibc
hicolor-icon-theme
libayatana-appindicator
libinput
libxkbcommon
mesa
seatd
systemd-libs
)
pkgdesc="App to control asusctl"
cd "${pkgbase}"
export CARGO_HOME="${srcdir}/cargo"
make DESTDIR="${pkgdir}" \
install-data-rog_gui \
install-rog_gui
}
+22
View File
@@ -0,0 +1,22 @@
version = 1
[[annotations]]
path = [
"PKGBUILD",
"README.md",
"keys/**",
".SRCINFO",
".nvchecker.toml",
"*.install",
"*.sysusers",
"*.tmpfiles",
"*.logrotate",
"*.pam",
"*.service",
"*.socket",
"*.timer",
"*.desktop",
"*.hook",
]
SPDX-FileCopyrightText = "Arch Linux contributors"
SPDX-License-Identifier = "0BSD"
+19
View File
@@ -0,0 +1,19 @@
post_install() {
printf ":: asusd provides a service that is activated by an udev rule on\n"
printf ":: startup. Please reboot the system or run\n"
printf ":: # systemctl start asusd.service\n"
printf ":: to make it work.\n"
printf ":: See https://gitlab.com/asus-linux/asusctl#kernel-support.\n"
printf ":: for latest required kernel patches/versions\n"
}
post_upgrade() {
if systemctl is-active asusd.service --quiet
then
printf ":: asusd service will be restarted…\n"
systemctl daemon-reload
systemctl restart asusd.service
fi
printf ":: See https://gitlab.com/asus-linux/asusctl#kernel-support.\n"
printf ":: for latest required kernel patches/versions\n"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-archlinuxpkgs
pkgdesc = archlinuxpkgs provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-archlinuxpkgs
conflicts = elephant-archlinuxpkgs
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-archlinuxpkgs
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-archlinuxpkgs
pkgver=2.19.1
pkgrel=1
pkgdesc='archlinuxpkgs provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-archlinuxpkgs')
provides=('elephant-archlinuxpkgs')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/archlinuxpkgs
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/archlinuxpkgs
install -Dm 755 archlinuxpkgs.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-bluetooth
pkgdesc = bluetooth provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-bluetooth
conflicts = elephant-bluetooth
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-bluetooth
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-bluetooth
pkgver=2.19.1
pkgrel=1
pkgdesc='bluetooth provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-bluetooth')
provides=('elephant-bluetooth')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/bluetooth
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/bluetooth
install -Dm 755 bluetooth.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+16
View File
@@ -0,0 +1,16 @@
pkgbase = elephant-calc
pkgdesc = calc provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
depends = libqalculate
provides = elephant-calc
conflicts = elephant-calc
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-calc
+28
View File
@@ -0,0 +1,28 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-calc
pkgver=2.19.1
pkgrel=1
pkgdesc='calc provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
depends=('libqalculate')
makedepends=('go')
conflicts=('elephant-calc')
provides=('elephant-calc')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/calc
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/calc
install -Dm 755 calc.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,17 @@
pkgbase = elephant-clipboard
pkgdesc = clipboard provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
depends = wl-clipboard
depends = imagemagick
provides = elephant-clipboard
conflicts = elephant-clipboard
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-clipboard
@@ -0,0 +1,28 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-clipboard
pkgver=2.19.1
pkgrel=1
pkgdesc='clipboard provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
depends=('wl-clipboard' 'imagemagick')
makedepends=('go')
conflicts=('elephant-clipboard')
provides=('elephant-clipboard')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/clipboard
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/clipboard
install -Dm 755 clipboard.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-desktopapplications
pkgdesc = desktopapplications provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-desktopapplications
conflicts = elephant-desktopapplications
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-desktopapplications
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-desktopapplications
pkgver=2.19.1
pkgrel=1
pkgdesc='desktopapplications provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-desktopapplications')
provides=('elephant-desktopapplications')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/desktopapplications
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/desktopapplications
install -Dm 755 desktopapplications.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+16
View File
@@ -0,0 +1,16 @@
pkgbase = elephant-files
pkgdesc = files provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
depends = fd
provides = elephant-files
conflicts = elephant-files
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-files
+28
View File
@@ -0,0 +1,28 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-files
pkgver=2.19.1
pkgrel=1
pkgdesc='files provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
depends=('fd')
makedepends=('go')
conflicts=('elephant-files')
provides=('elephant-files')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/files
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/files
install -Dm 755 files.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+15
View File
@@ -0,0 +1,15 @@
pkgbase = elephant-menus
pkgdesc = menus provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-menus
conflicts = elephant-menus
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-menus
+27
View File
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-menus
pkgver=2.19.1
pkgrel=1
pkgdesc='menus provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-menus')
provides=('elephant-menus')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/menus
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/menus
install -Dm 755 menus.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-providerlist
pkgdesc = providerlist provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-providerlist
conflicts = elephant-providerlist
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-providerlist
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-providerlist
pkgver=2.19.1
pkgrel=1
pkgdesc='providerlist provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-providerlist')
provides=('elephant-providerlist')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/providerlist
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/providerlist
install -Dm 755 providerlist.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+15
View File
@@ -0,0 +1,15 @@
pkgbase = elephant-runner
pkgdesc = runner provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-runner
conflicts = elephant-runner
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-runner
+27
View File
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-runner
pkgver=2.19.1
pkgrel=1
pkgdesc='runner provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-runner')
provides=('elephant-runner')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/runner
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/runner
install -Dm 755 runner.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-symbols
pkgdesc = symbols provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-symbols
conflicts = elephant-symbols
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-symbols
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-symbols
pkgver=2.19.1
pkgrel=1
pkgdesc='symbols provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-symbols')
provides=('elephant-symbols')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/symbols
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/symbols
install -Dm 755 symbols.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+15
View File
@@ -0,0 +1,15 @@
pkgbase = elephant-todo
pkgdesc = todo provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-todo
conflicts = elephant-todo
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-todo
+27
View File
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-todo
pkgver=2.19.1
pkgrel=1
pkgdesc='todo provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-todo')
provides=('elephant-todo')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/todo
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/todo
install -Dm 755 todo.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-unicode
pkgdesc = unicode provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-unicode
conflicts = elephant-unicode
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-unicode
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-unicode
pkgver=2.19.1
pkgrel=1
pkgdesc='unicode provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-unicode')
provides=('elephant-unicode')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/unicode
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/unicode
install -Dm 755 unicode.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,15 @@
pkgbase = elephant-websearch
pkgdesc = websearch provider for elephant
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant-websearch
conflicts = elephant-websearch
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant-websearch
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-websearch
pkgver=2.19.1
pkgrel=1
pkgdesc='websearch provider for elephant'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant-websearch')
provides=('elephant-websearch')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd elephant-${pkgver}/internal/providers/websearch
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
}
package() {
cd elephant-${pkgver}/internal/providers/websearch
install -Dm 755 websearch.so -t "${pkgdir}/usr/lib/elephant"
cd ../../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
+15
View File
@@ -0,0 +1,15 @@
pkgbase = elephant
pkgdesc = general purpose datasource and executor
pkgver = 2.19.1
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
provides = elephant
conflicts = elephant
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.19.1.tar.gz
sha256sums = 0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51
pkgname = elephant
+4
View File
@@ -0,0 +1,4 @@
/pkg
/src
*.zip
*.tar.xz
+27
View File
@@ -0,0 +1,27 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant
pkgver=2.19.1
pkgrel=1
pkgdesc='general purpose datasource and executor'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
makedepends=('go')
conflicts=('elephant')
provides=('elephant')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('0d3aaac36c8a4a596c7c699dd32bcf45e47141f3497610a8ba655ffbcaf36e51')
build() {
cd ${pkgname}-${pkgver}/cmd/elephant
go build -ldflags="-s -w" -buildvcs=false -x -o elephant -trimpath
}
package() {
cd ${pkgname}-${pkgver}/cmd/elephant
install -Dm 755 elephant -t "${pkgdir}/usr/bin"
cd ../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,36 @@
pkgbase = gpu-screen-recorder
pkgdesc = A shadowplay-like screen recorder for Linux. The fastest screen recorder for Linux
pkgver = 5.12.3
pkgrel = 1
url = https://git.dec05eba.com/gpu-screen-recorder
install = gpu-screen-recorder.install
arch = x86_64
license = GPL-3.0-only
makedepends = meson
makedepends = vulkan-headers
depends = ffmpeg
depends = libglvnd
depends = libxcomposite
depends = libxrandr
depends = libxfixes
depends = libxdamage
depends = libx11
depends = libpulse
depends = libva
depends = libdrm
depends = libcap
depends = wayland
depends = libpipewire
depends = dbus
depends = libjpeg-turbo
optdepends = nvidia-utils: Required to record your screen on NVIDIA
optdepends = libxnvctrl: Required when using the -oc option to overclock the NVIDIA GPU to workaround NVIDIA p2 state bug
optdepends = mesa: Required to record your screen on AMD/Intel
optdepends = libva-mesa-driver: Required to record your screen on AMD
optdepends = libva-intel-driver: Required to record your screen on Intel G45 and HD Graphics family
optdepends = intel-media-driver: Required to record your screen on Intel Broadwell or later iGPUs or Intel Arc
optdepends = linux-firmware-intel: Required to record your screen on Intel Skylake or later iGPUs
source = gpu-screen-recorder-5.12.3.tar.gz::https://dec05eba.com/snapshot/gpu-screen-recorder.git.5.12.3.tar.gz
sha512sums = 5153169c9c756f48d3e6b1f4baea66aa6bdce9d97c147ca6c8bedb8960561bda8d816c88003de72a11a6720c1f991145984d6a186e7554266c76aec77fc4c892
pkgname = gpu-screen-recorder
@@ -0,0 +1,13 @@
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,53 @@
# Maintainer: dec05eba <dec05eba@protonmail.com>
pkgname=gpu-screen-recorder
pkgver=5.12.3
pkgrel=1
pkgdesc='A shadowplay-like screen recorder for Linux. The fastest screen recorder for Linux'
arch=('x86_64')
url="https://git.dec05eba.com/gpu-screen-recorder"
license=('GPL-3.0-only')
makedepends=(
'meson'
'vulkan-headers'
)
depends=(
'ffmpeg'
'libglvnd'
'libxcomposite'
'libxrandr'
'libxfixes'
'libxdamage'
'libx11'
'libpulse'
'libva'
'libdrm'
'libcap'
'wayland'
'libpipewire'
'dbus'
'libjpeg-turbo'
)
optdepends=(
'nvidia-utils: Required to record your screen on NVIDIA'
'libxnvctrl: Required when using the -oc option to overclock the NVIDIA GPU to workaround NVIDIA p2 state bug'
'mesa: Required to record your screen on AMD/Intel'
'libva-mesa-driver: Required to record your screen on AMD'
'libva-intel-driver: Required to record your screen on Intel G45 and HD Graphics family'
'intel-media-driver: Required to record your screen on Intel Broadwell or later iGPUs or Intel Arc'
'linux-firmware-intel: Required to record your screen on Intel Skylake or later iGPUs'
)
source=("${pkgname}-${pkgver}.tar.gz::https://dec05eba.com/snapshot/gpu-screen-recorder.git.${pkgver}.tar.gz")
sha512sums=('5153169c9c756f48d3e6b1f4baea66aa6bdce9d97c147ca6c8bedb8960561bda8d816c88003de72a11a6720c1f991145984d6a186e7554266c76aec77fc4c892')
install="${pkgname}.install" # setcap cap_sys_admin (gsr-kms-server)
build() {
cd "$srcdir"
arch-meson build -Dsystemd=true --buildtype=release -Dstrip=true
meson compile -C build
}
package() {
cd "$srcdir"
meson install -C build --destdir "$pkgdir"
}
@@ -0,0 +1,7 @@
post_install() {
setcap cap_sys_admin+ep usr/bin/gsr-kms-server
}
post_upgrade() {
post_install "$1"
}
@@ -0,0 +1,57 @@
# Maintainer: wysbd <aur@wysbd.dev>
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)
url="https://github.com/WhySoBad/hyprland-preview-share-picker"
license=(MIT)
depends=('gtk4' 'gtk4-layer-shell' 'xdg-desktop-portal-hyprland' 'hyprland')
makedepends=(cargo)
optdepends=(
'slurp: default tool for selecting share regions'
)
_protocols_commit=3a5c2bda1c1a4e55cc1330c782547695a93f05b2
source=("$pkgname-$pkgver.tar.gz::https://github.com/WhySoBad/hyprland-preview-share-picker/archive/refs/tags/v$pkgver.tar.gz"
"hyprland-protocols-$_protocols_commit.tar.gz::https://github.com/hyprwm/hyprland-protocols/archive/$_protocols_commit.tar.gz")
sha256sums=('dfbd6773884c24bb300d756420cc540dda0c3518e910e20d1538e7dd6c0990da'
'SKIP')
prepare() {
cd "$pkgname-$pkgver"
# Link the hyprland-protocols submodule
rmdir lib/hyprland-protocols 2>/dev/null || true
ln -sf "$srcdir/hyprland-protocols-$_protocols_commit" lib/hyprland-protocols
# Replace build.rs with a simple version that doesn't require git
cat > build.rs << 'EOF'
fn main() {
println!("cargo::rustc-env=GIT_VERSION=v0.2.1-r0-release");
}
EOF
export RUSTUP_TOOLCHAIN=nightly
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "$pkgname-$pkgver"
export RUSTUP_TOOLCHAIN=nightly
export CARGO_TARGET_DIR=target
cargo build --frozen --release
./target/release/hyprland-preview-share-picker schema > schema.json
}
package() {
cd "$pkgname-$pkgver"
install -Dm0755 -T "target/release/hyprland-preview-share-picker" "$pkgdir/usr/bin/hyprland-preview-share-picker"
install -dm0755 "$pkgdir/usr/share/hyprland-preview-share-picker"
install -Dm0644 "schema.json" "$pkgdir/usr/share/hyprland-preview-share-picker"
}
@@ -0,0 +1,32 @@
pkgbase = lib32-nvidia-580xx-utils
pkgver = 580.126.09
pkgrel = 1
url = http://www.nvidia.com/
arch = x86_64
license = custom
options = !strip
source = https://us.download.nvidia.com/XFree86/Linux-x86_64/580.126.09/NVIDIA-Linux-x86_64-580.126.09.run
sha512sums = d5c41131304b29d55d0caf8cd84c95b454d81e68d7b23ca893504c63d84dd78726e2dbd7f076b7f12be518e641d110d131ac178336d61a00bcc81b7a1890799d
pkgname = lib32-nvidia-580xx-utils
pkgdesc = NVIDIA drivers utilities (32-bit) (580xx)
depends = lib32-zlib
depends = lib32-gcc-libs
depends = lib32-libglvnd
optdepends = lib32-opencl-nvidia
provides = lib32-vulkan-driver
provides = lib32-opengl-driver
provides = lib32-nvidia-libgl
provides = lib32-nvidia-utils=580.126.09
conflicts = lib32-nvidia-libgl
conflicts = lib32-nvidia-utils
replaces = lib32-nvidia-libgl
pkgname = lib32-opencl-nvidia-580xx
pkgdesc = OpenCL implemention for NVIDIA (32-bit) (580xx)
depends = lib32-zlib
depends = lib32-gcc-libs
optdepends = opencl-headers: headers necessary for OpenCL development
provides = lib32-opencl-driver
provides = lib32-opencl-nvidia=580.126.09
conflicts = lib32-opencl-nvidia
@@ -0,0 +1,106 @@
# Maintainer: Vasiliy Stelmachenok <ventureo@cachyos.org>
# Contributor: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
pkgbase=lib32-nvidia-580xx-utils
pkgname=('lib32-nvidia-580xx-utils' 'lib32-opencl-nvidia-580xx')
pkgver=580.126.09
pkgrel=1
arch=('x86_64')
url="http://www.nvidia.com/"
#makedepends=('nvidia-libgl') # To avoid conflict during installation in the build chroot
license=('custom')
options=('!strip')
_pkg="NVIDIA-Linux-x86_64-${pkgver}"
source=("https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run")
sha512sums=('d5c41131304b29d55d0caf8cd84c95b454d81e68d7b23ca893504c63d84dd78726e2dbd7f076b7f12be518e641d110d131ac178336d61a00bcc81b7a1890799d')
create_links() {
# create soname links
for _lib in $(find "${pkgdir}" -name '*.so*' | grep -v 'xorg/'); do
_soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)
_base=$(echo ${_soname} | sed -r 's/(.*).so.*/\1.so/')
[[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}"
[[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}"
done
}
build() {
sh ${_pkg}.run --extract-only
}
package_lib32-opencl-nvidia-580xx() {
pkgdesc="OpenCL implemention for NVIDIA (32-bit) (580xx)"
depends=('lib32-zlib' 'lib32-gcc-libs')
optdepends=('opencl-headers: headers necessary for OpenCL development')
conflicts=('lib32-opencl-nvidia')
provides=('lib32-opencl-driver' "lib32-opencl-nvidia=$pkgver")
cd "${_pkg}"/32
# OpenCL
install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-opencl.so.${pkgver}"
create_links
mkdir -p "${pkgdir}/usr/share/licenses"
ln -s lib32-nvidia-580xx-utils "${pkgdir}/usr/share/licenses/lib32-opencl-nvidia"
}
package_lib32-nvidia-580xx-utils() {
pkgdesc="NVIDIA drivers utilities (32-bit) (580xx)"
depends=('lib32-zlib' 'lib32-gcc-libs' 'lib32-libglvnd')
optdepends=('lib32-opencl-nvidia')
conflicts=('lib32-nvidia-libgl' 'lib32-nvidia-utils')
provides=('lib32-vulkan-driver' 'lib32-opengl-driver' 'lib32-nvidia-libgl' "lib32-nvidia-utils=$pkgver")
replaces=('lib32-nvidia-libgl')
cd "${_pkg}"/32
# Check http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/README/installedcomponents.html
# for hints on what needs to be installed where.
install -D -m755 "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/libGLX_nvidia.so.${pkgver}"
# OpenGL libraries
install -D -m755 "libEGL_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/libEGL_nvidia.so.${pkgver}"
install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/libGLESv1_CM_nvidia.so.${pkgver}"
install -D -m755 "libGLESv2_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/libGLESv2_nvidia.so.${pkgver}"
# OpenGL core library
install -D -m755 "libnvidia-glcore.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-glcore.so.${pkgver}"
install -D -m755 "libnvidia-eglcore.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-eglcore.so.${pkgver}"
install -D -m755 "libnvidia-glsi.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-glsi.so.${pkgver}"
# misc
mkdir -p "${pkgdir}/usr/lib32/gbm" && ln -sr "${pkgdir}/usr/lib32/libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib32/gbm/nvidia-drm_gbm.so"
install -D -m755 "libnvidia-fbc.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-fbc.so.${pkgver}"
install -D -m755 "libnvidia-encode.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-encode.so.${pkgver}"
install -D -m755 "libnvidia-ml.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-ml.so.${pkgver}"
install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-glvkspirv.so.${pkgver}"
install -D -m755 "libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-allocator.so.${pkgver}"
install -D -m755 "libnvidia-gpucomp.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-gpucomp.so.${pkgver}"
# VDPAU
install -D -m755 "libvdpau_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/vdpau/libvdpau_nvidia.so.${pkgver}"
# nvidia-tls library
install -D -m755 "libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-tls.so.${pkgver}"
# CUDA
install -D -m755 "libcuda.so.${pkgver}" "${pkgdir}/usr/lib32/libcuda.so.${pkgver}"
install -D -m755 "libnvcuvid.so.${pkgver}" "${pkgdir}/usr/lib32/libnvcuvid.so.${pkgver}"
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-ptxjitcompiler.so.${pkgver}"
# Optical flow
install -D -m755 "libnvidia-opticalflow.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-opticalflow.so.${pkgver}"
create_links
rm -rf "${pkgdir}"/usr/{include,share,bin}
mkdir -p "${pkgdir}/usr/share/licenses"
ln -s lib32-nvidia-580xx-utils "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -0,0 +1,32 @@
pkgbase = limine-mkinitcpio-hook
pkgdesc = Install kernels for the Limine bootloader.
pkgver = 1.29.0
pkgrel = 1
url = https://gitlab.com/Zesko/limine-entry-tool
arch = x86_64
arch = aarch64
license = GPL3
makedepends = git
makedepends = gradle
depends = bash
depends = grep
depends = tar
depends = limine
depends = mkinitcpio
depends = efibootmgr
optdepends = kernel-modules-hook: Safely keeps kernel on upgrade failure
optdepends = sbctl: Signs UEFI boot files for Secure Boot when enabled
optdepends = journalctl-desktop-notification: Sends desktop notifications when errors occur
provides = limine-entry-tool
conflicts = limine-entry-tool
options = !debug
options = !strip
backup = etc/limine-entry-tool.conf
source = https://gitlab.com/Zesko/limine-entry-tool/-/archive/1.29.0-1/limine-entry-tool-1.29.0-1.tar.gz
sha256sums = 03e041631aa1275f0a03ecae0ada6f1bb3fa69e5b428e5b68f7240da68b6b4f4
source_x86_64 = https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-x64_bin.tar.gz
sha256sums_x86_64 = e0be791c8fda4d03b6b0a0cb824fef3149736170057b3a515252b44419606af0
source_aarch64 = https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-aarch64_bin.tar.gz
sha256sums_aarch64 = b4580d9f223d0a4b3a1757e58b18ff4c1db950e67e105fc5cb741457d2384a71
pkgname = limine-mkinitcpio-hook
@@ -0,0 +1,59 @@
# Maintainer: Zesko
_pkgname="limine-entry-tool"
pkgname="limine-mkinitcpio-hook"
pkgver=1.29.0
pkgrel=1
_extver="-${pkgrel}"
pkgdesc="Install kernels for the Limine bootloader."
arch=('x86_64' 'aarch64')
url="https://gitlab.com/Zesko/limine-entry-tool"
source=("$url/-/archive/${pkgver}${_extver}/$_pkgname-${pkgver}${_extver}.tar.gz")
source_x86_64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-x64_bin.tar.gz")
source_aarch64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-aarch64_bin.tar.gz")
license=("GPL3")
provides=('limine-entry-tool')
options=(!debug !strip)
_graalvm_version=java-25-graalvm-ce
depends=(
'bash'
'grep'
'tar'
'limine'
'mkinitcpio'
'efibootmgr')
optdepends=(
'kernel-modules-hook: Safely keeps kernel on upgrade failure'
'sbctl: Signs UEFI boot files for Secure Boot when enabled'
'journalctl-desktop-notification: Sends desktop notifications when errors occur'
)
makedepends=('git' 'gradle')
backup=(etc/limine-entry-tool.conf)
conflicts=('limine-entry-tool')
sha256sums=('03e041631aa1275f0a03ecae0ada6f1bb3fa69e5b428e5b68f7240da68b6b4f4')
sha256sums_x86_64=('e0be791c8fda4d03b6b0a0cb824fef3149736170057b3a515252b44419606af0')
sha256sums_aarch64=('b4580d9f223d0a4b3a1757e58b18ff4c1db950e67e105fc5cb741457d2384a71')
prepare() {
[[ -d "${_graalvm_version}" ]] && rm -rf "${_graalvm_version}"
mv graalvm-community-openjdk-*/ "${_graalvm_version}"
if ! command -v "${_graalvm_version}"/bin/javac >/dev/null 2>&1; then
echo "Error: ${_graalvm_version}/bin/javac not found." >&2
return 1
fi
}
build() {
cd "$srcdir/${_pkgname}-${pkgver}${_extver}"
JAVA_HOME="$srcdir/${_graalvm_version}" gradle clean nativeCompile
}
package() {
cd "$srcdir/${_pkgname}-${pkgver}${_extver}"
src_path="install/arch-linux/${pkgname}"
install -dm 755 "$src_path/usr/share/limine-entry-tool.d/"
install -dm 755 "$src_path/etc/limine-entry-tool.d/"
install -Dm 755 build/native/nativeCompile/limine-entry-tool "$src_path/usr/lib/limine/"
install -dm 755 "$src_path/usr/share/doc/${pkgname}/"
cp -r README.md CHANGELOG.md "$src_path/usr/share/doc/${pkgname}/"
cp -r "$src_path/usr" "$src_path/etc" "$pkgdir"
}
@@ -0,0 +1,33 @@
pkgbase = limine-snapper-sync
pkgdesc = Automatically syncs Limine snapshot entries with Snapper snapshots.
pkgver = 1.22.0
pkgrel = 1
url = https://gitlab.com/Zesko/limine-snapper-sync
arch = x86_64
arch = aarch64
license = GPL3
makedepends = git
makedepends = gradle
depends = bash
depends = limine
depends = snapper
depends = btrfs-progs
depends = libnotify
optdepends = limine-dracut-support: Automates kernel installation/removal and Limine boot entry management.
optdepends = limine-mkinitcpio-hook: Automates kernel installation/removal and Limine boot entry management.
optdepends = inotify-tools: Monitors when snapshots are created or deleted.
optdepends = rsync: Alternative method for restoring snapshots.
optdepends = b3sum: Fast Blake3 hash function to prevent duplication.
optdepends = xxhash: Fast hashing utility for deduplication with shorter hashes.
conflicts = limine-snapper-sync-git
options = !debug
options = !strip
backup = etc/limine-snapper-sync.conf
source = limine-snapper-sync-1.22.0.tar.gz::https://gitlab.com/Zesko/limine-snapper-sync/-/archive/1.22.0/limine-snapper-sync-1.22.0.tar.gz
sha256sums = c68cf79d04da748eeed7df191999c4f3200dfe145e63beec7ea4767f9bd8ba74
source_x86_64 = https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-x64_bin.tar.gz
sha256sums_x86_64 = e0be791c8fda4d03b6b0a0cb824fef3149736170057b3a515252b44419606af0
source_aarch64 = https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-aarch64_bin.tar.gz
sha256sums_aarch64 = b4580d9f223d0a4b3a1757e58b18ff4c1db950e67e105fc5cb741457d2384a71
pkgname = limine-snapper-sync
@@ -0,0 +1,56 @@
# Maintainer: Zesko
pkgname="limine-snapper-sync"
pkgver=1.22.0
pkgrel=1
pkgdesc="Automatically syncs Limine snapshot entries with Snapper snapshots."
arch=('x86_64' 'aarch64')
url="https://gitlab.com/Zesko/limine-snapper-sync"
source=("$pkgname-$pkgver.tar.gz::$url/-/archive/$pkgver/$pkgname-$pkgver.tar.gz")
source_x86_64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-x64_bin.tar.gz")
source_aarch64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-aarch64_bin.tar.gz")
license=("GPL3")
options=(!debug !strip)
_graalvm_version=java-25-graalvm-ce
depends=(
'bash'
'limine'
'snapper'
'btrfs-progs'
'libnotify')
optdepends=(
'limine-dracut-support: Automates kernel installation/removal and Limine boot entry management.'
'limine-mkinitcpio-hook: Automates kernel installation/removal and Limine boot entry management.'
'inotify-tools: Monitors when snapshots are created or deleted.'
'rsync: Alternative method for restoring snapshots.'
'b3sum: Fast Blake3 hash function to prevent duplication.'
'xxhash: Fast hashing utility for deduplication with shorter hashes.'
)
makedepends=('git' 'gradle')
backup=(etc/limine-snapper-sync.conf)
conflicts=('limine-snapper-sync-git')
sha256sums=('c68cf79d04da748eeed7df191999c4f3200dfe145e63beec7ea4767f9bd8ba74')
sha256sums_x86_64=('e0be791c8fda4d03b6b0a0cb824fef3149736170057b3a515252b44419606af0')
sha256sums_aarch64=('b4580d9f223d0a4b3a1757e58b18ff4c1db950e67e105fc5cb741457d2384a71')
prepare() {
[[ -d "${_graalvm_version}" ]] && rm -rf "${_graalvm_version}"
mv graalvm-community-openjdk-*/ "${_graalvm_version}"
if ! command -v "${_graalvm_version}"/bin/javac >/dev/null 2>&1; then
echo "Error: "${_graalvm_version}"/bin/javac not found." >&2
return 1
fi
}
build() {
cd "$srcdir/${pkgname}-${pkgver}"
JAVA_HOME="$srcdir/${_graalvm_version}" gradle clean nativeCompile
}
package() {
cd "$srcdir/${pkgname}-${pkgver}"
src_path="install/arch-linux/"
install -Dm 755 "build/native/nativeCompile/${pkgname}" "$src_path/usr/lib/limine/"
install -dm 755 "$src_path/usr/share/doc/limine-snapper-sync/"
cp -r README.md CHANGELOG.md "$src_path/usr/share/doc/limine-snapper-sync/"
cp -r "$src_path/usr" "$src_path/etc" "$pkgdir"
}
@@ -0,0 +1,16 @@
pkgbase = macbook12-spi-driver-dkms
pkgdesc = Driver for the keyboard, touchpad and touchbar found in newer MacBook (Pro) models
pkgver = 0+git.315
pkgrel = 1
url = https://github.com/marc-git/macbook12-spi-driver
arch = i686
arch = x86_64
license = GPL2
makedepends = git
depends = dkms
source = git+https://github.com/marc-git/macbook12-spi-driver.git#branch=touchbar-driver-hid-driver
source = dkms.conf
sha256sums = SKIP
sha256sums = e42243352d015a78e5d13260361d3052d0b84c4105bcb89191a319f2249cc47b
pkgname = macbook12-spi-driver-dkms
@@ -0,0 +1,4 @@
/src/
/pkg/
/*.tar.*
/macbook12-spi-driver/
@@ -0,0 +1,37 @@
# Maintainer: Christoph Gysin <christoph.gysin@gmail.com>
# Maintainer: Andrey Melentyev <andrey.melentyev@protonmail.com>
_pkgbase=macbook12-spi-driver
pkgname=(${_pkgbase}-dkms)
pkgver=0+git.315
pkgrel=1
pkgdesc="Driver for the keyboard, touchpad and touchbar found in newer MacBook (Pro) models"
arch=('i686' 'x86_64')
url="https://github.com/marc-git/macbook12-spi-driver"
license=('GPL2')
depends=('dkms')
makedepends=('git')
optdepends=()
source=(git+https://github.com/marc-git/macbook12-spi-driver.git#branch=touchbar-driver-hid-driver
dkms.conf)
sha256sums=('SKIP'
'e42243352d015a78e5d13260361d3052d0b84c4105bcb89191a319f2249cc47b')
pkgver() {
cd $_pkgbase
echo "0+git.$(git rev-list HEAD --count)"
}
package() {
install -dm755 "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}
# Copy sources (including Makefile)
cp -r ${_pkgbase}/* "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}/
# Copy dkms.conf over the original one from the repo
install -Dm644 dkms.conf "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}/dkms.conf
# Set name and version
sed -e "s/@_PKGBASE@/${_pkgbase}/" \
-e "s/@PKGVER@/${pkgver}/" \
-i "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}/dkms.conf
}
@@ -0,0 +1,17 @@
PACKAGE_NAME="@_PKGBASE@"
PACKAGE_VERSION="@PKGVER@"
AUTOINSTALL="yes"
CLEAN="make clean"
BUILT_MODULE_NAME[0]="applespi"
BUILT_MODULE_NAME[1]="apple-ibridge"
BUILT_MODULE_NAME[2]="apple-ib-tb"
BUILT_MODULE_NAME[3]="apple-ib-als"
MAKE[0]="make KDIR=/usr/lib/modules/$kernelver/build"
MAKE[1]="make KDIR=/usr/lib/modules/$kernelver/build"
MAKE[2]="make KDIR=/usr/lib/modules/$kernelver/build"
MAKE[3]="make KDIR=/usr/lib/modules/$kernelver/build"
DEST_MODULE_LOCATION[0]="/kernel/drivers/spi"
DEST_MODULE_LOCATION[1]="/kernel/drivers/misc"
DEST_MODULE_LOCATION[2]="/kernel/drivers/misc"
DEST_MODULE_LOCATION[3]="/kernel/drivers/misc"
@@ -0,0 +1,62 @@
pkgbase = nvidia-580xx-utils
pkgver = 580.126.09
pkgrel = 1
url = http://www.nvidia.com/
arch = x86_64
license = custom
options = !strip
source = nvidia-drm-outputclass.conf
source = nvidia-utils.sysusers
source = nvidia.rules
source = systemd-homed-override.conf
source = systemd-suspend-override.conf
source = nvidia-sleep.conf
source = https://us.download.nvidia.com/XFree86/Linux-x86_64/580.126.09/NVIDIA-Linux-x86_64-580.126.09.run
source = 0001-Enable-atomic-kernel-modesetting-by-default.patch
source = limit-vram-usage
sha256sums = be99ff3def641bb900c2486cce96530394c5dc60548fc4642f19d3a4c784134d
sha256sums = f77a5247a3ba63e9fad3a3b2822d0fcfa51e0f79b5a90bd79bf08ea34b64ab07
sha256sums = 0e54249a7754b668b436f0f7aa7e95fff68edbb12a93dbee4660e09a8c695f84
sha256sums = c5aa7b8abe69e72bfdc6b9ee8afbfd350bcc557e894558f2e6e4087fa9aa0dd8
sha256sums = 1d053c5078387021338cfc3a732bed61be1a20a549775573788e9134775c8149
sha256sums = 12d31a5425aba66be9e9129012cde82755ad4d5b7ce9933df8fc398c4fa8d631
sha256sums = 4cac53e48f8adff661d47c8788ed24059a248c9fd8098ceafd088a498986ec26
sha256sums = 163c57160cc1033020680f638b44ebd94b496152dcd8951e87d5077d4d5c2009
sha256sums = b14f7a65359c05c373ddfc750cd4cf086a48e815489d93ad5cbe1dbf84bf8f5a
pkgname = nvidia-580xx-utils
pkgdesc = NVIDIA drivers utilities (580xx)
install = nvidia-580xx-utils.install
depends = libglvnd
depends = egl-wayland
depends = egl-gbm
depends = egl-x11
optdepends = nvidia-580xx-settings: configuration tool
optdepends = xorg-server: Xorg support
optdepends = xorg-server-devel: nvidia-xconfig
provides = vulkan-driver
provides = nvidia-utils
provides = opengl-driver
provides = nvidia-libgl
conflicts = nvidia-libgl
conflicts = nvidia-utils
replaces = nvidia-libgl
pkgname = opencl-nvidia-580xx
pkgdesc = OpenCL implemention for NVIDIA (580xx)
depends = zlib
optdepends = opencl-headers: headers necessary for OpenCL development
provides = opencl-driver
provides = opencl-nvidia
conflicts = opencl-nvidia
pkgname = nvidia-580xx-dkms
pkgdesc = NVIDIA kernel modules - module sources (580xx)
depends = dkms
depends = nvidia-580xx-utils=580.126.09
depends = libglvnd
provides = NVIDIA-MODULE
provides = nvidia
conflicts = NVIDIA-MODULE
conflicts = nvidia
conflicts = nvidia-open-dkms
@@ -0,0 +1,43 @@
From 60d1ddc17835226ec67ed1bc1c28524e3bb6e151 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Sun, 20 Apr 2025 18:13:22 +0200
Subject: [PATCH 1/8] Enable atomic kernel modesetting by default
This is required for proper functionality under Wayland. fbdev has been default enabled since 570 so that
hunk can be removed from this patch.
Signed-off-by: Peter Jung <admin@ptr1337.dev>
---
nvidia-drm/nvidia-drm-linux.c | 2 +-
nvidia-drm/nvidia-drm-os-interface.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git an/nvidia-drm/nvidia-drm-linux.c b/nvidia-drm/nvidia-drm-linux.c
index 3cb1815d..209cb469 100644
--- a/nvidia-drm/nvidia-drm-linux.c
+++ b/nvidia-drm/nvidia-drm-linux.c
@@ -31,7 +31,7 @@
MODULE_PARM_DESC(
modeset,
- "Enable atomic kernel modesetting (1 = enable, 0 = disable (default))");
+ "Enable atomic kernel modesetting (1 = enable (default), 0 = disable)");
module_param_named(modeset, nv_drm_modeset_module_param, bool, 0400);
#if defined(NV_DRM_FBDEV_AVAILABLE)
diff --git a/nvidia-drm/nvidia-drm-os-interface.c b/nvidia-drm/nvidia-drm-os-interface.c
index 7617476d..f22afd77 100644
--- a/nvidia-drm/nvidia-drm-os-interface.c
+++ b//nvidia-drm/nvidia-drm-os-interface.c
@@ -41,7 +41,7 @@
#include <drm/drmP.h>
#endif
-bool nv_drm_modeset_module_param = false;
+bool nv_drm_modeset_module_param = true;
bool nv_drm_fbdev_module_param = true;
void *nv_drm_calloc(size_t nmemb, size_t size)
--
2.49.0.391.g4bbb303af6
@@ -0,0 +1,302 @@
# Maintainer: Vasiliy Stelmachenok <ventureo@cachyos.org>
# Contributor: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: Peter Jung <ptr1337@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
# Contributor: Vasiliy Stelmachenok <ventureo@yandex.ru>
# Contributor: Thomas Baechler <thomas@archlinux.org>
pkgbase=nvidia-580xx-utils
pkgname=('nvidia-580xx-utils' 'opencl-nvidia-580xx' 'nvidia-580xx-dkms')
pkgver=580.126.09
pkgrel=1
arch=('x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
_pkg="NVIDIA-Linux-x86_64-${pkgver}"
_pkg_open="NVIDIA-kernel-module-source-${pkgver}"
source=('nvidia-drm-outputclass.conf'
'nvidia-utils.sysusers'
'nvidia.rules'
'systemd-homed-override.conf'
'systemd-suspend-override.conf'
'nvidia-sleep.conf'
"https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run"
'0001-Enable-atomic-kernel-modesetting-by-default.patch'
'limit-vram-usage')
sha256sums=(
'be99ff3def641bb900c2486cce96530394c5dc60548fc4642f19d3a4c784134d'
'f77a5247a3ba63e9fad3a3b2822d0fcfa51e0f79b5a90bd79bf08ea34b64ab07'
'0e54249a7754b668b436f0f7aa7e95fff68edbb12a93dbee4660e09a8c695f84'
'c5aa7b8abe69e72bfdc6b9ee8afbfd350bcc557e894558f2e6e4087fa9aa0dd8'
'1d053c5078387021338cfc3a732bed61be1a20a549775573788e9134775c8149'
'12d31a5425aba66be9e9129012cde82755ad4d5b7ce9933df8fc398c4fa8d631'
'4cac53e48f8adff661d47c8788ed24059a248c9fd8098ceafd088a498986ec26'
'163c57160cc1033020680f638b44ebd94b496152dcd8951e87d5077d4d5c2009'
'b14f7a65359c05c373ddfc750cd4cf086a48e815489d93ad5cbe1dbf84bf8f5a'
)
create_links() {
# create soname links
find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib; do
_soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)
_base=$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/')
[[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}"
[[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}"
done
}
prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
bsdtar -xf nvidia-persistenced-init.tar.bz2
# Enable modeset by default
# This avoids various issue, when Simplefb is used
# https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/issues/14
# https://github.com/rpmfusion/nvidia-kmod/blob/master/make_modeset_default.patch
patch -Np1 -i "${srcdir}/0001-Enable-atomic-kernel-modesetting-by-default.patch" -d "${srcdir}/${_pkg}/kernel"
shopt -s globstar
for conf in "${srcdir}"/**/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
shopt -u globstar
}
package_opencl-nvidia-580xx() {
pkgdesc="OpenCL implemention for NVIDIA (580xx)"
depends=('zlib')
optdepends=('opencl-headers: headers necessary for OpenCL development')
provides=('opencl-driver' 'opencl-nvidia')
conflicts=('opencl-nvidia')
cd "${_pkg}"
# OpenCL
install -Dm644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd"
install -Dm755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}"
create_links
mkdir -p "${pkgdir}/usr/share/licenses"
ln -s nvidia-utils "${pkgdir}/usr/share/licenses/opencl-nvidia"
}
package_nvidia-580xx-dkms() {
pkgdesc="NVIDIA kernel modules - module sources (580xx)"
depends=('dkms' "nvidia-580xx-utils=${pkgver}" 'libglvnd')
provides=('NVIDIA-MODULE' 'nvidia')
conflicts=('NVIDIA-MODULE' 'nvidia' 'nvidia-open-dkms')
cd ${_pkg}
install -dm 755 "${pkgdir}/usr/src"
cp -dr --no-preserve='ownership' kernel "${pkgdir}/usr/src/nvidia-${pkgver}"
install -Dm644 "${srcdir}/${_pkg}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
package_nvidia-580xx-utils() {
pkgdesc="NVIDIA drivers utilities (580xx)"
depends=('libglvnd' 'egl-wayland' 'egl-gbm' 'egl-x11')
optdepends=(
'nvidia-580xx-settings: configuration tool'
'xorg-server: Xorg support'
'xorg-server-devel: nvidia-xconfig'
)
conflicts=('nvidia-libgl' 'nvidia-utils')
provides=('vulkan-driver' 'nvidia-utils' 'opengl-driver' 'nvidia-libgl')
replaces=('nvidia-libgl')
install="${pkgname}.install"
cd "${_pkg}"
# Check http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/README/installedcomponents.html
# for hints on what needs to be installed where.
# X driver
install -Dm755 nvidia_drv.so "${pkgdir}/usr/lib/xorg/modules/drivers/nvidia_drv.so"
# Wayland/GBM
mkdir -p "${pkgdir}/usr/lib/gbm"
ln -sr "${pkgdir}/usr/lib/libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib/gbm/nvidia-drm_gbm.so"
# firmware
install -Dm644 -t "${pkgdir}/usr/lib/firmware/nvidia/${pkgver}/" firmware/*.bin
# GLX extension module for X
install -Dm755 "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.${pkgver}"
# Ensure that X finds glx
ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1"
ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so"
install -Dm755 "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_nvidia.so.${pkgver}"
# OpenGL libraries
install -Dm755 "libEGL_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libEGL_nvidia.so.${pkgver}"
install -Dm755 "libGLESv1_CM_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM_nvidia.so.${pkgver}"
install -Dm755 "libGLESv2_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2_nvidia.so.${pkgver}"
install -Dm644 "10_nvidia.json" "${pkgdir}/usr/share/glvnd/egl_vendor.d/10_nvidia.json"
# OpenGL core library
install -Dm755 "libnvidia-glcore.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-glcore.so.${pkgver}"
install -Dm755 "libnvidia-eglcore.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-eglcore.so.${pkgver}"
install -Dm755 "libnvidia-glsi.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-glsi.so.${pkgver}"
# misc
install -Dm755 "libnvidia-api.so.1" "${pkgdir}/usr/lib/libnvidia-api.so.1"
install -Dm755 "libnvidia-fbc.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-fbc.so.${pkgver}"
install -Dm755 "libnvidia-encode.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-encode.so.${pkgver}"
install -Dm755 "libnvidia-cfg.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-cfg.so.${pkgver}"
install -Dm755 "libnvidia-ml.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ml.so.${pkgver}"
install -Dm755 "libnvidia-glvkspirv.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-glvkspirv.so.${pkgver}"
install -Dm755 "libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-allocator.so.${pkgver}"
install -Dm755 "libnvidia-gpucomp.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-gpucomp.so.${pkgver}"
# Vulkan ICD
install -Dm644 "nvidia_icd.json" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
install -Dm644 "nvidia_layers.json" "${pkgdir}/usr/share/vulkan/implicit_layer.d/nvidia_layers.json"
# VulkanSC
install -D -m755 nvidia-pcc -t "${pkgdir}/usr/bin"
install -D -m755 "libnvidia-vksc-core.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m644 nvidia_icd_vksc.json -t "${pkgdir}/usr/share/vulkansc/icd.d"
# VDPAU
install -Dm755 "libvdpau_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/vdpau/libvdpau_nvidia.so.${pkgver}"
# nvidia-tls library
install -Dm755 "libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-tls.so.${pkgver}"
# CUDA
install -Dm755 "libcuda.so.${pkgver}" "${pkgdir}/usr/lib/libcuda.so.${pkgver}"
install -Dm755 "libnvcuvid.so.${pkgver}" "${pkgdir}/usr/lib/libnvcuvid.so.${pkgver}"
install -Dm755 "libcudadebugger.so.${pkgver}" "${pkgdir}/usr/lib/libcudadebugger.so.${pkgver}"
# NVVM Compiler library loaded by the CUDA driver to do JIT link-time-optimization
install -Dm644 "libnvidia-nvvm.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-nvvm.so.${pkgver}"
install -Dm755 "libnvidia-nvvm70.so.4" "${pkgdir}/usr/lib/libnvidia-nvvm70.so.4"
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
install -Dm755 "libnvidia-ptxjitcompiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ptxjitcompiler.so.${pkgver}"
# raytracing
install -Dm755 "nvoptix.bin" "${pkgdir}/usr/share/nvidia/nvoptix.bin"
install -Dm755 "libnvoptix.so.${pkgver}" "${pkgdir}/usr/lib/libnvoptix.so.${pkgver}"
install -Dm755 "libnvidia-rtcore.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-rtcore.so.${pkgver}"
# NGX
install -Dm755 nvidia-ngx-updater "${pkgdir}/usr/bin/nvidia-ngx-updater"
install -Dm755 "libnvidia-ngx.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ngx.so.${pkgver}"
install -Dm755 _nvngx.dll "${pkgdir}/usr/lib/nvidia/wine/_nvngx.dll"
install -Dm755 nvngx.dll "${pkgdir}/usr/lib/nvidia/wine/nvngx.dll"
install -Dm755 nvngx_dlssg.dll "${pkgdir}/usr/lib/nvidia/wine/nvngx_dlssg.dll"
# Optical flow
install -Dm755 "libnvidia-opticalflow.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opticalflow.so.${pkgver}"
# Cryptography library wrapper
ls libnvidia-pkcs*
ls *openssl*
install -Dm755 "libnvidia-pkcs11.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-pkcs11.so.${pkgver}"
install -Dm755 "libnvidia-pkcs11-openssl3.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-pkcs11-openssl3.so.${pkgver}"
# Sandboxhelper
install -Dm755 "libnvidia-sandboxutils.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-sandboxutils.so.${pkgver}"
# Present Helper
install -Dm755 "libnvidia-present.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-present.so.${pkgver}"
# Debug
install -Dm755 nvidia-debugdump "${pkgdir}/usr/bin/nvidia-debugdump"
# nvidia-xconfig
install -Dm755 nvidia-xconfig "${pkgdir}/usr/bin/nvidia-xconfig"
install -Dm644 nvidia-xconfig.1.gz "${pkgdir}/usr/share/man/man1/nvidia-xconfig.1.gz"
# nvidia-bug-report
install -Dm755 nvidia-bug-report.sh "${pkgdir}/usr/bin/nvidia-bug-report.sh"
# nvidia-smi
install -Dm755 nvidia-smi "${pkgdir}/usr/bin/nvidia-smi"
install -Dm644 nvidia-smi.1.gz "${pkgdir}/usr/share/man/man1/nvidia-smi.1.gz"
# nvidia-cuda-mps
install -Dm755 nvidia-cuda-mps-server "${pkgdir}/usr/bin/nvidia-cuda-mps-server"
install -Dm755 nvidia-cuda-mps-control "${pkgdir}/usr/bin/nvidia-cuda-mps-control"
install -Dm644 nvidia-cuda-mps-control.1.gz "${pkgdir}/usr/share/man/man1/nvidia-cuda-mps-control.1.gz"
# nvidia-modprobe
# This should be removed if nvidia fixed their uvm module!
install -Dm4755 nvidia-modprobe "${pkgdir}/usr/bin/nvidia-modprobe"
install -Dm644 nvidia-modprobe.1.gz "${pkgdir}/usr/share/man/man1/nvidia-modprobe.1.gz"
# nvidia-persistenced
install -Dm755 nvidia-persistenced "${pkgdir}/usr/bin/nvidia-persistenced"
install -Dm644 nvidia-persistenced.1.gz "${pkgdir}/usr/share/man/man1/nvidia-persistenced.1.gz"
install -Dm644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
sed -i 's/__USER__/nvidia-persistenced/' "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
# application profiles
install -Dm644 "nvidia-application-profiles-${pkgver}-rc" "${pkgdir}/usr/share/nvidia/nvidia-application-profiles-${pkgver}-rc"
install -Dm644 "nvidia-application-profiles-${pkgver}-key-documentation" "${pkgdir}/usr/share/nvidia/nvidia-application-profiles-${pkgver}-key-documentation"
# Application profiles to fix vram usage at electron applications
install -Dm644 "$srcdir"/limit-vram-usage "${pkgdir}/etc/nvidia/nvidia-application-profiles-rc.d/limit-vram-usage"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/nvidia-utils/LICENSE"
install -Dm644 README.txt "${pkgdir}/usr/share/doc/nvidia/README"
install -Dm644 NVIDIA_Changelog "${pkgdir}/usr/share/doc/nvidia/NVIDIA_Changelog"
cp -r html "${pkgdir}/usr/share/doc/nvidia/"
ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
# new power management support
install -Dm644 systemd/system/*.service -t "${pkgdir}/usr/lib/systemd/system"
install -Dm755 systemd/system-sleep/nvidia "${pkgdir}/usr/lib/systemd/system-sleep/nvidia"
install -Dm755 systemd/nvidia-sleep.sh "${pkgdir}/usr/bin/nvidia-sleep.sh"
install -Dm755 nvidia-powerd "${pkgdir}/usr/bin/nvidia-powerd"
install -Dm644 nvidia-dbus.conf "${pkgdir}/usr/share/dbus-1/system.d/nvidia-dbus.conf"
install -Dm644 "${srcdir}/systemd-homed-override.conf" "${pkgdir}/usr/lib/systemd/system/systemd-homed.service.d/10-nvidia-no-freeze-session.conf"
install -Dm644 "${srcdir}/systemd-suspend-override.conf" "${pkgdir}/usr/lib/systemd/system/systemd-suspend.service.d/10-nvidia-no-freeze-session.conf"
install -Dm644 "${srcdir}/systemd-suspend-override.conf" "${pkgdir}/usr/lib/systemd/system/systemd-suspend-then-hibernate.service.d/10-nvidia-no-freeze-session.conf"
install -Dm644 "${srcdir}/systemd-suspend-override.conf" "${pkgdir}/usr/lib/systemd/system/systemd-hibernate.service.d/10-nvidia-no-freeze-session.conf"
install -Dm644 "${srcdir}/systemd-suspend-override.conf" "${pkgdir}/usr/lib/systemd/system/systemd-hybrid-sleep.service.d/10-nvidia-no-freeze-session.conf"
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -Dm644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf"
install -Dm644 "${srcdir}/nvidia-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf"
install -Dm644 "${srcdir}/nvidia.rules" "$pkgdir"/usr/lib/udev/rules.d/60-nvidia.rules
# Blacklist nouveau and nova
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" <<END
blacklist nouveau
blacklist nova_core
blacklist nova_drm
END
echo "nvidia-uvm" | install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf"
# Enable PreserveVideoMemoryAllocations and TemporaryFilePath
# Fixes Wayland Sleep, when restoring the session
install -Dm644 "${srcdir}/nvidia-sleep.conf" "${pkgdir}/usr/lib/modprobe.d/nvidia-sleep.conf"
# Lists NVIDIA driver files for container runtimes like nvidia-container-toolkit
install -Dm644 sandboxutils-filelist.json "${pkgdir}/usr/share/nvidia/files.d/sandboxutils-filelist.json"
create_links
}
@@ -0,0 +1,27 @@
{
"rules": [
{
"pattern": {
"op": "or",
"sub": [
{ "feature": "procname", "matches": "Proton Pass" },
{ "feature": "procname", "matches": "Proton Mail" },
{ "feature": "procname", "matches": "vesktop" },
{ "feature": "procname", "matches": "discord" },
{ "feature": "procname", "matches": "DiscordCanary" },
{ "feature": "procname", "matches": "spotify" },
{ "feature": "procname", "matches": "chromium" },
{ "feature": "procname", "matches": "chrome" },
{ "feature": "procname", "matches": "ghostty" },
{ "feature": "procname", "matches": "webcord" },
{ "feature": "procname", "matches": "brave" },
{ "feature": "procname", "matches": "firefox" },
{ "feature": "procname", "matches": "alacritty" },
{ "feature": "procname", "matches": "konsole" },
{ "feature": "procname", "matches": "niri" }
]
},
"profile": "No VidMem Reuse"
}
]
}
@@ -0,0 +1,26 @@
post_install() {
# Enable NVIDIA Services at first installation
# The services are mandatory, see under systemd configuration
# https://download.nvidia.com/XFree86/Linux-x86_64/560.35.03/README/powermanagement.html#SystemdConfigur74e29
# This is also an requirement to have sleep working together with PreserveAllocations
# https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/commit/55644f78820fd382fbdf283b1fd7f08e6b7c22d7
# https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/merge_requests/16
systemctl enable nvidia-resume nvidia-hibernate nvidia-suspend
}
post_upgrade() {
# Only enable the services for the 560.35.03-16 version
# This avoids, that the services are automatically enabled in every upgrade
if (( $(vercmp $2 560.35.03-16) < 0)); then
for service in nvidia-resume nvidia-hibernate nvidia-suspend; do
if ! systemctl is-enabled --quiet $service; then
echo "Enabling $service..."
systemctl enable $service
fi
done
fi
}
post_remove() {
systemctl disable nvidia-resume nvidia-hibernate nvidia-suspend
}
@@ -0,0 +1,8 @@
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
ModulePath "/usr/lib/nvidia/xorg"
ModulePath "/usr/lib/xorg/modules"
EndSection
@@ -0,0 +1 @@
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp
@@ -0,0 +1 @@
u! nvidia-persistenced 143 'NVIDIA Persistence Daemon'
@@ -0,0 +1,9 @@
# Device nodes are created by nvidia-modprobe, which is called by the nvidia DDX.
# In case the DDX is not started, the device nodes are never created, so call
# nvidia-modprobe in the udev rules to cover the Wayland/EGLStream and compute
# case without a started display. In the case where vfio-pci is used
# nvidia-modprobe should not be invoked.
ACTION=="add|bind", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", \
DRIVER=="nvidia", TEST!="/dev/nvidia-uvm", \
RUN+="/usr/bin/nvidia-modprobe", \
RUN+="/usr/bin/nvidia-modprobe -c0 -u"
@@ -0,0 +1,2 @@
[Service]
Environment="SYSTEMD_HOME_LOCK_FREEZE_SESSION=false"
@@ -0,0 +1,2 @@
[Service]
Environment="SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false"
+40
View File
@@ -0,0 +1,40 @@
# Maintainer: Ryan Hughes <ryan@omarchy.org>
pkgname=omarchy-fish
pkgver=1.2.0
pkgrel=1
pkgdesc="Omarchy shell configuration for Fish"
arch=('any')
url="https://github.com/omacom-io/omarchy-fish"
license=('MIT')
depends=('fish' 'eza' 'mise' 'zoxide' 'starship' 'fzf' 'fd' 'bat')
options=('!debug')
install=omarchy-fish.install
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
"fzf.fish-v10.3.tar.gz::https://github.com/PatrickF1/fzf.fish/archive/refs/tags/v10.3.tar.gz")
sha256sums=('096f8fb8986292c0d0f3e319a5e24ad9bad009fa947893c4521331f0b2a7c005'
'a0d56e974b8d5144c3262dcf87630c8886407d28a2f9e626e46bc18199fe6f97')
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
# Install fzf.fish to vendor directories
install -dm755 "${pkgdir}/usr/share/fish/vendor_conf.d"
install -dm755 "${pkgdir}/usr/share/fish/vendor_functions.d"
install -dm755 "${pkgdir}/usr/share/fish/vendor_completions.d"
cp "${srcdir}/fzf.fish-10.3/conf.d/"*.fish "${pkgdir}/usr/share/fish/vendor_conf.d/"
cp "${srcdir}/fzf.fish-10.3/functions/"*.fish "${pkgdir}/usr/share/fish/vendor_functions.d/"
cp "${srcdir}/fzf.fish-10.3/completions/"*.fish "${pkgdir}/usr/share/fish/vendor_completions.d/"
# Install omarchy-fish conf.d and functions
cp conf.d/*.fish "${pkgdir}/usr/share/fish/vendor_conf.d/"
cp functions/*.fish "${pkgdir}/usr/share/fish/vendor_functions.d/"
# Install templates and documentation
install -dm755 "${pkgdir}/usr/share/${pkgname}"
cp -r templates LICENSE README.md "${pkgdir}/usr/share/${pkgname}/"
cp "${srcdir}/fzf.fish-10.3/LICENSE.md" "${pkgdir}/usr/share/${pkgname}/LICENSE.fzf.fish"
cp "${srcdir}/fzf.fish-10.3/README.md" "${pkgdir}/usr/share/${pkgname}/README.fzf.fish.md"
# Install setup script
install -Dm755 bin/omarchy-setup-fish "${pkgdir}/usr/bin/omarchy-setup-fish"
}
@@ -0,0 +1,14 @@
post_install() {
echo "==> omarchy-fish installed successfully!"
echo ""
echo "==> To run fish from bash:"
echo " fish"
echo ""
echo "==> To set as default shell:"
echo " omarchy-setup-fish"
}
post_remove() {
echo "==> omarchy-fish has been removed"
echo "==> To restore bash, copy a backup to ~/.bashrc"
}
+18
View File
@@ -0,0 +1,18 @@
pkgbase = omarchy-keyring
pkgdesc = Omarchy keyring
pkgver = 20251026
pkgrel = 1
url = https://omarchy.org
install = omarchy-keyring.install
arch = any
license = GPL-3.0-or-later
source = omarchy.gpg
source = omarchy-revoked
source = omarchy-trusted
source = omarchy-keyring.install
sha512sums = f9455c60f30984d73ddebecf55a1b6dcb3afba84638c5d78130494bb828f53cfa19d393c27e43514d5847b37dcd0a5601ba39b213c2185ff153001b7221c9c8c
sha512sums = be688838ca8686e5c90689bf2ab585cef1137c999b48c70b92f67a5c34dc15697b5d11c982ed6d71be1e1e7f7b4e0733884aa97c3f7a339a8ed03577cf74be09
sha512sums = 39767d13b783903d97f68e23100982c645356c7f7dbd9625ae41f4fa217c937f09e0f5dd8e0741f0950f2d9418a160dbce7563e1f4a4599d545e38f986fd8fb9
sha512sums = b684c496b6866dfea05595965727709ef63b9abe6a89276b89f0dba0271112a0184a934884a6d53d1c5f4d6a01ac36c6d296ce475f5c7d10a11ee397e2926194
pkgname = omarchy-keyring
+23
View File
@@ -0,0 +1,23 @@
# Maintainer: Omarchy <pkgs@omarchy.org>
pkgname=omarchy-keyring
pkgver=20251027
pkgrel=1
pkgdesc="Omarchy keyring"
arch=(any)
url="https://omarchy.org"
license=('GPL-3.0-or-later')
install=$pkgname.install
source=("omarchy.gpg"
"omarchy-revoked"
"omarchy-trusted"
"$install")
sha512sums=('f9455c60f30984d73ddebecf55a1b6dcb3afba84638c5d78130494bb828f53cfa19d393c27e43514d5847b37dcd0a5601ba39b213c2185ff153001b7221c9c8c'
'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'
'39767d13b783903d97f68e23100982c645356c7f7dbd9625ae41f4fa217c937f09e0f5dd8e0741f0950f2d9418a160dbce7563e1f4a4599d545e38f986fd8fb9'
'b684c496b6866dfea05595965727709ef63b9abe6a89276b89f0dba0271112a0184a934884a6d53d1c5f4d6a01ac36c6d296ce475f5c7d10a11ee397e2926194')
package() {
install -D -m0644 -t "${pkgdir}"/usr/share/pacman/keyrings/ 'omarchy'{.gpg,-trusted,-revoked}
}
@@ -0,0 +1,14 @@
post_upgrade() {
if usr/bin/pacman-key -l >/dev/null 2>&1; then
usr/bin/pacman-key --populate omarchy
else
echo " >>> Run \`pacman-key --init\` to set up your pacman keyring."
echo " >>> Then run \`pacman-key --populate omarchy\` to install the Omarchy keyring."
fi
}
post_install() {
if [ -x usr/bin/pacman-key ]; then
post_upgrade
fi
}
@@ -0,0 +1 @@
40DFB630FF42BCFFB047046CF0134EE680CAC571:4:
@@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEaLAsIhYJKwYBBAHaRw8BAQdAYmKmrWMlfpdIPh3QzvEMzzxdNd/kqDl/Bj8H
mCavKji0Gk9tYXJjaHkgPHBrZ3NAb21hcmNoeS5vcmc+iJAEExYKADgWIQRA37Yw
/0K8/7BHBGzwE07mgMrFcQUCaLAsIgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIX
gAAKCRDwE07mgMrFcRF2AQCjjvjgju/kowkN69nenqqRnE+v2MrHmWh2wU0ugIt9
3gD/bXGugWc5J1vqoT+5aCnJAtfRRmHEfsrAiFgjduB+VA24OARosCwiEgorBgEE
AZdVAQUBAQdAJoU73WdgxE/pEYK5ofyRvQDs1IFRdfJHV9j4Jm+tuDUDAQgHiHgE
GBYKACAWIQRA37Yw/0K8/7BHBGzwE07mgMrFcQUCaLAsIgIbDAAKCRDwE07mgMrF
cYXsAQC5eBEGK0xKsGwtnDDVeNAapx32dpvLgJ94W4DtIpdLlwEA85cSsTiBMuGy
6kwYmHzqw7oFx3VYGXdMNl0SMKzvJA4=
=G7wU
-----END PGP PUBLIC KEY BLOCK-----
+15
View File
@@ -0,0 +1,15 @@
# Arch package build files
*.pkg.tar.zst
*.pkg.tar.xz
*.pkg.tar.gz
*.tar.gz
*.tar.xz
# Build directories
src/
pkg/
starter/
# Makepkg files
*.log
*.sig
+63
View File
@@ -0,0 +1,63 @@
# Maintainer: Ryan Hughes <ryan@omarchy.org>
pkgname=omarchy-nvim
pkgver=2025.11.20
pkgrel=1
pkgdesc="Pre-built LazyVim configuration with cached plugins"
arch=('any')
url="https://github.com/LazyVim/LazyVim"
license=('MIT')
depends=('neovim>=0.9.0' 'git')
makedepends=('git' 'nodejs' 'npm' 'tree-sitter-cli')
conflicts=('omarchy-lazyvim')
options=('!debug')
source=("https://github.com/LazyVim/starter/archive/refs/heads/main.tar.gz")
sha256sums=('d865d50211358358d3c3c1e356773c1e3de1e8964215d85eb1b4c77521e17488')
build() {
cd "$srcdir"
# Create isolated environment for building
export HOME="$srcdir/build-home"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
export XDG_CACHE_HOME="$HOME/.cache"
mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME" "$XDG_CACHE_HOME"
# Setup LazyVim starter
cp -r "$srcdir/starter-main" "$XDG_CONFIG_HOME/nvim"
rm -rf "$XDG_CONFIG_HOME/nvim/.git"
# Copy our custom configs
cp -r "$startdir/lua" "$XDG_CONFIG_HOME/nvim/"
cp -r "$startdir/plugin" "$XDG_CONFIG_HOME/nvim/"
cp "$startdir/lazyvim.json" "$XDG_CONFIG_HOME/nvim/"
echo "vim.opt.relativenumber = false" >>"$XDG_CONFIG_HOME/nvim/lua/config/options.lua"
echo "Installing LazyVim plugins..."
nvim --headless \
"+Lazy! sync" \
"+qa!" || true
}
package() {
cd "$srcdir"
install -dm755 "$pkgdir/usr/share/$pkgname"
cp -a "$XDG_CONFIG_HOME/nvim" "$pkgdir/usr/share/$pkgname/config"
cp -a "$XDG_DATA_HOME/nvim" "$pkgdir/usr/share/$pkgname/data"
# Remove everything from site/ directory but keep the directory to prevent error
rm -rf "$pkgdir/usr/share/$pkgname/data/site"/*
mkdir -p "$pkgdir/usr/share/$pkgname/data/site"
# Fix permissions to be readable by all users
chmod -R 755 "$pkgdir/usr/share/$pkgname"
find "$pkgdir/usr/share/$pkgname" -type f -exec chmod 644 {} \;
# Install setup script to /usr/bin
install -Dm755 "$startdir/omarchy-nvim-setup" "$pkgdir/usr/bin/omarchy-nvim-setup"
}
@@ -0,0 +1,10 @@
{
"extras": [
"lazyvim.plugins.extras.editor.neo-tree"
],
"install_version": 8,
"news": {
"NEWS.md": "10960"
},
"version": 8
}
@@ -0,0 +1,81 @@
return {
-- Load all theme plugins but don't apply them
-- This ensures all colorschemes are available for hot-reloading
{
"ribru17/bamboo.nvim",
lazy = true,
priority = 1000,
},
{
"bjarneo/aether.nvim",
lazy = true,
priority = 1000,
},
{
"bjarneo/ethereal.nvim",
lazy = true,
priority = 1000,
},
{
"bjarneo/hackerman.nvim",
lazy = true,
priority = 1000,
},
{
"catppuccin/nvim",
name = "catppuccin",
lazy = true,
priority = 1000,
},
{
"sainnhe/everforest",
lazy = true,
priority = 1000,
},
{
"kepano/flexoki-neovim",
lazy = true,
priority = 1000,
},
{
"ellisonleao/gruvbox.nvim",
lazy = true,
priority = 1000,
},
{
"rebelot/kanagawa.nvim",
lazy = true,
priority = 1000,
},
{
"tahayvr/matteblack.nvim",
lazy = true,
priority = 1000,
},
{
"loctvl842/monokai-pro.nvim",
lazy = true,
priority = 1000,
},
{
"shaunsingh/nord.nvim",
lazy = true,
priority = 1000,
},
{
"rose-pine/neovim",
name = "rose-pine",
lazy = true,
priority = 1000,
},
{
"folke/tokyonight.nvim",
lazy = true,
priority = 1000,
},
{
"xero/miasma.nvim",
lazy = true,
priority = 1000,
},
}
@@ -0,0 +1,9 @@
return {
"LazyVim/LazyVim",
opts = {
news = {
lazyvim = false,
neovim = false,
},
},
}
@@ -0,0 +1,91 @@
return {
{
name = "theme-hotreload",
dir = vim.fn.stdpath("config"),
lazy = false,
priority = 1000,
config = function()
local transparency_file = vim.fn.stdpath("config") .. "/plugin/after/transparency.lua"
vim.api.nvim_create_autocmd("User", {
pattern = "LazyReload",
callback = function()
-- Unload the theme module
package.loaded["plugins.theme"] = nil
vim.schedule(function()
local ok, theme_spec = pcall(require, "plugins.theme")
if not ok then
return
end
-- Find the theme plugin and unload it
local theme_plugin_name = nil
for _, spec in ipairs(theme_spec) do
if spec[1] and spec[1] ~= "LazyVim/LazyVim" then
theme_plugin_name = spec.name or spec[1]
break
end
end
-- Clear all highlight groups before applying new theme
vim.cmd("highlight clear")
if vim.fn.exists("syntax_on") then
vim.cmd("syntax reset")
end
-- Reset background to default so colorscheme can set it properly (light themes will set to light)
vim.o.background = "dark"
-- Unload theme plugin modules to force full reload
if theme_plugin_name then
local plugin = require("lazy.core.config").plugins[theme_plugin_name]
if plugin then
-- Unload all lua modules from the plugin directory
local plugin_dir = plugin.dir .. "/lua"
require("lazy.core.util").walkmods(plugin_dir, function(modname)
package.loaded[modname] = nil
package.preload[modname] = nil
end)
end
end
-- Find and apply the new colorscheme
for _, spec in ipairs(theme_spec) do
if spec[1] == "LazyVim/LazyVim" and spec.opts and spec.opts.colorscheme then
local colorscheme = spec.opts.colorscheme
-- Load the colorscheme plugin
require("lazy.core.loader").colorscheme(colorscheme)
vim.defer_fn(function()
-- Apply the colorscheme (it will set background itself)
pcall(vim.cmd.colorscheme, colorscheme)
-- Force redraw to update all UI elements
vim.cmd("redraw!")
-- Reload transparency settings
if vim.fn.filereadable(transparency_file) == 1 then
vim.defer_fn(function()
vim.cmd.source(transparency_file)
-- Trigger UI updates for various plugins
vim.api.nvim_exec_autocmds("ColorScheme", { modeline = false })
vim.api.nvim_exec_autocmds("VimEnter", { modeline = false })
-- Final redraw
vim.cmd("redraw!")
end, 5)
end
end, 5)
break
end
end
end)
end,
})
end,
},
}
@@ -0,0 +1,8 @@
return {
"folke/snacks.nvim",
opts = {
scroll = {
enabled = false, -- Disable scrolling animations
},
},
}
+78
View File
@@ -0,0 +1,78 @@
#!/bin/bash
# Setup script for omarchy-nvim
# This can be called from Omarchy setup scripts
set -euo pipefail
PACKAGE_DIR="/usr/share/omarchy-nvim"
CONFIG_DIR="${HOME}/.config/nvim"
DATA_DIR="${HOME}/.local/share/nvim"
STATE_DIR="${HOME}/.local/state/nvim"
CACHE_DIR="${HOME}/.cache/nvim"
# Check if package is installed
if [[ ! -d "$PACKAGE_DIR" ]]; then
echo "Error: omarchy-nvim package not installed"
exit 1
fi
# Check if nvim config already exists
if [[ -d "$CONFIG_DIR" ]]; then
if gum confirm "$(echo -e "Neovim configuration already exists at $CONFIG_DIR.\nThis will create a backup and overwrite it. Continue?")"; then
# Backup existing config
BACKUP_DIR="${CONFIG_DIR}.backup.$(date +%Y%m%d-%H%M%S)"
echo "Backing up existing config to $BACKUP_DIR"
mv "$CONFIG_DIR" "$BACKUP_DIR"
else
echo "Setup cancelled."
exit 0
fi
fi
echo "Setting up Neovim configuration..."
# Make sure everything is clear
rm -rf $DATA_DIR $CACHE_DIR $STATE_DIR
# Create directories if needed
mkdir -p "$(dirname "$CONFIG_DIR")"
mkdir -p "$(dirname "$DATA_DIR")"
# Copy files (cache will be regenerated on first use)
cp -r "$PACKAGE_DIR/config" "$CONFIG_DIR"
cp -r "$PACKAGE_DIR/data" "$DATA_DIR"
# Ensure proper ownership of all nvim directories
chown -R "${USER}:${USER}" "$CONFIG_DIR"
chown -R "${USER}:${USER}" "$DATA_DIR"
# Create link for current theme
ln -snf "${HOME}/.config/omarchy/current/theme/neovim.lua" "${CONFIG_DIR}/lua/plugins/theme.lua"
# Restore git working trees
for dir in $DATA_DIR/lazy/*/; do
if [ -d "$dir/.git" ]; then
git --git-dir="$dir/.git" --work-tree="$dir" restore .
fi
done
# Set nvim.desktop as default so it takes priority in Nautilus
xdg-mime default nvim.desktop text/plain
xdg-mime default nvim.desktop text/english
xdg-mime default nvim.desktop text/x-makefile
xdg-mime default nvim.desktop text/x-c++hdr
xdg-mime default nvim.desktop text/x-c++src
xdg-mime default nvim.desktop text/x-chdr
xdg-mime default nvim.desktop text/x-csrc
xdg-mime default nvim.desktop text/x-java
xdg-mime default nvim.desktop text/x-moc
xdg-mime default nvim.desktop text/x-pascal
xdg-mime default nvim.desktop text/x-tcl
xdg-mime default nvim.desktop text/x-tex
xdg-mime default nvim.desktop application/x-shellscript
xdg-mime default nvim.desktop text/x-c
xdg-mime default nvim.desktop text/x-c++
xdg-mime default nvim.desktop application/xml
xdg-mime default nvim.desktop text/xml
echo "Neovim setup complete!"
@@ -0,0 +1,45 @@
-- transparent background
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "Pmenu", { bg = "none" })
vim.api.nvim_set_hl(0, "Terminal", { bg = "none" })
vim.api.nvim_set_hl(0, "EndOfBuffer", { bg = "none" })
vim.api.nvim_set_hl(0, "FoldColumn", { bg = "none" })
vim.api.nvim_set_hl(0, "Folded", { bg = "none" })
vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" })
vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" })
vim.api.nvim_set_hl(0, "WhichKeyFloat", { bg = "none" })
vim.api.nvim_set_hl(0, "TelescopeBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = "none" })
vim.api.nvim_set_hl(0, "TelescopePromptBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "TelescopePromptTitle", { bg = "none" })
-- transparent background for neotree
vim.api.nvim_set_hl(0, "NeoTreeNormal", { bg = "none" })
vim.api.nvim_set_hl(0, "NeoTreeNormalNC", { bg = "none" })
vim.api.nvim_set_hl(0, "NeoTreeVertSplit", { bg = "none" })
vim.api.nvim_set_hl(0, "NeoTreeWinSeparator", { bg = "none" })
vim.api.nvim_set_hl(0, "NeoTreeEndOfBuffer", { bg = "none" })
-- transparent background for nvim-tree
vim.api.nvim_set_hl(0, "NvimTreeNormal", { bg = "none" })
vim.api.nvim_set_hl(0, "NvimTreeVertSplit", { bg = "none" })
vim.api.nvim_set_hl(0, "NvimTreeEndOfBuffer", { bg = "none" })
-- transparent notify background
vim.api.nvim_set_hl(0, "NotifyINFOBody", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyERRORBody", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyWARNBody", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyTRACEBody", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyDEBUGBody", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyINFOTitle", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyERRORTitle", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyWARNTitle", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyTRACETitle", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyDEBUGTitle", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyINFOBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyERRORBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyWARNBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyTRACEBorder", { bg = "none" })
vim.api.nvim_set_hl(0, "NotifyDEBUGBorder", { bg = "none" })
+24
View File
@@ -0,0 +1,24 @@
pkgname=omarchy-walker
pkgver=1.0.0
pkgrel=2
pkgdesc='Meta package for walker with Elephant providers for Omarchy'
arch=('x86_64' 'aarch64')
url='https://omarchy.org'
license=('MIT')
options=('!debug')
depends=(
'walker'
'elephant'
'elephant-bluetooth'
'elephant-calc'
'elephant-clipboard'
'elephant-desktopapplications'
'elephant-files'
'elephant-menus'
'elephant-providerlist'
'elephant-runner'
'elephant-symbols'
'elephant-todo'
'elephant-unicode'
'elephant-websearch'
)
+25
View File
@@ -0,0 +1,25 @@
# Maintainer: Ryan Hughes <ryan@omarchy.org>
pkgname=omarchy-zsh
pkgver=1.2.0
pkgrel=1
pkgdesc="Omarchy shell configuration for Zsh"
arch=('any')
url="https://github.com/omacom-io/omarchy-zsh"
license=('MIT')
depends=('zsh' 'eza' 'mise' 'zoxide' 'starship' 'fzf' 'fd' 'bat')
options=('!debug')
install=omarchy-zsh.install
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('d99d0ed0a07bf0d5043b0faef94bb8ce4dddf8cb1229dc364d5701e11af6a4a5')
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
# Install config files, functions, templates, and documentation
install -dm755 "${pkgdir}/usr/share/${pkgname}"
cp -r conf.d functions templates LICENSE README.md "${pkgdir}/usr/share/${pkgname}/"
# Install setup script
install -Dm755 bin/omarchy-setup-zsh "${pkgdir}/usr/bin/omarchy-setup-zsh"
}
@@ -0,0 +1,14 @@
post_install() {
echo "==> omarchy-zsh installed successfully!"
echo ""
echo "==> To run zsh from bash:"
echo " zsh"
echo ""
echo "==> To set as default shell:"
echo " omarchy-setup-zsh"
}
post_remove() {
echo "==> omarchy-zsh has been removed"
echo "==> To restore bash, copy a backup to ~/.bashrc"
}
+27
View File
@@ -0,0 +1,27 @@
pkgbase = pinta
pkgdesc = Drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users
pkgver = 3.1.1
pkgrel = 2
url = https://pinta-project.com
arch = any
license = MIT
makedepends = pkgconf
makedepends = autoconf-archive
makedepends = intltool
makedepends = dotnet-sdk
makedepends = dotnet-runtime
makedepends = dotnet-host
makedepends = dotnet-targeting-pack
makedepends = gtk4
makedepends = perl
depends = dotnet-runtime
depends = dotnet-host
depends = libadwaita
depends = hicolor-icon-theme
depends = webp-pixbuf-loader
provides = pinta
conflicts = pinta-git
source = Pinta-3.1.1.tar.gz::https://github.com/PintaProject/Pinta/archive/refs/tags/3.1.1.tar.gz
sha256sums = 284feb187646d24e2d0449308352bc3588c159dc374365185432008873868371
pkgname = pinta
+5
View File
@@ -0,0 +1,5 @@
*
!.gitignore
!.nvchecker.toml
!PKGBUILD
!.SRCINFO
+4
View File
@@ -0,0 +1,4 @@
["pinta"]
source = "github"
github = "PintaProject/Pinta"
use_latest_release = true
+46
View File
@@ -0,0 +1,46 @@
# Maintainer: Rafael Baboni Dominiquini <rafaeldominiquini at gmail dot com>
pkgname=pinta
pkgver=3.1.1
pkgrel=2
pkgdesc="Drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users"
arch=(any)
url="https://pinta-project.com"
license=(MIT)
depends=(dotnet-runtime dotnet-host libadwaita hicolor-icon-theme webp-pixbuf-loader)
makedepends=(pkgconf autoconf-archive intltool dotnet-sdk dotnet-runtime dotnet-host dotnet-targeting-pack gtk4 perl)
provides=($pkgname)
conflicts=($pkgname-git)
source=("Pinta-${pkgver}.tar.gz::https://github.com/PintaProject/Pinta/archive/refs/tags/${pkgver}.tar.gz")
sha256sums=('284feb187646d24e2d0449308352bc3588c159dc374365185432008873868371')
prepare() {
cd "${srcdir}/Pinta-${pkgver}"
for file in *.md *.txt; do
basename=$(tr '[:lower:]' '[:upper:]' <<< "${file%.*}")
newname="$basename.${file#*.}"
[ ! "$file" == "$newname" ] && mv "$file" "$newname"
done
sed -i 's/net8.0/net10.0/g' Directory.Build.props
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
}
build() {
cd "${srcdir}/Pinta-${pkgver}"
make
}
package() {
cd "${srcdir}/Pinta-${pkgver}"
make DESTDIR="${pkgdir}" install
chmod -v 755 "${pkgdir}/usr/lib/pinta/"*.dll
install -Dm644 -t "${pkgdir}/usr/share/doc/${pkgname}/" *.md
install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}/" LICENSE*.txt
}
+59
View File
@@ -0,0 +1,59 @@
pkgbase = signal-desktop
pkgdesc = Signal Private Messenger for Linux
pkgver = 7.77.1
pkgrel = 1
url = https://signal.org
arch = x86_64
license = AGPL-3.0-only
makedepends = git
makedepends = git-lfs
makedepends = libxcrypt-compat
makedepends = node-gyp
makedepends = nodejs-lts-jod
makedepends = pnpm
makedepends = python
depends = alsa-lib
depends = libasound.so
depends = at-spi2-core
depends = libatk-bridge-2.0.so
depends = cairo
depends = libcairo.so
depends = dbus
depends = libdbus-1.so
depends = expat
depends = libexpat.so
depends = gcc-libs
depends = glib2
depends = libgio-2.0.so
depends = glibc
depends = gtk3
depends = hicolor-icon-theme
depends = libcups
depends = libdrm
depends = libnotify
depends = libpulse
depends = libx11
depends = libxcb
depends = libxcomposite
depends = libxdamage
depends = libxext
depends = libxfixes
depends = libxkbcommon
depends = libxkbcommon.so
depends = libxrandr
depends = mesa
depends = nspr
depends = nss
depends = pango
depends = libpango-1.0.so
depends = systemd-libs
depends = libudev.so
optdepends = xdg-desktop-portal: Screensharing with Wayland
source = signal-desktop-7.77.1.tar.gz::https://github.com/signalapp/Signal-Desktop/archive/v7.77.1.tar.gz
source = signal-desktop.desktop
sha256sums = 5aae71e9b3ef88bb0499f96295e92d576ba8b6b6d2fe8ac90349fb589882d0dd
sha256sums = bf388df4b5bbcab5559ebbf220ed4748ed21b057f24b5ff46684e3fe6e88ccce
b2sums = dda49421e7d8f5f906b92a228e50c0081c73c6b6259b20959eeeb9d9f960a1ab74890c9e725c68b56d9c60537a82633af033b8e59aae52c79f2b7289601ba294
b2sums = ffb8f7bab4fd84aacf13e7b6d2835daf449b6650b4b3fa723456792ba7fb6cae352928fea11cb030510d558ce30036ff5a1513444f067b94c7fff0158b4f2265
pkgname = signal-desktop
@@ -0,0 +1,5 @@
[signal-desktop]
source = "github"
github = "signalapp/signal-desktop"
prefix = "v"
use_latest_release = true
+12
View File
@@ -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.
+1
View File
@@ -0,0 +1 @@
../LICENSE
+126
View File
@@ -0,0 +1,126 @@
# Maintainer: kpcyrd <kpcyrd[at]archlinux[dot]org>
# Maintainer: Christian Heusel <gromit@archlinux.org>
# Contributor: Jean Lucas <jean@4ray.co>
pkgname=signal-desktop
_pkgname=Signal-Desktop
pkgver=7.77.1
pkgrel=1
pkgdesc="Signal Private Messenger for Linux"
license=('AGPL-3.0-only')
arch=('aarch64') # Only for aarch64 - already in Arch extra repo for x86_64
url="https://signal.org"
depends=(
'alsa-lib' 'libasound.so'
'at-spi2-core' 'libatk-bridge-2.0.so'
'cairo' 'libcairo.so'
'dbus' 'libdbus-1.so'
'expat' 'libexpat.so'
'gcc-libs'
'glib2' 'libgio-2.0.so'
'glibc'
'gtk3'
'hicolor-icon-theme'
'libcups'
'libdrm'
'libnotify'
'libpulse'
'libx11'
'libxcb'
'libxcomposite'
'libxdamage'
'libxext'
'libxfixes'
'libxkbcommon' 'libxkbcommon.so'
'libxrandr'
'mesa'
'nspr'
'nss'
'pango' 'libpango-1.0.so'
'systemd-libs' 'libudev.so'
)
makedepends=(
'git'
'git-lfs'
'libxcrypt-compat'
'node-gyp'
'nodejs-lts-jod'
'pnpm'
'python'
)
optdepends=('xdg-desktop-portal: Screensharing with Wayland')
source=(
"${pkgname}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/v${pkgver}.tar.gz"
"${pkgname}.desktop"
)
sha256sums=('5aae71e9b3ef88bb0499f96295e92d576ba8b6b6d2fe8ac90349fb589882d0dd'
'bf388df4b5bbcab5559ebbf220ed4748ed21b057f24b5ff46684e3fe6e88ccce')
b2sums=('dda49421e7d8f5f906b92a228e50c0081c73c6b6259b20959eeeb9d9f960a1ab74890c9e725c68b56d9c60537a82633af033b8e59aae52c79f2b7289601ba294'
'ffb8f7bab4fd84aacf13e7b6d2835daf449b6650b4b3fa723456792ba7fb6cae352928fea11cb030510d558ce30036ff5a1513444f067b94c7fff0158b4f2265')
prepare() {
cd "${_pkgname}-${pkgver}"
# git-lfs hook needs to be installed for one of the dependencies
git lfs install
# Allow higher Node versions
sed 's#"node": "#&>=#' -i package.json
# Disable .deb packaging to avoid fpm architecture mismatch in cross-compilation
# electron-builder will still create the unpacked directory we need for packaging
# Use node to properly modify the JSON structure
node -e "
const fs = require('fs');
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
if (pkg.build && pkg.build.linux && pkg.build.linux.target) {
pkg.build.linux.target = ['dir'];
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
console.log('Modified package.json to use dir target only');
}
"
# Install dependencies for sticker-creator
pnpm --prefix ./sticker-creator/ install
# Install dependencies for signal-desktop
pnpm install
}
build() {
cd "${_pkgname}-${pkgver}"
# Build the sticker creator
pnpm --prefix ./sticker-creator/ run build
# Build signal-desktop
pnpm run build
}
package() {
cd "${_pkgname}-${pkgver}"
# Determine the architecture-specific directory
case "${CARCH}" in
x86_64)
_releasedir="release/linux-unpacked"
;;
aarch64)
_releasedir="release/linux-arm64-unpacked"
;;
esac
install -d "${pkgdir}/usr/"{lib,bin}
cp -a "${_releasedir}" "${pkgdir}/usr/lib/${pkgname}"
ln -s "/usr/lib/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/"
chmod u+s "${pkgdir}/usr/lib/signal-desktop/chrome-sandbox"
install -Dm 644 "../${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
for i in 16 24 32 48 64 128 256 512 1024; do
install -Dm 644 "build/icons/png/${i}x${i}.png" \
"${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${pkgname}.png"
done
}
# vim: ts=2 sw=2 et:
@@ -0,0 +1,23 @@
version = 1
[[annotations]]
path = [
"PKGBUILD",
"README.md",
"keys/**",
".SRCINFO",
".nvchecker.toml",
"*.install",
"*.sysusers",
"*.tmpfiles",
"*.logrotate",
"*.pam",
"*.service",
"*.socket",
"*.timer",
"*.desktop",
"*.hook",
"TRADEMARK_CONSENT.txt",
]
SPDX-FileCopyrightText = "Arch Linux contributors"
SPDX-License-Identifier = "0BSD"
@@ -0,0 +1,187 @@
Return-Path: aruna@signal.org
Delivered-To: kpcyrd@rxv.cc
Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70])
by mail.rxv.cc (OpenSMTPD) with ESMTPS id 20277d00 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO)
for <kpcyrd@rxv.cc>;
Tue, 7 Jan 2020 18:20:28 +0000 (UTC)
Received: from orion.archlinux.org (localhost [127.0.0.1])
by orion.archlinux.org (Postfix) with ESMTP id AB67717EC9F8AC
for <kpcyrd@archlinux.org>; Tue, 7 Jan 2020 18:20:23 +0000 (UTC)
X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on orion.archlinux.org
X-Spam-Level:
X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00=-1,DKIM_SIGNED=0.1,
DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HTML_MESSAGE=0.001,
LOCAL_FAKEBUSINESS=0.5,RCVD_IN_DNSWL_NONE=-0.0001,SPF_HELO_NONE=0.001,
T_DMARC_POLICY_NONE=0.01 autolearn=no autolearn_force=no version=3.4.3
X-Spam-BL-Results: <dns:1.3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org>
[127.0.5.0]
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by orion.archlinux.org (Postfix) with ESMTPS
for <kpcyrd@archlinux.org>; Tue, 7 Jan 2020 18:20:23 +0000 (UTC)
Received: by mail-ed1-x531.google.com with SMTP id b8so383435edx.7
for <kpcyrd@archlinux.org>; Tue, 07 Jan 2020 10:20:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=signal.org; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
bh=bSFjfcgPZhi0DEnSAuOFA+jYWeb26nFDHmCc2toMM1U=;
b=B7BgoISRirE9NVUMI3pKSDzMirKsxQ7+BN5JJk/WlgHEZ+anP6uIaXLUIcxzjfc8d6
qdHdD1UsUdqHgbwXiE2KeZdTAtIoy80lQUDzjQZRTORfOVgQtgelvwq7d8N8EFy2jfik
K/QOU8pN+NSqsNTw6rZyATa6y1c3OSaxRkJ/I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to;
bh=bSFjfcgPZhi0DEnSAuOFA+jYWeb26nFDHmCc2toMM1U=;
b=YzxIQxXMSHyuIUMo/XiKE4Q4Yo070VgbsWV57e8hWI4vZIQKN3490bAkt0XlGR+bQv
ozPh35v8AjOJ9DSBWOtWriZdB3k05pV+Y/Pu44bmMWE/ThF9eFHZomhHkKOyFdgWpQjT
ffOM39d3DpMY/gTi083CMstFmYtpjYcxTMMTfD6vXtaIBivBUqq5S9shFiwUNEIPQZPy
2DS+NCRi62/8NzIZlXkbeWLmBzTgyEjR7H4DPKHuvxAjDIYfdF3kAnVVBrqvxbQ+VKRu
3Cw4cla6HZq4npO82NPTzYBNZzZfdsypoWLjmopDxdEX+9aEFACOHoCgfQGUPjsaMe5O
7cnQ==
X-Gm-Message-State: APjAAAWXyDg/5THr46Vg5hniOGGHZ/OgYqnBSnmU97hgIZTUbnXhkO3B
RW7cMtIUVxuPUz3DUzeeD/7An/HIl1DpIgePlalM41ZfST8=
X-Google-Smtp-Source: APXvYqxh9T/e1HyKnOSFhjFW3jhiuhEBWF0NhnTDGALsoZHz/wcEaRca9g8sqmsHLAN4Nfu/BE6+mYbuE5F0Ja2LW6g=
X-Received: by 2002:a50:ed94:: with SMTP id h20mr1236027edr.17.1578421222932;
Tue, 07 Jan 2020 10:20:22 -0800 (PST)
MIME-Version: 1.0
References: <CABxKNwm+vbYYDgtooozOok3n5jvqQJXZ0XL0gvz+iSmsLwWQQw@mail.gmail.com>
In-Reply-To: <CABxKNwm+vbYYDgtooozOok3n5jvqQJXZ0XL0gvz+iSmsLwWQQw@mail.gmail.com>
From: Aruna Harder <aruna@signal.org>
Date: Tue, 7 Jan 2020 10:19:54 -0800
Message-ID: <CABxKNwnh+g7wRPd4S5z3pd4RspxRQxtOuz2iANCQ45-DJczVSg@mail.gmail.com>
Subject: Re: distributing Signal Desktop
To: kpcyrd@archlinux.org
Content-Type: multipart/alternative; boundary="0000000000004c9813059b90d4b0"
--0000000000004c9813059b90d4b0
Content-Type: text/plain; charset="UTF-8"
Hello,
I consulted with our attorney and despite the language in our Terms of
Service related to various IP rights, the Signal code is explicitly
licensed under GPLv3. As long as your company complies with the GPLv3, your
use and distribution of Signal Desktop is explicitly permitted under GPLv3.
We do ask that you use reasonable efforts to make timely updates to your
repository to the most current version of Signal as it becomes available.
Please let me know if you have any questions. All the best to you and your
organization.
Thanks.
-aruna
Aruna Harder
Signal Messenger
On Mon, Jan 6, 2020 at 9:38 AM Aruna Harder <aruna@signal.org> wrote:
> Hello,
>
> Moxie forwarded your message to me about distributing Signal Desktop
> (copied here). I will get an agreement to you in the next few days. We
> would like to ensure you are always distributing the latest Signal code,
> for obvious reasons - e.g. to ensure latest fixes to known issues are
> addressed, etc. What is a reasonable timeframe to have latest Signal
> Desktop releases incorporated into your package?
>
> Thanks.
> -aruna
>
> Aruna Harder
> Signal
>
> ==================================================
>
> Date: Tue, 31 Dec 2019 17:48:24 +0000
> From: kpcyrd <kpcyrd@rxv.cc>
> To: moxie@thoughtcrime.org
> Subject: Grant Trademark Use to Arch Linux
>
> ohai!
>
> I'm reaching out to you because I'm looking into distributing
> signal-desktop as an official Arch Linux package. While the GPLv3
> license works great for us we noticed this in the Terms and Conditions:
>
> > Signal's Rights. [...] You may not use our copyrights, trademarks,
> > domains, logos, trade dress, patents, and other intellectual property
> > rights unless you have our written permission. [...]
>
> This is similar to firefox (which we distribute) but more strictly
> worded so we need to ask you to please send us a written permission to
> distribute signal-desktop in the Arch Linux repositories.
>
> We did this before for discord[1] and teamspeak[2].
>
> [1]:
>
> https://git.archlinux.org/svntogit/community.git/tree/trunk/Permission_to_Distribute.mbox?h=packages/discord
> [2]:
>
> https://git.archlinux.org/svntogit/community.git/tree/trunk/PERMISSION.eml?h=packages/teamspeak3
>
> If you wish you may send it to kpcyrd@archlinux.org
>
> Thank you very much
>
--0000000000004c9813059b90d4b0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hello,=C2=A0<div><br></div><div>I consulted with our attor=
ney and despite the language in our Terms of Service related to various IP =
rights,=C2=A0the Signal code is explicitly licensed under GPLv3. As long as=
your company complies with the GPLv3, your use and distribution of Signal =
Desktop is explicitly permitted under GPLv3.=C2=A0</div><div><br></div><div=
>We do ask that you use reasonable efforts to make timely updates to your r=
epository to the most current version of Signal as it becomes available.=C2=
=A0</div><div><br></div><div>Please let me know if you have any questions. =
All the best to you and your organization.=C2=A0</div><div><br></div><div>T=
hanks.</div><div>-aruna</div><div><br></div><div>Aruna Harder</div><div>Sig=
nal=C2=A0Messenger</div></div><br><div class=3D"gmail_quote"><div dir=3D"lt=
r" class=3D"gmail_attr">On Mon, Jan 6, 2020 at 9:38 AM Aruna Harder &lt;<a =
href=3D"mailto:aruna@signal.org">aruna@signal.org</a>&gt; wrote:<br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hell=
o,=C2=A0</div><div><br></div><div>Moxie forwarded your message to me about =
distributing Signal Desktop (copied here). I will get an agreement to you i=
n the next few days. We would like to ensure you are always=C2=A0distributi=
ng the latest Signal code, for obvious=C2=A0reasons - e.g. to ensure latest=
fixes to known issues are addressed, etc. What is a reasonable timeframe t=
o have latest Signal Desktop releases incorporated into your package?=C2=A0=
</div><div><br></div><div>Thanks.=C2=A0</div><div>-aruna</div><div><br></di=
v><div>Aruna Harder<br>Signal=C2=A0</div><div><br></div><div>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><br>Da=
te: Tue, 31 Dec 2019 17:48:24 +0000<br>From: kpcyrd &lt;kpcyrd@rxv.cc&gt;<b=
r>To:=C2=A0<a href=3D"mailto:moxie@thoughtcrime.org" rel=3D"noreferrer" tar=
get=3D"_blank">moxie@thoughtcrime.org</a><br>Subject: Grant Trademark Use t=
o Arch Linux<br><br>ohai!<br><br>I&#39;m reaching out to you because I&#39;=
m looking into distributing<br>signal-desktop as an official Arch Linux pac=
kage. While the GPLv3<br>license works great for us we noticed this in the =
Terms and Conditions:<br><br>&gt; Signal&#39;s Rights. [...] You may not us=
e our copyrights, trademarks,<br>&gt; domains, logos, trade dress, patents,=
and other intellectual property<br>&gt; rights unless you have our written=
permission. [...]<br><br>This is similar to firefox (which we distribute) =
but more strictly<br>worded so we need to ask you to please send us a writt=
en permission to<br>distribute signal-desktop in the Arch Linux repositorie=
s.<br><br>We did this before for discord[1] and teamspeak[2].<br><br>[1]:<b=
r><a href=3D"https://git.archlinux.org/svntogit/community.git/tree/trunk/Pe=
rmission_to_Distribute.mbox?h=3Dpackages/discord" rel=3D"noreferrer norefer=
rer" target=3D"_blank">https://git.archlinux.org/svntogit/community.git/tre=
e/trunk/Permission_to_Distribute.mbox?h=3Dpackages/discord</a><br>[2]:<br><=
a href=3D"https://git.archlinux.org/svntogit/community.git/tree/trunk/PERMI=
SSION.eml?h=3Dpackages/teamspeak3" rel=3D"noreferrer noreferrer" target=3D"=
_blank">https://git.archlinux.org/svntogit/community.git/tree/trunk/PERMISS=
ION.eml?h=3Dpackages/teamspeak3</a><br><br>If you wish you may send it to=
=C2=A0<a href=3D"mailto:kpcyrd@archlinux.org" rel=3D"noreferrer" target=3D"=
_blank">kpcyrd@archlinux.org</a><br><br>Thank you very much<br></div>
</blockquote></div>
--0000000000004c9813059b90d4b0--
@@ -0,0 +1,53 @@
diff --git a/PKGBUILD b/PKGBUILD
index 98e2b17..c61fa48 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@ pkgver=7.77.1
pkgrel=1
pkgdesc="Signal Private Messenger for Linux"
license=('AGPL-3.0-only')
-arch=('x86_64')
+arch=('aarch64') # Only for aarch64 - already in Arch extra repo for x86_64
url="https://signal.org"
depends=(
'alsa-lib' 'libasound.so'
@@ -67,6 +67,19 @@ prepare() {
# Allow higher Node versions
sed 's#"node": "#&>=#' -i package.json
+ # Disable .deb packaging to avoid fpm architecture mismatch in cross-compilation
+ # electron-builder will still create the unpacked directory we need for packaging
+ # Use node to properly modify the JSON structure
+ node -e "
+ const fs = require('fs');
+ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
+ if (pkg.build && pkg.build.linux && pkg.build.linux.target) {
+ pkg.build.linux.target = ['dir'];
+ fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
+ console.log('Modified package.json to use dir target only');
+ }
+ "
+
# Install dependencies for sticker-creator
pnpm --prefix ./sticker-creator/ install
@@ -87,8 +100,18 @@ build() {
package() {
cd "${_pkgname}-${pkgver}"
+ # Determine the architecture-specific directory
+ case "${CARCH}" in
+ x86_64)
+ _releasedir="release/linux-unpacked"
+ ;;
+ aarch64)
+ _releasedir="release/linux-arm64-unpacked"
+ ;;
+ esac
+
install -d "${pkgdir}/usr/"{lib,bin}
- cp -a release/linux-unpacked "${pkgdir}/usr/lib/${pkgname}"
+ cp -a "${_releasedir}" "${pkgdir}/usr/lib/${pkgname}"
ln -s "/usr/lib/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/"
chmod u+s "${pkgdir}/usr/lib/signal-desktop/chrome-sandbox"
@@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Name=Signal
Comment=Signal - Private Messenger
Comment[de]=Signal - Sicherer Messenger
Icon=signal-desktop
Exec=signal-desktop -- %u
Terminal=false
Categories=Network;InstantMessaging;
StartupWMClass=signal
MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha;
Keywords=sgnl;chat;im;messaging;messenger;security;privat;
X-GNOME-UsesNotifications=true
+29
View File
@@ -0,0 +1,29 @@
# Maintainer: Gregory Land
# Contributor: Fabian Bornschein <fabiscafe-cat-mailbox-dog-com>
pkgname=supergfxctl
pkgver=5.2.7
pkgrel=2
pkgdesc="A utility for Linux graphics switching on Intel/AMD iGPU + nVidia dGPU laptops"
arch=('x86_64')
url="https://gitlab.com/asus-linux/supergfxctl"
license=('MPL-2.0')
depends=('gcc-libs' 'systemd' 'lsof')
makedepends=('rust')
provides=('supergfxctl')
conflicts=('supergfxctl-git'
'optimus-manager')
source=("https://gitlab.com/asus-linux/supergfxctl/-/archive/$pkgver/supergfxctl-$pkgver.tar.gz")
sha512sums=('bd94646d289c9f3398e1bf2a189554ac60d4db2d4d2cefddc0b342e8a128d4682e20268e0b1f9b168441136ada0b6fadb097a5a35d1023a77528dbf0540de3af')
options=(!debug)
_gitdir=${pkgname%"-git"}
build() {
cd "$pkgname-$pkgver"
make build
}
package() {
cd "$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
}

Some files were not shown because too many files have changed in this diff Show More