nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 installShellFiles,
6 autoconf,
7 automake,
8 libtool,
9 pkg-config,
10 which,
11 libavif,
12 libjxl,
13 librsvg,
14 libxslt,
15 libxml2,
16 docbook_xml_dtd_412,
17 docbook_xsl,
18 glib,
19}:
20
21stdenv.mkDerivation (finalAttrs: {
22 version = "1.18.0";
23 pname = "chafa";
24
25 src = fetchFromGitHub {
26 owner = "hpjansson";
27 repo = "chafa";
28 tag = finalAttrs.version;
29 hash = "sha256-SKwrc0bOaSdxENUWMtErSCug7of9s/ZGLeKhTtUCbWY=";
30 };
31
32 outputs = [
33 "bin"
34 "dev"
35 "man"
36 "out"
37 ];
38
39 nativeBuildInputs = [
40 autoconf
41 automake
42 libtool
43 pkg-config
44 which
45 libxslt
46 libxml2
47 docbook_xml_dtd_412
48 docbook_xsl
49 installShellFiles
50 ];
51
52 buildInputs = [
53 glib
54 libavif
55 libjxl
56 librsvg
57 ];
58
59 patches = [ ./xmlcatalog_patch.patch ];
60
61 preConfigure = ''
62 substituteInPlace ./autogen.sh --replace pkg-config '$PKG_CONFIG'
63 NOCONFIGURE=1 ./autogen.sh
64 '';
65
66 configureFlags = [
67 "--enable-man"
68 "--with-xml-catalog=${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml"
69 ];
70
71 postInstall = ''
72 installShellCompletion --cmd chafa \
73 --fish tools/completions/fish-completion.fish \
74 --zsh tools/completions/zsh-completion.zsh
75 '';
76
77 meta = {
78 description = "Terminal graphics for the 21st century";
79 homepage = "https://hpjansson.org/chafa/";
80 license = lib.licenses.lgpl3Plus;
81 platforms = lib.platforms.all;
82 maintainers = with lib.maintainers; [
83 mog
84 prince213
85 ];
86 mainProgram = "chafa";
87 };
88})