katex: migrate from nodePackages

This commit is contained in:
dish
2025-11-09 13:56:09 -05:00
parent 0d94a71111
commit e99bf3b961
4 changed files with 68 additions and 22 deletions
+67
View File
@@ -0,0 +1,67 @@
{
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";
};
})
@@ -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
@@ -39,7 +39,6 @@
, "json"
, "json-refs"
, "jsonlint"
, "katex"
, "lcov-result-merger"
, "live-server"
, "livedown"
-21
View File
@@ -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";