about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/interpreters
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-03-24 11:04:41 +0100
committerAlyssa Ross <hi@alyssa.is>2024-03-24 11:04:41 +0100
commit5423cabbbf2b6dec5568f1ecabd288d5d9a642ec (patch)
treef316a6a921bfefd3a63bd4502c2eb50ff1644f67 /nixpkgs/pkgs/development/interpreters
parent46a88117a05c3469af5d99433af140c3de8ca088 (diff)
parent8aa81f34981add12aecada6c702ddbbd0375ca36 (diff)
downloadnixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.gz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.bz2
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.lz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.xz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.zst
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters')
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/bats/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/bic/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/boron/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/bwbasic/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/cel-go/default.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/ceptre/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/cling/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/clips/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/clooj.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/cyber/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/eff/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/1.16.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/emilua/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/25.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/expr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/gauche/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/gnudatalanguage/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/gpython/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/hashlink/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/ivy/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/jpm.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/jelly/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/joker/default.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/jython/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/kerf/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.10.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/11.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh5
-rw-r--r--nixpkgs/pkgs/development/interpreters/luau/default.nix14
-rw-r--r--nixpkgs/pkgs/development/interpreters/lune/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/maude/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/metamath/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/oak/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/perl/intepreter.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.2.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.3.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/generic.nix13
-rw-r--r--nixpkgs/pkgs/development/interpreters/picoc/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/3.13/virtualenv-permissions.patch12
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/default.nix15
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/qnial/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/quickjs/default.nix14
-rw-r--r--nixpkgs/pkgs/development/interpreters/rascal/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/red/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/renpy/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/risor/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/rlci/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/rune/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/scsh/default.nix11
-rw-r--r--nixpkgs/pkgs/development/interpreters/sollya/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/115.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmer/default.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmtime/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/wavm/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/wazero/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/yabasic/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/yaegi/default.nix5
-rw-r--r--nixpkgs/pkgs/development/interpreters/zuo/default.nix1
64 files changed, 139 insertions, 69 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
index bf37d19cd8c4..bbb02e2fabc9 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
@@ -113,6 +113,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An interpreter and a prover for a Lisp dialect";
+    mainProgram = "acl2";
     longDescription = ''
       ACL2 is a logic and programming language in which you can model computer
       systems, together with a tool to help you prove properties of those
diff --git a/nixpkgs/pkgs/development/interpreters/bats/default.nix b/nixpkgs/pkgs/development/interpreters/bats/default.nix
index afffef1d1f68..000c6045922c 100644
--- a/nixpkgs/pkgs/development/interpreters/bats/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/bats/default.nix
@@ -210,6 +210,7 @@ resholve.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/bats-core/bats-core";
     description = "Bash Automated Testing System";
+    mainProgram = "bats";
     maintainers = with maintainers; [ abathur ];
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/interpreters/bic/default.nix b/nixpkgs/pkgs/development/interpreters/bic/default.nix
index 31b539a3ff3e..52dc7ac31c53 100644
--- a/nixpkgs/pkgs/development/interpreters/bic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/bic/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C interpreter and API explorer";
+    mainProgram = "bic";
     longDescription = ''
       bic This a project that allows developers to explore and test C-APIs using a
       read eval print loop, also known as a REPL.
diff --git a/nixpkgs/pkgs/development/interpreters/boron/default.nix b/nixpkgs/pkgs/development/interpreters/boron/default.nix
index e40ca2b5b4dc..541c3525b660 100644
--- a/nixpkgs/pkgs/development/interpreters/boron/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/boron/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://urlan.sourceforge.net/boron/";
     description = "Scripting language and C library useful for building DSLs";
+    mainProgram = "boron";
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mausch ];
diff --git a/nixpkgs/pkgs/development/interpreters/bwbasic/default.nix b/nixpkgs/pkgs/development/interpreters/bwbasic/default.nix
index 4fec1cc7b3e4..a99570888991 100644
--- a/nixpkgs/pkgs/development/interpreters/bwbasic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/bwbasic/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Bywater BASIC Interpreter";
+    mainProgram = "bwbasic";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ irenes ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/interpreters/cel-go/default.nix b/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
index 88d0b19fc0a4..ad95711e6dfa 100644
--- a/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "cel-go";
-  version = "0.20.0";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cel-go";
     rev = "v${version}";
-    hash = "sha256-rjhTKZ2d1jDby4tacLfbKJj0Y7F/KkECWAL/WsqJ6sg=";
+    hash = "sha256-RN3Eqdf1Zon0gSsP3jGxydVEa0NL5filAei4+xPFNv8=";
   };
 
   modRoot = "repl";
 
-  vendorHash = "sha256-h+f/ILk6mDzRBW1FI1jFyWxkV3bvrJ/BMsCuuf+E+J0=";
+  vendorHash = "sha256-jNlzsx1QII9UBHQDU7nSzkNLtfbuce4O1AcPaFqtj9c=";
 
   subPackages = [
     "main"
@@ -30,6 +30,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Fast, portable, non-Turing complete expression evaluation with gradual typing";
+    mainProgram = "cel-go";
     homepage = "https://github.com/google/cel-go";
     changelog = "https://github.com/google/cel-go/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
index 9771a8f72d2a..28be28f68be6 100644
--- a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A linear logic programming language for modeling generative interactive systems";
+    mainProgram = "ceptre";
     homepage = "https://github.com/chrisamaphone/interactive-lp";
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/interpreters/cling/default.nix b/nixpkgs/pkgs/development/interpreters/cling/default.nix
index f59c1910a6ff..ed204c8863f6 100644
--- a/nixpkgs/pkgs/development/interpreters/cling/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cling/default.nix
@@ -116,6 +116,7 @@ let
 
     meta = with lib; {
       description = "The Interactive C++ Interpreter";
+      mainProgram = "cling";
       homepage = "https://root.cern/cling/";
       license = with licenses; [ lgpl21 ncsa ];
       maintainers = with maintainers; [ thomasjm ];
diff --git a/nixpkgs/pkgs/development/interpreters/clips/default.nix b/nixpkgs/pkgs/development/interpreters/clips/default.nix
index 2edeaf9e4e87..e79f4a92481f 100644
--- a/nixpkgs/pkgs/development/interpreters/clips/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clips/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A Tool for Building Expert Systems";
+    mainProgram = "clips";
     homepage = "http://www.clipsrules.net/";
     longDescription = ''
       Developed at NASA's Johnson Space Center from 1985 to 1996,
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix b/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix
index 0e8391d5a686..9b93a478aa68 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A lightweight IDE for Clojure";
+    mainProgram = "clooj";
     homepage = "https://github.com/arthuredelstein/clooj";
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     license = lib.licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
index c80af02c32a7..cedc8ef29232 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "clojure";
-  version = "1.11.1.1435";
+  version = "1.11.2.1446";
 
   src = fetchurl {
     # https://github.com/clojure/brew-install/releases
     url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz";
-    hash = "sha256-RS/FebIED8RYYXRXBKXZPRROO0HqyDo0zhb+p4Q5m8A=";
+    hash = "sha256-qn7/sPyVDfjZPLeWxlUBBljAW/d8cCw6lEm3/deS73E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/interpreters/cyber/default.nix b/nixpkgs/pkgs/development/interpreters/cyber/default.nix
index d71ec5648100..710ec991edd0 100644
--- a/nixpkgs/pkgs/development/interpreters/cyber/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cyber/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A fast, efficient, and concurrent scripting language";
+    mainProgram = "cyber";
     homepage = "https://github.com/fubark/cyber";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/nixpkgs/pkgs/development/interpreters/eff/default.nix b/nixpkgs/pkgs/development/interpreters/eff/default.nix
index a4565a1b8944..3ef2831a72e8 100644
--- a/nixpkgs/pkgs/development/interpreters/eff/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/eff/default.nix
@@ -20,6 +20,7 @@ with ocamlPackages; buildDunePackage rec {
   meta = with lib; {
     homepage = "https://www.eff-lang.org";
     description = "A functional programming language based on algebraic effects and their handlers";
+    mainProgram = "eff";
     longDescription = ''
       Eff is a functional language with handlers of not only exceptions,
       but also of other computational effects such as state or I/O. With
diff --git a/nixpkgs/pkgs/development/interpreters/elixir/1.16.nix b/nixpkgs/pkgs/development/interpreters/elixir/1.16.nix
index 2f57e371e28b..2721ddd2207b 100644
--- a/nixpkgs/pkgs/development/interpreters/elixir/1.16.nix
+++ b/nixpkgs/pkgs/development/interpreters/elixir/1.16.nix
@@ -1,7 +1,7 @@
 { mkDerivation }:
 mkDerivation {
-  version = "1.16.1";
-  sha256 = "sha256-rjUt3gCUszCbzGE7BriwH3ptrV81dqNB/d0nVOXrcGI=";
+  version = "1.16.2";
+  sha256 = "sha256-NUYYxf73Fuk3FUoVFKTo6IN9QCTvzz5wNshIf/nitJA=";
   # https://hexdocs.pm/elixir/1.16.0/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
   minimumOTPVersion = "24";
   escriptPath = "lib/elixir/scripts/generate_app.escript";
diff --git a/nixpkgs/pkgs/development/interpreters/emilua/default.nix b/nixpkgs/pkgs/development/interpreters/emilua/default.nix
index c44621d661b1..03ba8d81cfcd 100644
--- a/nixpkgs/pkgs/development/interpreters/emilua/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/emilua/default.nix
@@ -95,6 +95,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Lua execution engine";
+    mainProgram = "emilua";
     homepage = "https://emilua.org/";
     license = licenses.boost;
     maintainers = with maintainers; [ manipuladordedados ];
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/25.nix b/nixpkgs/pkgs/development/interpreters/erlang/25.nix
index 6b3c8a43f92d..5f94c27dbd4a 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/25.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/25.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "25.3.2.9";
-  sha256 = "sha256-urj5wSNP/gOtN1O1IKesZLZg4jA640fbQBiWs/dUz8c=";
+  version = "25.3.2.10";
+  sha256 = "sha256-CibLQnzQxvFDMNiX26n0b725o8BV4FJXBXmwW1sEpkk=";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/expr/default.nix b/nixpkgs/pkgs/development/interpreters/expr/default.nix
index 3d8ba33091be..4a1dfd8d4f47 100644
--- a/nixpkgs/pkgs/development/interpreters/expr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/expr/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "expr";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "antonmedv";
     repo = "expr";
     rev = "v${version}";
-    hash = "sha256-OwxBzsIkKauaYTdDpgSEdVL4JhacMnIvBTgxvkAm9YA=";
+    hash = "sha256-U9DlgC3iuYry99A1O5E737680mq1TCf2M4ZYTytm56k=";
   };
 
   sourceRoot = "${src.name}/repl";
 
-  vendorHash = "sha256-RE6qQmAlWuXFIMzkop/Dk7DqATUnQpJ8Z+U8ZZeUvOA=";
+  vendorHash = "sha256-olTmfSKLbkH95ArMHJWac7aw+DNKRyw4z+oGvW9j4tw=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/development/interpreters/gauche/default.nix b/nixpkgs/pkgs/development/interpreters/gauche/default.nix
index 301cd9db7830..aa58be639b9d 100644
--- a/nixpkgs/pkgs/development/interpreters/gauche/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gauche/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "R7RS Scheme scripting engine";
     homepage = "https://practical-scheme.net/gauche/";
+    mainProgram = "gosh";
     maintainers = with maintainers; [ mnacamura ];
     license = licenses.bsd3;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/interpreters/gnudatalanguage/default.nix b/nixpkgs/pkgs/development/interpreters/gnudatalanguage/default.nix
index f4d364fcd144..54b5c5898c87 100644
--- a/nixpkgs/pkgs/development/interpreters/gnudatalanguage/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gnudatalanguage/default.nix
@@ -78,13 +78,15 @@ let
     if hdf5-forced != null
     then hdf5-forced
     else
-      hdf5.override {
+      hdf5.override ({
         usev110Api = useHdf5v110Api;
         mpiSupport = enableMPI;
         inherit mpi;
         szipSupport = enableSzip;
         inherit szip;
-      };
+      } // lib.optionalAttrs enableMPI {
+        cppSupport = false;
+      });
   netcdf-custom =
     if netcdf-forced != null
     then netcdf-forced
diff --git a/nixpkgs/pkgs/development/interpreters/gpython/default.nix b/nixpkgs/pkgs/development/interpreters/gpython/default.nix
index 8bb432e839ea..b0aae579bf2b 100644
--- a/nixpkgs/pkgs/development/interpreters/gpython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gpython/default.nix
@@ -39,6 +39,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A Python interpreter written in Go";
+    mainProgram = "gpython";
     homepage = "https://github.com/go-python/gpython";
     changelog = "https://github.com/go-python/gpython/releases/tag/${src.rev}";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/interpreters/hashlink/default.nix b/nixpkgs/pkgs/development/interpreters/hashlink/default.nix
index dc5f153c5ee1..880e480a1f85 100644
--- a/nixpkgs/pkgs/development/interpreters/hashlink/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/hashlink/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A virtual machine for Haxe";
+    mainProgram = "hl";
     homepage = "https://hashlink.haxe.org/";
     license = licenses.mit;
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
diff --git a/nixpkgs/pkgs/development/interpreters/ivy/default.nix b/nixpkgs/pkgs/development/interpreters/ivy/default.nix
index 171b739bddff..eed0913c36ba 100644
--- a/nixpkgs/pkgs/development/interpreters/ivy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ivy/default.nix
@@ -20,6 +20,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/robpike/ivy";
     description = "ivy, an APL-like calculator";
+    mainProgram = "ivy";
     license = licenses.bsd3;
     maintainers = with maintainers; [ smasher164 ];
   };
diff --git a/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix
index 8fd424ce153b..7456619a9ae8 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/janet/default.nix
@@ -57,6 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Janet programming language";
+    mainProgram = "janet";
     homepage = "https://janet-lang.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ andrewchambers peterhoeg ];
diff --git a/nixpkgs/pkgs/development/interpreters/janet/jpm.nix b/nixpkgs/pkgs/development/interpreters/janet/jpm.nix
index 050a035e0666..31ed1e2fc1ff 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/jpm.nix
+++ b/nixpkgs/pkgs/development/interpreters/janet/jpm.nix
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
 
   meta = janet.meta // {
     description = "Janet Project Manager for the Janet programming language";
+    mainProgram = "jpm";
     platforms = lib.attrNames platformFiles;
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/jelly/default.nix b/nixpkgs/pkgs/development/interpreters/jelly/default.nix
index 46c27e91a02a..6f97b58dc636 100644
--- a/nixpkgs/pkgs/development/interpreters/jelly/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/jelly/default.nix
@@ -20,6 +20,7 @@ python3Packages.buildPythonApplication {
 
   meta = with lib; {
     description = "A recreational programming language inspired by J";
+    mainProgram = "jelly";
     homepage    = "https://github.com/DennisMitchell/jellylanguage";
     license     = licenses.mit;
     maintainers = [ maintainers.tckmn ];
diff --git a/nixpkgs/pkgs/development/interpreters/joker/default.nix b/nixpkgs/pkgs/development/interpreters/joker/default.nix
index 50dd86f7bd86..6af8fc10160e 100644
--- a/nixpkgs/pkgs/development/interpreters/joker/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/joker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "sha256-sueFfR5KVj6HXR+5XWowL0Zjbuu7K+p/+skcTaXlOMc=";
+    sha256 = "sha256-aBZ0KlXWKAF70xFxc+WWXucLPnxyaCxu97IYkPuKcCA=";
   };
 
-  vendorHash = "sha256-rxWYNGFbFUKjy232DOhVlh341GV2VKLngJKM+DEd27o=";
+  vendorHash = "sha256-k17BthjOjZs0WB88AVVIM00HcSZl2S5u8n9eB2NFdrk=";
 
   doCheck = false;
 
@@ -24,6 +24,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/candid82/joker";
     description = "A small Clojure interpreter and linter written in Go";
+    mainProgram = "joker";
     license = licenses.epl10;
     maintainers = with maintainers; [ andrestylianos ];
   };
diff --git a/nixpkgs/pkgs/development/interpreters/jython/default.nix b/nixpkgs/pkgs/development/interpreters/jython/default.nix
index 341dccb263c2..157ad76e6f8a 100644
--- a/nixpkgs/pkgs/development/interpreters/jython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/jython/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Python interpreter written in Java";
+    mainProgram = "jython";
     homepage = "https://jython.org/";
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     license = lib.licenses.psfl;
diff --git a/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix b/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix
index e0554e10b421..7638b8f932e7 100644
--- a/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://github.com/kspalaiologos/kamilalisp";
     description = "A functional, flexible, and concise Lisp";
+    mainProgram = "kamilalisp";
     license = lib.licenses.gpl3Plus;
     inherit (jre.meta) platforms;
     maintainers = with lib.maintainers; [ cafkafk ];
diff --git a/nixpkgs/pkgs/development/interpreters/kerf/default.nix b/nixpkgs/pkgs/development/interpreters/kerf/default.nix
index 99d9bb8710e4..d019743bfb4d 100644
--- a/nixpkgs/pkgs/development/interpreters/kerf/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/kerf/default.nix
@@ -74,6 +74,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Columnar tick database and time-series language";
+    mainProgram = "kerf";
     longDescription = ''
       Kerf is a columnar tick database and small programming
       language that is a superset of JSON and SQL. It can be
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.10.nix b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
index 53c7b5e9435e..7dc82ce3248a 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.10.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://love2d.org";
     description = "A Lua-based 2D game engine/scripting language";
+    mainProgram = "love";
     license = lib.licenses.zlib;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.raskin ];
diff --git a/nixpkgs/pkgs/development/interpreters/love/11.nix b/nixpkgs/pkgs/development/interpreters/love/11.nix
index 177c3f46086a..93f5d5792ecc 100644
--- a/nixpkgs/pkgs/development/interpreters/love/11.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/11.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://love2d.org";
     description = "A Lua-based 2D game engine/scripting language";
+    mainProgram = "love";
     license = lib.licenses.zlib;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.raskin ];
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh b/nixpkgs/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh
index 1c445b82afde..7b2d2a4d83d8 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh
@@ -22,6 +22,11 @@ addToLuaSearchPathWithCustomDelimiter() {
   # export only if we haven't already got this dir in the search path
   if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
 
+  # if the path variable has not yet been set, initialize it to ";;"
+  # this is a magic value that will be replaced by the default,
+  # allowing relative modules to be used even when there are system modules.
+  if [[ ! -v "${varName}" ]]; then export "${varName}=;;"; fi
+
   export "${varName}=${!varName:+${!varName};}${absPattern}"
 }
 
diff --git a/nixpkgs/pkgs/development/interpreters/luau/default.nix b/nixpkgs/pkgs/development/interpreters/luau/default.nix
index 8f1f854c5763..80a696179693 100644
--- a/nixpkgs/pkgs/development/interpreters/luau/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/luau/default.nix
@@ -1,24 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages }:
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.615";
+  version = "0.617";
 
   src = fetchFromGitHub {
     owner = "luau-lang";
     repo = "luau";
     rev = version;
-    hash = "sha256-IwiPUiw3bH+9CzIAJqLjGpIBLQ+T0xW7c4jVXoxVZPc=";
+    hash = "sha256-5lWEihumXSyBsEOOb/oIz7NTgbdcI9C58m9h/d0MPRk=";
   };
 
-  patches = [
-    # Fix linker errors. Remove with the next release.
-    (fetchpatch {
-      url = "https://github.com/luau-lang/luau/commit/9323be6110beda90ef9d9dcb43e49b9acdc224e5.patch";
-      hash = "sha256-/uWXbv3ZSpGJ4Q9MYixz50o5HIp5keSaqMSlOq0TbzE=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   buildInputs = lib.optionals stdenv.cc.isClang [ llvmPackages.libunwind ];
diff --git a/nixpkgs/pkgs/development/interpreters/lune/default.nix b/nixpkgs/pkgs/development/interpreters/lune/default.nix
index 6622c572692a..956fe3da666c 100644
--- a/nixpkgs/pkgs/development/interpreters/lune/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lune/default.nix
@@ -55,6 +55,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A standalone Luau script runtime";
+    mainProgram = "lune";
     homepage = "https://github.com/lune-org/lune";
     changelog = "https://github.com/lune-org/lune/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mpl20;
diff --git a/nixpkgs/pkgs/development/interpreters/maude/default.nix b/nixpkgs/pkgs/development/interpreters/maude/default.nix
index 9ec93157c49a..f8d4e98c90b2 100644
--- a/nixpkgs/pkgs/development/interpreters/maude/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/maude/default.nix
@@ -58,6 +58,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://maude.cs.illinois.edu/";
     description = "High-level specification language";
+    mainProgram = "maude";
     license = lib.licenses.gpl2Plus;
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/interpreters/metamath/default.nix b/nixpkgs/pkgs/development/interpreters/metamath/default.nix
index c9a490ddc4e3..3d36b8501f10 100644
--- a/nixpkgs/pkgs/development/interpreters/metamath/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/metamath/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Interpreter for the metamath proof language";
+    mainProgram = "metamath";
     longDescription = ''
       The metamath program is an ASCII-based ANSI C program with a command-line
       interface. It was used (along with mmj2) to build and verify the proofs
diff --git a/nixpkgs/pkgs/development/interpreters/oak/default.nix b/nixpkgs/pkgs/development/interpreters/oak/default.nix
index 734576d862b0..3e5d952a1d49 100644
--- a/nixpkgs/pkgs/development/interpreters/oak/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/oak/default.nix
@@ -18,6 +18,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Expressive, simple, dynamic programming language";
+    mainProgram = "oak";
     homepage = "https://oaklang.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ tejasag ];
diff --git a/nixpkgs/pkgs/development/interpreters/perl/intepreter.nix b/nixpkgs/pkgs/development/interpreters/perl/intepreter.nix
index 8861a0ed0456..95ddc5a543cf 100644
--- a/nixpkgs/pkgs/development/interpreters/perl/intepreter.nix
+++ b/nixpkgs/pkgs/development/interpreters/perl/intepreter.nix
@@ -123,7 +123,7 @@ stdenv.mkDerivation (rec {
 
   dontAddPrefix = !crossCompiling;
 
-  enableParallelBuilding = false;
+  enableParallelBuilding = !crossCompiling;
 
   # perl includes the build date, the uname of the build system and the
   # username of the build user in some files.
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.2.nix b/nixpkgs/pkgs/development/interpreters/php/8.2.nix
index d97170bae7a6..ce3dc313621f 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.2.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.2.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.2.16";
-    hash = "sha256-JljBuJNatrU6fyCTVGAnYasHBm5mkgvEcriBX9G0P3E=";
+    version = "8.2.17";
+    hash = "sha256-GRMWwgMmfZYWC0fSL5VdTcEXk96KXzJ+DCp2J1polOo=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.3.nix b/nixpkgs/pkgs/development/interpreters/php/8.3.nix
index ee2bf413a426..4af1662b3694 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.3.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.3.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.3.3";
-    hash = "sha256-qvthO6eVlKI/5yL46QrUczAGEL+A50uKpS2pysLcTio=";
+    version = "8.3.4";
+    hash = "sha256-PFyvGODAokOq7JE6OeywkgQxla3eTD/ELpRdpbkndpU=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/nixpkgs/pkgs/development/interpreters/php/generic.nix b/nixpkgs/pkgs/development/interpreters/php/generic.nix
index 3bea507ad0a9..68ca8e4d3bba 100644
--- a/nixpkgs/pkgs/development/interpreters/php/generic.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/generic.nix
@@ -272,12 +272,11 @@ let
             # Don't record the configure flags since this causes unnecessary
             # runtime dependencies
             ''
-              for i in main/build-defs.h.in scripts/php-config.in; do
-                substituteInPlace $i \
-                  --replace '@CONFIGURE_COMMAND@' '(omitted)' \
-                  --replace '@CONFIGURE_OPTIONS@' "" \
-                  --replace '@PHP_LDFLAGS@' ""
-              done
+              substituteInPlace main/build-defs.h.in \
+                --replace-fail '@CONFIGURE_COMMAND@' '(omitted)'
+              substituteInPlace scripts/php-config.in \
+                --replace-fail '@CONFIGURE_OPTIONS@' "" \
+                --replace-fail '@PHP_LDFLAGS@' ""
 
               export EXTENSION_DIR=$out/lib/php/extensions
 
@@ -287,7 +286,7 @@ let
                 ./scripts/dev/genfiles
               fi
             '' + lib.optionalString stdenv.isDarwin ''
-              substituteInPlace configure --replace "-lstdc++" "-lc++"
+              substituteInPlace configure --replace-fail "-lstdc++" "-lc++"
             '';
 
           # When compiling PHP sources from Github, this file is missing and we
diff --git a/nixpkgs/pkgs/development/interpreters/picoc/default.nix b/nixpkgs/pkgs/development/interpreters/picoc/default.nix
index e6e87f2b8a7b..51bf82aafbbe 100644
--- a/nixpkgs/pkgs/development/interpreters/picoc/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/picoc/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Very small C interpreter for scripting";
+    mainProgram = "picoc";
     longDescription = ''
       PicoC is a very small C interpreter for scripting. It was originally
       written as a script language for a UAV's on-board flight system. It's
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/3.13/virtualenv-permissions.patch b/nixpkgs/pkgs/development/interpreters/python/cpython/3.13/virtualenv-permissions.patch
new file mode 100644
index 000000000000..8099eefc88d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/3.13/virtualenv-permissions.patch
@@ -0,0 +1,12 @@
+diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py
+index 4856594755..6769ab8026 100644
+--- a/Lib/venv/__init__.py
++++ b/Lib/venv/__init__.py
+@@ -522,6 +522,7 @@ def skip_file(f):
+                     with open(dstfile, 'wb') as f:
+                         f.write(new_data)
+                     shutil.copymode(srcfile, dstfile)
++                os.chmod(dstfile, 0o644)
+ 
+     def upgrade_dependencies(self, context):
+         logger.debug(
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
index 0191517aa9ef..301af7a29c9e 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
@@ -60,6 +60,7 @@
 , static ? stdenv.hostPlatform.isStatic
 , enableFramework ? false
 , noldconfigPatch ? ./. + "/${sourceVersion.major}.${sourceVersion.minor}/no-ldconfig.patch"
+, enableGIL ? true
 
 # pgo (not reproducible) + -fno-semantic-interposition
 # https://docs.python.org/3/using/configure.html#cmdoption-enable-optimizations
@@ -111,6 +112,7 @@ let
   inherit (lib)
     concatMapStringsSep
     concatStringsSep
+    enableFeature
     getDev
     getLib
     optionals
@@ -304,7 +306,10 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     # Make sure that the virtualenv activation scripts are
     # owner-writable, so venvs can be recreated without permission
     # errors.
+  ] ++ optionals (pythonOlder "3.13") [
     ./virtualenv-permissions.patch
+  ] ++ optionals (pythonAtLeast "3.13") [
+    ./3.13/virtualenv-permissions.patch
   ] ++ optionals mimetypesSupport [
     # Make the mimetypes module refer to the right file
     ./mimetypes.patch
@@ -399,6 +404,8 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     "--enable-shared"
   ] ++ optionals enableFramework [
     "--enable-framework=${placeholder "out"}/Library/Frameworks"
+  ] ++ optionals (pythonAtLeast "3.13") [
+    (enableFeature enableGIL "gil")
   ] ++ optionals enableOptimizations [
     "--enable-optimizations"
   ] ++ optionals (sqlite != null) [
@@ -604,6 +611,14 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
       inherit src;
       name = "python${pythonVersion}-${version}-doc";
 
+      patches = optionals (pythonAtLeast "3.9" && pythonOlder "3.10") [
+        # https://github.com/python/cpython/issues/98366
+        (fetchpatch {
+          url = "https://github.com/python/cpython/commit/5612471501b05518287ed61c1abcb9ed38c03942.patch";
+          hash = "sha256-p41hJwAiyRgyVjCVQokMSpSFg/VDDrqkCSxsodVb6vY=";
+        })
+      ];
+
       dontConfigure = true;
 
       dontBuild = true;
diff --git a/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix
index 12050f319fc0..5d4ae2117146 100644
--- a/nixpkgs/pkgs/development/interpreters/python/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/default.nix
@@ -93,9 +93,9 @@ in {
       major = "3";
       minor = "13";
       patch = "0";
-      suffix = "a3";
+      suffix = "a5";
     };
-    hash = "sha256-IHhMgwTrHGnID5ZuvfB3W+LjfiPfO2JGHuwSqF3Pfq0=";
+    hash = "sha256-Hom1NVGD58iYpaAbL2AXKP5J/bidnJeB8TNghHqu+mI=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
index c64c65df350e..9b414944bba5 100644
--- a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
@@ -201,6 +201,7 @@ in with passthru; stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.pypy.org/";
     description = "Fast, compliant alternative implementation of the Python language (${pythonVersion})";
+    mainProgram = "pypy";
     license = licenses.mit;
     platforms = [ "aarch64-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
     broken = optimizationLevel == "0"; # generates invalid code
diff --git a/nixpkgs/pkgs/development/interpreters/qnial/default.nix b/nixpkgs/pkgs/development/interpreters/qnial/default.nix
index ae68c1ad6af3..e90c268719d5 100644
--- a/nixpkgs/pkgs/development/interpreters/qnial/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/qnial/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "An array language from Nial Systems";
+    mainProgram = "nial";
     homepage = "https://github.com/vrthra/qnial";
     license = lib.licenses.artistic1;
     maintainers = [ lib.maintainers.vrthra ];
diff --git a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
index 2f548207ea04..040516d6ba79 100644
--- a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
@@ -1,25 +1,23 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchurl
 , texinfo
 }:
 
 stdenv.mkDerivation rec {
   pname = "quickjs";
-  version = "2021-12-09";
+  version = "2024-01-13";
 
-  src = fetchFromGitHub {
-    owner = "bellard";
-    repo = pname;
-    rev = "daa35bc1e5d43192098af9b51caeb4f18f73f9f9";
-    hash = "sha256-BhAsa8tumCQ4jK/TbRbptj2iOIUFFjU1MQYdIrDMpko=";
+  src = fetchurl {
+    url = "https://bellard.org/quickjs/quickjs-${version}.tar.xz";
+    hash = "sha256-PEv4+JW/pUvrSGyNEhgRJ3Hs/FrDvhA2hR70FWghLgM=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace Makefile --replace "CONFIG_LTO=y" ""
   '';
 
-  makeFlags = [ "prefix=${placeholder "out"}" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/interpreters/rascal/default.nix b/nixpkgs/pkgs/development/interpreters/rascal/default.nix
index 409a34d8cfe6..50bfb7e54d63 100644
--- a/nixpkgs/pkgs/development/interpreters/rascal/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/rascal/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://www.rascal-mpl.org/";
     description = "Command-line REPL for the Rascal metaprogramming language";
+    mainProgram = "rascal";
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     license = lib.licenses.epl10;
     maintainers = [ lib.maintainers.eelco ];
diff --git a/nixpkgs/pkgs/development/interpreters/red/default.nix b/nixpkgs/pkgs/development/interpreters/red/default.nix
index 6689f7eb5c3c..676ecb721cc4 100644
--- a/nixpkgs/pkgs/development/interpreters/red/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/red/default.nix
@@ -84,6 +84,7 @@ stdenv.mkDerivation rec {
       programming to high-level scripting, while providing modern support for
       concurrency and multi-core CPUs
     '';
+    mainProgram = "red";
     maintainers = with maintainers; [ uralbash ];
     platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/interpreters/renpy/default.nix b/nixpkgs/pkgs/development/interpreters/renpy/default.nix
index d094018bad46..45a3630f7c57 100644
--- a/nixpkgs/pkgs/development/interpreters/renpy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/renpy/default.nix
@@ -81,6 +81,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Visual Novel Engine";
+    mainProgram = "renpy";
     homepage = "https://renpy.org/";
     changelog = "https://renpy.org/doc/html/changelog.html";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/risor/default.nix b/nixpkgs/pkgs/development/interpreters/risor/default.nix
index 22bbe5b9c73b..86c55107a44b 100644
--- a/nixpkgs/pkgs/development/interpreters/risor/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/risor/default.nix
@@ -38,6 +38,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Fast and flexible scripting for Go developers and DevOps";
+    mainProgram = "risor";
     homepage = "https://github.com/risor-io/risor";
     changelog = "https://github.com/risor-io/risor/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/interpreters/rlci/default.nix b/nixpkgs/pkgs/development/interpreters/rlci/default.nix
index ce8e0a9ee8f2..6c766c9d0037 100644
--- a/nixpkgs/pkgs/development/interpreters/rlci/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/rlci/default.nix
@@ -18,6 +18,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A lambda calculus interpreter";
+    mainProgram = "rlci";
     homepage = "https://github.com/orsinium-labs/rlci";
     changelog = "https://github.com/orsinium-labs/rlci/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/rune/default.nix b/nixpkgs/pkgs/development/interpreters/rune/default.nix
index 510ab71bdc68..c07cc5577fe6 100644
--- a/nixpkgs/pkgs/development/interpreters/rune/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/rune/default.nix
@@ -7,15 +7,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rune";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchCrate {
     pname = "rune-cli";
     inherit version;
-    hash = "sha256-7GScETlQ/rl9vOB9zSfsCM1ay1F5YV6OAxKe82lMU1I=";
+    hash = "sha256-Xk4gUBxDdnW2AIEvMaEjzVsqCQFK9B/Wyg7RpJ/hbrA=";
   };
 
-  cargoHash = "sha256-T6uYe+ZgXgsGN1714Ka+fxeVDoXgjVdfrrw5Rj/95cE=";
+  cargoHash = "sha256-hpJ++mzP2QFE/iHZQvcjT03xPnyPYw7EgsL8NwxrZVQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
diff --git a/nixpkgs/pkgs/development/interpreters/scsh/default.nix b/nixpkgs/pkgs/development/interpreters/scsh/default.nix
index 45b59124b782..7587236487c1 100644
--- a/nixpkgs/pkgs/development/interpreters/scsh/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/scsh/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, scheme48 }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, scheme48, unstableGitUpdater }:
 
 stdenv.mkDerivation {
   pname = "scsh";
-  version = "0.7pre";
+  version = "0.7-unstable-2024-03-09";
 
   src = fetchFromGitHub {
     owner = "scheme";
     repo = "scsh";
-    rev = "4acf6e4ed7b65b46186ef0c9c2a1e10bef8dc052";
-    sha256 = "sha256-92NtMK5nVd6+WtHj/Rk6iQEkGsNEZySTVZkkbqKrLYY=";
+    rev = "6770db21b08edd907d1c9bd962297ff55664e3fe";
+    hash = "sha256-U95Rc/Ks5AytB5UwbzQLI3/Sj4TYybrp8/45fu9krSU=";
     fetchSubmodules = true;
   };
 
@@ -16,11 +16,14 @@ stdenv.mkDerivation {
   buildInputs = [ scheme48 ];
   configureFlags = [ "--with-scheme48=${scheme48}" ];
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with lib; {
     description = "A Scheme shell";
     homepage = "http://www.scsh.net/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ joachifm ];
     platforms = with platforms; unix;
+    mainProgram = "scsh";
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/sollya/default.nix b/nixpkgs/pkgs/development/interpreters/sollya/default.nix
index 78b45daf178d..69ec182f61f3 100644
--- a/nixpkgs/pkgs/development/interpreters/sollya/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/sollya/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A tool environment for safe floating-point code development";
+    mainProgram = "sollya";
     homepage = "https://www.sollya.org/";
     license = licenses.cecill-c;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/115.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/115.nix
index 433a16f5da2e..1649bf3d9959 100644
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/115.nix
+++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/115.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "115.2.0";
-  hash = "sha512-3ztO/ZYH6OtJMnF3YMhl6zGsepYkbLQ4UZDDMxbJWV4Hk6HzxF67lnSpuk/OmNg/cbBjvvCe8wfZLRzXjTDYEg==";
+  version = "115.9.1";
+  hash = "sha512-nMrt4vzaE6B/mKIRC7j5nHMkYB1mv/MR8wcKZpV2oVmP4dfeLQBdcl0fRNvjk0qcD9C3lQ9gaGBH1M6NnYEjEA==";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/wasmer/default.nix b/nixpkgs/pkgs/development/interpreters/wasmer/default.nix
index 0a5e888b06cd..a509107ec163 100644
--- a/nixpkgs/pkgs/development/interpreters/wasmer/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wasmer/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmer";
-  version = "4.2.6";
+  version = "4.2.7";
 
   src = fetchFromGitHub {
     owner = "wasmerio";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FSplJAVdy/b0HXvW1qny052I7Fm9EA83/XqmgEvneeg=";
+    hash = "sha256-jyA1DUouODq9giAWeGOw7VMGwA+FbyqpEU77jtCb5v4=";
   };
 
-  cargoHash = "sha256-OYHPudXGsDLVx6XKTsJTxqG5cbOAD25sd5KJDyU9lvY=";
+  cargoHash = "sha256-EpHM8YaT2Ty9IBX/gXEa9n8006A9Y5/fq/ueODxHlnc=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
@@ -59,6 +59,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "The Universal WebAssembly Runtime";
+    mainProgram = "wasmer";
     longDescription = ''
       Wasmer is a standalone WebAssembly runtime for running WebAssembly outside
       of the browser, supporting WASI and Emscripten. Wasmer can be used
diff --git a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
index 72f1d6eb4a12..01e72ec2e744 100644
--- a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "18.0.2";
+  version = "18.0.3";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-R/emS2h9YM9LwgQARphFPaX1S62T8Rwqs0uLq1y929o=";
+    hash = "sha256-qG6WRac4n/hFa4aMSmHIMf1OXcsK9ZoNtm/dgN4NZ3M=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-r7fmKriChDvd09eynpxVOywBMkArMR4epsmtY6U6JI4=";
+  cargoHash = "sha256-cf1oUylROlbgWcKTrCR12CfVVxNuQqaoo1dr5NfiDQQ=";
   cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/interpreters/wavm/default.nix b/nixpkgs/pkgs/development/interpreters/wavm/default.nix
index c4d4c4f5f2d2..feedb88acaa3 100644
--- a/nixpkgs/pkgs/development/interpreters/wavm/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wavm/default.nix
@@ -19,6 +19,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "WebAssembly Virtual Machine";
+    mainProgram = "wavm";
     homepage = "https://wavm.github.io";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ereslibre ];
diff --git a/nixpkgs/pkgs/development/interpreters/wazero/default.nix b/nixpkgs/pkgs/development/interpreters/wazero/default.nix
index 3dae2234a942..c494499d61f4 100644
--- a/nixpkgs/pkgs/development/interpreters/wazero/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wazero/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "wazero";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "tetratelabs";
     repo = "wazero";
     rev = "v${version}";
-    hash = "sha256-s01NoliiS8SqoHUjEUUsFcK82nt3xQgmAQZdrEtrOS0=";
+    hash = "sha256-TBGRO+5PHPna2dNSeNktxALEc6TvJzV+kEiynYqvhgY=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/development/interpreters/yabasic/default.nix b/nixpkgs/pkgs/development/interpreters/yabasic/default.nix
index ee4cb47b6829..4a63f152a623 100644
--- a/nixpkgs/pkgs/development/interpreters/yabasic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/yabasic/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = {
     homepage = "http://2484.de/yabasic/";
     description = "Yet another BASIC";
+    mainProgram = "yabasic";
     longDescription = ''
       Yabasic is a traditional basic-interpreter. It comes with goto and various
       loops and allows to define subroutines and libraries. It does simple
diff --git a/nixpkgs/pkgs/development/interpreters/yaegi/default.nix b/nixpkgs/pkgs/development/interpreters/yaegi/default.nix
index dcde678338f0..b3453e564efb 100644
--- a/nixpkgs/pkgs/development/interpreters/yaegi/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/yaegi/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "yaegi";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "traefik";
     repo = "yaegi";
     rev = "v${version}";
-    hash = "sha256-ZV1HidHJvwum18QIIwQiCcRcitZdHk5+FxkPs6YgDac=";
+    hash = "sha256-AplNd9+Z+bVC4/2aFKwhabMvumF9IPcSX8X8H0z/ADA=";
   };
 
   vendorHash = null;
@@ -37,6 +37,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A Go interpreter";
+    mainProgram = "yaegi";
     homepage = "https://github.com/traefik/yaegi";
     changelog = "https://github.com/traefik/yaegi/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/interpreters/zuo/default.nix b/nixpkgs/pkgs/development/interpreters/zuo/default.nix
index b4527a37686a..963abaa492e1 100644
--- a/nixpkgs/pkgs/development/interpreters/zuo/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/zuo/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A Tiny Racket for Scripting";
+    mainProgram = "zuo";
     homepage = "https://github.com/racket/zuo";
     license = licenses.mit;
     platforms = platforms.all;