From e744a292dcb452394389478b0b0f0dbdc50b1423 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 6 May 2021 21:36:22 +0200 Subject: [PATCH] gtksourceview4: clean up Make consistent with gtksourceview5. --- .../libraries/gtksourceview/4.x.nix | 87 ++++++++++++++----- 1 file changed, 66 insertions(+), 21 deletions(-) diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix index c6ad8fbeda66..4f144219ce09 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; }; }