Package Details: gnome-shell-extension-forge 75-1

Git Clone URL: https://aur.archlinux.org/gnome-shell-extension-forge.git (read-only, click to copy)
Package Base: gnome-shell-extension-forge
Description: Tiling and Window Manager for Gnome-Shell
Upstream URL: https://github.com/forge-ext/forge
Licenses: GPL-3.0-or-later
Submitter: Radeox
Maintainer: yochananmarqos
Last Packager: yochananmarqos
Votes: 3
Popularity: 0.032089
First Submitted: 2022-02-23 22:16 (UTC)
Last Updated: 2024-01-20 22:27 (UTC)

Latest Comments

Radeox commented on 2023-02-20 10:25 (UTC)

When tested I've removed everything in ~/.local/share/gnome-shell/extensions

twouters commented on 2023-02-20 10:21 (UTC)

Could be a conflict with the extension being in both ~/.local/share/gnome-shell/extensions and /usr/share/gnome-shell/extensions/ or another remnant in ~/.local?

Radeox commented on 2023-02-20 10:15 (UTC)

True, this was a suggestion from the developer since Gnome for some reason is ignoring the provided XML and that cause the extension settings to crash because of a missing value (which is in fact in the XML)

twouters commented on 2023-02-20 10:13 (UTC)

Oh, right, I misread the comment and didn't notice that it's about gschemas.compiled.
I don't think the package needs the compiled file? 62-2 didn't contain it and the extension settings work fine for me.

Radeox commented on 2023-02-20 09:51 (UTC)

I think the file gschemas.compiled is common to all extensions installed so it will always be in the system. When installed in $HOME the correct schema is loaded for some reason

twouters commented on 2023-02-20 09:27 (UTC)

I end up with an empty package again:

$ pacman -Qlp gnome-shell-extension-forge-62-3-any.pkg.tar.zst
$

The Makefile doesn't take DESTDIR into account, so it'll end up installing in $HOME again, which doesn't make sense when building the package in a clean chroot.

The conflict with the local file on your system might be an artifact of previous non-chrooted builds - or gnome put it there, I don't really know how it handles extension schemas - and you probably want to move that file out of the way before installing the package.

Radeox commented on 2023-01-09 15:41 (UTC)

@twouters You're right, I've never noticed where the extension was installed in the end. Thanks for the tip!

twouters commented on 2023-01-09 15:07 (UTC)

make install installs files in $(HOME)/.local/share/gnome-shell/extensions/$(UUID) and shouldn't be used in makepkg()

Something like this does work:

diff --git a/PKGBUILD b/PKGBUILD
index 040c226..433532a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -21,5 +21,15 @@ build() {

 package() {
     cd ${srcdir}/${_pkgname}-${_gnomever}-${pkgver}/
-    make DESTDIR="${pkgdir}" VERSION="${pkgver}" install
+    local uuid=$(grep -Po '(?<="uuid": ")[^"]*' metadata.json)
+    local destdir="$pkgdir/usr/share/gnome-shell/extensions/$uuid"
+    install -d "$destdir"
+    cp -rT temp "$destdir"
+
+    cp -r temp/locale "$pkgdir/usr/share/"
+    rm -rf "$destdir/locale"
+
+    install -Dm644 "temp/schemas/org.gnome.shell.extensions.forge.gschema.xml" -t \
+        "$pkgdir/usr/share/glib-2.0/schemas/"
+    rm -rf "$destdir/schemas"
 }