biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / thinking-rock / default.nix
blob2c31d2b5725d77d71bd57e9bbc30d1de7f474c2c
1 { lib, stdenv, fetchurl, runtimeShell }:
3 stdenv.mkDerivation rec {
4   pname = "thinkingrock-binary";
5   version = "2.2.1";
7   src = fetchurl {
8     url = "mirror://sourceforge/thinkingrock/ThinkingRock/TR%20${version}/tr-${version}.tar.gz";
9     sha256 = "0hnwvvyc8miiz8w2g4iy7s4rgfy0kfbncgbgfzpsq6nrzq334kgm";
10   };
12   /* it would be a really bad idea to put thinkingrock tr executable in PATH!
13      the tr.sh script does use the coreutils tr itself
14      That's why I've renamed the wrapper and called it thinkingrock
15      However you may not rename the bin/tr script cause it will notice and throw an
16      "java.lang.IllegalArgumentException: Malformed branding token: thinkingrock"
17      exception. I hope that's fine
18   */
20   buildPhase = ''
21     # only keep /bin/tr
22     ls -1 bin/* | grep -ve  'bin/tr''$' | xargs rm
23     # don't keep the other .exe file either
24     find . -iname "*.exe" | xargs -n1 rm
25     mkdir -p $out/{nix-support/tr-files,bin}
26     cp -r . $out/nix-support/tr-files
27     cat >> $out/bin/thinkingrock << EOF
28     #!${runtimeShell}
29     exec $out/nix-support/tr-files/bin/tr "$@"
30     EOF
31     chmod +x $out/bin/thinkingrock
32   '';
34   dontInstall = true;
36   meta = with lib; {
37     description = "Task management system";
38     mainProgram = "thinkingrock";
39     homepage = "http://www.thinkingrock.com.au/";
40     license = licenses.cddl;
41     platforms = platforms.unix;
42   };