xfce.xfce4-notes-plugin: Generate C code with newer Vala (#359006)
[NixPkgs.git] / pkgs / by-name / le / letterpress / package.nix
blob3286633f671e390456a2152a727221f9b43f1349
2   lib,
3   fetchFromGitLab,
4   fetchpatch,
5   wrapGAppsHook4,
6   appstream,
7   blueprint-compiler,
8   desktop-file-utils,
9   gettext,
10   gobject-introspection,
11   jp2a,
12   libadwaita,
13   meson,
14   ninja,
15   pkg-config,
16   python3Packages,
18 python3Packages.buildPythonApplication rec {
19   pname = "letterpress";
20   version = "2.1";
22   src = fetchFromGitLab {
23     domain = "gitlab.gnome.org";
24     owner = "World";
25     repo = "letterpress";
26     rev = version;
27     hash = "sha256-9U8iH3V4WMljdtWLmb0RlexLeAN5StJ0c9RlEB2E7Xs=";
28   };
30   patches = [
31     # Fix application segmentation fault on file chooser dialog opening
32     # https://gitlab.gnome.org/World/Letterpress/-/merge_requests/16
33     (fetchpatch {
34       url = "https://gitlab.gnome.org/World/Letterpress/-/commit/15059eacca14204d1092a6e32ef30c6ce4df6d36.patch";
35       hash = "sha256-pjg/O9advtkZ0l73GQtL/GYcTWeOs5l3VGOdnsZCWI0=";
36     })
37   ];
39   runtimeDeps = [
40     jp2a
41   ];
43   buildInputs = [
44     libadwaita
45   ];
47   nativeBuildInputs = [
48     appstream
49     blueprint-compiler
50     desktop-file-utils
51     gettext
52     gobject-introspection
53     meson
54     ninja
55     pkg-config
56     wrapGAppsHook4
57   ];
59   dependencies = with python3Packages; [
60     pillow
61     pygobject3
62   ];
64   pyproject = false; # built by meson
65   dontWrapGApps = true; # prevent double wrapping
67   preFixup = ''
68     makeWrapperArgs+=(''${gappsWrapperArgs[@]} --prefix PATH : ${ lib.makeBinPath runtimeDeps })
69   '';
71   meta = with lib; {
72     description = "Create beautiful ASCII art";
73     longDescription = ''
74       Letterpress converts your images into a picture made up of ASCII characters.
75       You can save the output to a file, copy it, and even change its resolution!
76       High-res output can still be viewed comfortably by lowering the zoom factor.
77     '';
78     homepage = "https://apps.gnome.org/Letterpress/";
79     license = licenses.gpl3Plus;
80     maintainers = [ maintainers.dawidd6 ];
81     platforms = platforms.linux;
82     mainProgram = "letterpress";
83   };