Commit e99bf3b9 authored by dish's avatar dish
Browse files

katex: migrate from nodePackages

parent 0d94a711
Loading
Loading
Loading
Loading
+67 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  yarn-berry,
  nodejs,
  makeBinaryWrapper,
  nix-update-script,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "katex";
  version = "0.16.25";

  src = fetchFromGitHub {
    owner = "katex";
    repo = "katex";
    rev = "v${finalAttrs.version}";
    hash = "sha256-XwKjoXkn96YNxrBv2qcUSqKMtHxz9+levevc4Rz1SYw=";
  };

  offlineCache = yarn-berry.fetchYarnBerryDeps {
    inherit (finalAttrs) src;
    hash = "sha256-vPYzt+ZBbi1sR7T1I08f/syTnN8hnUTqH4fKCBiFIM0=";
  };

  nativeBuildInputs = [
    yarn-berry.yarnBerryConfigHook
    yarn-berry
    nodejs
    makeBinaryWrapper
  ];

  buildPhase = ''
    runHook preBuild

    yarn build

    runHook postBuild
  '';

  installPhase = ''
    runHook preInstall

    yarn config set nodeLinker "node-modules"
    yarn install --mode=skip-build --inline-builds
    mkdir -p $out/lib/node_modules/katex/
    mkdir $out/bin
    mv * $out/lib/node_modules/katex/
    makeWrapper ${lib.getExe nodejs} $out/bin/katex \
      --add-flags "$out/lib/node_modules/katex/cli.js" \
      --set NODE_PATH "$out/lib/node_modules/katex/node_modules"

    runHook postInstall
  '';

  passthru.updateScript = nix-update-script { };

  meta = {
    changelog = "https://github.com/KaTeX/KaTeX/releases/tag/v${finalAttrs.version}";
    description = "Render TeX to HTML";
    homepage = "https://katex.org/";
    license = lib.licenses.mit;
    maintainers = [ lib.maintainers.pyrox0 ];
    mainProgram = "katex";
  };
})
+1 −0
Original line number Diff line number Diff line
@@ -203,6 +203,7 @@ mapAliases {
  joplin = pkgs.joplin-cli; # Added 2025-11-02
  inherit (pkgs) kaput-cli; # added 2024-12-03
  karma = pkgs.karma-runner; # added 2023-07-29
  inherit (pkgs) katex; # Added 2025-11-08
  keyoxide = pkgs.keyoxide-cli; # Added 2025-10-20
  leetcode-cli = self.vsc-leetcode-cli; # added 2023-08-31
  inherit (pkgs) lerna; # added 2025-02-12
+0 −1
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@
, "json"
, "json-refs"
, "jsonlint"
, "katex"
, "lcov-result-merger"
, "live-server"
, "livedown"
+0 −21
Original line number Diff line number Diff line
@@ -34589,27 +34589,6 @@ in
    bypassCache = true;
    reconstructLock = true;
  };
  katex = nodeEnv.buildNodePackage {
    name = "katex";
    packageName = "katex";
    version = "0.16.21";
    src = fetchurl {
      url = "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz";
      sha512 = "XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==";
    };
    dependencies = [
      sources."commander-8.3.0"
    ];
    buildInputs = globalBuildInputs;
    meta = {
      description = "Fast math typesetting for the web";
      homepage = "https://katex.org";
      license = "MIT";
    };
    production = true;
    bypassCache = true;
    reconstructLock = true;
  };
  lcov-result-merger = nodeEnv.buildNodePackage {
    name = "lcov-result-merger";
    packageName = "lcov-result-merger";