From b1bf22ab0050cf5cff4f389719cdbca53bd30666 Mon Sep 17 00:00:00 2001 From: Eric Dallo Date: Sun, 29 Sep 2019 21:35:23 -0300 Subject: [PATCH] gnomeExtensions.drop-down-terminal: init at 24 --- maintainers/maintainer-list.nix | 5 +++ .../extensions/drop-down-terminal/default.nix | 35 +++++++++++++++++++ .../drop-down-terminal/fix_vte_and_gjs.patch | 32 +++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 4 files changed, 73 insertions(+) create mode 100644 pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix create mode 100644 pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3cb0cd3fa99..12e9ce60694 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1997,6 +1997,11 @@ githubId = 4828; name = "Eric Merritt"; }; + ericdallo = { + email = "ercdll1337@gmail.com"; + github = "ericdallo"; + name = "Eric Dallo"; + }; ericsagnes = { email = "eric.sagnes@gmail.com"; github = "ericsagnes"; diff --git a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix new file mode 100644 index 00000000000..c0ecfc29e2c --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, substituteAll, gnome3, vte }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-drop-down-terminal"; + version = "24"; + + src = fetchFromGitHub { + owner = "zzrough"; + repo = "gs-extensions-drop-down-terminal"; + rev = "v${version}"; + sha256 = "1gda56xzwsa5pgmgpb7lhb3i3gqishvn84282inwvqm86afks73r"; + }; + + uuid = "drop-down-terminal@gs-extensions.zzrough.org"; + + patches = [ + (substituteAll { + src = ./fix_vte_and_gjs.patch; + inherit vte; + gjs = gnome3.gjs; + }) + ]; + + installPhase = '' + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions/ + ''; + + meta = with stdenv.lib; { + description = "Configurable drop down terminal shell"; + license = licenses.gpl3; + maintainers = with maintainers; [ ericdallo ]; + homepage = https://github.com/zzrough/gs-extensions-drop-down-terminal; + }; +} diff --git a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch new file mode 100644 index 00000000000..3544c91ee89 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch @@ -0,0 +1,32 @@ +--- a/drop-down-terminal@gs-extensions.zzrough.org/extension.js ++++ b/drop-down-terminal@gs-extensions.zzrough.org/extension.js +@@ -15,6 +15,8 @@ + + // Author: Stéphane Démurget + ++imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0') ++ + const Lang = imports.lang; + const Gettext = imports.gettext.domain("drop-down-terminal"); + const Mainloop = imports.mainloop; +@@ -653,7 +655,7 @@ const DropDownTerminalExtension = new Lang.Class({ + this._killingChild = false; + + // finds the forking arguments +- let args = ["gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path]; ++ let args = ["@gjs@/bin/gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path]; + + // forks the process + debug("forking '" + args.join(" ") + "'"); +--- a/drop-down-terminal@gs-extensions.zzrough.org/terminal.js ++++ b/drop-down-terminal@gs-extensions.zzrough.org/terminal.js +@@ -14,6 +14,9 @@ + // along with this program. If not, see . + + // Author: Stéphane Démurget ++ ++imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0') ++ + const Lang = imports.lang; + + const Pango = imports.gi.Pango; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a2fbc80a9c6..457b11a7590 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22654,6 +22654,7 @@ in clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { }; dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { }; dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { }; + drop-down-terminal = callPackage ../desktops/gnome-3/extensions/drop-down-terminal { }; gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { }; icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { }; impatience = callPackage ../desktops/gnome-3/extensions/impatience.nix { };