about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot]2024-11-15 11:35:55 +0000
committerGitHub2024-11-15 11:35:55 +0000
commit784ca116f3b4412c203eca6fa5aba5a96599d000 (patch)
treec99252334ad37cec0dba7f66be5ee5ee08af98bf
parent105fc3c86df2c2f0f587404662586ab9d75b028b (diff)
parent295517870cffd707b9d9f489aa389d1b83a740dd (diff)
Merge release-24.11 into staging-next-24.11 staging-next-24.11
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix28
-rw-r--r--pkgs/development/compilers/reason/default.nix40
-rw-r--r--pkgs/development/compilers/reason/rtop.nix25
-rw-r--r--pkgs/development/compilers/reason/tests/hello/default.nix3
-rw-r--r--pkgs/development/coq-modules/coq-lsp/coq-loader.patch11
-rw-r--r--pkgs/development/coq-modules/coq-lsp/default.nix4
-rw-r--r--pkgs/development/coq-modules/serapi/default.nix15
-rw-r--r--pkgs/development/coq-modules/serapi/sertop.patch11
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving/default.nix30
-rw-r--r--pkgs/servers/sql/postgresql/12.nix4
-rw-r--r--pkgs/servers/sql/postgresql/13.nix4
-rw-r--r--pkgs/servers/sql/postgresql/14.nix4
-rw-r--r--pkgs/servers/sql/postgresql/15.nix4
-rw-r--r--pkgs/servers/sql/postgresql/17.nix12
-rw-r--r--pkgs/servers/sql/postgresql/generic.nix26
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
19 files changed, 123 insertions, 109 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 07d1d880a074..327ac9ba7404 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1410,6 +1410,7 @@
   ./services/web-apps/crabfit.nix
   ./services/web-apps/davis.nix
   ./services/web-apps/cryptpad.nix
+  ./services/web-apps/dashy.nix
   ./services/web-apps/dependency-track.nix
   ./services/web-apps/dex.nix
   ./services/web-apps/discourse.nix
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 5182bb546946..2f3275b59bfb 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -9,15 +9,15 @@
 
 buildGoModule rec {
   pname = "kubernetes-helm";
-  version = "3.16.2";
+  version = "3.16.3";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-fbNkmZ23jWqj4E5YeUuzMhxH9DiUfj5F+Vwlvuv6hdA=";
+    sha256 = "sha256-Uxb3nDcCTD61KHSon02eJJyj1MlJex/SmpOEIELdeMo=";
   };
-  vendorHash = "sha256-fCU1JfVaezxyqZmzjM7+otDDLvmkfOskqhu5PpDDZUg=";
+  vendorHash = "sha256-4RKNNKUPLUv5bYde6pTL8u5/KXzN0Ai8n4fS9mbiZgw=";
 
   subPackages = [ "cmd/helm" ];
   ldflags = [
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 9d1772a0b731..b02357ccca0d 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -10,16 +10,16 @@ let
     if stdenv.hostPlatform.isLinux then
       {
         stable = "0.0.74";
-        ptb = "0.0.114";
-        canary = "0.0.511";
-        development = "0.0.42";
+        ptb = "0.0.115";
+        canary = "0.0.518";
+        development = "0.0.45";
       }
     else
       {
-        stable = "0.0.324";
-        ptb = "0.0.144";
-        canary = "0.0.620";
-        development = "0.0.63";
+        stable = "0.0.325";
+        ptb = "0.0.145";
+        canary = "0.0.627";
+        development = "0.0.64";
       };
   version = versions.${branch};
   srcs = rec {
@@ -30,33 +30,33 @@ let
       };
       ptb = fetchurl {
         url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        hash = "sha256-fdpG9V4EJaARSJA9XmW+Zq6exPaFMJ/FWhzwgarDIpI=";
+        hash = "sha256-N8h6z5z9txCha8P/d0ekSsYufPXswFa+5Pra3/p8Bng=";
       };
       canary = fetchurl {
         url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-srjYJFVM1UVpkB+koqrZfwgRAWpa7s8Arq2DnAFuaKs=";
+        hash = "sha256-yjyYU15f6rIWYhTL8qXlIO8XN1ClK2QuFujM1DEHH+I=";
       };
       development = fetchurl {
         url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
-        hash = "sha256-HZdodWwczgxaGgal5gfr6NQlquf4ZO//QMVcebxQG7s=";
+        hash = "sha256-N5vlw6p+kvb2nYuIUF3YJyKgi072Uo1q1UEddIh/d9c=";
       };
     };
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-Q/PWTBTnmdNeZV+InLQ3nSpETYF3rzTq9nxEh9HEOWY=";
+        hash = "sha256-e5e9hSDDr88W18fQBxXASOTIfrhcsfjS+E9V2GgoZ38=";
       };
       ptb = fetchurl {
         url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-Xv8TPzfK1gOLG57F9gtt4PvwkCqjDQjYJmKfyNIkEZY=";
+        hash = "sha256-11eIKV3DCmsbyqwQcisWDaLJoGK3f+apO6Q+UA9g1/M=";
       };
       canary = fetchurl {
         url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-6rBDZPVYxS3q328d2T9LOs0DUirPbMg2GKDacCSsOG4=";
+        hash = "sha256-aLvTEtfFvKHWTFvz2Q8Qy8K7Z7Ic9YLKJ4nDD+PG0Ec=";
       };
       development = fetchurl {
         url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
-        hash = "sha256-E1qQUnwemS6SIHeO1BBifrCu706ldZH18isR7+nGNRU=";
+        hash = "sha256-2yiTjpx+OEkxLHy8M3cSqdMD+UHm8B5/KHCp7KvSlc0=";
       };
     };
     aarch64-darwin = x86_64-darwin;
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix
index 99c0b6a99a25..89487bdaa362 100644
--- a/pkgs/development/compilers/reason/default.nix
+++ b/pkgs/development/compilers/reason/default.nix
@@ -1,55 +1,36 @@
-{ lib, callPackage, stdenv, makeWrapper, fetchurl, ocaml, findlib, dune_3
-, ncurses
-, fix, menhir, menhirLib, menhirSdk, merlin-extend, ppxlib, utop, cppo, ppx_derivers
+{ lib, callPackage, buildDunePackage, fetchurl
+, fix, menhir, menhirLib, menhirSdk, merlin-extend, ppxlib, cppo, ppx_derivers
 , dune-build-info
 }:
 
-stdenv.mkDerivation rec {
-  pname = "ocaml${ocaml.version}-reason";
+buildDunePackage rec {
+  pname = "reason";
   version = "3.13.0";
 
+  minimalOCamlVersion = "4.11";
+
   src = fetchurl {
     url = "https://github.com/reasonml/reason/releases/download/${version}/reason-${version}.tbz";
     hash = "sha256-3yVEYGvIJKZwguIBGCbnoc3nrwzLW6RX6Tf+AYw85+Q=";
   };
 
-  strictDeps = true;
   nativeBuildInputs = [
-    makeWrapper
-    menhir
-    ocaml
     menhir
     cppo
-    dune_3
-    findlib
   ];
 
   buildInputs = [
     dune-build-info
     fix
     menhirSdk
-    ppxlib
-    utop
-  ] ++ lib.optional (lib.versionOlder ocaml.version "4.07") ncurses;
+    merlin-extend
+  ];
 
   propagatedBuildInputs = [
+    ppxlib
     menhirLib
-    merlin-extend
-    ppx_derivers
   ];
 
-  buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
-
-  installPhase = ''
-    runHook preInstall
-    dune install --prefix=$out --libdir=$OCAMLFIND_DESTDIR
-    wrapProgram $out/bin/rtop \
-      --prefix PATH : "${utop}/bin" \
-      --prefix CAML_LD_LIBRARY_PATH : "$CAML_LD_LIBRARY_PATH" \
-      --prefix OCAMLPATH : "$OCAMLPATH:$OCAMLFIND_DESTDIR"
-    runHook postInstall
-  '';
-
   passthru.tests = {
     hello = callPackage ./tests/hello { };
   };
@@ -57,9 +38,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://reasonml.github.io/";
     downloadPage = "https://github.com/reasonml/reason";
-    description = "Facebook's friendly syntax to OCaml";
+    description = "User-friendly programming language built on OCaml";
     license = licenses.mit;
-    inherit (ocaml.meta) platforms;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/compilers/reason/rtop.nix b/pkgs/development/compilers/reason/rtop.nix
new file mode 100644
index 000000000000..0255e57d5c47
--- /dev/null
+++ b/pkgs/development/compilers/reason/rtop.nix
@@ -0,0 +1,25 @@
+{ buildDunePackage, reason, cppo, utop, makeWrapper }:
+
+buildDunePackage {
+  pname = "rtop";
+  inherit (reason) version src;
+
+  nativeBuildInputs = [
+    makeWrapper
+    cppo
+  ];
+
+  propagatedBuildInputs = [ reason utop ];
+
+  postInstall = ''
+    wrapProgram $out/bin/rtop \
+      --prefix PATH : "${utop}/bin" \
+      --prefix CAML_LD_LIBRARY_PATH : "$CAML_LD_LIBRARY_PATH" \
+      --prefix OCAMLPATH : "$OCAMLPATH:$OCAMLFIND_DESTDIR"
+  '';
+
+  meta = reason.meta // {
+    description = "Toplevel (or REPL) for Reason, based on utop";
+    mainProgram = "rtop";
+  };
+}
diff --git a/pkgs/development/compilers/reason/tests/hello/default.nix b/pkgs/development/compilers/reason/tests/hello/default.nix
index 831b528c6ba9..42a0173a03be 100644
--- a/pkgs/development/compilers/reason/tests/hello/default.nix
+++ b/pkgs/development/compilers/reason/tests/hello/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, ppxlib, reason }:
+{ lib, buildDunePackage, reason }:
 
 buildDunePackage rec {
   pname = "helloreason";
@@ -19,7 +19,6 @@ buildDunePackage rec {
   ];
 
   buildInputs = [
-    ppxlib
     reason
   ];
 
diff --git a/pkgs/development/coq-modules/coq-lsp/coq-loader.patch b/pkgs/development/coq-modules/coq-lsp/coq-loader.patch
new file mode 100644
index 000000000000..0bda42043afa
--- /dev/null
+++ b/pkgs/development/coq-modules/coq-lsp/coq-loader.patch
@@ -0,0 +1,11 @@
+--- a/coq/loader.ml	2024-11-14 17:54:36.562137810 +0100
++++ b/coq/loader.ml	2024-11-14 17:55:01.485154767 +0100
+@@ -81,7 +81,7 @@
+     Exninfo.iraise iexn
+ 
+ let plugin_handler user_loader =
+-  let loader = Option.default (Fl_dynload.load_packages ~debug:false) user_loader in
++  let loader = Option.default (Fl_dynload.load_packages ?loadfile:None ~debug:false) user_loader in
+   let safe_loader = safe_loader loader in
+   fun fl_pkg ->
+     let _, fl_pkg = Mltop.PluginSpec.repr fl_pkg in
diff --git a/pkgs/development/coq-modules/coq-lsp/default.nix b/pkgs/development/coq-modules/coq-lsp/default.nix
index d9ddb25636fd..8103d28f86bd 100644
--- a/pkgs/development/coq-modules/coq-lsp/default.nix
+++ b/pkgs/development/coq-modules/coq-lsp/default.nix
@@ -32,7 +32,7 @@
   '';
 
   propagatedBuildInputs =
-    with coq.ocamlPackages; [ dune-build-info menhir uri yojson ];
+    with coq.ocamlPackages; [ dune-build-info menhir result uri yojson ];
 
   meta = with lib; {
     description = "Language Server Protocol and VS Code Extension for Coq";
@@ -49,4 +49,6 @@
     else
      [ cmdliner ppx_deriving ppx_deriving_yojson ppx_import ppx_sexp_conv
        ppx_compare ppx_hash sexplib ]);
+
+    patches = lib.optional (lib.versions.isEq "0.1.8" o.version) ./coq-loader.patch;
 })
diff --git a/pkgs/development/coq-modules/serapi/default.nix b/pkgs/development/coq-modules/serapi/default.nix
index 126fcbf1ae7a..3b7cc6c73032 100644
--- a/pkgs/development/coq-modules/serapi/default.nix
+++ b/pkgs/development/coq-modules/serapi/default.nix
@@ -42,8 +42,6 @@ in
     with coq.ocamlPackages; [
       cmdliner
       findlib # run time dependency of SerAPI
-      ppx_deriving
-      ppx_import
       ppx_sexp_conv
       ppx_hash
       sexplib
@@ -63,6 +61,7 @@ in
   };
 }).overrideAttrs(o:
 if lib.versions.isLe "8.19.0+0.19.3" o.version && o.version != "dev" then
+  let ppx_deriving = coq.ocamlPackages.ppx_deriving.override { version = "5.2.1"; }; in
   let inherit (o) version; in {
   src = fetchzip {
     url =
@@ -73,7 +72,7 @@ if lib.versions.isLe "8.19.0+0.19.3" o.version && o.version != "dev" then
     sha256 = release."${version}".sha256;
   };
 
-  patches =
+  patches = lib.optional (lib.versions.isGe "8.16" version) ./sertop.patch ++ (
     if version == "8.10.0+0.7.2"
     then [
       ./8.10.0+0.7.2.patch
@@ -95,10 +94,16 @@ if lib.versions.isLe "8.19.0+0.19.3" o.version && o.version != "dev" then
       ./janestreet-0.16.patch
     ]
     else [
-    ];
+    ]);
 
     propagatedBuildInputs = o.propagatedBuildInputs
-      ++ (with coq.ocamlPackages; [ ppx_deriving_yojson yojson zarith ])  # zarith needed because of Coq
+      ++ (with coq.ocamlPackages; [
+        ppx_deriving
+        (ppx_deriving_yojson.override { inherit ppx_deriving; })
+        (ppx_import.override { inherit ppx_deriving; })
+        yojson
+        zarith  # zarith needed because of Coq
+      ])
     ; }
 else
   { propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq-lsp ]; }
diff --git a/pkgs/development/coq-modules/serapi/sertop.patch b/pkgs/development/coq-modules/serapi/sertop.patch
new file mode 100644
index 000000000000..2aabe687f855
--- /dev/null
+++ b/pkgs/development/coq-modules/serapi/sertop.patch
@@ -0,0 +1,11 @@
+--- a/sertop/sertop_loader.ml	2024-11-14 11:49:00.887576232 +0100
++++ b/sertop/sertop_loader.ml	2024-11-14 11:49:32.433659096 +0100
+@@ -51,7 +51,7 @@
+   else None
+ 
+ let plugin_handler user_handler =
+-  let loader = Option.default (Fl_dynload.load_packages ~debug:false) user_handler in
++  let loader = Option.default (Fl_dynload.load_packages ?loadfile:None ~debug:false) user_handler in
+   fun fl_pkg ->
+     try
+       let _, fl_pkg = Mltop.PluginSpec.repr fl_pkg in
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index a2f002071748..c38f79a071f7 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
@@ -10,31 +10,27 @@
 , ounit
 , ounit2
 , ocaml-migrate-parsetree
+, version ?
+  if lib.versionAtLeast ppxlib.version "0.32" then "6.0.3"
+  else if lib.versionAtLeast ppxlib.version "0.20" then "5.2.1"
+  else if lib.versionAtLeast ppxlib.version "0.15" then "5.1"
+  else "5.0"
 }:
 
-let params =
-  if lib.versionAtLeast ppxlib.version "0.32" then {
-    version = "6.0.3";
-    sha256 = "sha256-N0qpezLF4BwJqXgQpIv6IYwhO1tknkRSEBRVrBnJSm0=";
-  } else if lib.versionAtLeast ppxlib.version "0.20" then {
-    version = "5.2.1";
-    sha256 = "11h75dsbv3rs03pl67hdd3lbim7wjzh257ij9c75fcknbfr5ysz9";
-  } else if lib.versionAtLeast ppxlib.version "0.15" then {
-    version = "5.1";
-    sha256 = "1i64fd7qrfzbam5hfbl01r0sx4iihsahcwqj13smmrjlnwi3nkxh";
-  } else {
-    version = "5.0";
-    sha256 = "0fkzrn4pdyvf1kl0nwvhqidq01pnq3ql8zk1jd56hb0cxaw851w3";
-  }
-; in
+let hash = {
+  "6.0.3" = "sha256-N0qpezLF4BwJqXgQpIv6IYwhO1tknkRSEBRVrBnJSm0=";
+  "5.2.1" = "sha256:11h75dsbv3rs03pl67hdd3lbim7wjzh257ij9c75fcknbfr5ysz9";
+  "5.1" = "sha256:1i64fd7qrfzbam5hfbl01r0sx4iihsahcwqj13smmrjlnwi3nkxh";
+  "5.0" = "sha256:0fkzrn4pdyvf1kl0nwvhqidq01pnq3ql8zk1jd56hb0cxaw851w3";
+}."${version}"; in
 
 buildDunePackage rec {
   pname = "ppx_deriving";
-  inherit (params) version;
+  inherit version;
 
   src = fetchurl {
     url = "https://github.com/ocaml-ppx/ppx_deriving/releases/download/v${version}/ppx_deriving-${lib.optionalString (lib.versionOlder version "6.0") "v"}${version}.tbz";
-    inherit (params) sha256;
+    inherit hash;
   };
 
   strictDeps = true;
diff --git a/pkgs/servers/sql/postgresql/12.nix b/pkgs/servers/sql/postgresql/12.nix
index 72e3c88301df..3b40e5cca47e 100644
--- a/pkgs/servers/sql/postgresql/12.nix
+++ b/pkgs/servers/sql/postgresql/12.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
-  version = "12.20";
-  hash = "sha256-LVQ68wCf7H/VrzX3pwyVCF0+72tQjlF6qUk+mbFenqk=";
+  version = "12.21";
+  hash = "sha256-bHEVUKwcx4KIZeWCPZ9Ffjva1vQyAXcWn5DkGb4MJ/I=";
   muslPatches = {
     dont-use-locale-a = {
       url = "https://git.alpinelinux.org/aports/plain/testing/postgresql12/dont-use-locale-a-on-musl.patch?id=d5227c91adda59d4e7f55f13468f0314e8869174";
diff --git a/pkgs/servers/sql/postgresql/13.nix b/pkgs/servers/sql/postgresql/13.nix
index 1f4483ccc631..56db6b090804 100644
--- a/pkgs/servers/sql/postgresql/13.nix
+++ b/pkgs/servers/sql/postgresql/13.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
-  version = "13.16";
-  hash = "sha256-ycu7YSnwIyggSCgGa7N4XACoXIyo/TKcKopTwfXNiGU=";
+  version = "13.17";
+  hash = "sha256-AisKbnvDdKd37s4zcIiV17YMrgfUkrKGspaknXOV14s=";
   muslPatches = {
     disable-test-collate-icu-utf8 = {
       url = "https://git.alpinelinux.org/aports/plain/main/postgresql13/disable-test-collate.icu.utf8.patch?id=69faa146ec9fff3b981511068f17f9e629d4688b";
diff --git a/pkgs/servers/sql/postgresql/14.nix b/pkgs/servers/sql/postgresql/14.nix
index ed6661a474ac..02292b9a18fb 100644
--- a/pkgs/servers/sql/postgresql/14.nix
+++ b/pkgs/servers/sql/postgresql/14.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
-  version = "14.13";
-  hash = "sha256-Wao8S0lasmqexp860KAijFHw/m+s82NN+tTRGX1hOlY=";
+  version = "14.14";
+  hash = "sha256-hHJ/vM29Hv4B2N5kvBszCV23c60kV8787cLYJY68CdY=";
   muslPatches = {
     disable-test-collate-icu-utf8 = {
       url = "https://git.alpinelinux.org/aports/plain/main/postgresql14/disable-test-collate.icu.utf8.patch?id=56999e6d0265ceff5c5239f85fdd33e146f06cb7";
diff --git a/pkgs/servers/sql/postgresql/15.nix b/pkgs/servers/sql/postgresql/15.nix
index 5ede047dc2b0..85a128fbfb13 100644
--- a/pkgs/servers/sql/postgresql/15.nix
+++ b/pkgs/servers/sql/postgresql/15.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
-  version = "15.8";
-  hash = "sha256-RANRX5pp7rPv68mPMLjGlhIr/fiV6Ss7I/W452nty2o=";
+  version = "15.9";
+  hash = "sha256-dPLUVlA18M9ynssFmUn6rxECy9k3WbNZgi+Y+CGYx4M=";
   muslPatches = {
     dont-use-locale-a = {
       url = "https://git.alpinelinux.org/aports/plain/main/postgresql15/dont-use-locale-a-on-musl.patch?id=f424e934e6d076c4ae065ce45e734aa283eecb9c";
diff --git a/pkgs/servers/sql/postgresql/17.nix b/pkgs/servers/sql/postgresql/17.nix
index 5d8d8cd693c2..07335b44570b 100644
--- a/pkgs/servers/sql/postgresql/17.nix
+++ b/pkgs/servers/sql/postgresql/17.nix
@@ -1,6 +1,10 @@
 import ./generic.nix {
-  version = "17.0";
-  hash = "sha256-fidhMcD91rYliNutmzuyS4w0mNUAkyjbpZrxboGRCd4=";
-  # TODO: Add dont-use-locale-a-on-musl.patch once Alpine Linux has PostgreSQL 17.
-  # MR in: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72853
+  version = "17.1";
+  hash = "sha256-eEnbdO9qhVXQcj+H6BU5MBQi+pyOnyHM5h/cFOkZnc0=";
+  muslPatches = {
+    dont-use-locale-a = {
+      url = "https://git.alpinelinux.org/aports/plain/main/postgresql17/dont-use-locale-a-on-musl.patch?id=d69ead2c87230118ae7f72cef7d761e761e1f37e";
+      hash = "sha256-6zjz3OpMx4qTETdezwZxSJPPdOvhCNu9nXvAaU9SwH8=";
+    };
+  };
 }
diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix
index 2562105b2411..546dbf1e284c 100644
--- a/pkgs/servers/sql/postgresql/generic.nix
+++ b/pkgs/servers/sql/postgresql/generic.nix
@@ -165,29 +165,13 @@ let
         src = ./patches/locale-binary-path.patch;
         locale = "${if stdenv.hostPlatform.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale";
       })
-    ] ++ lib.optionals (stdenv'.hostPlatform.isDarwin && atLeast "17") [
+    ] ++ lib.optionals (olderThan "17" && atLeast "16") [
       # TODO: Remove this with the next set of minor releases
       (fetchpatch ({
-        url = "https://github.com/postgres/postgres/commit/0a883a067bd78f0ff0607afb18c4f783ac764504.patch";
-        hash = "sha256-F3zCaar6w6bwQDno7Tkg7ZbPJ+rhgi8/2NSvFakzQek=";
-      }))
-    ] ++ lib.optionals (olderThan "17") [
-      # TODO: Remove this with the next set of minor releases
-      (fetchpatch (
-        if atLeast "14" then {
           url = "https://github.com/postgres/postgres/commit/b27622c90869aab63cfe22159a459c57768b0fa4.patch";
           hash = "sha256-7G+BkJULhyx6nlMEjClcr2PJg6awgymZHr2JgGhXanA=";
           excludes = [ "doc/*" ];
-        } else if atLeast "13" then {
-          url = "https://github.com/postgres/postgres/commit/b28b9b19bbe3410da4a805ef775e0383a66af314.patch";
-          hash = "sha256-meFFskNWlcc/rv4BWo6fNR/tTFgQRgXGqTkJkoX7lHU=";
-          excludes = [ "doc/*" ];
-        } else {
-          url = "https://github.com/postgres/postgres/commit/205813da4c264d80db3c3215db199cc119e18369.patch";
-          hash = "sha256-L8/ns/fxTh2ayfDQXtBIKaArFhMd+v86UxVFWQdmzUw=";
-          excludes = [ "doc/*" ];
-        })
-        )
+        }))
     ] ++ lib.optionals stdenv'.hostPlatform.isMusl (
       # Using fetchurl instead of fetchpatch on purpose: https://github.com/NixOS/nixpkgs/issues/240141
       map fetchurl (lib.attrValues muslPatches)
@@ -195,12 +179,6 @@ let
       (if atLeast "13" then ./patches/socketdir-in-run-13+.patch else ./patches/socketdir-in-run.patch)
     ] ++ lib.optionals (stdenv'.hostPlatform.isDarwin && olderThan "16") [
       ./patches/export-dynamic-darwin-15-.patch
-    ] ++ lib.optionals (atLeast "17") [
-      # Fix flaky test, https://www.postgresql.org/message-id/ba8e1bc0-8a99-45b7-8397-3f2e94415e03@suse.de
-      (fetchpatch {
-        url = "https://github.com/postgres/postgres/commit/a358019159de68d4f045cbb5d89c8c8c2e96e483.patch";
-        hash = "sha256-9joQZo93oUTp6CrcGnhj7o+Mrbj/KCWwwGUc9KAst+s=";
-      })
     ];
 
     installTargets = [ "install-world" ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3c3f6e686541..0519ee38b00f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7684,7 +7684,7 @@ with pkgs;
   nqp = callPackage  ../development/interpreters/rakudo/nqp.nix { };
   zef = callPackage ../development/interpreters/rakudo/zef.nix { };
 
-  inherit (ocamlPackages) reason;
+  inherit (ocamlPackages) reason rtop;
 
   buildRubyGem = callPackage ../development/ruby-modules/gem {
     inherit (darwin) libobjc;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 2f0ce2558934..6f244496f514 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1691,6 +1691,8 @@ let
 
     rresult = callPackage ../development/ocaml-modules/rresult { };
 
+    rtop = callPackage ../development/compilers/reason/rtop.nix { };
+
     rusage = callPackage ../development/ocaml-modules/rusage { };
 
     ### S ###