aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix58
1 files changed, 45 insertions, 13 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
index 98827fd3f6a2..d85efd0a4da4 100644
--- a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
@@ -1,16 +1,34 @@
-{ stdenv, fetchFromGitHub, substituteAll, python3, openssl, gsound
-, meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook
-, glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }:
+{ stdenv
+, fetchFromGitHub
+, substituteAll
+, openssl
+, gsound
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, glib-networking
+, gtk3
+, openssh
+, gnome3
+, gjs
+, nixosTests
+, gsettings-desktop-schemas
+}:
stdenv.mkDerivation rec {
pname = "gnome-shell-gsconnect";
- version = "41";
+ version = "44";
+
+ outputs = [ "out" "installedTests" ];
src = fetchFromGitHub {
owner = "andyholmes";
repo = "gnome-shell-extension-gsconnect";
rev = "v${version}";
- sha256 = "0lcj7k16jki54bsyh01j4ss4hhfddnahcw02zlmlkl637qdv1b5j";
+ sha256 = "C+8mhK4UOs2iZplDyY45bCX0mMGgwVV/ZfaPpYUlWxA=";
};
patches = [
@@ -19,24 +37,24 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
gapplication = "${glib.bin}/bin/gapplication";
})
+
+ # Allow installing installed tests to a separate output
+ ./installed-tests-path.patch
];
nativeBuildInputs = [
- meson ninja pkgconfig
+ meson
+ ninja
+ pkg-config
gobject-introspection # for locating typelibs
wrapGAppsHook # for wrapping daemons
- libxml2 # xmllint
];
buildInputs = [
glib # libgobject
+ glib-networking
gtk3
- at-spi2-core # atspi
- gnome3.nautilus # TODO: this contaminates the package with nautilus and gnome-autoar typelibs but it is only needed for the extension
- gnome3.nautilus-python
gsound
- upower
- gnome3.caribou
gjs # for running daemon
gnome3.evolution-data-server # for libebook-contacts typelib
];
@@ -51,11 +69,13 @@ stdenv.mkDerivation rec {
"-Dsshkeygen_path=${openssh}/bin/ssh-keygen"
"-Dsession_bus_services_dir=${placeholder "out"}/share/dbus-1/services"
"-Dpost_install=true"
+ "-Dinstalled_test_prefix=${placeholder ''installedTests''}"
];
postPatch = ''
patchShebangs meson/nmh.sh
patchShebangs meson/post-install.sh
+ patchShebangs installed-tests/prepare-tests.sh
# TODO: do not include every typelib everywhere
# for example, we definitely do not need nautilus
@@ -71,14 +91,26 @@ stdenv.mkDerivation rec {
echo "Wrapping program $file"
wrapGApp "$file"
done
+
+ # Wrap jasmine runner for tests
+ for file in $installedTests/libexec/installed-tests/gsconnect/minijasmine; do
+ echo "Wrapping program $file"
+ wrapGApp "$file"
+ done
'';
uuid = "gsconnect@andyholmes.github.io";
+ passthru = {
+ tests = {
+ installedTests = nixosTests.installed-tests.gsconnect;
+ };
+ };
+
meta = with stdenv.lib; {
description = "KDE Connect implementation for Gnome Shell";
homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki";
- license = licenses.gpl2;
+ license = licenses.gpl2Plus;
maintainers = with maintainers; [ etu ];
platforms = platforms.linux;
};