summary refs log tree commit diff
path: root/pkgs/development/libraries/gtksourceview
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2021-05-06 21:36:22 +0200
committerJan Tojnar <jtojnar@gmail.com>2021-05-06 21:40:25 +0200
commite744a292dcb452394389478b0b0f0dbdc50b1423 (patch)
treeb79e5d49d0049d4798fe3ad39378828c00027a7f /pkgs/development/libraries/gtksourceview
parentbcdf3fbeeb576512d8624abbbcd021c6ab998097 (diff)
downloadnixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.tar
nixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.tar.gz
nixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.tar.bz2
nixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.tar.lz
nixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.tar.xz
nixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.tar.zst
nixpkgs-e744a292dcb452394389478b0b0f0dbdc50b1423.zip
gtksourceview4: clean up
Make consistent with gtksourceview5.
Diffstat (limited to 'pkgs/development/libraries/gtksourceview')
-rw-r--r--pkgs/development/libraries/gtksourceview/4.x.nix87
1 files changed, 66 insertions, 21 deletions
diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix
index c6ad8fbeda6..4f144219ce0 100644
--- a/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -1,32 +1,42 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, atk, cairo, glib, gtk3, pango, fribidi, vala
-, libxml2, perl, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info
-, meson, ninja }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkg-config
+, atk
+, cairo
+, glib
+, gtk3
+, pango
+, fribidi
+, vala
+, libxml2
+, perl
+, gettext
+, gnome3
+, gobject-introspection
+, dbus
+, xvfb_run
+, shared-mime-info
+}:
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
   version = "4.8.1";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0WPXG1/K+8Wx7sbdhB7b283dOnURzV/c/9hri7/mmsE=";
   };
 
-  propagatedBuildInputs = [
-    # Required by gtksourceview-4.0.pc
-    gtk3
-    # Used by gtk_source_language_manager_guess_language
-    shared-mime-info
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ meson ninja pkg-config gettext perl gobject-introspection vala ];
-
-  checkInputs = [ xvfb_run dbus ];
-
-  buildInputs = [ atk cairo glib pango fribidi libxml2 ];
-
   patches = [
+    # By default, the library loads syntaxes from XDG_DATA_DIRS and user directory
+    # but not from its own datadr (it assumes it will be in XDG_DATA_DIRS).
+    # Since this is not generally true with Nix, let’s add $out/share unconditionally.
     ./4.x-nix_share_path.patch
 
     # fixes intermittent "gtksourceview-gresources.h: no such file" errors
@@ -37,14 +47,48 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    perl
+    gobject-introspection
+    vala
+  ];
+
+  buildInputs = [
+    atk
+    cairo
+    glib
+    pango
+    fribidi
+    libxml2
+  ];
+
+  propagatedBuildInputs = [
+    # Required by gtksourceview-4.0.pc
+    gtk3
+    # Used by gtk_source_language_manager_guess_language
+    shared-mime-info
+  ];
+
+  checkInputs = [
+    xvfb_run
+    dbus
+  ];
 
   doCheck = stdenv.isLinux;
+
   checkPhase = ''
+    runHook preCheck
+
     XDG_DATA_DIRS="$XDG_DATA_DIRS:${shared-mime-info}/share" \
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
       meson test --no-rebuild --print-errorlogs
+
+    runHook postCheck
   '';
 
   passthru = {
@@ -56,9 +100,10 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
+    description = "Source code editing widget for GTK";
     homepage = "https://wiki.gnome.org/Projects/GtkSourceView";
-    platforms = with platforms; linux ++ darwin;
-    license = licenses.lgpl21;
+    platforms = platforms.unix;
+    license = licenses.lgpl21Plus;
     maintainers = teams.gnome.members;
   };
 }