diff --git a/pkgs/by-name/de/descent3/package.nix b/pkgs/by-name/de/descent3/package.nix new file mode 100644 index 0000000000000..5027a8bc12e7f --- /dev/null +++ b/pkgs/by-name/de/descent3/package.nix @@ -0,0 +1,60 @@ +{ + descent3-unwrapped, + lib, + makeBinaryWrapper, + runCommand, +}: + +runCommand "descent3-${descent3-unwrapped.version}" + { + pname = "descent3"; + inherit (descent3-unwrapped) version; + nativeBuildInputs = [ makeBinaryWrapper ]; + passthru.unwrapped = descent3-unwrapped; + + meta = descent3-unwrapped.meta // { + # The code that produces the wrapper is in the Nixpkgs repo, and the + # Nixpkgs repo is MIT Licensed. + license = [ lib.licenses.mit ]; + longDescription = '' + Playing Descent 3 using the Nix package manager is a little bit awkward + at the moment. This wrapper makes it slightly less awkward. Here’s how + you use this wrapper: + + 1. Install the `descent3` package, or start an ephemeral shell with the + `descent3` package. + + 2. Find the documentation folder for `descent3-unwrapped` by running this + command: + + ```bash + nix-instantiate --eval --expr '(import { }).descent3-unwrapped + "/share/doc/Descent3"' + ``` + + 3. Open `/USAGE.md`. + + 4. Follow steps 1–6 of Descent 3’s usage instructions. + + 5. Change directory into the `D3-open-source` folder: + + ```bash + cd + ``` + + 6. Start Descent 3 by running this command: + + ```bash + Descent3 + ``` + ''; + }; + } + '' + mkdir --parents "$out/bin" + descent3_unwrapped=${lib.strings.escapeShellArg descent3-unwrapped} + makeBinaryWrapper \ + "$descent3_unwrapped/bin/Descent3" \ + "$out/bin/Descent3" \ + --append-flags -additionaldir \ + --append-flags "$descent3_unwrapped/share" + ''