Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at netboot-syslinux-multiplatform 73 lines 2.2 kB view raw
1{ lib 2, stdenv 3, fetchurl 4, guile 5, guile-commonmark 6, guile-reader 7, makeWrapper 8, pkg-config 9}: 10 11stdenv.mkDerivation rec { 12 pname = "haunt"; 13 version = "0.2.6"; 14 15 src = fetchurl { 16 url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz"; 17 hash = "sha256-vPKLQ9hDJdimEAXwIBGgRRlefM8/77xFQoI+0J/lkNs="; 18 }; 19 20 nativeBuildInputs = [ 21 makeWrapper 22 pkg-config 23 ]; 24 buildInputs = [ 25 guile 26 guile-commonmark 27 guile-reader 28 ]; 29 30 # Test suite is non-determinisitic in later versions 31 doCheck = false; 32 33 postInstall = 34 let 35 guileVersion = lib.versions.majorMinor guile.version; 36 in 37 '' 38 wrapProgram $out/bin/haunt \ 39 --prefix GUILE_LOAD_PATH : "$out/share/guile/site/${guileVersion}:$GUILE_LOAD_PATH" \ 40 --prefix GUILE_LOAD_COMPILED_PATH : "$out/lib/guile/${guileVersion}/site-ccache:$GUILE_LOAD_COMPILED_PATH" 41 ''; 42 43 doInstallCheck = true; 44 installCheckPhase = '' 45 runHook preInstallCheck 46 $out/bin/haunt --version 47 runHook postInstallCheck 48 ''; 49 50 meta = with lib; { 51 homepage = "https://dthompson.us/projects/haunt.html"; 52 description = "Guile-based static site generator"; 53 longDescription = '' 54 Haunt is a simple, functional, hackable static site generator that gives 55 authors the ability to treat websites as Scheme programs. 56 57 By giving authors the full expressive power of Scheme, they are able to 58 control every aspect of the site generation process. Haunt provides a 59 simple, functional build system that can be easily extended for this 60 purpose. 61 62 Haunt has no opinion about what markup language authors should use to 63 write posts, though it comes with support for the popular Markdown 64 format. Likewise, Haunt has no opinion about how authors structure their 65 sites. Though it comes with support for building simple blogs or Atom 66 feeds, authors should feel empowered to tweak, replace, or create builders 67 to do things that aren't provided out-of-the-box. 68 ''; 69 license = licenses.gpl3Plus; 70 maintainers = with maintainers; [ AndersonTorres AluisioASG ]; 71 platforms = guile.meta.platforms; 72 }; 73}