Files
nixpkgs/pkgs/by-name/ch/chafa/package.nix
2026-08-17 22:12:48 +02:00

93 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
autoconf,
automake,
libtool,
pkg-config,
which,
libavif,
libjxl,
librsvg,
libxslt,
libxml2,
docbook_xml_dtd_412,
docbook_xsl,
glib,
}:
stdenv.mkDerivation (finalAttrs: {
version = "1.18.2";
pname = "chafa";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "hpjansson";
repo = "chafa";
tag = finalAttrs.version;
hash = "sha256-M4TTLpaIV7H3aLj7/C7FHT0GNCxN9SRZ81FtxuWNzjo=";
};
outputs = [
"bin"
"dev"
"man"
"out"
];
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
which
libxslt
libxml2
docbook_xml_dtd_412
docbook_xsl
installShellFiles
];
buildInputs = [
glib
libavif
libjxl
librsvg
];
patches = [ ./xmlcatalog_patch.patch ];
preConfigure = ''
substituteInPlace ./autogen.sh --replace-fail pkg-config '$PKG_CONFIG'
NOCONFIGURE=1 ./autogen.sh
'';
configureFlags = [
"--enable-man"
"--with-xml-catalog=${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml"
];
postInstall = ''
installShellCompletion --cmd chafa \
--fish tools/completions/fish-completion.fish \
--zsh tools/completions/zsh-completion.zsh
'';
meta = {
description = "Terminal graphics for the 21st century";
homepage = "https://hpjansson.org/chafa/";
changelog = "https://github.com/hpjansson/chafa/releases/tag/${finalAttrs.version}";
license = lib.licenses.lgpl3Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
mog
prince213
];
mainProgram = "chafa";
};
})