b22917fa05
Fixes: * CVE-2026-2240 / https://github.com/NixOS/nixpkgs/issues/488991 * CVE-2026-2241 / https://github.com/NixOS/nixpkgs/issues/488992 * CVE-2026-2242 / https://github.com/NixOS/nixpkgs/issues/488995 Changes: https://github.com/janet-lang/janet/releases/tag/v1.41.2 https://github.com/janet-lang/janet/releases/tag/v1.41.1
79 lines
1.7 KiB
Nix
79 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
meson,
|
|
ninja,
|
|
nix-update-script,
|
|
pkgsBuildBuild,
|
|
runCommand,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "janet";
|
|
version = "1.41.2";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "janet-lang";
|
|
repo = "janet";
|
|
rev = "v${finalAttrs.version}";
|
|
hash = "sha256-sNRhcGG8JysmPHHXeRkYCt7qA75U6flptUEWWun+rDs=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace janet.1 \
|
|
--replace /usr/local/ $out/
|
|
''
|
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
|
# error: Socket is not connected
|
|
substituteInPlace meson.build \
|
|
--replace "'test/suite-ev.janet'," ""
|
|
'';
|
|
|
|
depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
];
|
|
|
|
mesonBuildType = "release";
|
|
mesonFlags = [ "-Dgit_hash=release" ];
|
|
|
|
doCheck = true;
|
|
|
|
doInstallCheck = true;
|
|
|
|
installCheckPhase = ''
|
|
$out/bin/janet -e '(+ 1 2 3)'
|
|
'';
|
|
|
|
passthru = {
|
|
tests.run =
|
|
runCommand "janet-test-run"
|
|
{
|
|
nativeBuildInputs = [ finalAttrs.finalPackage ];
|
|
}
|
|
''
|
|
echo "(+ 1 2 3)" | janet | tail -n 1 > arithmeticTest.txt;
|
|
diff -U3 --color=auto <(cat arithmeticTest.txt) <(echo "6");
|
|
|
|
echo "(print \"Hello, World!\")" | janet | tail -n 2 > ioTest.txt;
|
|
diff -U3 --color=auto <(cat ioTest.txt) <(echo -e "Hello, World!\nnil");
|
|
|
|
touch $out;
|
|
'';
|
|
updateScript = nix-update-script { };
|
|
};
|
|
|
|
meta = {
|
|
description = "Janet programming language";
|
|
mainProgram = "janet";
|
|
homepage = "https://janet-lang.org/";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [
|
|
peterhoeg
|
|
];
|
|
platforms = lib.platforms.all;
|
|
};
|
|
})
|