feat: in tree changes

This commit is contained in:
Kat Inskip 2025-02-16 00:14:29 -08:00
parent 185833d1fb
commit d60c09d981
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
32 changed files with 339 additions and 155 deletions

View file

@ -0,0 +1,38 @@
{ lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-arcmenu";
version = "63";
src = fetchFromGitLab {
owner = "arcmenu";
repo = "ArcMenu";
rev = "v${version}";
hash = "sha256-XlDkdNINTnUAqr2bxL0u2tHWfiggqT1oOryED7sG/vs=";
};
patches = [
(substituteAll {
src = ./fix_gmenu.patch;
gmenu_path = "${gnome-menus}/lib/girepository-1.0";
})
];
buildInputs = [
glib gettext
];
makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
passthru = {
extensionUuid = "arcmenu@arcmenu.com";
extensionPortalSlug = "arcmenu";
};
meta = with lib; {
description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ dkabot ];
homepage = "https://gitlab.com/arcmenu/ArcMenu";
};
}

View file

@ -0,0 +1,31 @@
--- a/menuWidgets.js
+++ b/menuWidgets.js
@@ -3,7 +3,11 @@
import Atk from 'gi://Atk';
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
-import GMenu from 'gi://GMenu';
+
+import GIRepository from 'gi://GIRepository';
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
+const {default: GMenu} = await import('gi://GMenu');
+
import GObject from 'gi://GObject';
import Graphene from 'gi://Graphene';
import Pango from 'gi://Pango';
--- a/menulayouts/baseMenuLayout.js
+++ b/menulayouts/baseMenuLayout.js
@@ -1,7 +1,11 @@
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
-import GMenu from 'gi://GMenu';
+
+import GIRepository from 'gi://GIRepository';
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
+const {default: GMenu} = await import('gi://GMenu');
+
import GObject from 'gi://GObject';
import Shell from 'gi://Shell';
import St from 'gi://St';