about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/interpreters
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters')
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/alda/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/asmrepl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/babashka/clojure-tools.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/babashka/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/bic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix35
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/cbqn/default.nix109
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/cbqn/replxx.nix37
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/cbqn/singeli.nix37
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/cbqn/sources.nix60
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/dzaima-bqn/default.nix72
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/001-libbqn-path.patch12
-rw-r--r--nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/default.nix64
-rw-r--r--nixpkgs/pkgs/development/interpreters/ceptre/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/chibi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/cling/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/clips/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/clooj.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/cyber/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/cyclone/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/duktape/default.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/dzaima-apl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/eff/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/1.16.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/1.17.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/emilua/default.nix12
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/27-rc3.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/27.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/evcxr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/expr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/femtolisp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/gauche/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/gpython/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/groovy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/hashlink/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/icon-lang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/ivy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/jelly/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/jimtcl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/joker/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/kona/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lambda-lisp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lfe/2.1.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lolcode/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.10.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/11.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix10
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/2.0.nix11
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/2.1.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/luau/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lunatic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lune/default.nix11
-rw-r--r--nixpkgs/pkgs/development/interpreters/micropython/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/mujs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/nelua/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/nextflow/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/ngn-k/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/npiet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/perl/interpreter.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.1.nix4
-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.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/picolisp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py31
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/default.nix33
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/freebsd-cross.patch22
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix42
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix10
-rwxr-xr-xnixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py2
-rw-r--r--nixpkgs/pkgs/development/interpreters/qnial/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/quickjs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/racket_7_9.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/rlci/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/default.nix13
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rune/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/s9fes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/scsh/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/snobol4/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/sollya/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/starlark-rust/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/tcl/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/wamr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasm3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmtime/default.nix27
-rw-r--r--nixpkgs/pkgs/development/interpreters/wazero/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/yaegi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/yex-lang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/zuo/default.nix2
103 files changed, 434 insertions, 496 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
index bbb02e2fabc9..12fc8f228b7f 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
@@ -9,7 +9,7 @@ let
   # supply 2GB of dynamic space to avoid exhausting the heap while building the
   # ACL2 system itself; see
   # https://www.cs.utexas.edu/users/moore/acl2/current/HTML/installation/requirements.html#Obtaining-SBCL
-  sbcl' = args.sbcl.override { disableImmobileSpace = true; };
+  sbcl' = args.sbcl.overrideAttrs { disableImmobileSpace = true; };
   sbcl = runCommandLocal args.sbcl.name { nativeBuildInputs = [ makeWrapper ]; } ''
     makeWrapper ${sbcl'}/bin/sbcl $out/bin/sbcl \
       --add-flags "--dynamic-space-size 2000"
@@ -112,7 +112,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An interpreter and a prover for a Lisp dialect";
+    description = "Interpreter and a prover for a Lisp dialect";
     mainProgram = "acl2";
     longDescription = ''
       ACL2 is a logic and programming language in which you can model computer
diff --git a/nixpkgs/pkgs/development/interpreters/alda/default.nix b/nixpkgs/pkgs/development/interpreters/alda/default.nix
index 269b8258aa4e..f9711c16a573 100644
--- a/nixpkgs/pkgs/development/interpreters/alda/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/alda/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with lib; {
-    description = "A music programming language for musicians";
+    description = "Music programming language for musicians";
     homepage = "https://alda.io";
     license = licenses.epl10;
     maintainers = [ maintainers.ericdallo ];
diff --git a/nixpkgs/pkgs/development/interpreters/asmrepl/default.nix b/nixpkgs/pkgs/development/interpreters/asmrepl/default.nix
index a046a3c60175..1c9ea6338f65 100644
--- a/nixpkgs/pkgs/development/interpreters/asmrepl/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/asmrepl/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "asmrepl";
 
   meta = with lib; {
-    description = "A REPL for x86-64 assembly language";
+    description = "REPL for x86-64 assembly language";
     homepage = "https://github.com/tenderlove/asmrepl";
     license = licenses.asl20;
     maintainers = with maintainers; [ lom ];
diff --git a/nixpkgs/pkgs/development/interpreters/babashka/clojure-tools.nix b/nixpkgs/pkgs/development/interpreters/babashka/clojure-tools.nix
index 082cb99f476d..fec8a7fd5a5a 100644
--- a/nixpkgs/pkgs/development/interpreters/babashka/clojure-tools.nix
+++ b/nixpkgs/pkgs/development/interpreters/babashka/clojure-tools.nix
@@ -6,10 +6,10 @@
 }:
 clojure.overrideAttrs (previousAttrs: {
   pname = "babashka-clojure-tools";
-  version = "1.11.2.1446";
+  version = "1.11.3.1463";
 
   src = fetchurl {
     url = previousAttrs.src.url;
-    hash = "sha256-qn7/sPyVDfjZPLeWxlUBBljAW/d8cCw6lEm3/deS73E=";
+    hash = "sha256-26QZ3j54XztpW2WJ1xg0Gc+OwrsvmfK4iv0GsLV8FIc=";
   };
 })
diff --git a/nixpkgs/pkgs/development/interpreters/babashka/default.nix b/nixpkgs/pkgs/development/interpreters/babashka/default.nix
index 4b8376a33090..fc54f3e0311d 100644
--- a/nixpkgs/pkgs/development/interpreters/babashka/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/babashka/default.nix
@@ -9,11 +9,11 @@
 let
   babashka-unwrapped = buildGraalvmNativeImage rec {
     pname = "babashka-unwrapped";
-    version = "1.3.190";
+    version = "1.3.191";
 
     src = fetchurl {
       url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar";
-      sha256 = "sha256-zGWUuFyCOZXrcAOJ2sGvzvfJbFti1IlDS1gx9Oye9fg=";
+      sha256 = "sha256-xF0u2VO0xdNvRElhUb7atpvy2Y5T9/V1b92ffaOMga8=";
     };
 
     graalvmDrv = graalvmCEPackages.graalvm-ce;
@@ -73,7 +73,7 @@ let
     '';
 
     meta = with lib; {
-      description = "A Clojure babushka for the grey areas of Bash";
+      description = "Clojure babushka for the grey areas of Bash";
       longDescription = ''
         The main idea behind babashka is to leverage Clojure in places where you
         would be using bash otherwise.
diff --git a/nixpkgs/pkgs/development/interpreters/bic/default.nix b/nixpkgs/pkgs/development/interpreters/bic/default.nix
index 52dc7ac31c53..669cb4f723ac 100644
--- a/nixpkgs/pkgs/development/interpreters/bic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/bic/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A C interpreter and API explorer";
+    description = "C interpreter and API explorer";
     mainProgram = "bic";
     longDescription = ''
       bic This a project that allows developers to explore and test C-APIs using a
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix
deleted file mode 100644
index d311f3d61ebd..000000000000
--- a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, fetchFromGitHub
-, stdenvNoCC
-}:
-
-stdenvNoCC.mkDerivation {
-  pname = "cbqn-bytecode";
-  version = "unstable-2023-05-17";
-
-  src = fetchFromGitHub {
-    owner = "dzaima";
-    repo = "cbqnBytecode";
-    rev = "32db4dfbfc753835bf112f3d8ae2991d8aebbe3d";
-    hash = "sha256-9uBPrEESn/rB9u0xXwKaQ7ABveQWPc8LRMPlnI/79kg=";
-  };
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    install -D $src/gen/{compiles,explain,formatter,runtime0,runtime1,runtime1x,src} -t $out/dev
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/dzaima/cbqnBytecode";
-    description = "CBQN precompiled bytecode";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk detegr ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/default.nix b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/default.nix
index 6f5b88988391..2f4d7f08931a 100644
--- a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -1,53 +1,35 @@
-{ callPackage
-, lib
-, stdenv
-, stdenvNoCC
-, fetchFromGitHub
+{ lib
+, callPackage
 , fixDarwinDylibNames
-, genBytecode ? false
-, bqn-path ? null
+, libffi
 , mbqn-source
+, pkg-config
+, stdenv
+# Boolean flags
 , enableReplxx ? false
 , enableLibcbqn ? ((stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) && !enableReplxx)
-, libffi
-, pkg-config
+, generateBytecode ? false
+# "Configurable" options
+, bqn-interpreter
 }:
 
 let
-  cbqn-bytecode-submodule =
-    callPackage ./cbqn-bytecode.nix { inherit lib fetchFromGitHub stdenvNoCC; };
-  replxx-submodule = callPackage ./replxx.nix { inherit lib fetchFromGitHub stdenvNoCC; };
-  singeli-submodule = callPackage ./singeli.nix { inherit lib fetchFromGitHub stdenvNoCC; };
+  sources = callPackage ./sources.nix { };
 in
-assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
-
 stdenv.mkDerivation rec {
-  pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
-  version = "0.5.0";
-
-  src = fetchFromGitHub {
-    owner = "dzaima";
-    repo = "CBQN";
-    rev = "v${version}";
-    hash = "sha256-PCpePevWQ+aPG6Yx3WqBZ4yTeyJsCGkYMSY6kzGDL1U=";
-  };
+  pname = "cbqn" + lib.optionalString (!generateBytecode) "-standalone";
+  inherit (sources.cbqn) version src;
 
   nativeBuildInputs = [
     pkg-config
-  ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    fixDarwinDylibNames
+  ];
 
   buildInputs = [
     libffi
   ];
 
-  dontConfigure = true;
-  doInstallCheck = true;
-
-  postPatch = ''
-    sed -i '/SHELL =.*/ d' makefile
-    patchShebangs build/build
-  '';
-
   makeFlags = [
     "CC=${stdenv.cc.targetPrefix}cc"
   ];
@@ -64,19 +46,6 @@ stdenv.mkDerivation rec {
     "shared-o3"
   ];
 
-  preBuild = ''
-    # Purity: avoids git downloading bytecode files
-    mkdir -p build/bytecodeLocal/gen
-    cp -r ${singeli-submodule}/dev/* build/singeliLocal/
-  '' + (if genBytecode then ''
-    ${bqn-path} ./build/genRuntime ${mbqn-source} build/bytecodeLocal/
-  '' else ''
-    cp -r ${cbqn-bytecode-submodule}/dev/* build/bytecodeLocal/gen/
-  '')
-  + lib.optionalString enableReplxx ''
-    cp -r ${replxx-submodule}/dev/* build/replxxLocal/
-  '';
-
   outputs = [
     "out"
   ] ++ lib.optionals enableLibcbqn [
@@ -84,6 +53,32 @@ stdenv.mkDerivation rec {
     "dev"
   ];
 
+  dontConfigure = true;
+
+  doInstallCheck = true;
+
+  strictDeps = true;
+
+  postPatch = ''
+    sed -i '/SHELL =.*/ d' makefile
+    patchShebangs build/build
+  '';
+
+  preBuild = ''
+    mkdir -p build/singeliLocal/
+    cp -r ${sources.singeli.src}/* build/singeliLocal/
+  '' + (if generateBytecode then ''
+    mkdir -p build/bytecodeLocal/gen
+    ${bqn-interpreter} ./build/genRuntime ${mbqn-source} build/bytecodeLocal/
+  '' else ''
+    mkdir -p build/bytecodeLocal/gen
+    cp -r ${sources.cbqn-bytecode.src}/* build/bytecodeLocal/
+  '')
+  + lib.optionalString enableReplxx ''
+    mkdir -p build/replxxLocal/
+    cp -r ${sources.replxx.src}/* build/replxxLocal/
+  '';
+
   installPhase = ''
     runHook preInstall
 
@@ -121,12 +116,26 @@ stdenv.mkDerivation rec {
     runHook postInstallCheck
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/dzaima/CBQN/";
     description = "BQN implementation in C";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk detegr ];
-    platforms = platforms.all;
+    license = with lib.licenses; [
+      # https://github.com/dzaima/CBQN?tab=readme-ov-file#licensing
+      asl20
+      boost
+      gpl3Only
+      lgpl3Only
+      mit
+      mpl20
+    ];
     mainProgram = "cbqn";
+    maintainers = with lib.maintainers; [
+      AndersonTorres
+      detegr
+      shnarazk
+      sternenseemann
+      synthetica
+    ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/replxx.nix b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/replxx.nix
deleted file mode 100644
index 71b479a4cda4..000000000000
--- a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/replxx.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, fetchFromGitHub
-, stdenvNoCC
-}:
-
-stdenvNoCC.mkDerivation {
-  pname = "replxx";
-  version = "unstable-2023-10-31";
-
-  src = fetchFromGitHub {
-    owner = "dzaima";
-    repo = "replxx";
-    rev = "13f7b60f4f79c2f14f352a76d94860bad0fc7ce9";
-    hash = "sha256-xPuQ5YBDSqhZCwssbaN/FcTZlc3ampYl7nfl2bbsgBA=";
-  };
-
-  dontConfigure = true;
-  # The CBQN derivation will build replxx, here we just provide the source files.
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/dev
-    cp -r $src $out/dev
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/dzaima/replxx";
-    description = "A replxx fork for CBQN";
-    license = licenses.free;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk detegr ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/singeli.nix b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/singeli.nix
deleted file mode 100644
index 212b96b6cb3f..000000000000
--- a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/singeli.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, fetchFromGitHub
-, stdenvNoCC
-}:
-
-stdenvNoCC.mkDerivation {
-  pname = "singeli";
-  version = "unstable-2023-11-22";
-
-  src = fetchFromGitHub {
-    owner = "mlochbaum";
-    repo = "Singeli";
-    rev = "528faaf9e2a7f4f3434365bcd91d6c18c87c4f08";
-    hash = "sha256-/z1KHqflCqPGC9JU80jtgqdk2mkX06eWSziuf4TU4TM=";
-  };
-
-  dontConfigure = true;
-  # The CBQN derivation will build Singeli, here we just provide the source files.
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/dev
-    cp -r $src $out/dev
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/mlochbaum/Singeli";
-    description = "A metaprogramming DSL for SIMD";
-    license = licenses.isc;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk detegr ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/cbqn/sources.nix b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/sources.nix
new file mode 100644
index 000000000000..3b9ca78533e3
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/bqn/cbqn/sources.nix
@@ -0,0 +1,60 @@
+# Sources required to build CBQN
+# Update them all at the same time, or else misbuilds will happen!
+# TODO: automate the update of this file
+
+{
+  fetchFromGitHub,
+}:
+
+{
+  cbqn = let
+    self = {
+      pname = "cbqn";
+      version = "0.7.0";
+
+      src = fetchFromGitHub {
+        owner = "dzaima";
+        repo = "CBQN";
+        rev = "v${self.version}";
+        hash = "sha256-TUK0HrJ1IyiVi9Y3S1IrK/d4/EZxdRdWyxsAwj79KEc=";
+      };
+    };
+  in
+    self;
+
+  cbqn-bytecode = {
+    pname = "cbqn-bytecode";
+    version = "0-unstable-2024-05-22";
+
+    src = fetchFromGitHub {
+      owner = "dzaima";
+      repo = "cbqnBytecode";
+      rev = "c5674783c11d7569e5a4d166600ffcde2409331d";
+      hash = "sha256-y7gqHzUxVUUVryutlq3Upuso8r3ZRSyF7ydMg1OVlwA=";
+    };
+  };
+
+  replxx = {
+    pname = "replxx";
+    version = "0-unstable-2023-10-31";
+
+    src = fetchFromGitHub {
+      owner = "dzaima";
+      repo = "replxx";
+      rev = "13f7b60f4f79c2f14f352a76d94860bad0fc7ce9";
+      hash = "sha256-xPuQ5YBDSqhZCwssbaN/FcTZlc3ampYl7nfl2bbsgBA=";
+    };
+  };
+
+  singeli = {
+    pname = "singeli";
+    version = "0-unstable-2024-02-26";
+
+    src = fetchFromGitHub {
+      owner = "mlochbaum";
+      repo = "Singeli";
+      rev = "ce6ef5d06d35777f0016bbfe0c6c1cf6a9c1b48e";
+      hash = "sha256-dDoWoq4LYMD2CKyPxXDAwoeH2E+f0FDyvngtWPEr67w=";
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/dzaima-bqn/default.nix b/nixpkgs/pkgs/development/interpreters/bqn/dzaima-bqn/default.nix
deleted file mode 100644
index b6591825f887..000000000000
--- a/nixpkgs/pkgs/development/interpreters/bqn/dzaima-bqn/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, jdk
-, makeWrapper
-, buildNativeImage ? true
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dbqn" + lib.optionalString buildNativeImage "-native";
-  version = "0.2.1";
-
-  src = fetchFromGitHub {
-    owner = "dzaima";
-    repo = "BQN";
-    rev = "v${version}";
-    sha256 = "1kxzxz2hrd1871281s4rsi569qk314aqfmng9pkqn8gv9nqhmph0";
-  };
-
-  nativeBuildInputs = [
-    jdk
-    makeWrapper
-  ];
-
-  dontConfigure = true;
-
-  postPatch = ''
-    patchShebangs --build ./build8
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    ./build8
-  '' + lib.optionalString buildNativeImage ''
-    native-image --report-unsupported-elements-at-runtime \
-      -H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \
-      -jar BQN.jar dbqn
-  '' + ''
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-
-  '' + (if buildNativeImage then ''
-    mv dbqn $out/bin
-  '' else ''
-    mkdir -p $out/share/${pname}
-    mv BQN.jar $out/share/${pname}/
-
-    makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dbqn" \
-      --add-flags "-jar $out/share/${pname}/BQN.jar"
-  '') + ''
-    ln -s $out/bin/dbqn $out/bin/bqn
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/dzaima/BQN";
-    description = "A BQN implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image";
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann ];
-    inherit (jdk.meta) platforms;
-    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dbqn-native.x86_64-darwin
-  };
-}
-# TODO: Processing app
-# TODO: minimalistic JDK
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/001-libbqn-path.patch b/nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/001-libbqn-path.patch
deleted file mode 100644
index b23c3de44af6..000000000000
--- a/nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/001-libbqn-path.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur source-old/bqn.js source-new/bqn.js
---- source-old/bqn.js	1969-12-31 21:00:01.000000000 -0300
-+++ source-new/bqn.js	2021-10-03 01:28:00.268998916 -0300
-@@ -4,7 +4,7 @@
- let path = require('path');
- let fs = require('fs');
- 
--let bqn = require("./docs/bqn.js");
-+let bqn = require("@libbqn@");
- module.exports = bqn;
- let {fmt,fmtErr,sysvals,sysargs,makebqn,makerepl}=bqn;
- let {has,list,str,unstr,dynsys,req1str,makens}=bqn.util;
diff --git a/nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/default.nix b/nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/default.nix
deleted file mode 100644
index d217ec99ebe5..000000000000
--- a/nixpkgs/pkgs/development/interpreters/bqn/mlochbaum-bqn/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib
-, stdenvNoCC
-, fetchFromGitHub
-, makeWrapper
-, nodejs
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "bqn";
-  version = "unstable-2023-05-17";
-
-  src = fetchFromGitHub {
-    owner = "mlochbaum";
-    repo = "BQN";
-    rev = "070bd07dc10c291695215265218ec0ff856ce457";
-    hash = "sha256-GRIIzJwlJ+JTBHXZjoX/9vLFbAC7zyeuqVcrA/Jm/NA=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildInputs = [ nodejs ];
-
-  patches = [
-    # Creates a @libbqn@ substitution variable, to be filled in the fixupPhase
-    ./001-libbqn-path.patch
-  ];
-
-  dontConfigure = true;
-
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin $out/share/${pname}
-    cp bqn.js $out/share/${pname}/bqn.js
-    cp docs/bqn.js $out/share/${pname}/libbqn.js
-
-    makeWrapper "${lib.getBin nodejs}/bin/node" "$out/bin/mbqn" \
-      --add-flags "$out/share/${pname}/bqn.js"
-
-    ln -s $out/bin/mbqn $out/bin/bqn
-
-    runHook postInstall
-  '';
-
-  fixupPhase = ''
-    runHook preFixup
-
-    substituteInPlace $out/share/${pname}/bqn.js \
-      --subst-var-by "libbqn" "$out/share/${pname}/libbqn.js"
-
-    runHook postFixup
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/mlochbaum/BQN/";
-    description = "The original BQN implementation in Javascript";
-    license = licenses.isc;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
-  };
-}
-# TODO: install docs and other stuff
diff --git a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
index 28be28f68be6..702288637908 100644
--- a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A linear logic programming language for modeling generative interactive systems";
+    description = "Linear logic programming language for modeling generative interactive systems";
     mainProgram = "ceptre";
     homepage = "https://github.com/chrisamaphone/interactive-lp";
     maintainers = with maintainers; [ pSub ];
diff --git a/nixpkgs/pkgs/development/interpreters/chibi/default.nix b/nixpkgs/pkgs/development/interpreters/chibi/default.nix
index f6aeeb7fc489..b220ed834029 100644
--- a/nixpkgs/pkgs/development/interpreters/chibi/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/chibi/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.10";
+  version = "0.11";
   pname = "chibi-scheme";
 
   src = fetchFromGitHub {
     owner = "ashinn";
     repo = "chibi-scheme";
     rev = version;
-    sha256 = "sha256-7vDxcnXhq1wJSLFHGxtwh+H+KWxh6B0JXSMPzSmQFXo=";
+    sha256 = "sha256-i+xiaYwM7a+0T824VSuh7UUNI6HV9KpqzQPE1WAZ+As=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/interpreters/cling/default.nix b/nixpkgs/pkgs/development/interpreters/cling/default.nix
index 2f3327b0554a..2b6d2c26c09f 100644
--- a/nixpkgs/pkgs/development/interpreters/cling/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cling/default.nix
@@ -106,7 +106,7 @@ let
     dontStrip = debug;
 
     meta = with lib; {
-      description = "The Interactive C++ Interpreter";
+      description = "Interactive C++ Interpreter";
       mainProgram = "cling";
       homepage = "https://root.cern/cling/";
       license = with licenses; [ lgpl21 ncsa ];
diff --git a/nixpkgs/pkgs/development/interpreters/clips/default.nix b/nixpkgs/pkgs/development/interpreters/clips/default.nix
index e79f4a92481f..c5c4d4321ce1 100644
--- a/nixpkgs/pkgs/development/interpreters/clips/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clips/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "6.40";
+  version = "6.4.1";
   pname = "clips";
 
   src = fetchurl {
     url = "mirror://sourceforge/clipsrules/CLIPS/${version}/clips_core_source_${
         builtins.replaceStrings [ "." ] [ "" ] version
       }.tar.gz";
-    sha256 = "1pr5l61zxf6kjs8b2b028g2aq45pigavwjmrf4l5mrdmlnk3fq5d";
+    hash = "sha256-qk87uLFZZL9HNPNlyVh+Mplr3dP1C/z1O5UVS+rnbuM=";
   };
 
   postPatch = ''
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
     install -D -t $out/bin core/clips
+    install -D -t $out/lib core/libclips.a
+    install -D -t $out/include core/*.h
     runHook postInstall
   '';
 
   meta = with lib; {
-    description = "A Tool for Building Expert Systems";
+    description = "Tool for Building Expert Systems";
     mainProgram = "clips";
     homepage = "http://www.clipsrules.net/";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix b/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix
index 9b93a478aa68..45659d563369 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A lightweight IDE for Clojure";
+    description = "Lightweight IDE for Clojure";
     mainProgram = "clooj";
     homepage = "https://github.com/arthuredelstein/clooj";
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
index 8fd965874fae..77bfda26bd7c 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
   passthru.jdk = jdk;
 
   meta = with lib; {
-    description = "A Lisp dialect for the JVM";
+    description = "Lisp dialect for the JVM";
     homepage = "https://clojure.org/";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.epl10;
diff --git a/nixpkgs/pkgs/development/interpreters/cyber/default.nix b/nixpkgs/pkgs/development/interpreters/cyber/default.nix
index 710ec991edd0..2ef863de5dfa 100644
--- a/nixpkgs/pkgs/development/interpreters/cyber/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cyber/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A fast, efficient, and concurrent scripting language";
+    description = "Fast, efficient, and concurrent scripting language";
     mainProgram = "cyber";
     homepage = "https://github.com/fubark/cyber";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/cyclone/default.nix b/nixpkgs/pkgs/development/interpreters/cyclone/default.nix
index 7364cf7d4400..d5a31c7aeb76 100644
--- a/nixpkgs/pkgs/development/interpreters/cyclone/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cyclone/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "https://justinethier.github.io/cyclone/";
-    description = "A brand-new compiler that allows practical application development using R7RS Scheme";
+    description = "Brand-new compiler that allows practical application development using R7RS Scheme";
     license = licenses.mit;
     maintainers = with maintainers; [ siraben ];
   };
diff --git a/nixpkgs/pkgs/development/interpreters/duktape/default.nix b/nixpkgs/pkgs/development/interpreters/duktape/default.nix
index 8477aef9ca43..8e33a5013ff5 100644
--- a/nixpkgs/pkgs/development/interpreters/duktape/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/duktape/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, validatePkgConfig }:
+{ lib, stdenv, fetchurl, fixDarwinDylibNames, validatePkgConfig }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "duktape";
@@ -11,7 +11,8 @@ stdenv.mkDerivation (finalAttrs: {
   # https://github.com/svaarala/duktape/issues/2464
   LDFLAGS = [ "-lm" ];
 
-  nativeBuildInputs = [ validatePkgConfig ];
+  nativeBuildInputs = [ validatePkgConfig ]
+  ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
 
   buildPhase = ''
     make -f Makefile.sharedlibrary
@@ -30,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "An embeddable Javascript engine, with a focus on portability and compact footprint";
+    description = "Embeddable Javascript engine, with a focus on portability and compact footprint";
     homepage = "https://duktape.org/";
     downloadPage = "https://duktape.org/download.html";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/dzaima-apl/default.nix b/nixpkgs/pkgs/development/interpreters/dzaima-apl/default.nix
index e0a847829777..75e49ed602df 100644
--- a/nixpkgs/pkgs/development/interpreters/dzaima-apl/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/dzaima-apl/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/dzaima/APL";
-    description = "An APL implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image";
+    description = "APL implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     inherit (jdk.meta) platforms;
diff --git a/nixpkgs/pkgs/development/interpreters/eff/default.nix b/nixpkgs/pkgs/development/interpreters/eff/default.nix
index db815c281609..998efe0c790e 100644
--- a/nixpkgs/pkgs/development/interpreters/eff/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/eff/default.nix
@@ -23,7 +23,7 @@ buildDunePackage rec {
 
   meta = with lib; {
     homepage = "https://www.eff-lang.org";
-    description = "A functional programming language based on algebraic effects and their handlers";
+    description = "Functional programming language based on algebraic effects and their handlers";
     mainProgram = "eff";
     longDescription = ''
       Eff is a functional language with handlers of not only exceptions,
diff --git a/nixpkgs/pkgs/development/interpreters/elixir/1.16.nix b/nixpkgs/pkgs/development/interpreters/elixir/1.16.nix
index 2721ddd2207b..fdd9dff12700 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.2";
-  sha256 = "sha256-NUYYxf73Fuk3FUoVFKTo6IN9QCTvzz5wNshIf/nitJA=";
+  version = "1.16.3";
+  sha256 = "sha256-WUBqoz3aQvBlSG3pTxGBpWySY7I0NUcDajQBgq5xYTU=";
   # 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/elixir/1.17.nix b/nixpkgs/pkgs/development/interpreters/elixir/1.17.nix
new file mode 100644
index 000000000000..32b09d76384e
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/elixir/1.17.nix
@@ -0,0 +1,8 @@
+{ mkDerivation }:
+mkDerivation {
+  version = "1.17.1";
+  sha256 = "sha256-a7A+426uuo3bUjggkglY1lqHmSbZNpjPaFpQUXYtW9k=";
+  # https://hexdocs.pm/elixir/1.17.1/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
+  minimumOTPVersion = "25";
+  escriptPath = "lib/elixir/scripts/generate_app.escript";
+}
diff --git a/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix
index 7901d24d0f77..e1e14f14dee1 100644
--- a/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation ({
   pos = builtins.unsafeGetAttrPos "sha256" args;
   meta = with lib; {
     homepage = "https://elixir-lang.org/";
-    description = "A functional, meta-programming aware language built on top of the Erlang VM";
+    description = "Functional, meta-programming aware language built on top of the Erlang VM";
 
     longDescription = ''
       Elixir is a functional, meta-programming aware language built on
diff --git a/nixpkgs/pkgs/development/interpreters/emilua/default.nix b/nixpkgs/pkgs/development/interpreters/emilua/default.nix
index e71c47ae59cb..396164b14a89 100644
--- a/nixpkgs/pkgs/development/interpreters/emilua/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/emilua/default.nix
@@ -98,13 +98,11 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # Skipped test: libpsx
-  # Known issue with no-new-privs disabled in the Nix build environment.
-  checkPhase = ''
-    runHook preCheck
-    meson test --print-errorlogs --no-suite libpsx
-    runHook postCheck
-  '';
+  mesonCheckFlags = [
+    # Skipped test: libpsx
+    # Known issue with no-new-privs disabled in the Nix build environment.
+    "--no-suite" "libpsx"
+  ];
 
   meta = with lib; {
     description = "Lua execution engine";
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/27-rc3.nix b/nixpkgs/pkgs/development/interpreters/erlang/27-rc3.nix
deleted file mode 100644
index 77e59672c156..000000000000
--- a/nixpkgs/pkgs/development/interpreters/erlang/27-rc3.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "27.0-rc3";
-  sha256 = "sha256-c2DTIqBd7UxpSv84F1cCB9K+MkJb5OwnWSghtewnw/4=";
-}
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/27.nix b/nixpkgs/pkgs/development/interpreters/erlang/27.nix
new file mode 100644
index 000000000000..a6c12ce197a6
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/erlang/27.nix
@@ -0,0 +1,6 @@
+{ mkDerivation }:
+
+mkDerivation {
+  version = "27.0";
+  sha256 = "sha256-YZWBLcpkm8B4sjoQO7I9ywXcmxXL+Dvq/JYsLsr7TO0=";
+}
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix
index 2f3b6de7d11c..ff8aadf90980 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -11,6 +11,7 @@
 , ncurses
 , openssl
 , perl
+, runtimeShell
 , autoconf
 , openjdk11 ? null # javacSupport
 , unixODBC ? null # odbcSupport
@@ -115,6 +116,9 @@ stdenv.mkDerivation ({
     patchShebangs make
 
     ${postPatch}
+  '' + optionalString (lib.versionOlder "25" version) ''
+    substituteInPlace lib/os_mon/src/disksup.erl \
+      --replace-fail '"sh ' '"${runtimeShell} '
   '';
 
   # For OTP 27+ we need ex_doc to build the documentation
diff --git a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
index 0cb4bef01669..6d64e76b816c 100644
--- a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "An evaluation context for Rust";
+    description = "Evaluation context for Rust";
     homepage = "https://github.com/google/evcxr";
     license = licenses.asl20;
     maintainers = with maintainers; [ protoben ma27 ];
diff --git a/nixpkgs/pkgs/development/interpreters/expr/default.nix b/nixpkgs/pkgs/development/interpreters/expr/default.nix
index 2652c6b2a5af..33dce18738e9 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.5";
+  version = "1.16.9";
 
   src = fetchFromGitHub {
     owner = "antonmedv";
     repo = "expr";
     rev = "v${version}";
-    hash = "sha256-tvOqIkekG4GaH6A5XhvpjZxFySrpZxmuhx4aXH77Q+0=";
+    hash = "sha256-AyFL+XHxitueAadx1M/xWqeittDCQ/hzsE/fUzt75yI=";
   };
 
   sourceRoot = "${src.name}/repl";
 
-  vendorHash = "sha256-AKxQe8hh3SuFtxrskCOx/5LjUO+fUJPQ6edUZRfq2oo=";
+  vendorHash = "sha256-FiXxplt4w7M0cZz46kdjYuKHailW2cnLOj0jkA9w1RM=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/development/interpreters/femtolisp/default.nix b/nixpkgs/pkgs/development/interpreters/femtolisp/default.nix
index 34efdc91ac6d..33066d97ef64 100644
--- a/nixpkgs/pkgs/development/interpreters/femtolisp/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/femtolisp/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   passthru.updateScript = unstableGitUpdater { };
 
   meta = {
-    description = "A compact interpreter for a minimal lisp/scheme dialect";
+    description = "Compact interpreter for a minimal lisp/scheme dialect";
     homepage = "https://git.sr.ht/~ft/femtolisp";
     license = with lib.licenses; [ mit bsd3 ];
     maintainers = with lib.maintainers; [ moody ];
diff --git a/nixpkgs/pkgs/development/interpreters/gauche/default.nix b/nixpkgs/pkgs/development/interpreters/gauche/default.nix
index aa58be639b9d..d596455fe015 100644
--- a/nixpkgs/pkgs/development/interpreters/gauche/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gauche/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   '';
 
   postPatch = ''
+    substituteInPlace ext/package-templates/configure \
+      --replace "#!/usr/bin/env gosh" "#!$out/bin/gosh"
     patchShebangs .
   '';
 
diff --git a/nixpkgs/pkgs/development/interpreters/gpython/default.nix b/nixpkgs/pkgs/development/interpreters/gpython/default.nix
index b0aae579bf2b..731c40a32d17 100644
--- a/nixpkgs/pkgs/development/interpreters/gpython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/gpython/default.nix
@@ -38,7 +38,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A Python interpreter written in Go";
+    description = "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}";
diff --git a/nixpkgs/pkgs/development/interpreters/groovy/default.nix b/nixpkgs/pkgs/development/interpreters/groovy/default.nix
index e4c8c6075442..8ed9bfe11736 100644
--- a/nixpkgs/pkgs/development/interpreters/groovy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "groovy";
-  version = "3.0.11";
+  version = "4.0.22";
 
   src = fetchurl {
     url = "mirror://apache/groovy/${version}/distribution/apache-groovy-binary-${version}.zip";
-    sha256 = "85abb44e81f94d794230cf5c2c7f1003e598a5f8a6ae04322f28c6f9efe395f6";
+    sha256 = "sha256-2Ro93+NThx1MJlbT0KBcgovD/zbp1J29vsE9zZjwWHc=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out
     mkdir -p $out/share/doc/groovy
     rm bin/*.bat
-    mv {bin,conf,grooid,indy,lib} $out
+    mv {bin,conf,grooid,lib} $out
     mv {licenses,LICENSE,NOTICE} $out/share/doc/groovy
 
     sed -i 's#which#${which}/bin/which#g' $out/bin/startGroovy
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An agile dynamic language for the Java Platform";
+    description = "Agile dynamic language for the Java Platform";
     homepage = "http://groovy-lang.org/";
     license = licenses.asl20;
     maintainers = with maintainers; [ pSub ];
diff --git a/nixpkgs/pkgs/development/interpreters/hashlink/default.nix b/nixpkgs/pkgs/development/interpreters/hashlink/default.nix
index 880e480a1f85..2c8da6002894 100644
--- a/nixpkgs/pkgs/development/interpreters/hashlink/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/hashlink/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A virtual machine for Haxe";
+    description = "Virtual machine for Haxe";
     mainProgram = "hl";
     homepage = "https://hashlink.haxe.org/";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix b/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix
index 5481f7825c98..e6afedb5b31c 100644
--- a/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A very high level general-purpose programming language";
+    description = "Very high level general-purpose programming language";
     maintainers = with maintainers; [ vrthra yurrriq ];
     platforms = with platforms; linux ++ darwin ++ freebsd ++ netbsd ++ openbsd ++ cygwin ++ illumos;
     license = licenses.publicDomain;
diff --git a/nixpkgs/pkgs/development/interpreters/ivy/default.nix b/nixpkgs/pkgs/development/interpreters/ivy/default.nix
index eed0913c36ba..18fad7b6738c 100644
--- a/nixpkgs/pkgs/development/interpreters/ivy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ivy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ivy";
-  version = "0.2.10";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "robpike";
     repo = "ivy";
-    hash = "sha256-6rZfBx6jKNOEnG+cmrzgvjUoCHQe+olPeX11qX8ep38=";
+    hash = "sha256-/Q929ZXv3F6MZ+FdWKfbThNDT3JpvQw7WLGnbmitdOg=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix
index 1c6cbb96a490..34388c8c033b 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/janet/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "janet";
-  version = "1.34.0";
+  version = "1.35.2";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = "janet";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-DxUEFW9NzAyaE/6vNEFfddIaxsi7qovousxZ28Hveb4=";
+    hash = "sha256-iqexxlBFM4ffxDsOdKMRJs/ufhKV0jvzqgZ3tH9S/k0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/interpreters/jelly/default.nix b/nixpkgs/pkgs/development/interpreters/jelly/default.nix
index 6f97b58dc636..0964e08125f2 100644
--- a/nixpkgs/pkgs/development/interpreters/jelly/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/jelly/default.nix
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication {
   doCheck = false;
 
   meta = with lib; {
-    description = "A recreational programming language inspired by J";
+    description = "Recreational programming language inspired by J";
     mainProgram = "jelly";
     homepage    = "https://github.com/DennisMitchell/jellylanguage";
     license     = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix b/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix
index c5ea2f3ec026..4e9e9d1f87ae 100644
--- a/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/jimtcl/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeCheckInputs = [ inetutils ];
 
   meta = {
-    description = "An open source small-footprint implementation of the Tcl programming language";
+    description = "Open source small-footprint implementation of the Tcl programming language";
     homepage = "http://jim.tcl.tk/";
     license = lib.licenses.bsd2;
     platforms = lib.platforms.all;
diff --git a/nixpkgs/pkgs/development/interpreters/joker/default.nix b/nixpkgs/pkgs/development/interpreters/joker/default.nix
index 6af8fc10160e..ced244e29780 100644
--- a/nixpkgs/pkgs/development/interpreters/joker/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/joker/default.nix
@@ -23,7 +23,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/candid82/joker";
-    description = "A small Clojure interpreter and linter written in Go";
+    description = "Small Clojure interpreter and linter written in Go";
     mainProgram = "joker";
     license = licenses.epl10;
     maintainers = with maintainers; [ andrestylianos ];
diff --git a/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix b/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix
index 7638b8f932e7..5b4d392d62f7 100644
--- a/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/kamilalisp/default.nix
@@ -6,7 +6,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "kamilalisp";
+  pname = "kamilalisp";
   version = "0.3.0.1";
 
   src = fetchurl {
@@ -20,16 +20,16 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -pv $out/share/java $out/bin
-    cp ${src} $out/share/java/${name}-${version}.jar
+    cp ${src} $out/share/java/kamilalisp-${version}.jar
     makeWrapper ${jre}/bin/java $out/bin/kamilalisp \
-      --add-flags "-jar $out/share/java/${name}-${version}.jar" \
+      --add-flags "-jar $out/share/java/kamilalisp-${version}.jar" \
       --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=on' \
       --set _JAVA_AWT_WM_NONREPARENTING 1
   '';
 
   meta = {
     homepage = "https://github.com/kspalaiologos/kamilalisp";
-    description = "A functional, flexible, and concise Lisp";
+    description = "Functional, flexible, and concise Lisp";
     mainProgram = "kamilalisp";
     license = lib.licenses.gpl3Plus;
     inherit (jre.meta) platforms;
diff --git a/nixpkgs/pkgs/development/interpreters/kona/default.nix b/nixpkgs/pkgs/development/interpreters/kona/default.nix
index cfc1c12d1923..22351510b9f4 100644
--- a/nixpkgs/pkgs/development/interpreters/kona/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/kona/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   preInstall = ''mkdir -p "$out/bin"'';
 
   meta = with lib; {
-    description = "An interpreter of K, APL-like programming language";
+    description = "Interpreter of K, APL-like programming language";
     homepage = "https://github.com/kevinlawler/kona/";
     maintainers = with maintainers; [ raskin ];
     mainProgram = "k";
diff --git a/nixpkgs/pkgs/development/interpreters/lambda-lisp/default.nix b/nixpkgs/pkgs/development/interpreters/lambda-lisp/default.nix
index f2979e7aa679..7140f9521c8a 100644
--- a/nixpkgs/pkgs/development/interpreters/lambda-lisp/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lambda-lisp/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A Lisp interpreter written in untyped lambda calculus";
+    description = "Lisp interpreter written in untyped lambda calculus";
     homepage = "https://github.com/woodrush/lambdalisp";
     longDescription = ''
       LambdaLisp is a Lisp interpreter written as a closed untyped lambda calculus term.
diff --git a/nixpkgs/pkgs/development/interpreters/lfe/2.1.nix b/nixpkgs/pkgs/development/interpreters/lfe/2.1.nix
index f239aa94b78f..7ac2d6eef2b5 100644
--- a/nixpkgs/pkgs/development/interpreters/lfe/2.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/lfe/2.1.nix
@@ -1,7 +1,7 @@
-{ fetchpatch, mkDerivation }:
+{ mkDerivation }:
 
 mkDerivation {
-  version = "2.1.3";
-  hash = "sha256-HUOVBzUaU0ixIfPPctwR2TPijxJjcFY3dJ8Z7Ot2bpE=";
-  maximumOTPVersion = "26";
+  version = "2.1.4";
+  hash = "sha256-mDavRI2it0SrSR0iBItm2MfjI+F/zCy38YSd2KpE0Hs=";
+  maximumOTPVersion = "27";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix
index 1589121d998d..908417f7c708 100644
--- a/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix
+++ b/nixpkgs/pkgs/development/interpreters/lfe/generic-builder.nix
@@ -73,7 +73,7 @@ buildRebar3 {
   '';
 
   meta = with lib; {
-    description     = "The best of Erlang and of Lisp; at the same time!";
+    description     = "Best of Erlang and of Lisp; at the same time!";
     longDescription = ''
       LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang
       compiler. Code produced with it is compatible with "normal" Erlang
diff --git a/nixpkgs/pkgs/development/interpreters/lolcode/default.nix b/nixpkgs/pkgs/development/interpreters/lolcode/default.nix
index ccb0e062a53f..09df8b04d0cd 100644
--- a/nixpkgs/pkgs/development/interpreters/lolcode/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lolcode/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://lolcode.org";
-    description = "An esoteric programming language";
+    description = "Esoteric programming language";
     longDescription = ''
       LOLCODE is a funny esoteric  programming language, a bit Pascal-like,
       whose keywords are LOLspeak.
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.10.nix b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
index 7dc82ce3248a..3443cb0c3cf5 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.10.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://love2d.org";
-    description = "A Lua-based 2D game engine/scripting language";
+    description = "Lua-based 2D game engine/scripting language";
     mainProgram = "love";
     license = lib.licenses.zlib;
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/interpreters/love/11.nix b/nixpkgs/pkgs/development/interpreters/love/11.nix
index 93f5d5792ecc..0f98906a542b 100644
--- a/nixpkgs/pkgs/development/interpreters/love/11.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/11.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://love2d.org";
-    description = "A Lua-based 2D game engine/scripting language";
+    description = "Lua-based 2D game engine/scripting language";
     mainProgram = "love";
     license = lib.licenses.zlib;
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
index b4eec6d8ff2d..6f3342d057bd 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
@@ -2,7 +2,7 @@
 { lib
 , lua
 , wrapLua
-, luarocks
+, luarocks_bootstrap
 , writeTextFile
 
 # Whether the derivation provides a lua module or not.
@@ -78,7 +78,7 @@ let
 
   luarocksDrv = luaLib.toLuaModule ( lua.stdenv.mkDerivation (self: attrs // {
 
-  name = namePrefix + pname + "-" + self.version;
+  name = namePrefix + self.pname + "-" + self.version;
   inherit rockspecVersion;
 
   __structuredAttrs = true;
@@ -91,7 +91,7 @@ let
   nativeBuildInputs = [
     lua  # for lua.h
     wrapLua
-    luarocks
+    luarocks_bootstrap
   ];
 
   inherit doCheck extraConfig rockspecFilename knownRockspec externalDeps nativeCheckInputs;
@@ -99,7 +99,7 @@ let
   buildInputs = let
     # example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ]
     externalDeps' = lib.filter (dep: !lib.isDerivation dep) self.externalDeps;
-    in [ lua.pkgs.luarocks ]
+    in [ luarocks_bootstrap ]
       ++ buildInputs
       ++ lib.optionals self.doCheck ([ luarocksCheckHook ] ++ self.nativeCheckInputs)
       ++ (map (d: d.dep) externalDeps')
@@ -114,7 +114,7 @@ let
   rocksSubdir = "${self.pname}-${self.version}-rocks";
 
   configFile = writeTextFile {
-    name = pname + "-luarocks-config.lua";
+    name = self.pname + "-luarocks-config.lua";
     text = self.luarocks_content;
   };
 
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
index bbd93c725f73..a7587dafe392 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
@@ -1,5 +1,5 @@
 # similar to interpreters/python/default.nix
-{ stdenv, config, lib, callPackage, fetchFromGitHub, fetchurl, fetchpatch, makeBinaryWrapper }:
+{ stdenv, config, lib, callPackage, fetchFromGitHub, fetchurl, makeBinaryWrapper }:
 
 
 let
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix b/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
index 29ad88f0ec16..9ad3099143c8 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
@@ -1,18 +1,19 @@
 { self, callPackage, fetchFromGitHub, lib, passthruFun }:
 
-callPackage ./default.nix rec {
+callPackage ./default.nix {
   # The patch version is the timestamp of the git commit,
   # obtain via `cat $(nix-build -A luajit_2_0.src)/.relver`
-  version = "2.0.1693340858";
+  version = "2.0.1713483859";
 
   src = fetchFromGitHub {
     owner = "LuaJIT";
     repo = "LuaJIT";
-    rev = "c6ee7e19d107b4f9a140bb2ccf99162e26318c69";
-    hash = "sha256-3/7ASZRniytw5RkOy0F9arHkZevq6dxmya+Ba3A5IIA=";
+    rev = "9b5e837ac2dfdc0638830c048a47ca9378c504d3";
+    hash = "sha256-GflF/sELSNanc9G4WMzoOadUBOFSs6OwqhAXa4sudWA=";
   };
 
-  extraMeta = { # this isn't precise but it at least stops the useless Hydra build
+  extraMeta = {
+    # this isn't precise but it at least stops the useless Hydra build
     platforms = with lib; filter (p: !hasPrefix "aarch64-" p)
       (platforms.linux ++ platforms.darwin);
   };
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix b/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix
index cf8531b7352d..90d7769e1d57 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix
@@ -1,15 +1,15 @@
 { self, callPackage, fetchFromGitHub, passthruFun }:
 
-callPackage ./default.nix rec {
+callPackage ./default.nix {
   # The patch version is the timestamp of the git commit,
   # obtain via `cat $(nix-build -A luajit_2_1.src)/.relver`
-  version = "2.1.1693350652";
+  version = "2.1.1713773202";
 
   src = fetchFromGitHub {
     owner = "LuaJIT";
     repo = "LuaJIT";
-    rev = "41fb94defa8f830ce69a8122b03f6ac3216d392a";
-    hash = "sha256-iY80CA97RqJ9gF1Kl7ms/lC6m6KScjxWmljh5Gy7Brg=";
+    rev = "5790d253972c9d78a0c2aece527eda5b134bbbf7";
+    hash = "sha256-WG8AWDI182/9O7NrZlQ6ZH/esyYE2pWXMuSzWUuntSA=";
   };
 
   inherit self passthruFun;
diff --git a/nixpkgs/pkgs/development/interpreters/luau/default.nix b/nixpkgs/pkgs/development/interpreters/luau/default.nix
index 4098d92fb451..3a500745fa55 100644
--- a/nixpkgs/pkgs/development/interpreters/luau/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/luau/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   passthru.updateScript = gitUpdater { };
 
   meta = with lib; {
-    description = "A fast, small, safe, gradually typed embeddable scripting language derived from Lua";
+    description = "Fast, small, safe, gradually typed embeddable scripting language derived from Lua";
     homepage = "https://luau-lang.org/";
     changelog = "https://github.com/luau-lang/luau/releases/tag/${version}";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/lunatic/default.nix b/nixpkgs/pkgs/development/interpreters/lunatic/default.nix
index 637c7710975e..4ad07f6a1e33 100644
--- a/nixpkgs/pkgs/development/interpreters/lunatic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lunatic/default.nix
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "An Erlang inspired runtime for WebAssembly";
+    description = "Erlang inspired runtime for WebAssembly";
     homepage = "https://lunatic.solutions";
     changelog = "https://github.com/lunatic-solutions/lunatic/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit /* or */ asl20 ];
diff --git a/nixpkgs/pkgs/development/interpreters/lune/default.nix b/nixpkgs/pkgs/development/interpreters/lune/default.nix
index 956fe3da666c..5403a2573c33 100644
--- a/nixpkgs/pkgs/development/interpreters/lune/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lune/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , pkg-config
 , darwin
+, cmake
 }:
 
 let
@@ -11,20 +12,21 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "lune";
-  version = "0.8.0";
+  version = "0.8.6";
 
   src = fetchFromGitHub {
     owner = "filiptibell";
     repo = "lune";
     rev = "v${version}";
-    hash = "sha256-ZVETw+GdkrR2V8RrHAWBR+avAuN0158DlJkYBquju8E=";
+    hash = "sha256-03ckR2FpSlaAZlhjyX3ob+7W5Pq8OLri7jT+XIM7oeQ=";
     fetchSubmodules = true;
   };
 
-  cargoHash = "sha256-zOjDT8Sn/p3YaG+dWyYxSWUOo11p9/WG3EyNagZRtQQ=";
+  cargoHash = "sha256-xEUq3Cc15bUAXpUoZw8tNQo6tW3/VXeuOtjIW4zrh1Q=";
 
   nativeBuildInputs = [
     pkg-config
+    cmake # required for libz-ng-sys
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
@@ -39,6 +41,7 @@ rustPlatform.buildRustPackage rec {
 
   checkFlags = [
     # require internet access
+    "--skip=tests::net_socket_basic"
     "--skip=tests::net_request_codes"
     "--skip=tests::net_request_compression"
     "--skip=tests::net_request_methods"
@@ -54,7 +57,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A standalone Luau script runtime";
+    description = "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";
diff --git a/nixpkgs/pkgs/development/interpreters/micropython/default.nix b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
index 6437e942ae34..4b9893f228c9 100644
--- a/nixpkgs/pkgs/development/interpreters/micropython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "micropython";
-  version = "1.22.2";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "micropython";
     repo = "micropython";
     rev = "v${version}";
-    sha256 = "sha256-sdok17HvKub/sI+8cAIIDaLD/3mu8yXXqrTOej8/UfU=";
+    sha256 = "sha256-sfJohmsqq5FumUoVE8x3yWv12DiCJJXae62br0j+190=";
     fetchSubmodules = true;
   };
 
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A lean and efficient Python implementation for microcontrollers and constrained systems";
+    description = "Lean and efficient Python implementation for microcontrollers and constrained systems";
     homepage = "https://micropython.org";
     platforms = platforms.unix;
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/mujs/default.nix b/nixpkgs/pkgs/development/interpreters/mujs/default.nix
index a7b53bb8d465..225146b33fe7 100644
--- a/nixpkgs/pkgs/development/interpreters/mujs/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/mujs/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mujs";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchurl {
     url = "https://mujs.com/downloads/mujs-${version}.tar.gz";
-    hash = "sha256-wBVHWID2o4LnBhaclDcafdbMIgeIMvbghlr4KJwu9Cs=";
+    hash = "sha256-eKMRrkIkQAd0ywnvW6omM8JpcVE/i5MdMiSg64WxPgs=";
   };
 
   buildInputs = [ readline ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://mujs.com/";
-    description = "A lightweight, embeddable Javascript interpreter";
+    description = "Lightweight, embeddable Javascript interpreter";
     platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
     license = licenses.isc;
diff --git a/nixpkgs/pkgs/development/interpreters/nelua/default.nix b/nixpkgs/pkgs/development/interpreters/nelua/default.nix
index 07494f121b02..2ea608f440a3 100644
--- a/nixpkgs/pkgs/development/interpreters/nelua/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/nelua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nelua";
-  version = "0-unstable-2024-04-20";
+  version = "0-unstable-2024-06-16";
 
   src = fetchFromGitHub {
     owner = "edubart";
     repo = "nelua-lang";
-    rev = "9f75e009db190feda0f90ae858b48fd82f51b8b1";
-    hash = "sha256-JwuZZXYcH8KRPxt4PBwhYDjZlwqe6VfaONU8rdLIDs4=";
+    rev = "4b2c75f8fe5c1d11a966b2fe8974a256868749a6";
+    hash = "sha256-98QKg9eKBDEobmARpH3FAS2C32iViSsBs71n1E8uI2s=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/interpreters/nextflow/default.nix b/nixpkgs/pkgs/development/interpreters/nextflow/default.nix
index ef0d4c42160a..ed07f175b653 100644
--- a/nixpkgs/pkgs/development/interpreters/nextflow/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/nextflow/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A DSL for data-driven computational pipelines";
+    description = "DSL for data-driven computational pipelines";
     longDescription = ''
       Nextflow is a bioinformatics workflow manager that enables the development of portable and reproducible workflows.
 
diff --git a/nixpkgs/pkgs/development/interpreters/ngn-k/default.nix b/nixpkgs/pkgs/development/interpreters/ngn-k/default.nix
index 9ec1f0b673d3..76ff50b64b9e 100644
--- a/nixpkgs/pkgs/development/interpreters/ngn-k/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ngn-k/default.nix
@@ -61,7 +61,7 @@ useStdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A simple fast vector programming language";
+    description = "Simple fast vector programming language";
     homepage = "https://codeberg.org/ngn/k";
     license = lib.licenses.agpl3Only;
     maintainers = [ lib.maintainers.sternenseemann ];
diff --git a/nixpkgs/pkgs/development/interpreters/npiet/default.nix b/nixpkgs/pkgs/development/interpreters/npiet/default.nix
index c0e2c3ade292..bcd546c514c0 100644
--- a/nixpkgs/pkgs/development/interpreters/npiet/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/npiet/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An interpreter for piet programs. Also includes npietedit and npiet-foogol";
+    description = "Interpreter for piet programs. Also includes npietedit and npiet-foogol";
     longDescription = ''
       npiet is an interpreter for the piet programming language.
       Instead of text, piet programs are pictures. Commands are determined based on changes in color.
diff --git a/nixpkgs/pkgs/development/interpreters/perl/interpreter.nix b/nixpkgs/pkgs/development/interpreters/perl/interpreter.nix
index 95ddc5a543cf..ff95ac83a301 100644
--- a/nixpkgs/pkgs/development/interpreters/perl/interpreter.nix
+++ b/nixpkgs/pkgs/development/interpreters/perl/interpreter.nix
@@ -115,6 +115,11 @@ stdenv.mkDerivation (rec {
       "-Dprefix=${placeholder "out"}"
       "-Dman1dir=${placeholder "out"}/share/man/man1"
       "-Dman3dir=${placeholder "out"}/share/man/man3"
+    ]
+    ++ lib.optionals (stdenv.isFreeBSD && crossCompiling && enableCrypt) [
+      # https://github.com/Perl/perl5/issues/22295
+      # configure cannot figure out that we have crypt automatically, but we really do
+      "-Dd_crypt"
     ];
 
   configureScript = lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
@@ -228,7 +233,7 @@ stdenv.mkDerivation (rec {
 
   meta = with lib; {
     homepage = "https://www.perl.org/";
-    description = "The standard implementation of the Perl 5 programming language";
+    description = "Standard implementation of the Perl 5 programming language";
     license = licenses.artistic1;
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.1.nix b/nixpkgs/pkgs/development/interpreters/php/8.1.nix
index b31d08fbda3a..4b53f9e6c84b 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.1.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix ((removeAttrs _args [ "fetchpatch" ]) // {
-    version = "8.1.28";
-    hash = "sha256-i+RQCW4BU8R9dThOfdWVzIl/HVPOAGBwjOlYm8wxQe4=";
+    version = "8.1.29";
+    hash = "sha256-h6YDEyY/L1M/GA5xknLKXkfNmITU7DyTcgGY6v+uCCc=";
     extraPatches = [
       # Fix build with libxml 2.12+.
       # Patch from https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.2.nix b/nixpkgs/pkgs/development/interpreters/php/8.2.nix
index a63f1391616d..e50bdfd13741 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.19";
-    hash = "sha256-PBj3zlG3x7JreX4flwedOGswNH6wToF/XmyOmydeKmo=";
+    version = "8.2.20";
+    hash = "sha256-Xexvphx7nEeqHXZma+ZR8mQu0rz2zYY4xX41cc4qrGE=";
   });
 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 1da9841f7894..ae4ad6e949b1 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.7";
-    hash = "sha256-AcIM3hxaVpZlGHXtIvUHhJZ5+6dA+MQhYWt9Q9f3l9o=";
+    version = "8.3.8";
+    hash = "sha256-9KbLAFrhF6uobCBEkyz1Y4maLpd6wJeBqnSyFh3cVjs=";
   });
 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 68ca8e4d3bba..69716f05b6da 100644
--- a/nixpkgs/pkgs/development/interpreters/php/generic.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/generic.nix
@@ -164,7 +164,7 @@ let
                 nixos = lib.recurseIntoAttrs nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}";
                 package = tests.php;
               };
-              inherit (php-packages) extensions buildPecl mkComposerRepository buildComposerProject composerHooks mkExtension;
+              inherit (php-packages) extensions buildPecl mkComposerRepository buildComposerProject buildComposerWithPlugin composerHooks mkExtension;
               packages = php-packages.tools;
               meta = php.meta // {
                 outputsToInstall = [ "out" ];
@@ -346,7 +346,7 @@ let
           };
 
           meta = with lib; {
-            description = "An HTML-embedded scripting language";
+            description = "HTML-embedded scripting language";
             homepage = "https://www.php.net/";
             license = licenses.php301;
             mainProgram = "php";
diff --git a/nixpkgs/pkgs/development/interpreters/picolisp/default.nix b/nixpkgs/pkgs/development/interpreters/picolisp/default.nix
index 8f8d0b764fda..c751746ec645 100644
--- a/nixpkgs/pkgs/development/interpreters/picolisp/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/picolisp/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A pragmatic programming language.";
+    description = "Pragmatic programming language";
     homepage = "https://picolisp.com/";
     license = licenses.mit;
     maintainers = with maintainers; [ nat-418 ];
diff --git a/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py b/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
index ad679d9f9f99..4713cfb7026e 100644
--- a/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
+++ b/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
@@ -3,9 +3,10 @@ from pathlib import Path
 import collections
 import sys
 import os
-from typing import Dict, List, Tuple
+from typing import Dict, List, Set, Tuple
 do_abort: bool = False
-packages: Dict[str, Dict[str, List[Dict[str, List[str]]]]] = collections.defaultdict(list)
+packages: Dict[str, Dict[str, Dict[str, List[str]]]] = collections.defaultdict(dict)
+found_paths: Set[Path] = set()
 out_path: Path = Path(os.getenv("out"))
 version: Tuple[int, int] = sys.version_info
 site_packages_path: str = f'lib/python{version[0]}.{version[1]}/site-packages'
@@ -31,14 +32,10 @@ def describe_parents(parents: List[str]) -> str:
 
 # inserts an entry into 'packages'
 def add_entry(name: str, version: str, store_path: str, parents: List[str]) -> None:
-    if name not in packages:
-        packages[name] = {}
-    if store_path not in packages[name]:
-        packages[name][store_path] = []
-    packages[name][store_path].append(dict(
+    packages[name][store_path] = dict(
         version=version,
         parents=parents,
-    ))
+    )
 
 
 # transitively discover python dependencies and store them in 'packages'
@@ -46,6 +43,12 @@ def find_packages(store_path: Path, site_packages_path: str, parents: List[str])
     site_packages: Path = (store_path / site_packages_path)
     propagated_build_inputs: Path = (store_path / "nix-support/propagated-build-inputs")
 
+    # only visit each path once, to avoid exponential complexity with highly
+    # connected dependency graphs
+    if store_path in found_paths:
+        return
+    found_paths.add(store_path)
+
     # add the current package to the list
     if site_packages.exists():
         for dist_info in site_packages.glob("*.dist-info"):
@@ -55,10 +58,9 @@ def find_packages(store_path: Path, site_packages_path: str, parents: List[str])
     # recursively add dependencies
     if propagated_build_inputs.exists():
         with open(propagated_build_inputs, "r") as f:
-            build_inputs: List[str] = f.read().strip().split(" ")
+            build_inputs: List[str] = f.read().split()
             for build_input in build_inputs:
-                if build_input not in parents:
-                    find_packages(Path(build_input), site_packages_path, parents + [build_input])
+                find_packages(Path(build_input), site_packages_path, parents + [build_input])
 
 
 find_packages(out_path, site_packages_path, [f"this derivation: {out_path}"])
@@ -68,10 +70,9 @@ for name, store_paths in packages.items():
     if len(store_paths) > 1:
         do_abort = True
         print("Found duplicated packages in closure for dependency '{}': ".format(name))
-        for store_path, candidates in store_paths.items():
-            for candidate in candidates:
-                print(f"  {name} {candidate['version']} ({store_path})")
-                print(describe_parents(candidate['parents']))
+        for store_path, candidate in store_paths.items():
+            print(f"  {name} {candidate['version']} ({store_path})")
+            print(describe_parents(candidate['parents']))
 
 # fail if duplicates were found
 if do_abort:
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 3ede01aa61da..af9bbc47475b 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -338,7 +338,7 @@ in with passthru; stdenv.mkDerivation ({
 
     meta = {
       homepage = "http://python.org";
-      description = "A high-level dynamically-typed programming language";
+      description = "High-level dynamically-typed programming language";
       longDescription = ''
         Python is a remarkably powerful dynamic programming language that
         is used in a wide variety of application domains. Some of its key
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
index 37b9d19fe88d..ab5960b5ea61 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
@@ -121,6 +121,9 @@ let
     versionOlder
   ;
 
+  # mixes libc and libxcrypt headers and libs and causes segfaults on importing crypt
+  libxcrypt = if stdenv.hostPlatform.isFreeBSD then null else inputs.libxcrypt;
+
   buildPackages = pkgsBuildHost;
   inherit (passthru) pythonOnBuildForHost;
 
@@ -261,6 +264,7 @@ let
 
     multiarch =
       if isDarwin then "darwin"
+      else if isFreeBSD then ""
       else if isWindows then ""
       else "${multiarchCpu}-${machdep}-${pythonAbiName}";
 
@@ -303,10 +307,15 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     # (since it will do a futile invocation of gcc (!) to find
     # libuuid, slowing down program startup a lot).
     noldconfigPatch
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.isFreeBSD) [
+    # Cross compilation only supports a limited number of "known good"
+    # configurations. If you're reading this and it's been a long time
+    # since this diff, consider submitting this patch upstream!
+    ./freebsd-cross.patch
+  ] ++ optionals (pythonOlder "3.13") [
     # 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
@@ -445,7 +454,11 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     "LDFLAGS=-static"
   ];
 
-  preConfigure = optionalString (pythonOlder "3.12") ''
+  preConfigure = ''
+    # Attempt to purify some of the host info collection
+    sed -E -i -e 's/uname -r/echo/g' -e 's/uname -n/echo nixpkgs/g' config.guess
+    sed -E -i -e 's/uname -r/echo/g' -e 's/uname -n/echo nixpkgs/g' configure
+  '' + optionalString (pythonOlder "3.12") ''
     # Improve purity
     for path in /usr /sw /opt /pkg; do
       substituteInPlace ./setup.py --replace-warn $path /no-such-path
@@ -453,6 +466,8 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
   '' + optionalString stdenv.isDarwin ''
     # Override the auto-detection in setup.py, which assumes a universal build
     export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.isAarch64 then "uint128" else "x64"}
+    # Ensure that modern platform features are enabled on Darwin in spite of having no version suffix.
+    sed -E -i -e 's|Darwin/\[12\]\[0-9\]\.\*|Darwin/*|' configure
   '' + optionalString (stdenv.isDarwin && x11Support && pythonAtLeast "3.11") ''
     export TCLTK_LIBS="-L${tcl}/lib -L${tk}/lib -l${tcl.libPrefix} -l${tk.libPrefix}"
     export TCLTK_CFLAGS="-I${tcl}/include -I${tk}/include"
@@ -476,10 +491,10 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
   postInstall = let
     # References *not* to nuke from (sys)config files
     keep-references = concatMapStringsSep " " (val: "-e ${val}") ([
-      (placeholder "out") libxcrypt
-    ] ++ optionals tzdataSupport [
-      tzdata
-    ]);
+      (placeholder "out")
+    ] ++ lib.optional (libxcrypt != null) libxcrypt
+      ++ lib.optional tzdataSupport tzdata
+    );
   in lib.optionalString enableFramework ''
     for dir in include lib share; do
       ln -s $out/Library/Frameworks/Python.framework/Versions/Current/$dir $out/$dir
@@ -643,13 +658,13 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     homepage = "https://www.python.org";
     changelog = let
       majorMinor = versions.majorMinor version;
-      dashedVersion = replaceStrings [ "." "a" ] [ "-" "-alpha-" ] version;
+      dashedVersion = replaceStrings [ "." "a" "b" ] [ "-" "-alpha-" "-beta-" ] version;
     in
       if sourceVersion.suffix == "" then
         "https://docs.python.org/release/${version}/whatsnew/changelog.html"
       else
         "https://docs.python.org/${majorMinor}/whatsnew/changelog.html#python-${dashedVersion}";
-    description = "A high-level dynamically-typed programming language";
+    description = "High-level dynamically-typed programming language";
     longDescription = ''
       Python is a remarkably powerful dynamic programming language that
       is used in a wide variety of application domains. Some of its key
@@ -661,7 +676,7 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     '';
     license = licenses.psfl;
     pkgConfigModules = [ "python3" ];
-    platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
+    platforms = platforms.linux ++ platforms.darwin ++ platforms.windows ++ platforms.freebsd;
     mainProgram = executable;
   };
 })
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/freebsd-cross.patch b/nixpkgs/pkgs/development/interpreters/python/cpython/freebsd-cross.patch
new file mode 100644
index 000000000000..71b45bfead27
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/freebsd-cross.patch
@@ -0,0 +1,22 @@
+--- a/configure.ac	2024-06-07 09:17:50.608162031 -0700
++++ b/configure.ac	2024-06-07 09:45:59.844518241 -0700
+@@ -554,6 +554,9 @@
+ 	*-*-wasi)
+ 	    ac_sys_system=WASI
+ 	    ;;
++	*-*-freebsd)
++	    ac_sys_system=FreeBSD
++	    ;;
+ 	*)
+ 		# for now, limit cross builds to known configurations
+ 		MACHDEP="unknown"
+@@ -614,6 +617,9 @@
+ 	wasm32-*-* | wasm64-*-*)
+ 		_host_cpu=$host_cpu
+ 		;;
++	x86_64-*-freebsd)
++		_host_cpu=x86_64
++		;;
+ 	*)
+ 		# for now, limit cross builds to known configurations
+ 		MACHDEP="unknown"
diff --git a/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix
index 86eaf142d920..08e017fb06e8 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 = "b1";
+      suffix = "b3";
     };
-    hash = "sha256-unFqxWsDm1Ra1KkM5Yaleql4aTZFU3Ru8kRXKM7sGY4=";
+    hash = "sha256-O+CUrQixHcKgZUY1JCOceNyfKzQrAdzU4eYG27xceKU=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix b/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
index cba1034e0963..3890df40cb74 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
@@ -143,4 +143,46 @@ in {
     };
   in
     expectFailure toplevel "Found duplicated packages in closure for dependency 'leaf'";
+
+  /*
+    Transitive conflict with multiple dependency chains leading to the
+    conflicting package.
+
+    Test sets up this dependency tree:
+
+      toplevel
+      ├── dep1
+      │   └── leaf
+      ├── dep2
+      │   └── leaf
+      └── dep3
+          └── leaf (customized version -> conflicting)
+  */
+  catches-conflict-multiple-chains = let
+    # package depending on dependency1, dependency2 and dependency3
+    toplevel = generatePythonPackage {
+      pname = "catches-conflict-multiple-chains";
+      propagatedBuildInputs = [ dep1 dep2 dep3 ];
+    };
+    # dep1 package depending on leaf
+    dep1 = generatePythonPackage {
+      pname = "dependency1";
+      propagatedBuildInputs = [ leaf ];
+    };
+    # dep2 package depending on leaf
+    dep2 = generatePythonPackage {
+      pname = "dependency2";
+      propagatedBuildInputs = [ leaf ];
+    };
+    # dep3 package depending on conflicting version of leaf
+    dep3 = generatePythonPackage {
+      pname = "dependency3";
+      propagatedBuildInputs = [ (customize leaf) ];
+    };
+    # some leaf package
+    leaf = generatePythonPackage {
+      pname = "leaf";
+    };
+  in
+    expectFailure toplevel "Found duplicated packages in closure for dependency 'leaf'";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix
index 8d330fcdbfc9..fcb17dcbca38 100644
--- a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, pythonOlder }:
+{ lib, buildPythonPackage, pythonOlder }:
 
 
 buildPythonPackage {
@@ -6,7 +6,13 @@ buildPythonPackage {
   pname = "typeddep";
   version = "1.3.3.7";
 
-  src = ./.;
+  src = lib.fileset.toSource {
+    root = ./.;
+    fileset = lib.fileset.unions [
+      ./setup.py
+      ./typeddep
+    ];
+  };
 
   disabled = pythonOlder "3.7";
 
diff --git a/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 3430c5806c4a..fbc096502fa7 100755
--- a/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -284,7 +284,7 @@ def _get_latest_version_github(attr_path, package, extension, current_version, t
     if _get_attr_value(f"{attr_path}.src.leaveDotGit"):
         git_fetcher_args.append("--leave-dotGit")
 
-    if git_fetcher_args:
+    if git_fetcher_args or _get_attr_value(f"{attr_path}.src.fetcher").endswith("nix-prefetch-git"):
         algorithm = "sha256"
         cmd = [
             "nix-prefetch-git",
diff --git a/nixpkgs/pkgs/development/interpreters/qnial/default.nix b/nixpkgs/pkgs/development/interpreters/qnial/default.nix
index e90c268719d5..f5d7ef3c70fd 100644
--- a/nixpkgs/pkgs/development/interpreters/qnial/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/qnial/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   ];
 
   meta = {
-    description = "An array language from Nial Systems";
+    description = "Array language from Nial Systems";
     mainProgram = "nial";
     homepage = "https://github.com/vrthra/qnial";
     license = lib.licenses.artistic1;
diff --git a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
index 040516d6ba79..447f486a0914 100644
--- a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A small and embeddable Javascript engine";
+    description = "Small and embeddable Javascript engine";
     homepage = "https://bellard.org/quickjs/";
     maintainers = with maintainers; [ stesie AndersonTorres ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/interpreters/racket/default.nix b/nixpkgs/pkgs/development/interpreters/racket/default.nix
index 1edfefddd0cd..314c760fa02c 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/racket/default.nix
@@ -182,7 +182,7 @@ stdenv.mkDerivation rec {
   dontStrip = stdenv.isDarwin;
 
   meta = with lib; {
-    description = "A programmable programming language";
+    description = "Programmable programming language";
     longDescription = ''
       Racket is a full-spectrum programming language. It goes beyond
       Lisp and Scheme with dialects that support objects, types,
diff --git a/nixpkgs/pkgs/development/interpreters/racket/racket_7_9.nix b/nixpkgs/pkgs/development/interpreters/racket/racket_7_9.nix
index 1446be8f2460..4db0db9385d0 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/racket_7_9.nix
+++ b/nixpkgs/pkgs/development/interpreters/racket/racket_7_9.nix
@@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   meta = with lib; {
-    description = "A programmable programming language";
+    description = "Programmable programming language";
     longDescription = ''
       Racket is a full-spectrum programming language. It goes beyond
       Lisp and Scheme with dialects that support objects, types,
diff --git a/nixpkgs/pkgs/development/interpreters/rlci/default.nix b/nixpkgs/pkgs/development/interpreters/rlci/default.nix
index 6c766c9d0037..01c9e491b11f 100644
--- a/nixpkgs/pkgs/development/interpreters/rlci/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/rlci/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-7Q6WSEiVLzRsyHNECbPhWN9prrN0A/nSJDtZWi09zzg=";
 
   meta = with lib; {
-    description = "A lambda calculus interpreter";
+    description = "Lambda calculus interpreter";
     mainProgram = "rlci";
     homepage = "https://github.com/orsinium-labs/rlci";
     changelog = "https://github.com/orsinium-labs/rlci/releases/tag/${src.rev}";
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
index ed3a06591d16..a9e5e5a04842 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPackages, lib
-, fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
+, fetchurl, fetchpatch, fetchFromSavannah
 , zlib, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison
 , autoconf, libiconv, libobjc, libunwind, Foundation
 , buildEnv, bundler, bundix, cargo, rustPlatform, rustc
@@ -26,7 +26,7 @@ let
     yjitSupported = atLeast32 && (stdenv.hostPlatform.isx86_64 || (!stdenv.hostPlatform.isWindows && stdenv.hostPlatform.isAarch64));
     rubyDrv = lib.makeOverridable (
       { stdenv, buildPackages, lib
-      , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
+      , fetchurl, fetchpatch, fetchFromSavannah
       , rubygemsSupport ? true
       , zlib, zlibSupport ? true
       , openssl, opensslSupport ? true
@@ -160,6 +160,9 @@ let
           "--with-out-ext=tk"
           # on yosemite, "generating encdb.h" will hang for a very long time without this flag
           "--with-setjmp-type=setjmp"
+        ] ++ ops stdenv.hostPlatform.isFreeBSD [
+          "rb_cv_gnu_qsort_r=no"
+          "rb_cv_bsd_qsort_r=yes"
         ];
 
         preConfigure = opString docSupport ''
@@ -261,7 +264,7 @@ let
           ++ op useBaseRuby baseRuby;
 
         meta = with lib; {
-          description = "An object-oriented language for quick and easy programming";
+          description = "Object-oriented language for quick and easy programming";
           homepage    = "https://www.ruby-lang.org/";
           license     = licenses.ruby;
           maintainers = with maintainers; [ vrthra manveru ];
@@ -307,8 +310,8 @@ in {
   };
 
   ruby_3_3 = generic {
-    version = rubyVersion "3" "3" "1" "";
-    hash = "sha256-jcKvKALMcAzRgtVDByY4jM+IWz8KFPzWoPIf8knJqpk=";
+    version = rubyVersion "3" "3" "2" "";
+    hash = "sha256-O+HRAOvyoM5gws2NIs2dtNZLPgShlDvixP97Ug8ry1s=";
     cargoHash = "sha256-GeelTMRFIyvz1QS2L+Q3KAnyQy7jc0ejhx3TdEFVEbk=";
   };
 
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
index 8c0bc2208c10..9ad7a04eab06 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rubygems";
-  version = "3.5.9";
+  version = "3.5.11";
 
   src = fetchurl {
     url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
-    hash = "sha256-KyA2Qhkea7ns4ZB19iJ1qIUmMZsSRoTEZmdBXcpDY/E=";
+    hash = "sha256-RSG1L4Q2IKn8XKdBRSa3RjsJiVZMOugLJraPvRMEyBg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/interpreters/rune/default.nix b/nixpkgs/pkgs/development/interpreters/rune/default.nix
index c07cc5577fe6..93a102da07d1 100644
--- a/nixpkgs/pkgs/development/interpreters/rune/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/rune/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "An interpreter for the Rune Language, an embeddable dynamic programming language for Rust";
+    description = "Interpreter for the Rune Language, an embeddable dynamic programming language for Rust";
     homepage = "https://rune-rs.github.io/";
     changelog = "https://github.com/rune-rs/rune/releases/tag/${version}";
     license = with licenses; [ asl20 mit ];
diff --git a/nixpkgs/pkgs/development/interpreters/s9fes/default.nix b/nixpkgs/pkgs/development/interpreters/s9fes/default.nix
index 7cf60b00eb9b..4107b28e1cf9 100644
--- a/nixpkgs/pkgs/development/interpreters/s9fes/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/s9fes/default.nix
@@ -22,7 +22,11 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [ ncurses ];
+  preBuild = ''
+    makeFlagsArray+=(CFLAGS="-O2 -std=c89")
+  '';
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
+
   enableParallelBuilding = true;
   # ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory
   # make: *** [Makefile:157: install-util] Error 1
diff --git a/nixpkgs/pkgs/development/interpreters/scsh/default.nix b/nixpkgs/pkgs/development/interpreters/scsh/default.nix
index 7587236487c1..35fec3d2a2b5 100644
--- a/nixpkgs/pkgs/development/interpreters/scsh/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/scsh/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   passthru.updateScript = unstableGitUpdater { };
 
   meta = with lib; {
-    description = "A Scheme shell";
+    description = "Scheme shell";
     homepage = "http://www.scsh.net/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ joachifm ];
diff --git a/nixpkgs/pkgs/development/interpreters/snobol4/default.nix b/nixpkgs/pkgs/development/interpreters/snobol4/default.nix
index d5970c4ab873..2d276e6a0362 100644
--- a/nixpkgs/pkgs/development/interpreters/snobol4/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/snobol4/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "The Macro Implementation of SNOBOL4 in C";
+    description = "Macro Implementation of SNOBOL4 in C";
     longDescription = ''
       An open source port of Macro SNOBOL4 (The original Bell Telephone Labs implementation, written in SIL macros) by Phil Budne.
       Supports full SNOBOL4 language plus SPITBOL, [Blocks](https://www.regressive.org/snobol4/blocks/) and other extensions.
diff --git a/nixpkgs/pkgs/development/interpreters/sollya/default.nix b/nixpkgs/pkgs/development/interpreters/sollya/default.nix
index 69ec182f61f3..2b741aec29ab 100644
--- a/nixpkgs/pkgs/development/interpreters/sollya/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/sollya/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A tool environment for safe floating-point code development";
+    description = "Tool environment for safe floating-point code development";
     mainProgram = "sollya";
     homepage = "https://www.sollya.org/";
     license = licenses.cecill-c;
diff --git a/nixpkgs/pkgs/development/interpreters/starlark-rust/default.nix b/nixpkgs/pkgs/development/interpreters/starlark-rust/default.nix
index 0002517c6c91..499114b3f258 100644
--- a/nixpkgs/pkgs/development/interpreters/starlark-rust/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/starlark-rust/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-60JXCBXsXei0INP0rozWqFU8dKZovJ9mn5ns87ziUac=";
 
   meta = with lib; {
-    description = "A Rust implementation of the Starlark language";
+    description = "Rust implementation of the Starlark language";
     homepage = "https://github.com/facebook/starlark-rust";
     changelog = "https://github.com/facebook/starlark-rust/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/interpreters/tcl/generic.nix b/nixpkgs/pkgs/development/interpreters/tcl/generic.nix
index 5ee967161f83..63eafd9c3e81 100644
--- a/nixpkgs/pkgs/development/interpreters/tcl/generic.nix
+++ b/nixpkgs/pkgs/development/interpreters/tcl/generic.nix
@@ -49,7 +49,7 @@ let
       '';
 
       meta = with lib; {
-        description = "The Tcl scripting language";
+        description = "Tcl scripting language";
         homepage = "https://www.tcl.tk/";
         license = licenses.tcltk;
         platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix b/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix
index bca8ef1d159c..8dfa36e586b8 100644
--- a/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     broken = (stdenv.isLinux && stdenv.isAarch64);
-    description = "A very high level, goal-directed, object-oriented, general purpose applications language";
+    description = "Very high level, goal-directed, object-oriented, general purpose applications language";
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/interpreters/wamr/default.nix b/nixpkgs/pkgs/development/interpreters/wamr/default.nix
index 58d9fb2ef592..06fc84eeae7e 100644
--- a/nixpkgs/pkgs/development/interpreters/wamr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wamr/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "wamr";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "wasm-micro-runtime";
     rev = "WAMR-${finalAttrs.version}";
-    hash = "sha256-7k7FRe1mBH/+r9M19pYGAHX5rt54AomeWDBW4lwCfu4=";
+    hash = "sha256-2jZnvfW/f928DxVwd+z/BVPNPWfbyV8Rjek23NQhFz8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/interpreters/wasm3/default.nix b/nixpkgs/pkgs/development/interpreters/wasm3/default.nix
index d5df9e66ebf4..ab7ed45dcc71 100644
--- a/nixpkgs/pkgs/development/interpreters/wasm3/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wasm3/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/wasm3/wasm3";
-    description = "The fastest WebAssembly interpreter, and the most universal runtime.";
+    description = "Fastest WebAssembly interpreter, and the most universal runtime";
     platforms = platforms.all;
     maintainers = with maintainers; [ malbarbo ];
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/interpreters/wasmer/default.nix b/nixpkgs/pkgs/development/interpreters/wasmer/default.nix
index a509107ec163..4b855186bc31 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.7";
+  version = "4.3.2";
 
   src = fetchFromGitHub {
     owner = "wasmerio";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jyA1DUouODq9giAWeGOw7VMGwA+FbyqpEU77jtCb5v4=";
+    hash = "sha256-FxbODuIWGHdhGAt6EFDwrashmYFy+ldkfUucUkLzyms=";
   };
 
-  cargoHash = "sha256-EpHM8YaT2Ty9IBX/gXEa9n8006A9Y5/fq/ueODxHlnc=";
+  cargoHash = "sha256-ZPYqMXzX7yMaNrFUKuvUPyfQovd/E5/3T3n535oD+Tw=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
@@ -58,7 +58,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "The Universal WebAssembly Runtime";
+    description = "Universal WebAssembly Runtime";
     mainProgram = "wasmer";
     longDescription = ''
       Wasmer is a standalone WebAssembly runtime for running WebAssembly outside
diff --git a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
index fafe521fbde1..b54a6478be02 100644
--- a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
@@ -1,31 +1,40 @@
-{ rustPlatform, fetchFromGitHub, Security, lib, stdenv }:
+{ rustPlatform, rustfmt, fetchFromGitHub, Security, lib, stdenv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "20.0.2";
+  version = "22.0.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zXBVqSBq/dLY8oEs0dNZxtjs4H1aKTJYeeazysHvh3w=";
+    hash = "sha256-pVASjiGADtimXqnsit673v6nD77loN2nBphwgIMAvBA=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-jFqLUWdW/UfOc843aWO7RNDx1E6sBhUWB5Xw2+A2u90=";
+  cargoHash = "sha256-s/+aKIu1V9iD8eTqHlHuhvC6oRDjX9IfI7tz3R1M5tw=";
   cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
 
   outputs = [ "out" "dev" ];
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
-  # SIMD tests are only executed on platforms that support all
-  # required processor features (e.g. SSE3, SSSE3 and SSE4.1 on x86_64):
-  # https://github.com/bytecodealliance/wasmtime/blob/v9.0.0/cranelift/codegen/src/isa/x64/mod.rs#L220
-  doCheck = with stdenv.buildPlatform; (isx86_64 -> sse3Support && ssse3Support && sse4_1Support);
-  cargoTestFlags = ["--package" "wasmtime-runtime"];
+  # rustfmt is brought into scope to fix the following
+  #   warning: cranelift-codegen@0.108.0:
+  #   Failed to run `rustfmt` on ISLE-generated code: Os
+  #   { code: 2, kind: NotFound, message: "No such file or directory" }
+  nativeBuildInputs = [ rustfmt ];
+
+  doCheck = with stdenv.buildPlatform;
+    # SIMD tests are only executed on platforms that support all
+    # required processor features (e.g. SSE3, SSSE3 and SSE4.1 on x86_64):
+    # https://github.com/bytecodealliance/wasmtime/blob/v9.0.0/cranelift/codegen/src/isa/x64/mod.rs#L220
+    (isx86_64 -> sse3Support && ssse3Support && sse4_1Support) &&
+    # The dependency `wasi-preview1-component-adapter` fails to build because of:
+    # error: linker `rust-lld` not found
+    !isAarch64;
 
   postInstall = ''
     # move libs from out to dev
diff --git a/nixpkgs/pkgs/development/interpreters/wazero/default.nix b/nixpkgs/pkgs/development/interpreters/wazero/default.nix
index 50b7b05da333..8285be8ce997 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.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "tetratelabs";
     repo = "wazero";
     rev = "v${version}";
-    hash = "sha256-NhwFIN5xLHovbXko6Ki0szwg+MFJdIwJGude4GiSb8A=";
+    hash = "sha256-39elFJ7dDBpD5nbSaw+bpth6PMZiHjmPHQIS2rsFHFw=";
   };
 
   vendorHash = null;
@@ -41,7 +41,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A zero dependency WebAssembly runtime for Go developers";
+    description = "Zero dependency WebAssembly runtime for Go developers";
     homepage = "https://github.com/tetratelabs/wazero";
     changelog = "https://github.com/tetratelabs/wazero/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/interpreters/yaegi/default.nix b/nixpkgs/pkgs/development/interpreters/yaegi/default.nix
index 1bc94848313b..1721417e7ec9 100644
--- a/nixpkgs/pkgs/development/interpreters/yaegi/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/yaegi/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A Go interpreter";
+    description = "Go interpreter";
     mainProgram = "yaegi";
     homepage = "https://github.com/traefik/yaegi";
     changelog = "https://github.com/traefik/yaegi/releases/tag/${src.rev}";
diff --git a/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix b/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix
index d01aa730a44d..772a2b5acf52 100644
--- a/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/nonamescm/yex-lang";
-    description = "A functional scripting language written in rust";
+    description = "Functional scripting language written in rust";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     mainProgram = "yex";
diff --git a/nixpkgs/pkgs/development/interpreters/zuo/default.nix b/nixpkgs/pkgs/development/interpreters/zuo/default.nix
index 46d22b939957..9bfb925586c4 100644
--- a/nixpkgs/pkgs/development/interpreters/zuo/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/zuo/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A Tiny Racket for Scripting";
+    description = "Tiny Racket for Scripting";
     mainProgram = "zuo";
     homepage = "https://github.com/racket/zuo";
     license = licenses.mit;