diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome/core/gucharmap/default.nix')
-rw-r--r-- | nixpkgs/pkgs/desktops/gnome/core/gucharmap/default.nix | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gucharmap/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gucharmap/default.nix new file mode 100644 index 000000000000..336a4d260c4e --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/core/gucharmap/default.nix @@ -0,0 +1,108 @@ +{ lib, stdenv +, intltool +, fetchFromGitLab +, meson +, ninja +, pkg-config +, python3 +, gtk3 +, adwaita-icon-theme +, glib +, desktop-file-utils +, gtk-doc +, wrapGAppsHook +, gnome +, itstool +, libxml2 +, yelp-tools +, docbook_xsl +, docbook_xml_dtd_412 +, gsettings-desktop-schemas +, callPackage +, unzip +, unicode-character-database +, unihan-database +, runCommand +, symlinkJoin +, gobject-introspection +}: + +let + # TODO: make upstream patch allowing to use the uncompressed file, + # preferably from XDG_DATA_DIRS. + # https://gitlab.gnome.org/GNOME/gucharmap/issues/13 + unihanZip = runCommand "unihan" {} '' + mkdir -p $out/share/unicode + ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip + ''; + ucd = symlinkJoin { + name = "ucd+unihan"; + paths = [ + unihanZip + unicode-character-database + ]; + }; +in stdenv.mkDerivation rec { + pname = "gucharmap"; + version = "13.0.2"; + + outputs = [ "out" "lib" "dev" "devdoc" ]; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = version; + sha256 = "099za9mc6qdq9pwcbjp3d7hxjbaa43vk2w9qw4yiyswl1xq3jw62"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + wrapGAppsHook + unzip + intltool + itstool + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + yelp-tools + libxml2 + desktop-file-utils + gobject-introspection + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + adwaita-icon-theme + ]; + + mesonFlags = [ + "-Ducd_path=${ucd}/share/unicode" + "-Dvapi=false" + ]; + + doCheck = true; + + postPatch = '' + patchShebangs data/meson_desktopfile.py gucharmap/gen-guch-unicode-tables.pl gucharmap/meson_compileschemas.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + description = "GNOME Character Map, based on the Unicode Character Database"; + homepage = "https://wiki.gnome.org/Apps/Gucharmap"; + license = licenses.gpl3; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} |