diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix new file mode 100644 index 000000000000..6cb78e6d6bd7 --- /dev/null +++ b/pkgs/applications/misc/taskell/default.nix @@ -0,0 +1,59 @@ +{ haskell, lib, haskellPackages, fetchFromGitHub }: + +let + version = "1.3.2"; + sha256 = "0cyysvkl8m1ldlprmw9mpvch3r244nl25yv74dwcykga3g5mw4aa"; + +in (haskellPackages.mkDerivation { + pname = "taskell"; + inherit version; + + src = fetchFromGitHub { + owner = "smallhadroncollider"; + repo = "taskell"; + rev = version; + inherit sha256; + }; + + postPatch = ''${haskellPackages.hpack}/bin/hpack''; + + # basically justStaticExecutables; TODO: use justStaticExecutables + enableSharedExecutables = false; + enableLibraryProfiling = false; + isExecutable = true; + doHaddock = false; + postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc"; + + # copied from packages.yaml + libraryHaskellDepends = with haskellPackages; [ + classy-prelude + # base <=5 + aeson + brick + # bytestring + config-ini + # containers + # directory + file-embed + http-conduit + http-client + http-types + lens + # mtl + # template-haskell + # text + time + vty + ]; + + executableHaskellDepends = []; + + testHaskellDepends = with haskellPackages; [ + tasty + tasty-discover + tasty-expected-failure + tasty-hunit + ]; + + license = lib.licenses.bsd3; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e05d180457ec..8a2e972ef2c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18993,6 +18993,8 @@ with pkgs; teamspeak_client = libsForQt5.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; + taskell = callPackage ../applications/misc/taskell { }; + taskjuggler = callPackage ../applications/misc/taskjuggler { }; tasknc = callPackage ../applications/misc/tasknc { };