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 512ba7617d6..9a0051b5bf9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26235,6 +26235,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 { };