python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / applications / misc / haunt / default.nix
blob87656d730b27879a91e583b081dad46281897967
1 { lib
2 , stdenv
3 , fetchurl
4 , guile
5 , guile-commonmark
6 , guile-reader
7 , makeWrapper
8 , pkg-config
9 }:
11 stdenv.mkDerivation rec {
12   pname = "haunt";
13   version = "0.2.4";
15   src = fetchurl {
16     url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz";
17     hash = "sha256-zOkICg7KmJJhPWPtJRT3C9sYB1Oig1xLtgPNGe0n3xQ=";
18   };
20   nativeBuildInputs = [
21     makeWrapper
22     pkg-config
23   ];
24   buildInputs = [
25     guile
26     guile-commonmark
27     guile-reader
28   ];
30   doCheck = true;
32   postInstall =
33     let
34       guileVersion = lib.versions.majorMinor guile.version;
35     in
36     ''
37       wrapProgram $out/bin/haunt \
38         --prefix GUILE_LOAD_PATH : "$out/share/guile/site/${guileVersion}:$GUILE_LOAD_PATH" \
39         --prefix GUILE_LOAD_COMPILED_PATH : "$out/lib/guile/${guileVersion}/site-ccache:$GUILE_LOAD_COMPILED_PATH"
40     '';
42   doInstallCheck = true;
43   installCheckPhase = ''
44     runHook preInstallCheck
45     $out/bin/haunt --version
46     runHook postInstallCheck
47   '';
49   meta = with lib; {
50     homepage = "https://dthompson.us/projects/haunt.html";
51     description = "Guile-based static site generator";
52     longDescription = ''
53       Haunt is a simple, functional, hackable static site generator that gives
54       authors the ability to treat websites as Scheme programs.
56       By giving authors the full expressive power of Scheme, they are able to
57       control every aspect of the site generation process. Haunt provides a
58       simple, functional build system that can be easily extended for this
59       purpose.
61       Haunt has no opinion about what markup language authors should use to
62       write posts, though it comes with support for the popular Markdown
63       format. Likewise, Haunt has no opinion about how authors structure their
64       sites. Though it comes with support for building simple blogs or Atom
65       feeds, authors should feel empowered to tweak, replace, or create builders
66       to do things that aren't provided out-of-the-box.
67     '';
68     license = licenses.gpl3Plus;
69     maintainers = with maintainers; [ AndersonTorres AluisioASG ];
70     platforms = guile.meta.platforms;
71   };