From db6178b797dec5aa0295a71160d6d7008ada1a53 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 25 Nov 2020 13:33:17 +0200 Subject: [PATCH] gnomeExtensions.easyScreenCast: init at unstable-2020-11-25 --- .../extensions/EasyScreenCast/default.nix | 38 +++++++++++++++++++ .../EasyScreenCast/fix-gi-path.patch | 16 ++++++++ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 55 insertions(+) create mode 100644 pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix create mode 100644 pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch diff --git a/pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix new file mode 100644 index 00000000000..523dbc622f0 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, substituteAll, glib, gnome3, gettext }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-EasyScreenCast"; + version = "unstable-2020-11-25"; + + src = fetchFromGitHub { + # To make it work with gnome 3.38, using effectively: https://github.com/EasyScreenCast/EasyScreenCast/pull/276 + owner = "Ian2020"; + repo = "EasyScreenCast"; + rev = "b1ab4a999bc7110ecbf68b5fe42c37fa67d7cb0d"; + sha256 = "s9b0ITKUzgG6XOd1bK7i3mGxfc+T+UHrTZhBp0Ff8zQ="; + }; + + patches = [ + (substituteAll { + src = ./fix-gi-path.patch; + gnomeShell = gnome3.gnome-shell; + }) + ]; + + nativeBuildInputs = [ + glib gettext + ]; + + makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; + + uuid = "EasyScreenCast@iacopodeenosee.gmail.com"; + + meta = with stdenv.lib; { + description = "Simplifies the use of the video recording function integrated in gnome shell"; + homepage = "https://github.com/EasyScreenCast/EasyScreenCast"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch b/pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch new file mode 100644 index 00000000000..2d32021b6c6 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch @@ -0,0 +1,16 @@ +diff --git i/utilaudio.js w/utilaudio.js +index 983b29c..7a94de8 100644 +--- i/utilaudio.js ++++ w/utilaudio.js +@@ -11,10 +11,7 @@ + */ + + const GIRepository = imports.gi.GIRepository; +-GIRepository.Repository.prepend_search_path("/usr/lib/gnome-shell"); +-GIRepository.Repository.prepend_library_path("/usr/lib/gnome-shell"); +-GIRepository.Repository.prepend_search_path("/usr/lib64/gnome-shell"); +-GIRepository.Repository.prepend_library_path("/usr/lib64/gnome-shell"); ++GIRepository.Repository.prepend_search_path("@gnomeShell@/lib/gnome-shell"); + const Gvc = imports.gi.Gvc; + const Lang = imports.lang; + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 43ced1f6b2e..f87ed4e621f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26066,6 +26066,7 @@ in dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { }; draw-on-your-screen = callPackage ../desktops/gnome-3/extensions/draw-on-your-screen { }; drop-down-terminal = callPackage ../desktops/gnome-3/extensions/drop-down-terminal { }; + easyScreenCast = callPackage ../desktops/gnome-3/extensions/EasyScreenCast { }; emoji-selector = callPackage ../desktops/gnome-3/extensions/emoji-selector { }; freon = callPackage ../desktops/gnome-3/extensions/freon { }; gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { };