From 5e4e92105a5415a5fb82422a452281e97adb43e0 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Tue, 1 Dec 2020 00:37:26 +0100 Subject: [PATCH] feat(build.nix): add man page for dhall & dhall-docs on MacOS --- build.nix | 12 +++++++++++- dhall-docs-simple.nix | 2 ++ dhall-simple.nix | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/build.nix b/build.nix index 956d438..4b71dae 100644 --- a/build.nix +++ b/build.nix @@ -1,6 +1,6 @@ { pkgs, release }: -{ simpleName, binNames, attrName }: +{ simpleName, binNames, attrName, manPages ? [] }: let release = import ./release.nix; @@ -46,6 +46,16 @@ pkgs.stdenv.mkDerivation rec { rmdir bin + ${pkgs.lib.optionalString (manPages != []) '' + ${pkgs.lib.concatMapStringsSep "\n" (manPage: '' + # TODO: split into $man output + manPagePath="$out/share/man/man1/${manPage}" + install -D -m644 -T "share/man/man1/${manPage}" "$manPagePath" + rm "share/man/man1/${manPage}" + '') manPages} + rmdir --parent share/man/man1 + ''} + # a bit hacky, but sourceRoot unfortunately unpacks to the runtime build dir rm env-vars .sandbox.sb || true diff --git a/dhall-docs-simple.nix b/dhall-docs-simple.nix index ac54212..92cba92 100644 --- a/dhall-docs-simple.nix +++ b/dhall-docs-simple.nix @@ -4,4 +4,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-docs-simple"; binNames = [ "dhall-docs" ]; attrName = "dhall-docs"; + # see https://github.com/dhall-lang/dhall-haskell/issues/2104 + manPages = if pkgs.stdenv.isDarwin then [ "dhall-docs.1" ] else []; } diff --git a/dhall-simple.nix b/dhall-simple.nix index 9d419ea..9fe2d44 100644 --- a/dhall-simple.nix +++ b/dhall-simple.nix @@ -4,4 +4,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-simple"; binNames = [ "dhall" ]; attrName = "dhall"; + # see https://github.com/dhall-lang/dhall-haskell/issues/2104 + manPages = if pkgs.stdenv.isDarwin then [ "dhall.1" ] else []; }