diff --git a/contrib/package/nix/deps/prism/default.nix b/contrib/package/nix/deps/prism/default.nix new file mode 100644 index 00000000..0662d0df --- /dev/null +++ b/contrib/package/nix/deps/prism/default.nix @@ -0,0 +1,35 @@ +{ stdenvNoCC, fetchFromGitHub, python3 }: stdenvNoCC.mkDerivation rec { + name = "prism"; + version = "1.29.0"; + + src = fetchFromGitHub { + owner = "PrismJS"; + repo = "prism"; + tag = "v${version}"; + hash = "sha256-KEoICg4xviKsmN9M8ceJdAJ1NhTO7urDJnJknuP4GoQ="; + }; + + nativeBuildInputs = [ python3 ]; + + depsScriptDir = ../../../../../scripts/deps-docker; + + postUnpack = '' + cp ${depsScriptDir}/genprism.* . + ''; + + postPatch = '' + substituteInPlace ../genprism.sh \ + --replace-fail "/z/dist" "$out" \ + --replace-fail 'prism-$1' "$src" \ + --replace-fail "./genprism.py" "python3 ./genprism.py" + ''; + + buildPhase = '' + mkdir $out + cd .. + bash ./genprism.sh ${version} + ''; + + # genprism.sh already moves things into place + dontInstall = true; +} diff --git a/contrib/package/nix/overlay.nix b/contrib/package/nix/overlay.nix index 4b4bb103..d94f1d21 100644 --- a/contrib/package/nix/overlay.nix +++ b/contrib/package/nix/overlay.nix @@ -11,6 +11,7 @@ final: prev: { copyparty-fonts = final.callPackage ./deps/copyparty-fonts { }; asmcrypto = final.callPackage ./deps/asmcrypto { }; hash-wasm = final.callPackage ./deps/hash-wasm { }; + prism = final.callPackage ./deps/prism { }; python3 = prev.python3.override { packageOverrides = pyFinal: pyPrev: {