diff --git a/pkgs/development/tools/semantic-release/default.nix b/pkgs/development/tools/semantic-release/default.nix new file mode 100644 index 000000000000..8dd04d6a1b0e --- /dev/null +++ b/pkgs/development/tools/semantic-release/default.nix @@ -0,0 +1,41 @@ +{ cctools +, buildNpmPackage +, fetchFromGitHub +, lib +, python3 +, stdenv +}: + +buildNpmPackage rec { + pname = "semantic-release"; + version = "21.0.5"; + + src = fetchFromGitHub { + owner = "semantic-release"; + repo = "semantic-release"; + rev = "v${version}"; + hash = "sha256-QFBYIoOd1htSNj3xKl0HvmD1T068Jv+L/EqCbMrn0lw="; + }; + + npmDepsHash = "sha256-0GhDXGyVoMwz+vVFdplv7ObTiTRTvQDd9r9e6616iTI="; + + dontNpmBuild = true; + + nativeBuildInputs = [ + python3 + ] ++ lib.optional stdenv.isDarwin cctools; + + # Fixes `semantic-release --version` output + postPatch = '' + substituteInPlace package.json --replace \ + '"version": "0.0.0-development"' \ + '"version": "${version}"' + ''; + + meta = { + description = "Fully automated version management and package publishing"; + homepage = "https://semantic-release.gitbook.io/semantic-release/"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sestrella ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 79afde4f7398..972ededc2a1d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12328,6 +12328,10 @@ with pkgs; selectdefaultapplication = libsForQt5.callPackage ../applications/misc/selectdefaultapplication { }; + semantic-release = callPackage ../development/tools/semantic-release { + inherit (darwin) cctools; + }; + semgrep = python3.pkgs.callPackage ../tools/security/semgrep { }; semgrep-core = callPackage ../tools/security/semgrep/semgrep-core.nix { };