{ lib, dmd, dub, trash-d-src, ronn, stdenv, ... }: let inherit (builtins) fromJSON readFile; tag = (fromJSON (readFile "${trash-d-src}/dub.json")).version; in stdenv.mkDerivation { pname = "trash"; version = "${tag}+${trash-d-src.shortRev}"; src = trash-d-src; buildInputs = [ dub ronn dmd ]; buildPhase = '' # https://github.com/svanderburg/node2nix/issues/217#issuecomment-751311272 export HOME=$(mktemp -d) dub build ''; installPhase = '' mkdir -p $out/bin $out/man/man1 cp -a ./build/trash $out/bin/ ronn --roff --pipe MANUAL.md > $out/man/man1/trash.1 ''; meta = { mainProgram = "trash"; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; description = "A near drop-in replacement for `rm` that uses the [FreeDesktop trash bin](https://specifications.freedesktop.org/trash-spec/trashspec-latest.html)."; homepage = "https://github.com/rushsteve1/trash-d"; license = with lib.licenses; [mit]; }; }