diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 0dbf1a3306f3..6c4b1bd2d30b 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -7,7 +7,7 @@ let fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; }; hsPkgs = haskell.packages.ghc883.override { - overrides = self: super: with haskell.lib; + overrides = self: super: with haskell.lib; with lib; let elmPkgs = rec { elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: { # sadly with parallelism most of the time breaks compilation @@ -23,6 +23,11 @@ let wrapProgram $out/bin/elm \ --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} ''; + + description = "A delightful language for reliable webapps"; + homepage = "https://elm-lang.org/"; + license = licenses.bsd3; + maintainers = with maintainers; [ domenkozar turbomack ]; }); /* @@ -31,6 +36,11 @@ let */ elm-format = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-format.nix {}) (drv: { jailbreak = true; + + description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide"; + homepage = "https://github.com/avh4/elm-format"; + license = licenses.bsd3; + maintainers = with maintainers; [ turbomack ]; })); elmi-to-json = justStaticExecutables (overrideCabal (self.callPackage ./packages/elmi-to-json.nix {}) (drv: { @@ -39,6 +49,11 @@ let hpack ''; jailbreak = true; + + description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler"; + homepage = "https://github.com/stoeffel/elmi-to-json"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; })); elm-instrument = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-instrument.nix {}) (drv: { @@ -48,6 +63,11 @@ let jailbreak = true; # Tests are failing because of missing instances for Eq and Show type classes doCheck = false; + + description = "Instrument Elm code as a preprocessing step for elm-coverage"; + homepage = "https://github.com/zwilias/elm-instrument"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; })); inherit fetchElmDeps; @@ -74,9 +94,17 @@ let inherit (hsPkgs.elmPkgs) elm; }; - elmRustPackages = { + elmRustPackages = { elm-json = import ./packages/elm-json.nix { inherit rustPlatform fetchurl openssl stdenv pkg-config; + } // { + meta = with lib; { + description = "Install, upgrade and uninstall Elm dependencies"; + homepage = "https://github.com/zwilias/elm-json"; + license = licenses.mit; + maintainers = [ maintainers.turbomack ]; + platforms = platforms.linux; + }; }; }; @@ -89,10 +117,24 @@ let in with hsPkgs.elmPkgs; { elm-test = patchBinwrap [elmi-to-json] - nodePkgs.elm-test; + nodePkgs.elm-test // { + meta = with stdenv.lib; { + description = "Runs elm-test suites from Node.js"; + homepage = "https://github.com/rtfeldman/node-test-runner"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; elm-verify-examples = patchBinwrap [elmi-to-json] - nodePkgs.elm-verify-examples; + nodePkgs.elm-verify-examples // { + meta = with stdenv.lib; { + description = "Verify examples in your docs"; + homepage = "https://github.com/stoeffel/elm-verify-examples"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; elm-coverage = let patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage); @@ -111,17 +153,51 @@ let mkdir -p unpacked_bin ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument ''; + meta = with stdenv.lib; { + description = "Work in progress - Code coverage tooling for Elm"; + homepage = "https://github.com/zwilias/elm-coverage"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; }); create-elm-app = patchNpmElm (patchBinwrap [elmi-to-json] - nodePkgs.create-elm-app); + nodePkgs.create-elm-app) // { + meta = with stdenv.lib; { + description = "Create Elm apps with no build configuration"; + homepage = "https://github.com/halfzebra/create-elm-app"; + license = licenses.mit; + maintainers = [ maintainers.turbomack ]; + }; + }; elm-review = patchBinwrap [elmRustPackages.elm-json] - nodePkgs.elm-review; + nodePkgs.elm-review // { + meta = with stdenv.lib; { + description = "Analyzes Elm projects, to help find mistakes before your users find them"; + homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; - elm-language-server = nodePkgs."@elm-tooling/elm-language-server"; + elm-language-server = nodePkgs."@elm-tooling/elm-language-server" // { + meta = with stdenv.lib; { + description = "Language server implementation for Elm"; + homepage = "https://github.com/elm-tooling/elm-language-server"; + license = licenses.mit; + maintainers = [ maintainers.turbomack ]; + }; + }; - elm-optimize-level-2 = nodePkgs."elm-optimize-level-2"; + elm-optimize-level-2 = nodePkgs."elm-optimize-level-2" // { + meta = with stdenv.lib; { + description = "A second level of optimization for the Javascript that the Elm Compiler produces"; + homepage = "https://github.com/mdgriffith/elm-optimize-level-2"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse; }; diff --git a/pkgs/development/compilers/elm/packages/elm-json.nix b/pkgs/development/compilers/elm/packages/elm-json.nix index 44d300d254b0..7a8143174f9e 100644 --- a/pkgs/development/compilers/elm/packages/elm-json.nix +++ b/pkgs/development/compilers/elm/packages/elm-json.nix @@ -18,12 +18,4 @@ rustPlatform.buildRustPackage rec { # Tests perform networking and therefore can't work in sandbox doCheck = false; - - meta = with stdenv.lib; { - description = "Install, upgrade and uninstall Elm dependencies"; - homepage = "https://github.com/zwilias/elm-json"; - license = licenses.mit; - maintainers = [ maintainers.turbomack ]; - platforms = platforms.linux; - }; }