diff options
Diffstat (limited to 'pkgs/tools/graphics/ldgallery/default.nix')
-rw-r--r-- | pkgs/tools/graphics/ldgallery/default.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/ldgallery/default.nix b/pkgs/tools/graphics/ldgallery/default.nix new file mode 100644 index 00000000000..77acafcb812 --- /dev/null +++ b/pkgs/tools/graphics/ldgallery/default.nix @@ -0,0 +1,53 @@ +{ lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick7 }: + +with lib; +with haskell.lib; + +let + ldgallery-viewer = pkgs.callPackage ./viewer { }; + inherit (haskellPackages) ldgallery-compiler; + +in + +# making sure that the versions of the compiler and viewer parts are in sync +assert ldgallery-compiler.version == versions.majorMinor ldgallery-viewer.version; + +justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: { + pname = "ldgallery"; # bundled viewer + compiler + + buildTools = (oldAttrs.buildTools or []) ++ [ makeWrapper pandoc ]; + + prePatch = '' + # add viewer dist to data + ln -s "${ldgallery-viewer}/share/ldgallery/viewer" "data/" + + ${oldAttrs.prePatch or ""} + ''; + + postInstall = '' + ${oldAttrs.postInstall or ""} + + # wrapper for runtime dependencies registration + wrapProgram "$out/bin/ldgallery" \ + --prefix PATH : ${lib.makeBinPath [ imagemagick7 ]} + + # bash completion + mkdir -p "$out/share/bash-completion/completions" + "$out/bin/ldgallery" \ + --help=bash \ + > "$out/share/bash-completion/completions/ldgallery" + + # man pages + mkdir -p $out/share/man/man{1,7} + ln -s ${ldgallery-viewer}/share/man/man7/* "$out/share/man/man7/" + pandoc --standalone --to man \ + "../ldgallery-quickstart.7.md" \ + --output "$out/share/man/man7/ldgallery-quickstart.7" + pandoc --standalone --to man \ + "ldgallery.1.md" \ + --output "$out/share/man/man1/ldgallery.1" + ''; + + # other package metadata (maintainer, description, license, ...) + # are inherited from the compiler package +})) |