Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / by-name / ha / haunt / package.nix
blob989fce392b28461537da553491a4e75db99e8e47
1 { lib
2 , stdenv
3 , fetchurl
4 , fetchpatch
5 , autoreconfHook
6 , callPackage
7 , guile
8 , guile-commonmark
9 , guile-reader
10 , makeWrapper
11 , pkg-config
14 stdenv.mkDerivation (finalAttrs: {
15   pname = "haunt";
16   version = "0.2.6";
18   src = fetchurl {
19     url = "https://files.dthompson.us/haunt/haunt-${finalAttrs.version}.tar.gz";
20     hash = "sha256-vPKLQ9hDJdimEAXwIBGgRRlefM8/77xFQoI+0J/lkNs=";
21   };
23   # Symbol not found: inotify_init
24   patches = [
25     (fetchpatch {
26       url = "https://git.dthompson.us/haunt.git/patch/?id=ab0b722b0719e3370a21359e4d511af9c4f14e60";
27       hash = "sha256-TPNJKGlbDkV9RpdN274qMLoN3HlwfH/yHpxlpqOPw58=";
28     })
29     (fetchpatch {
30       url = "https://git.dthompson.us/haunt.git/patch/?id=7d0b71f6a3f0e714da5a5c43e52408e27f44c383";
31       hash = "sha256-CW/h8CqsALKDuKRoN1bd/WEtFTvFj0VxtgmpatyrLm8=";
32     })
33     (fetchpatch {
34       url = "https://git.dthompson.us/haunt.git/patch/?id=1a91f3d0568fc095d8b0875c6553ef15b76efa4c";
35       hash = "sha256-+3wUlTuzbyGibAsCiYWKvzPqUrFs7VwdhnADjnPuWIY=";
36     })
37   ];
39   nativeBuildInputs = [
40     autoreconfHook
41     makeWrapper
42     pkg-config
43   ];
45   buildInputs = [
46     guile
47     guile-commonmark
48     guile-reader
49   ];
51   # Test suite is non-determinisitic in later versions
52   doCheck = false;
54   postInstall = ''
55     wrapProgram $out/bin/haunt \
56       --prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
57       --prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
58   '';
60   passthru = {
61     tests = {
62       expectVersion = callPackage ./tests/001-test-version.nix { };
63     };
64   };
66   meta = {
67     homepage = "https://dthompson.us/projects/haunt.html";
68     description = "Guile-based static site generator";
69     longDescription = ''
70       Haunt is a simple, functional, hackable static site generator that gives
71       authors the ability to treat websites as Scheme programs.
73       By giving authors the full expressive power of Scheme, they are able to
74       control every aspect of the site generation process. Haunt provides a
75       simple, functional build system that can be easily extended for this
76       purpose.
78       Haunt has no opinion about what markup language authors should use to
79       write posts, though it comes with support for the popular Markdown
80       format. Likewise, Haunt has no opinion about how authors structure their
81       sites. Though it comes with support for building simple blogs or Atom
82       feeds, authors should feel empowered to tweak, replace, or create builders
83       to do things that aren't provided out-of-the-box.
84     '';
85     license = lib.licenses.gpl3Plus;
86     maintainers = with lib.maintainers; [ AndersonTorres AluisioASG ];
87     inherit (guile.meta) platforms;
88   };