Use the unified elephant-all provider

This commit is contained in:
David Heinemeier Hansson
2026-04-30 11:09:23 +02:00
parent 502498a9a5
commit ee077b2c0e
3 changed files with 112 additions and 0 deletions
+1
View File
@@ -5,6 +5,7 @@ asusctl
cliamp
qmk-hid
elephant install
elephant-all
elephant-archlinuxpkgs
elephant-bluetooth
elephant-calc
+64
View File
@@ -0,0 +1,64 @@
pkgbase = elephant-all
pkgdesc = elephant + all official elephant providers
pkgver = 2.21.0
pkgrel = 1
url = https://github.com/abenz1267/elephant
arch = x86_64
arch = aarch64
license = GPL
makedepends = go
depends = libqalculate
depends = wl-clipboard
depends = imagemagick
depends = fd
depends = wtype
depends = jq
depends = sqlite3
provides = elephant
provides = elephant-playerctl
provides = elephant-wireplumber
provides = elephant-nirisessions
provides = elephant-niriactions
provides = elephant-archlinuxpkgs
provides = elephant-bluetooth
provides = elephant-calc
provides = elephant-clipboard
provides = elephant-desktopapplications
provides = elephant-files
provides = elephant-menus
provides = elephant-providerlist
provides = elephant-runner
provides = elephant-snippets
provides = elephant-symbols
provides = elephant-todo
provides = elephant-unicode
provides = elephant-websearch
provides = elephant-windows
conflicts = elephant
conflicts = elephant-playerctl
conflicts = elephant-wireplumber
conflicts = elephant-bitwarden
conflicts = elephant-dnfpackages
conflicts = elephant-1password
conflicts = elephant-bookmarks
conflicts = elephant-nirisessions
conflicts = elephant-niriactions
conflicts = elephant-archlinuxpkgs
conflicts = elephant-bluetooth
conflicts = elephant-calc
conflicts = elephant-clipboard
conflicts = elephant-desktopapplications
conflicts = elephant-files
conflicts = elephant-menus
conflicts = elephant-providerlist
conflicts = elephant-runner
conflicts = elephant-snippets
conflicts = elephant-symbols
conflicts = elephant-todo
conflicts = elephant-unicode
conflicts = elephant-websearch
conflicts = elephant-windows
source = https://github.com/abenz1267/elephant/archive/refs/tags/v2.21.0.tar.gz
sha256sums = 7631900b656511ccd3e82e832c4feaab3796f4e074e7829d91dd1bd2402f5c16
pkgname = elephant-all
+47
View File
@@ -0,0 +1,47 @@
# Maintainer: Andrej Benz <hello[at]benz[dot]dev>
pkgname=elephant-all
pkgver=2.21.0
pkgrel=1
pkgdesc='elephant + all official elephant providers'
url='https://github.com/abenz1267/elephant'
arch=('x86_64' 'aarch64')
license=('GPL')
depends=('libqalculate' 'wl-clipboard' 'imagemagick' 'fd' 'wtype' 'jq' 'sqlite3')
makedepends=('go')
conflicts=('elephant' 'elephant-playerctl' 'elephant-wireplumber' 'elephant-bitwarden' 'elephant-dnfpackages' 'elephant-1password' 'elephant-bookmarks' 'elephant-nirisessions' 'elephant-niriactions' 'elephant-archlinuxpkgs' 'elephant-bluetooth' 'elephant-calc' 'elephant-clipboard' 'elephant-desktopapplications' 'elephant-files' 'elephant-menus' 'elephant-providerlist' 'elephant-runner' 'elephant-snippets' 'elephant-symbols' 'elephant-todo' 'elephant-unicode' 'elephant-websearch' 'elephant-windows')
provides=('elephant' 'elephant-playerctl' 'elephant-wireplumber' 'elephant-nirisessions' 'elephant-niriactions' 'elephant-archlinuxpkgs' 'elephant-bluetooth' 'elephant-calc' 'elephant-clipboard' 'elephant-desktopapplications' 'elephant-files' 'elephant-menus' 'elephant-providerlist' 'elephant-runner' 'elephant-snippets' 'elephant-symbols' 'elephant-todo' 'elephant-unicode' 'elephant-websearch' 'elephant-windows')
source=("${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('7631900b656511ccd3e82e832c4feaab3796f4e074e7829d91dd1bd2402f5c16')
build() {
# Build main elephant binary
cd elephant-${pkgver}/cmd/elephant
go build -ldflags="-s -w" -buildvcs=false -x -o elephant -trimpath
# Build all provider plugins
cd ../../internal/providers
# Build each provider
for provider in playerctl wireplumber archlinuxpkgs bitwarden dnfpackages 1password bookmarks bluetooth nirisessions niriactions calc clipboard desktopapplications files menus providerlist runner snippets symbols todo unicode websearch windows; do
cd $provider
go build -ldflags="-s -w" -buildvcs=false -buildmode=plugin -trimpath
cd ..
done
}
package() {
# Install main elephant binary
cd elephant-${pkgver}/cmd/elephant
install -Dm 755 elephant -t "${pkgdir}/usr/bin"
# Install all provider plugins
cd ../../internal/providers
for provider in playerctl wireplumber archlinuxpkgs bitwarden dnfpackages bookmarks 1password nirisessions niriactions bluetooth calc clipboard desktopapplications files menus providerlist runner snippets symbols todo unicode websearch windows; do
install -Dm 755 $provider/$provider.so -t "${pkgdir}/usr/lib/elephant"
done
# Install license
cd ../../
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}