2021-04-17 00:35:05 +00:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchurl
|
2023-08-04 22:07:22 +00:00
|
|
|
, fetchpatch
|
|
|
|
, autoreconfHook
|
2023-10-19 13:55:26 +00:00
|
|
|
, callPackage
|
2021-04-17 00:35:05 +00:00
|
|
|
, guile
|
|
|
|
, guile-commonmark
|
|
|
|
, guile-reader
|
|
|
|
, makeWrapper
|
|
|
|
, pkg-config
|
|
|
|
}:
|
|
|
|
|
2023-10-19 13:55:26 +00:00
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
2021-04-17 00:35:05 +00:00
|
|
|
pname = "haunt";
|
2023-04-29 16:46:19 +00:00
|
|
|
version = "0.2.6";
|
2021-04-17 00:35:05 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2023-10-19 13:55:26 +00:00
|
|
|
url = "https://files.dthompson.us/haunt/haunt-${finalAttrs.version}.tar.gz";
|
2023-04-29 16:46:19 +00:00
|
|
|
hash = "sha256-vPKLQ9hDJdimEAXwIBGgRRlefM8/77xFQoI+0J/lkNs=";
|
2021-04-17 00:35:05 +00:00
|
|
|
};
|
|
|
|
|
2023-08-04 22:07:22 +00:00
|
|
|
# Symbol not found: inotify_init
|
|
|
|
patches = [
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://git.dthompson.us/haunt.git/patch/?id=ab0b722b0719e3370a21359e4d511af9c4f14e60";
|
|
|
|
hash = "sha256-TPNJKGlbDkV9RpdN274qMLoN3HlwfH/yHpxlpqOPw58=";
|
|
|
|
})
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://git.dthompson.us/haunt.git/patch/?id=7d0b71f6a3f0e714da5a5c43e52408e27f44c383";
|
|
|
|
hash = "sha256-CW/h8CqsALKDuKRoN1bd/WEtFTvFj0VxtgmpatyrLm8=";
|
|
|
|
})
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://git.dthompson.us/haunt.git/patch/?id=1a91f3d0568fc095d8b0875c6553ef15b76efa4c";
|
|
|
|
hash = "sha256-+3wUlTuzbyGibAsCiYWKvzPqUrFs7VwdhnADjnPuWIY=";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2021-04-17 00:35:05 +00:00
|
|
|
nativeBuildInputs = [
|
2023-08-04 22:07:22 +00:00
|
|
|
autoreconfHook
|
2021-04-17 00:35:05 +00:00
|
|
|
makeWrapper
|
|
|
|
pkg-config
|
|
|
|
];
|
2023-10-19 13:55:26 +00:00
|
|
|
|
2021-04-17 00:35:05 +00:00
|
|
|
buildInputs = [
|
|
|
|
guile
|
|
|
|
guile-commonmark
|
|
|
|
guile-reader
|
|
|
|
];
|
|
|
|
|
2023-04-29 16:46:19 +00:00
|
|
|
# Test suite is non-determinisitic in later versions
|
|
|
|
doCheck = false;
|
2021-05-03 20:48:10 +00:00
|
|
|
|
2023-08-10 07:59:29 +00:00
|
|
|
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"
|
|
|
|
'';
|
2021-05-03 20:48:10 +00:00
|
|
|
|
2023-10-19 13:55:26 +00:00
|
|
|
passthru = {
|
|
|
|
tests = {
|
|
|
|
expectVersion = callPackage ./tests/001-test-version.nix { };
|
|
|
|
};
|
|
|
|
};
|
2021-04-17 00:35:05 +00:00
|
|
|
|
2023-10-19 13:55:26 +00:00
|
|
|
meta = {
|
2021-04-17 00:35:05 +00:00
|
|
|
homepage = "https://dthompson.us/projects/haunt.html";
|
|
|
|
description = "Guile-based static site generator";
|
2024-04-21 15:54:59 +00:00
|
|
|
mainProgram = "haunt";
|
2021-04-17 00:35:05 +00:00
|
|
|
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.
|
|
|
|
'';
|
2023-10-19 13:55:26 +00:00
|
|
|
license = lib.licenses.gpl3Plus;
|
|
|
|
maintainers = with lib.maintainers; [ AndersonTorres AluisioASG ];
|
|
|
|
inherit (guile.meta) platforms;
|
2021-04-17 00:35:05 +00:00
|
|
|
};
|
2023-10-19 13:55:26 +00:00
|
|
|
})
|