|
|
|
@ -1,53 +1,56 @@ |
|
|
|
|
{ stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook |
|
|
|
|
, libxml2, gobject-introspection, gtk3, gtksourceview, gnome3 |
|
|
|
|
, gsettings-desktop-schemas, dbus, xvfb_run |
|
|
|
|
{ stdenv |
|
|
|
|
, fetchurl |
|
|
|
|
, gettext |
|
|
|
|
, itstool |
|
|
|
|
, python3 |
|
|
|
|
, meson |
|
|
|
|
, ninja |
|
|
|
|
, wrapGAppsHook |
|
|
|
|
, libxml2 |
|
|
|
|
, pkg-config |
|
|
|
|
, desktop-file-utils |
|
|
|
|
, gobject-introspection |
|
|
|
|
, gtk3 |
|
|
|
|
, gtksourceview4 |
|
|
|
|
, gnome3 |
|
|
|
|
, gsettings-desktop-schemas |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
python3.pkgs.buildPythonApplication rec { |
|
|
|
|
pname = "meld"; |
|
|
|
|
version = "3.20.2"; |
|
|
|
|
version = "3.21.0"; |
|
|
|
|
|
|
|
|
|
format = "other"; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; |
|
|
|
|
sha256 = "0a0x156zr3w2yg0rnhwy39giy3xnfm6sqcfa4xcw4i6ahvwqa2dc"; |
|
|
|
|
sha256 = "toARTVq3kzJFSf1Y9OsgLY4oDAYzoLdl7ebfs0FgqBs="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
intltool itstool libxml2 gobject-introspection wrapGAppsHook |
|
|
|
|
meson |
|
|
|
|
ninja |
|
|
|
|
gettext |
|
|
|
|
itstool |
|
|
|
|
libxml2 |
|
|
|
|
pkg-config |
|
|
|
|
desktop-file-utils |
|
|
|
|
gobject-introspection |
|
|
|
|
wrapGAppsHook |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
buildInputs = [ |
|
|
|
|
gtk3 gtksourceview gsettings-desktop-schemas gnome3.adwaita-icon-theme |
|
|
|
|
gtk3 |
|
|
|
|
gtksourceview4 |
|
|
|
|
gsettings-desktop-schemas |
|
|
|
|
gnome3.adwaita-icon-theme |
|
|
|
|
gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now |
|
|
|
|
]; |
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ]; |
|
|
|
|
checkInputs = [ xvfb_run python3.pkgs.pytest dbus gtksourceview gtk3 ]; |
|
|
|
|
|
|
|
|
|
installPhase = '' |
|
|
|
|
runHook preInstall |
|
|
|
|
${python3.interpreter} setup.py install --prefix=$out |
|
|
|
|
runHook postInstall |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
checkPhase = '' |
|
|
|
|
runHook preCheck |
|
|
|
|
|
|
|
|
|
# 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 |
|
|
|
|
|
|
|
|
|
# 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" |
|
|
|
|
|
|
|
|
|
# ModuleNotFoundError: No module named 'meld' |
|
|
|
|
export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH |
|
|
|
|
|
|
|
|
|
# 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 |
|
|
|
|
|
|
|
|
|
runHook postCheck |
|
|
|
|
''; |
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [ |
|
|
|
|
pygobject3 |
|
|
|
|
pycairo |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
passthru = { |
|
|
|
|
updateScript = gnome3.updateScript { |
|
|
|
@ -58,7 +61,7 @@ python3.pkgs.buildPythonApplication rec { |
|
|
|
|
meta = with stdenv.lib; { |
|
|
|
|
description = "Visual diff and merge tool"; |
|
|
|
|
homepage = "http://meldmerge.org/"; |
|
|
|
|
license = licenses.gpl2; |
|
|
|
|
license = licenses.gpl2Plus; |
|
|
|
|
platforms = platforms.linux ++ platforms.darwin; |
|
|
|
|
maintainers = with maintainers; [ jtojnar mimame ]; |
|
|
|
|
}; |
|
|
|
|