PKGBUILD gnome-shell-extension-activities-config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maintainer: XZS <d dot f dot fischer at web dot de> | |
# This PKGBUILD is maintained on GitHub <https://github.com/dffischer/gnome-shell-extensions>. | |
# You may find it convenient to file issues and pull requests there. | |
pkgname=gnome-shell-extension-activities-config | |
pkgver=71 | |
pkgrel=1 | |
pkgdesc="Configure the Activities Button via the Gnome Shell Extension Preferences Tool." | |
arch=(any) | |
url="https://extensions.gnome.org/extension/358/activities-configurator/" | |
license=(GPLv2) | |
source=('archlinux-logo-gray-scalable.svg') | |
md5sums=('69063bc3433d20d9de0f9dce2269186b') | |
find_version() { | |
if [ ! -d version ]; then | |
curl -s ${url} | # download source of the extension page | |
grep -Po '(?<=data-svm=").*(?=")' | # extract version information | |
sed 's/"/"/g' | # unescape quotes | |
sed 's/[{ ,]*"[[:digit:].]\+": {"pk": \([[:digit:]]\+\),'$( | |
)' "version": \([[:digit:]]\+\)}[ ,}]*/\2 \1\n/g' | # list one version per line | |
sort -nr | head -n1 | tr ' ' '\n' > version # get newest and write | |
fi | |
} | |
pkgver() { | |
find_version | |
head -n1 version | |
} | |
prepare() { | |
find_version | |
local name=$(tail -n1 version).shell-extension.zip | |
if [ ! -f $name ] | |
then | |
curl -LO "https://extensions.gnome.org/review/download/$name" | |
unzip -od extension $name | |
fi | |
} | |
build() { | |
cd extension | |
sed -i '/^const ICON_FILE =.*$/{ | |
s|face-smile-3.svg|archlinux-logo-gray-scalable.svg|; | |
s|//.*|// Arch Linux Icon.|}' keys.js | |
cp --remove-destination ../archlinux-logo-gray-scalable.svg archlinux-logo-gray-scalable.svg | |
} | |
package() { | |
for function in $(declare -F | grep -Po 'package_[[:digit:]]+[[:alpha:]_]*$') | |
do | |
$function | |
done | |
} | |
package_01_locate() { | |
msg2 'Locating extension...' | |
cd "$(find -name 'metadata.json' -execdir test -e extension.js \; \ | |
-printf '%C@ %h\n' | sort -nr | sed 's/^.* //;q' )" | |
extname=$(grep -Po '(?<="uuid": ")[^"]*' metadata.json) | |
destdir="$pkgdir/usr/share/gnome-shell/extensions/$extname" | |
} | |
package_02_install() { | |
msg2 'Installing extension code...' | |
find -maxdepth 1 \( -iname '*.js*' -or -iname '*.css' -or -iname '*.ui' \) \ | |
-exec install -Dm644 -t "$destdir" '{}' + | |
} | |
depends+=(gnome-shell-extensions gnome-shell) | |
package_09_icon() { | |
install -Dm644 *.svg "$destdir" | |
} | |
package_10_locale() { | |
msg2 'Installing translations...' | |
( | |
cd locale | |
for locale in */ | |
do | |
install -Dm644 -t "$pkgdir/usr/share/locale/$locale/LC_MESSAGES" "$locale/LC_MESSAGES"/*.mo | |
done | |
) | |
} | |
package_20_schemas() { | |
msg2 'Installing schemas...' | |
find -name '*.xml' -exec install -Dm644 -t "$pkgdir/usr/share/glib-2.0/schemas" '{}' + | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment