diff --git a/pkgs/by-name/li/libgedit-gtksourceview/nix-share-path.patch b/pkgs/by-name/li/libgedit-gtksourceview/nix-share-path.patch new file mode 100644 index 000000000000..a35d9a88d0df --- /dev/null +++ b/pkgs/by-name/li/libgedit-gtksourceview/nix-share-path.patch @@ -0,0 +1,11 @@ +--- a/gtksourceview/gtksourceutils.c ++++ b/gtksourceview/gtksourceutils.c +@@ -232,6 +232,8 @@ + NULL)); + } + ++ g_ptr_array_add (dirs, g_build_filename (DATADIR, GSV_DATA_SUBDIR, basename, NULL)); ++ + g_ptr_array_add (dirs, NULL); + + return (gchar **) g_ptr_array_free (dirs, FALSE); diff --git a/pkgs/by-name/li/libgedit-gtksourceview/package.nix b/pkgs/by-name/li/libgedit-gtksourceview/package.nix new file mode 100644 index 000000000000..3de70506f330 --- /dev/null +++ b/pkgs/by-name/li/libgedit-gtksourceview/package.nix @@ -0,0 +1,69 @@ +{ stdenv +, lib +, fetchFromGitHub +, docbook-xsl-nons +, gobject-introspection +, gtk-doc +, meson +, ninja +, pkg-config +, libxml2 +, glib +, gtk3 +, shared-mime-info +, gitUpdater +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libgedit-gtksourceview"; + version = "299.0.5"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchFromGitHub { + owner = "gedit-technology"; + repo = "libgedit-gtksourceview"; + rev = finalAttrs.version; + hash = "sha256-PQ7cpul9h1JzywDWm9YyD95B1ONSdUUk0EQJMEGoRN0="; + }; + + 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. + ./nix-share-path.patch + ]; + + nativeBuildInputs = [ + docbook-xsl-nons + gobject-introspection + gtk-doc + meson + ninja + pkg-config + ]; + + buildInputs = [ + libxml2 + ]; + + propagatedBuildInputs = [ + # Required by libgedit-gtksourceview-300.pc + glib + gtk3 + # Used by gtk_source_language_manager_guess_language + shared-mime-info + ]; + + passthru.updateScript = gitUpdater { + odd-unstable = true; + }; + + meta = with lib; { + description = "Source code editing widget for GTK"; + homepage = "https://github.com/gedit-technology/libgedit-gtksourceview"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ bobby285271 ]; + platforms = platforms.linux; + }; +})