summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix50
1 files changed, 28 insertions, 22 deletions
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index 674aa84dbc2..52fa45812fa 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,51 +1,57 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, gettext, itstool, libvirt-glib
+{ stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig, gettext, itstool, libvirt-glib
 , glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice-gtk
 , spice-protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala
 , libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop-file-utils
 , mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, qemu, libsecret
-, libcap_ng, numactl, xen, libapparmor
+, libcap_ng, numactl, xen, libapparmor, json-glib, webkitgtk
 }:
 
 # TODO: ovirt (optional)
 
-stdenv.mkDerivation rec {
+let
+  version = "3.27.92";
+in stdenv.mkDerivation rec {
   name = "gnome-boxes-${version}";
-  version = "3.26.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "d00fc083182963dc1bbdee5e743ceb28ba03fbf5a9ea87c78d29dca5fb5b9210";
+    sha256 = "1v1br4zh2w3w70np5imi31md6lnqamabiin521f806rdrxsnyggq";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-boxes"; attrPath = "gnome3.gnome-boxes"; };
-  };
-
-  enableParallelBuilding = true;
-
   doCheck = true;
 
   nativeBuildInputs = [
-    makeWrapper pkgconfig gettext
+    meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection desktop-file-utils
   ];
 
   buildInputs = [
-    itstool libvirt-glib glib gobjectIntrospection libxml2 gtk3 gtkvnc
-    libvirt spice-gtk spice-protocol libsoup libosinfo systemd
-    tracker tracker-miners vala libcap yajl gmp gdbm cyrus_sasl libusb libarchive
-    gnome3.defaultIconTheme librsvg desktop-file-utils acl libgudev libsecret
+    libvirt-glib glib gtk3 gtkvnc libxml2
+    libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd
+    tracker tracker-miners libcap yajl gmp gdbm cyrus_sasl libusb libarchive
+    gnome3.defaultIconTheme librsvg acl libgudev libsecret
     libcap_ng numactl xen libapparmor
   ];
 
   preFixup = ''
-    for prog in "$out/bin/"*; do
-        wrapProgram "$prog" \
-            --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-            --prefix XDG_DATA_DIRS : "${gnome3.gnome-themes-standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-            --prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}"
-    done
+    gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}")
   '';
 
+  mesonFlags = [
+    "-Dovirt=false"
+  ];
+
+  postPatch = ''
+    chmod +x build-aux/post_install.py # patchShebangs requires executable file
+    patchShebangs build-aux/post_install.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-boxes";
+      attrPath = "gnome3.gnome-boxes";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Simple GNOME 3 application to access remote or virtual systems";
     homepage = https://wiki.gnome.org/action/show/Apps/Boxes;