summary refs log tree commit diff
path: root/pkgs/development/libraries/gtksourceview
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-03-14 04:38:58 +0100
committerJan Tojnar <jtojnar@gmail.com>2018-03-22 07:46:46 +0100
commit08113f7ce7ea660c5cac1a0d09947faa5977acf4 (patch)
tree0b0328832682779d3cf6e3c3aa273cc5d15f2683 /pkgs/development/libraries/gtksourceview
parent960d599f530794737b689f7406a66f6bce84700e (diff)
gtksourceview: move out of gnome3
Diffstat (limited to 'pkgs/development/libraries/gtksourceview')
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch11
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x.nix58
2 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch b/pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch
new file mode 100644
index 0000000000000..c87350167c25c
--- /dev/null
+++ b/pkgs/development/libraries/gtksourceview/3.x-nix_share_path.patch
@@ -0,0 +1,11 @@
+--- a/gtksourceview/gtksourceview-utils.c	2014-07-13 16:13:57.418687726 +0200
++++ b/gtksourceview/gtksourceview-utils.c	2014-07-13 16:14:20.550847767 +0200
+@@ -68,6 +68,8 @@
+ 							 basename,
+ 							 NULL));
+ 
++        g_ptr_array_add (dirs, g_build_filename ("@NIX_SHARE_PATH@", SOURCEVIEW_DIR, basename, NULL));
++
+ 	g_ptr_array_add (dirs, NULL);
+ 
+ 	return (gchar**) g_ptr_array_free (dirs, FALSE);
diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
new file mode 100644
index 0000000000000..fd7740390700d
--- /dev/null
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
+, libxml2, perl, intltool, gettext, gnome3, gobjectIntrospection, dbus, xvfb_run, shared-mime-info }:
+
+let
+  checkInputs = [ xvfb_run dbus ];
+in stdenv.mkDerivation rec {
+  name = "gtksourceview-${version}";
+  version = "3.24.6";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtksourceview/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188";
+  };
+
+  propagatedBuildInputs = [
+    # Required by gtksourceview-3.0.pc
+    gtk3
+    # Used by gtk_source_language_manager_guess_language
+    shared-mime-info
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig intltool gettext perl gobjectIntrospection ]
+    ++ stdenv.lib.optionals doCheck checkInputs;
+
+  buildInputs = [ atk cairo glib pango libxml2 ];
+
+  preBuild = ''
+    substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
+  '';
+
+  patches = [ ./3.x-nix_share_path.patch ];
+
+  enableParallelBuilding = true;
+
+  doCheck = stdenv.isLinux;
+  checkPhase = ''
+    export NO_AT_BRIDGE=1
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      make check
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gtksourceview";
+      attrPath = "gnome3.gtksourceview";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GtkSourceView;
+    platforms = with platforms; linux ++ darwin;
+    license = licenses.lgpl21;
+    maintainers = gnome3.maintainers;
+  };
+}