From 7bb72bb02e9a408e4daf60abe3cb7024d381f928 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 6 May 2021 20:53:09 +0200 Subject: gtksourceview5: init at 5.0.0 --- pkgs/development/libraries/gtksourceview/5.x.nix | 99 ++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 pkgs/development/libraries/gtksourceview/5.x.nix (limited to 'pkgs/development/libraries/gtksourceview') diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix new file mode 100644 index 0000000000000..a1bc60ebc3085 --- /dev/null +++ b/pkgs/development/libraries/gtksourceview/5.x.nix @@ -0,0 +1,99 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, glib +, pcre2 +, gtk4 +, pango +, fribidi +, vala +, libxml2 +, perl +, gettext +, gnome3 +, gobject-introspection +, dbus +, xvfb_run +, shared-mime-info +}: + +stdenv.mkDerivation rec { + pname = "gtksourceview"; + version = "5.0.0"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1hyrmh9r1zd5kjh5ch9d7bhk2kphbqhm7ijfxfkcdln8q0rnd0k4"; + }; + + 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 + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + perl + gobject-introspection + vala + ]; + + buildInputs = [ + glib + pcre2 + pango + fribidi + libxml2 + ]; + + propagatedBuildInputs = [ + # Required by gtksourceview-5.0.pc + gtk4 + # 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 = { + updateScript = gnome3.updateScript { + packageName = "gtksourceview"; + attrPath = "gtksourceview5"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + description = "Source code editing widget for GTK"; + homepage = "https://wiki.gnome.org/Projects/GtkSourceView"; + platforms = platforms.unix; + license = licenses.lgpl21Plus; + maintainers = teams.gnome.members; + }; +} -- cgit 1.4.1