depot/pkgs/by-name/ha/haunt/package.nix
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

75 lines
2.1 KiB
Nix

{
lib,
stdenv,
fetchurl,
fetchpatch,
autoreconfHook,
callPackage,
guile,
guile-commonmark,
guile-reader,
makeWrapper,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "haunt";
version = "0.3.0";
src = fetchurl {
url = "https://files.dthompson.us/haunt/haunt-${finalAttrs.version}.tar.gz";
hash = "sha256-mLq+0GvlSgZsPryUQQqR63zEg2fpTVKBMdO6JxSZmSs=";
};
nativeBuildInputs = [
autoreconfHook
makeWrapper
pkg-config
];
buildInputs = [
guile
guile-commonmark
guile-reader
];
# Test suite is non-determinisitic in later versions
doCheck = false;
postInstall = ''
wrapProgram $out/bin/haunt \
--prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
--prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
'';
passthru = {
tests = {
expectVersion = callPackage ./tests/001-test-version.nix { };
};
};
meta = {
homepage = "https://dthompson.us/projects/haunt.html";
description = "Guile-based static site generator";
mainProgram = "haunt";
longDescription = ''
Haunt is a simple, functional, hackable static site generator that gives
authors the ability to treat websites as Scheme programs.
By giving authors the full expressive power of Scheme, they are able to
control every aspect of the site generation process. Haunt provides a
simple, functional build system that can be easily extended for this
purpose.
Haunt has no opinion about what markup language authors should use to
write posts, though it comes with support for the popular Markdown
format. Likewise, Haunt has no opinion about how authors structure their
sites. Though it comes with support for building simple blogs or Atom
feeds, authors should feel empowered to tweak, replace, or create builders
to do things that aren't provided out-of-the-box.
'';
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (guile.meta) platforms;
};
})