diff --git a/pkgs/tools/typesetting/marp/default.nix b/pkgs/tools/typesetting/marp/default.nix new file mode 100644 index 000000000000..574159a76fa1 --- /dev/null +++ b/pkgs/tools/typesetting/marp/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchYarnDeps +, makeWrapper +, nodejs +, prefetch-yarn-deps +, yarn +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "marp-cli"; + version = "3.2.0"; + + src = fetchFromGitHub { + owner = "marp-team"; + repo = "marp-cli"; + rev = "v${finalAttrs.version}"; + hash = "sha256-bx5mq5KI85qUct/9Hr6mby6dWmRkmpVbiIw+M8PZas8="; + }; + + offlineCache = fetchYarnDeps { + yarnLock = "${finalAttrs.src}/yarn.lock"; + hash = "sha256-BogCt7ezmWxv2YfhljHYoBf47/FHR0qLZosjnoQhqgs="; + }; + + nativeBuildInputs = [ + makeWrapper + nodejs + prefetch-yarn-deps + yarn + ]; + + configurePhase = '' + runHook preConfigure + + export HOME=$(mktemp -d) + yarn config --offline set yarn-offline-mirror $offlineCache + fixup-yarn-lock yarn.lock + yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install + patchShebangs node_modules + + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + yarn --offline build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + yarn --offline --production install + + mkdir -p $out/lib/node_modules/@marp-team/marp-cli + cp -r lib node_modules marp-cli.js $out/lib/node_modules/@marp-team/marp-cli/ + + makeWrapper "${nodejs}/bin/node" "$out/bin/marp" \ + --add-flags "$out/lib/node_modules/@marp-team/marp-cli/marp-cli.js" + + runHook postInstall + ''; + + meta = with lib; { + description = "About A CLI interface for Marp and Marpit based converters"; + homepage = "https://github.com/marp-team/marp-cli"; + license = licenses.mit; + maintainers = with maintainers; [ GuillaumeDesforges ]; + platforms = nodejs.meta.platforms; + mainProgram = "marp"; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6f0e0687d20..d7d15560be11 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5861,6 +5861,8 @@ with pkgs; marlin-calc = callPackage ../tools/misc/marlin-calc { }; + marp-cli = callPackage ../tools/typesetting/marp { }; + masscan = callPackage ../tools/security/masscan { }; massren = callPackage ../tools/misc/massren { };