diff --git a/build/packages/edge.packages b/build/packages/edge.packages index ebce119..2e598ce 100644 --- a/build/packages/edge.packages +++ b/build/packages/edge.packages @@ -5,6 +5,7 @@ asusctl cliamp qmk-hid elephant install +elephant-all elephant-archlinuxpkgs elephant-bluetooth elephant-calc diff --git a/pkgbuilds/edge/elephant-all/.SRCINFO b/pkgbuilds/edge/elephant-all/.SRCINFO new file mode 100644 index 0000000..e874d3d --- /dev/null +++ b/pkgbuilds/edge/elephant-all/.SRCINFO @@ -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 diff --git a/pkgbuilds/edge/elephant-all/PKGBUILD b/pkgbuilds/edge/elephant-all/PKGBUILD new file mode 100644 index 0000000..66357cb --- /dev/null +++ b/pkgbuilds/edge/elephant-all/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Andrej Benz + +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}" +}