nixos/uptime-kuma: Add additional lockdown settings to systemd unit (#361452)
[NixPkgs.git] / pkgs / by-name / gu / gucharmap / package.nix
blobf6fd425d434bd550ce6dfd614385c7e853061f0b
1 { stdenv
2 , lib
3 , intltool
4 , fetchFromGitLab
5 , meson
6 , mesonEmulatorHook
7 , ninja
8 , pkg-config
9 , python3
10 , gtk3
11 , pcre2
12 , glib
13 , desktop-file-utils
14 , gtk-doc
15 , wrapGAppsHook3
16 , itstool
17 , libxml2
18 , yelp-tools
19 , docbook_xsl
20 , docbook_xml_dtd_412
21 , gsettings-desktop-schemas
22 , unzip
23 , unicode-character-database
24 , unihan-database
25 , runCommand
26 , symlinkJoin
27 , gobject-introspection
28 , gitUpdater
31 let
32   # TODO: make upstream patch allowing to use the uncompressed file,
33   # preferably from XDG_DATA_DIRS.
34   # https://gitlab.gnome.org/GNOME/gucharmap/issues/13
35   unihanZip = runCommand "unihan" {} ''
36     mkdir -p $out/share/unicode
37     ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip
38   '';
39   ucd = symlinkJoin {
40     name = "ucd+unihan";
41     paths = [
42       unihanZip
43       unicode-character-database
44     ];
45   };
46 in stdenv.mkDerivation (finalAttrs: {
47   pname = "gucharmap";
48   version = "16.0.1";
50   outputs = [ "out" "lib" "dev" "devdoc" ];
52   src = fetchFromGitLab {
53     domain = "gitlab.gnome.org";
54     owner = "GNOME";
55     repo = "gucharmap";
56     rev = finalAttrs.version;
57     hash = "sha256-eQ27TIggwQ2RjDQO5ytVrUT7iNtbP5HOwMcpzweMW8A=";
58   };
60   strictDeps = true;
61   nativeBuildInputs = [
62     meson
63     ninja
64     pkg-config
65     python3
66     wrapGAppsHook3
67     unzip
68     intltool
69     itstool
70     gtk-doc
71     docbook_xsl
72     docbook_xml_dtd_412
73     yelp-tools
74     libxml2
75     desktop-file-utils
76     gobject-introspection
77   ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
78     mesonEmulatorHook
79   ];
81   buildInputs = [
82     gtk3
83     glib
84     gsettings-desktop-schemas
85     pcre2
86   ];
88   mesonFlags = [
89     "-Ducd_path=${ucd}/share/unicode"
90     "-Dvapi=false"
91   ];
93   doCheck = true;
95   postPatch = ''
96     patchShebangs \
97       data/meson_desktopfile.py \
98       gucharmap/gen-guch-unicode-tables.pl
99   '';
101   passthru = {
102     updateScript = gitUpdater {
103     };
104   };
106   meta = with lib; {
107     description = "GNOME Character Map, based on the Unicode Character Database";
108     mainProgram = "gucharmap";
109     homepage = "https://gitlab.gnome.org/GNOME/gucharmap";
110     license = licenses.gpl3Plus;
111     maintainers = teams.gnome.members;
112     platforms = platforms.linux;
113   };