summary refs log tree commit diff
diff options
context:
space:
mode:
authorR. RyanTM <ryantm-bot@ryantm.com>2019-01-13 13:05:01 -0800
committerxeji <36407913+xeji@users.noreply.github.com>2019-01-13 22:05:01 +0100
commit27609af22044d0f9d32e97dc24b53cbc82196f22 (patch)
tree397d545112cb5a56f0eef7528219a5f65f0aed81
parentbddaa4bc16ad66423d772610c02714f2ab2744ad (diff)
downloadnixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.tar
nixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.tar.gz
nixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.tar.bz2
nixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.tar.lz
nixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.tar.xz
nixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.tar.zst
nixpkgs-27609af22044d0f9d32e97dc24b53cbc82196f22.zip
meld: 3.18.3 -> 3.20.0 (#53595)
Update and enable tests
-rw-r--r--pkgs/applications/version-management/meld/default.nix65
1 files changed, 35 insertions, 30 deletions
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index bc45d8bb752..6456dd75b52 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,47 +1,52 @@
-{ stdenv, fetchurl, itstool, python3Packages, intltool, wrapGAppsHook
-, libxml2, gobject-introspection, gtk3, gnome3, cairo, file
+{ stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook
+, libxml2, gobject-introspection, gtk3, gtksourceview, gnome3
+, dbus, xvfb_run
 }:
 
-
-let
+python3.pkgs.buildPythonApplication rec {
   pname = "meld";
-  version = "3.18.3";
-  inherit (python3Packages) python buildPythonApplication pycairo pygobject3;
-in buildPythonApplication rec {
-  name = "${pname}-${version}";
+  version = "3.20.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0vn1qx60f8113x8wh7f4bflhzir1vx7p0wdfi7nbip6fh8gaf3ln";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "11khi1sg02k3b9qdag3r939cwi27cql4kjim7jhxf9ckfhpzwh6b";
   };
 
+  nativeBuildInputs = [
+    intltool itstool libxml2 gobject-introspection wrapGAppsHook
+  ];
   buildInputs = [
-    intltool wrapGAppsHook itstool libxml2
-    gnome3.gtksourceview gnome3.gsettings-desktop-schemas pycairo cairo
-    gnome3.defaultIconTheme gnome3.dconf file
+    gtk3 gtksourceview gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
   ];
-  propagatedBuildInputs = [ gobject-introspection pygobject3 gtk3 ];
+  propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ];
+  checkInputs = [ xvfb_run python3.pkgs.pytest dbus ];
 
   installPhase = ''
-    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    runHook preInstall
+    ${python3.interpreter} setup.py install --prefix=$out
+    runHook postInstall
+  '';
 
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+  checkPhase = ''
+    runHook preCheck
 
-    ${python}/bin/${python.executable} setup.py install \
-      --install-lib=$out/lib/${python.libPrefix}/site-packages \
-      --prefix="$out"
+    # Unable to create user data directory '/homeless-shelter/.local/share' for storing the recently used files list: Permission denied
+    mkdir test-home
+    export HOME=$(pwd)/test-home
 
-    mkdir -p $out/share/gsettings-schemas/$name
-    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
-  '';
+    # GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme Adwaita
+    export XDG_DATA_DIRS="$out/share:$XDG_DATA_DIRS"
 
-  patchPhase = ''
-    patchShebangs bin/meld
-  '';
+    # ModuleNotFoundError: No module named 'meld'
+    export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
 
-  pythonPath = [ gtk3 ];
+    # Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      py.test
 
-  doCheck = false;
+    runHook postCheck
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -52,8 +57,8 @@ in buildPythonApplication rec {
   meta = with stdenv.lib; {
     description = "Visual diff and merge tool";
     homepage = http://meldmerge.org/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = [ maintainers.mimadrid ];
+    license = licenses.gpl2;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ jtojnar mimadrid ];
   };
 }