about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.mailmap2
-rw-r--r--maintainers/maintainer-list.nix9
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--pkgs/applications/audio/ledfx/default.nix2
-rw-r--r--pkgs/applications/file-managers/ytree/default.nix40
-rw-r--r--pkgs/applications/misc/notejot/default.nix10
-rw-r--r--pkgs/by-name/ar/arcan/package.nix (renamed from pkgs/desktops/arcan/arcan/default.nix)28
-rw-r--r--pkgs/by-name/ar/arcan/wrapper.nix (renamed from pkgs/desktops/arcan/wrapper.nix)0
-rw-r--r--pkgs/by-name/ca/cat9/package.nix (renamed from pkgs/desktops/arcan/cat9/default.nix)14
-rw-r--r--pkgs/by-name/du/durden/package.nix (renamed from pkgs/desktops/arcan/durden/default.nix)14
-rw-r--r--pkgs/by-name/fm/fmtoy/package.nix70
-rw-r--r--pkgs/by-name/li/libfmvoice/package.nix52
-rw-r--r--pkgs/by-name/pi/pipeworld/package.nix (renamed from pkgs/desktops/arcan/pipeworld/default.nix)14
-rw-r--r--pkgs/by-name/pr/prio/package.nix (renamed from pkgs/desktops/arcan/prio/default.nix)8
-rw-r--r--pkgs/by-name/vg/vgm2x/package.nix57
-rw-r--r--pkgs/by-name/xa/xarcan/package.nix (renamed from pkgs/desktops/arcan/xarcan/default.nix)14
-rw-r--r--pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff39
-rw-r--r--pkgs/by-name/yt/ytree/package.nix46
-rw-r--r--pkgs/desktops/arcan/default.nix49
-rw-r--r--pkgs/development/python-modules/python-osc/default.nix19
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/master.nix14
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/pkg.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/plugins.nix30
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/worker.nix2
-rw-r--r--pkgs/tools/audio/fmtoy/default.nix72
-rw-r--r--pkgs/tools/security/cfripper/default.nix4
-rw-r--r--pkgs/tools/security/gotestwaf/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix27
30 files changed, 402 insertions, 247 deletions
diff --git a/.mailmap b/.mailmap
index d2bf6d0e47693..ba9bcefb55e1c 100644
--- a/.mailmap
+++ b/.mailmap
@@ -12,3 +12,5 @@ Sandro Jäckel <sandro.jaeckel@gmail.com> <sandro.jaeckel@sap.com>
 superherointj <5861043+superherointj@users.noreply.github.com>
 Vladimír Čunát <v@cunat.cz> <vcunat@gmail.com>
 Vladimír Čunát <v@cunat.cz> <vladimir.cunat@nic.cz>
+Yifei Sun <ysun@hey.com> StepBroBD <Hi@StepBroBD.com>
+Yifei Sun <ysun@hey.com> <ysun+git@stepbrobd.com>
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index cd8feea7c86b0..2e701fc44bd3a 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -17349,13 +17349,12 @@
     name = "Stel Abrego";
   };
   stepbrobd = {
-    name = "StepBroBD";
-    github = "StepBroBD";
+    name = "Yifei Sun";
+    email = "ysun@hey.com";
+    github = "stepbrobd";
     githubId = 81826728;
-    email = "Hi@StepBroBD.com";
-    matrix = "@stepbrobd:matrix.org";
     keys = [{
-      fingerprint = "5D8B FA8B 286A C2EF 6EE4  8598 F742 B72C 8926 1A51";
+      fingerprint = "AC7C 52E6 BA2F E8DE 8F0F  5D78 D973 170F 9B86 DB70";
     }];
   };
   stephank = {
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index e0572e3bed9cd..0322ec9dc551a 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -163,7 +163,7 @@ in {
   btrbk-no-timer = handleTest ./btrbk-no-timer.nix {};
   btrbk-section-order = handleTest ./btrbk-section-order.nix {};
   budgie = handleTest ./budgie.nix {};
-  buildbot = handleTest ./buildbot.nix {};
+  buildbot = handleTestOn [ "x86_64-linux" ] ./buildbot.nix {};
   buildkite-agents = handleTest ./buildkite-agents.nix {};
   c2fmzq = handleTest ./c2fmzq.nix {};
   caddy = handleTest ./caddy.nix {};
diff --git a/pkgs/applications/audio/ledfx/default.nix b/pkgs/applications/audio/ledfx/default.nix
index 31e7d23f75df7..9efc5270fb222 100644
--- a/pkgs/applications/audio/ledfx/default.nix
+++ b/pkgs/applications/audio/ledfx/default.nix
@@ -16,7 +16,7 @@ python3.pkgs.buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \
-      --replace '"sentry-sdk==1.14.0",' "sentry-sdk" \
+      --replace "sentry-sdk==1.14.0" "sentry-sdk" \
       --replace "~=" ">="
   '';
 
diff --git a/pkgs/applications/file-managers/ytree/default.nix b/pkgs/applications/file-managers/ytree/default.nix
deleted file mode 100644
index 4ba320919ef35..0000000000000
--- a/pkgs/applications/file-managers/ytree/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, ncurses
-, readline
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ytree";
-  version = "2.05";
-
-  src = fetchurl {
-    url = "https://han.de/~werner/${pname}-${version}.tar.gz";
-    sha256 = "sha256-jPixUeSRO1t/epHf/VxzBhBqQkd+xE5x1ix19mq2Glc=";
-  };
-
-  buildInputs = [
-    ncurses
-    readline
-  ];
-
-  # don't save timestamp, in order to improve reproducibility
-  postPatch = ''
-    substituteInPlace Makefile --replace 'gzip' 'gzip -n'
-  '';
-
-  installFlags = [ "DESTDIR=${placeholder "out"}" ];
-
-  preInstall = ''
-    mkdir -p $out/bin $out/share/man/man1
-  '';
-
-  meta = with lib; {
-    description = "A curses-based file manager similar to DOS Xtree(TM)";
-    homepage = "https://www.han.de/~werner/ytree.html";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
-  };
-}
-# TODO: X11 support
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index 798c15fffde93..a2882e16f93ef 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -12,6 +12,7 @@
 , pkg-config
 , vala
 , wrapGAppsHook4
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
     libgee
   ];
 
+
+  patches = [
+    # Fixes the compilation error with new Vala compiler. Remove in the next version.
+    (fetchpatch {
+      url = "https://github.com/musicinmybrain/notejot/commit/c6a7cfcb792de63fb51eb174f9f3d4e02f6a2ce1.patch";
+      hash = "sha256-dexPKIpUaAu/p0K2WQpElhPNt86CS+jD0dPL5+CTl4I=";
+    })
+  ];
+
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/by-name/ar/arcan/package.nix
index 1a46c693b0278..ce4fc7256b77d 100644
--- a/pkgs/desktops/arcan/arcan/default.nix
+++ b/pkgs/by-name/ar/arcan/package.nix
@@ -2,8 +2,9 @@
 , stdenv
 , fetchFromGitHub
 , SDL2
+, callPackage
 , cmake
-, espeak
+, espeak-ng
 , ffmpeg
 , file
 , freetype
@@ -54,11 +55,15 @@
 
 let
   allSources = {
-    letoram-arcan-src = fetchFromGitHub {
-      owner = "letoram";
-      repo = "arcan";
-      rev = "85c8564bdbee8468a5716bea64daf1d78937ffbf";
-      hash = "sha256-etmj1vpZTjxbmr4UiLBEK57WFJ1NeEnY5WfBYajX3ls=";
+    letoram-arcan = {
+      pname = "arcan";
+      version = "0.6.2.1-unstable-2023-11-18";
+      src = fetchFromGitHub {
+        owner = "letoram";
+        repo = "arcan";
+        rev = "0950ee236f96a555729498d0fdf91c16901037f5";
+        hash = "sha256-TxadRlidy4KRaQ4HunPO6ISJqm6JwnMRM8y6dX6vqJ4=";
+      };
     };
     letoram-openal-src = fetchFromGitHub {
       owner = "letoram";
@@ -87,10 +92,7 @@ let
   };
 in
 stdenv.mkDerivation (finalAttrs: {
-  pname = "arcan";
-  version = "0.6.2.1-unstable-2023-10-14";
-
-  src = allSources.letoram-arcan-src;
+  inherit (allSources.letoram-arcan) pname version src;
 
   nativeBuildInputs = [
     cmake
@@ -140,7 +142,7 @@ stdenv.mkDerivation (finalAttrs: {
     xz
   ]
   ++ lib.optionals useEspeak [
-    espeak
+    espeak-ng
   ];
 
   # Emulate external/git/clone.sh
@@ -197,6 +199,10 @@ stdenv.mkDerivation (finalAttrs: {
     "format"
   ];
 
+  passthru = {
+    wrapper = callPackage ./wrapper.nix { };
+  };
+
   meta = {
     homepage = "https://arcan-fe.com/";
     description = "Combined Display Server, Multimedia Framework, Game Engine";
diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/by-name/ar/arcan/wrapper.nix
index b61c5a5becd87..b61c5a5becd87 100644
--- a/pkgs/desktops/arcan/wrapper.nix
+++ b/pkgs/by-name/ar/arcan/wrapper.nix
diff --git a/pkgs/desktops/arcan/cat9/default.nix b/pkgs/by-name/ca/cat9/package.nix
index 7bc6005b0c650..dac6f85656dcd 100644
--- a/pkgs/desktops/arcan/cat9/default.nix
+++ b/pkgs/by-name/ca/cat9/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "cat9";
-  version = "unstable-2023-06-25";
+  version = "unstable-2023-11-06";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "cat9";
-    rev = "4d8a0c539a5c756acada96fd80e7eb3b9554ac05";
-    hash = "sha256-T3RPuldKTzHm0EdfdMOtHv9kcr9oE9YQgdzv/jjPPnc=";
+    rev = "a807776a85237ab0bdd0a712fb33c176fc295e30";
+    hash = "sha256-OlH8FgVBk76Qw+5mnsrryXOL9GbPJWlwUGtYlLuAPxQ=";
   };
 
   dontConfigure = true;
@@ -27,11 +27,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/cat9";
     description = "A User shell for LASH";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ unlicense ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/by-name/du/durden/package.nix
index f6677b9823ffb..3d72e132964ae 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/by-name/du/durden/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "durden";
-  version = "unstable-2023-08-11";
+  version = "unstable-2023-10-23";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "durden";
-    rev = "728d7fc3292cc162b1cea505c8a71512b2e84925";
-    hash = "sha256-UL36JeppnoFDdzdsJMsWKJL58ioz9eOaNEZp/7DGV9w=";
+    rev = "347dba6da011bbaa70c6edaf82a2d915f4057db3";
+    hash = "sha256-iNf7fOzz7mf1CXG5leCenkSTrdCc9/KL8VLw8gUIyKE=";
   };
 
   dontConfigure = true;
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://durden.arcan-fe.com/";
     description = "Reference Desktop Environment for Arcan";
     longDescription = ''
@@ -36,8 +36,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       features in Arcan, and as a very competent entry to the advanced-user side
       of the desktop environment spectrum.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/fm/fmtoy/package.nix b/pkgs/by-name/fm/fmtoy/package.nix
new file mode 100644
index 0000000000000..a3fe819ae759e
--- /dev/null
+++ b/pkgs/by-name/fm/fmtoy/package.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, alsa-lib
+, libfmvoice
+, libjack2
+, pkg-config
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fmtoy";
+  version = "0.0.0-unstable-2023-05-21";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "fmtoy";
+    rev = "2b54180d8edd0de90e2af01bf9ff303bc916e893";
+    hash = "sha256-qoMw4P+QEw4Q/wKBvFPh+WxkmOW6qH9FuFFkO2ZRrMc=";
+  };
+
+  postPatch = ''
+    rmdir libfmvoice
+    cp --no-preserve=all -r ${libfmvoice.src} libfmvoice
+
+    substituteInPlace Makefile \
+      --replace 'pkg-config' "$PKG_CONFIG"
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    libjack2
+    zlib
+  ];
+
+  enableParallelBuilding = true;
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "CXX=${stdenv.cc.targetPrefix}c++"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 fmtoy_jack $out/bin/fmtoy_jack
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "FM synthesiser based on emulated Yamaha YM chips (OPL, OPM and OPN series)";
+    homepage = "https://github.com/vampirefrog/fmtoy";
+    license = licenses.gpl3Only;
+    mainProgram = "fmtoy_jack";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/li/libfmvoice/package.nix b/pkgs/by-name/li/libfmvoice/package.nix
new file mode 100644
index 0000000000000..06284bfd5eafb
--- /dev/null
+++ b/pkgs/by-name/li/libfmvoice/package.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libfmvoice";
+  version = "0.0.0-unstable-2023-12-05";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "libfmvoice";
+    rev = "38b1a0c627ef66fcd9c672c215d2b9849163df12";
+    hash = "sha256-kXthY9TynIXNX9wmgn13vs4Mrrv/dmEr7zlWiKstjGk=";
+  };
+
+  strictDeps = true;
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    zlib
+  ];
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    for prog in $(grep 'PROGS=' Makefile | cut -d'=' -f2); do
+      install -Dm755 $prog $out/bin/$prog
+    done
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "C library for loading, saving and converting FM sound chip voice files in various formats";
+    homepage = "https://github.com/vampirefrog/libfmvoice";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/by-name/pi/pipeworld/package.nix
index 9474535133fdb..52c411d837774 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/by-name/pi/pipeworld/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalPackages: {
   pname = "pipeworld";
-  version = "unstable-2023-03-02";
+  version = "unstable-2023-02-05";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "pipeworld";
-    rev = "9ea79f72ad500fe78b9f46e680be87eaac3bfb0e";
-    hash = "sha256-/cjse6XXrdLoUB35GLgl871qINOm4SvKPTbfoBceLu0=";
+    rev = "edc3821404b3a1274b8a50d2fb1c6b523fbd4a1c";
+    hash = "sha256-PbKejghMkLZdeQJD9fObw9xhGH24IX72X7pyjapTXJM=";
   };
 
   dontConfigure = true;
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalPackages: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/pipeworld";
     description = "Dataflow 'spreadsheet' desktop environment";
     longDescription = ''
@@ -43,8 +43,8 @@ stdenvNoCC.mkDerivation (finalPackages: {
       application within another desktop as a 'substitute' for your normal
       terminal emulator.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/desktops/arcan/prio/default.nix b/pkgs/by-name/pr/prio/package.nix
index f733b189757b3..620e4f9382cee 100644
--- a/pkgs/desktops/arcan/prio/default.nix
+++ b/pkgs/by-name/pr/prio/package.nix
@@ -27,11 +27,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/prio";
     description = "Plan9- Rio like Window Manager for Arcan";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/vg/vgm2x/package.nix b/pkgs/by-name/vg/vgm2x/package.nix
new file mode 100644
index 0000000000000..ff2fa28e7be79
--- /dev/null
+++ b/pkgs/by-name/vg/vgm2x/package.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, libfmvoice
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "vgm2x";
+  version = "0.0.0-unstable-2023-08-27";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "vgm2x";
+    rev = "5128055ab2b356e173b53e2afd31202a59505a39";
+    hash = "sha256-DwDcSUdfOsDlajYtzg5xM5P9QPOqLp8b0sEpE18kfzA=";
+  };
+
+  postPatch = ''
+    rmdir libfmvoice
+    cp --no-preserve=all -r ${libfmvoice.src} libfmvoice
+  '';
+
+  strictDeps = true;
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    zlib
+  ];
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 vgm2opm $out/bin/vgm2opm
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "VGM file extraction tools";
+    homepage = "https://github.com/vampirefrog/vgm2x";
+    license = licenses.gpl3Only;
+    mainProgram = "vgm2opm";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/desktops/arcan/xarcan/default.nix b/pkgs/by-name/xa/xarcan/package.nix
index b979b64a06c5b..fb43766e72077 100644
--- a/pkgs/desktops/arcan/xarcan/default.nix
+++ b/pkgs/by-name/xa/xarcan/package.nix
@@ -38,13 +38,13 @@
 
 stdenv.mkDerivation (finalPackages: {
   pname = "xarcan";
-  version = "unstable-2022-06-14";
+  version = "unstable-2023-11-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "xarcan";
-    rev = "02111f4925453c0c545e9193c6a5e22c0d4e98c3";
-    hash = "sha256-rp2sNRbv0OZdfyqZfsv/v3TGQY5uyXWqbvlmUDd7iBk=";
+    rev = "380ea856307f593535dfc8b23799938db69e31b0";
+    hash = "sha256-RdizezCbJylQDkOmUdqL0lBTNLsjyvo+lKAjfZXTXf4=";
   };
 
   nativeBuildInputs = [
@@ -104,7 +104,7 @@ stdenv.mkDerivation (finalPackages: {
     "--with-xkb-path=${xkeyboard_config}/share/X11/xkb"
   ];
 
-  meta = with lib; {
+  meta =  {
     homepage = "https://github.com/letoram/letoram";
     description = "Patched Xserver that bridges connections to Arcan";
     longDescription = ''
@@ -112,8 +112,8 @@ stdenv.mkDerivation (finalPackages: {
       arcan-shmif to map Xlib/Xcb/X clients to a running arcan instance. It
       allows running an X session as a window under Arcan.
     '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff
new file mode 100644
index 0000000000000..7a682ce7e4c60
--- /dev/null
+++ b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff
@@ -0,0 +1,39 @@
+diff -Naur ytree-2.06-old/Makefile ytree-2.06-new/Makefile
+--- ytree-2.06-old/Makefile	2023-11-26 06:15:34.000000000 -0300
++++ ytree-2.06-new/Makefile	2023-12-01 12:25:36.641958285 -0300
+@@ -11,13 +11,13 @@
+ # ADD_CFLAGS: Add -DVI_KEYS if you want vi-cursor-keys
+ #
+ 
+-DESTDIR     = /usr
++PREFIX      = /usr
+ 
+ ADD_CFLAGS  = -O # -DVI_KEYS
+ 
+-BINDIR      = $(DESTDIR)/bin
+-MANDIR      = $(DESTDIR)/share/man/man1
+-MANESDIR    = $(DESTDIR)/share/man/es/man1
++BINDIR      = $(DESTDIR)$(PREFIX)/bin
++MANDIR      = $(DESTDIR)$(PREFIX)/share/man/man1
++MANESDIR    = $(DESTDIR)$(PREFIX)/share/man/es/man1
+ 
+ 
+ # Uncomment the lines for your system (default is linux)
+@@ -224,14 +224,14 @@
+ 
+ install:	$(MAIN)
+ 		install $(MAIN) $(BINDIR)
+-		gzip -9c ytree.1 > ytree.1.gz
++		gzip -n -9c ytree.1 > ytree.1.gz
+ 		if [ -d $(MANDIR) ]; then install -m 0644 ytree.1.gz  $(MANDIR)/; fi
+-		gzip -9c ytree.1.es > ytree.1.es.gz
++		gzip -n -9c ytree.1.es > ytree.1.es.gz
+ 		if [ -d $(MANESDIR) ]; then install -m 0644 ytree.1.es.gz $(MANESDIR)/; fi
+ 
+ clean:
+ 		rm -f core *.o *~ *.orig *.bak 
+-		
++
+ clobber:	clean
+ 		rm -f $(MAIN) ytree.1.es.gz ytree.1.gz
+ 
diff --git a/pkgs/by-name/yt/ytree/package.nix b/pkgs/by-name/yt/ytree/package.nix
new file mode 100644
index 0000000000000..6307d39b6629d
--- /dev/null
+++ b/pkgs/by-name/yt/ytree/package.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+, readline
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ytree";
+  version = "2.06";
+
+  src = fetchurl {
+    url = "https://han.de/~werner/ytree-${finalAttrs.version}.tar.gz";
+    hash = "sha256-QRqI779ZnnytVUC7A7Zt0zyWexRwBnp+CVQcNvnvWeY=";
+  };
+
+  patches = [
+    # Two fixups (because diff files can't be smaller):
+    # - Create PREFIX instead of using DESTDIR
+    # - use gzip without timestamp, to improve reproducibility
+    ./0001-use-prefix-and-gzip-n.diff
+  ];
+
+  buildInputs = [
+    ncurses
+    readline
+  ];
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  preInstall = ''
+    mkdir -p $out/bin $out/share/man/man1
+  '';
+
+  meta = {
+    homepage = "https://www.han.de/~werner/ytree.html";
+    description = "A curses-based file manager similar to DOS Xtree(TM)";
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "ytree";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
+  };
+})
+# TODO: X11 support
diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix
deleted file mode 100644
index 76cc6a2a4a03d..0000000000000
--- a/pkgs/desktops/arcan/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ config, lib, pkgs }:
-
-lib.makeScope pkgs.newScope (self: with self; {
-  # Dependencies
-
-  espeak = pkgs.espeak-ng;
-  ffmpeg = pkgs.ffmpeg-full;
-  harfbuzz = pkgs.harfbuzzFull;
-
-  # Arcan
-
-  arcan = callPackage ./arcan { };
-  arcan-wrapped = callPackage ./wrapper.nix { };
-  xarcan = callPackage ./xarcan { };
-
-  # Appls
-
-  cat9 = callPackage ./cat9 { };
-  cat9-wrapped = callPackage ./wrapper.nix {
-    name = "cat9-wrapped";
-    appls = [ cat9 ];
-  };
-
-  durden = callPackage ./durden { };
-  durden-wrapped = callPackage ./wrapper.nix {
-    name = "durden-wrapped";
-    appls = [ durden ];
-  };
-
-  pipeworld = callPackage ./pipeworld { };
-  pipeworld-wrapped = callPackage ./wrapper.nix {
-    name = "pipeworld-wrapped";
-    appls = [ pipeworld ];
-  };
-
-  # Warning: prio is deprecated; however it works and is useful for testing
-  prio = callPackage ./prio { };
-  prio-wrapped = callPackage ./wrapper.nix {
-    name = "prio-wrapped";
-    appls = [ prio ];
-  };
-
-  # One Expression to SymlinkJoin Them All
-
-  all-wrapped = callPackage ./wrapper.nix {
-    name = "all-wrapped";
-    appls = [ durden cat9 pipeworld ];
-  };
-})
diff --git a/pkgs/development/python-modules/python-osc/default.nix b/pkgs/development/python-modules/python-osc/default.nix
index 500e6beb0b0ef..86c5894d81789 100644
--- a/pkgs/development/python-modules/python-osc/default.nix
+++ b/pkgs/development/python-modules/python-osc/default.nix
@@ -1,22 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-osc";
   version = "1.8.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-pc4bpWyNgt9Ryz8pRrXdM6cFInkazEuFZOYtKyCtnKo=";
   };
 
-  pythonImportsCheck = [ "pythonosc" ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pythonosc"
+  ];
 
   meta = with lib; {
     description = "Open Sound Control server and client in pure python";
     homepage = "https://github.com/attwad/python-osc";
+    changelog = "https://github.com/attwad/python-osc/blob/v${version}/CHANGELOG.md";
     license = licenses.unlicense;
     maintainers = with maintainers; [ anirrudh ];
   };
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 1378b7a1add78..6d8588aa8ef26 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.1.25";
+  version = "3.1.26";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-DNMS22IatzdaqHDDNVnhdAGvXGcgnU6lnaLrhESh2x4=";
+    hash = "sha256-EUfrIrn8vRAKN0RShiWDYd5L9/7cgmNJZT9lM/ee5/s=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix
index 4195a8453033f..aa507496478e5 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/master.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix
@@ -32,6 +32,10 @@
 , git
 , openssh
 , setuptools
+, croniter
+, importlib-resources
+, packaging
+, unidiff
 , pythonRelaxDepsHook
 , glibcLocales
 , nixosTests
@@ -67,14 +71,14 @@ let
 
   package = buildPythonApplication rec {
     pname = "buildbot";
-    version = "3.9.2";
+    version = "3.10.0";
     format = "pyproject";
 
-    disabled = pythonOlder "3.7";
+    disabled = pythonOlder "3.8";
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-7QhIMUpzmxbh8qjz0hgqzibLkWADhTV523neo1wpGSA=";
+      hash = "sha256-Jlppe6LgDQKQgywINkOX9zKWTomzIz28M5scrj3H94Y=";
     };
 
     propagatedBuildInputs = [
@@ -91,6 +95,10 @@ let
       pyjwt
       pyyaml
       setuptools
+      croniter
+      importlib-resources
+      packaging
+      unidiff
     ]
       # tls
       ++ twisted.optional-dependencies.tls;
diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
index 2af7289000e2c..33a42c01707df 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HmkJHN81AcQdKrA/XnH3REURCssXnzmoKjcmvinfzFo=";
+    hash = "sha256-ZGkM2/1/qiVkzpJ7FZNbIEwgCrpxPGyBjREqeqwDD0k=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
index 429c19ecfceeb..82c1f364cfc61 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
@@ -8,7 +8,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-fwWzgIf0/+UiKRyiFUKPN4WUbmxQE5sU/ChAOqqLHE4=";
+      hash = "sha256-ycjmkzKBYdCmJe5Ofjn4q1tg66oVXC2Oaq2qBaZbmwg=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -32,23 +32,15 @@
   www-react = buildPythonPackage rec {
     pname = "buildbot-www-react";
     inherit (buildbot-pkg) version;
-    format = "wheel";
 
-    # fetchpypy returns a 404 for the wheel?
-    # normal source release doesn't have any assets
-    src = fetchurl {
-      url = "https://github.com/buildbot/buildbot/releases/download/v${version}/buildbot_www_react-${version}-py3-none-any.whl";
-      hash = "sha256-pEzuMiDhGQtIWQm80lgKIcTjnS7Z8UJhH9plJup5O84=";
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-2fMqgM83ANHx7+MWUF0eALOaliwVkCSumnw+bLZR+tw=";
     };
 
-    # Remove unneccessary circular dependency on buildbot
+    # Remove unnecessary circular dependency on buildbot
     postPatch = ''
-      pushd dist
-      unzip buildbot_www_react-${version}-py3-none-any.whl
-      sed -i "s/Requires-Dist: buildbot//" buildbot_www_react-${version}.dist-info/METADATA
-      chmod -R u+w buildbot_www_react-${version}-py3-none-any.whl
-      zip -r buildbot_www_react-${version}-py3-none-any.whl buildbot_www_react-${version}.dist-info
-      popd
+      sed -i "s/'buildbot'//" setup.py
     '';
 
     buildInputs = [ buildbot-pkg ];
@@ -71,7 +63,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-ghCmbUw/Gj23J5X3fDn/FGkVvXUE9QWrPFTRXSsxEZ4=";
+      hash = "sha256-0VW7tRT9yvVvh9x+2bG3b4q0yqgq9g2OyI0MELPxo4M=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -93,7 +85,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-B+xUsZBQWt4TwiBqukHO6o0R0XbjLxbCxQKLaWW0/Fw=";
+      hash = "sha256-92CNfBIGciv1mx948ha1YgvFGhx5hJsbn1n/BIXmPT8=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -115,7 +107,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-LFZ3VquRHAHkRcQbw9apOlGlWCK42WT1tPGhW8zSXyo=";
+      hash = "sha256-hdF1KopG4nqzHWLpTcYGnhEM6tfYc5WjYaz5xadL3ow=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -137,7 +129,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-NGI4T0eVV4MxYpD7+BTKbi3r6USt28lXXInrgSd4ASU=";
+      hash = "sha256-X1gPrwkHVdOdOpu/rVnAn5aZPbhye27udkfzI3aY+WI=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -159,7 +151,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-BtKA8zuJEyg3q3GnHS4XSGBLBk3IqCR8NOKui2rIn6Q=";
+      hash = "sha256-OXzgS+duQaDR8+lUzSnR85PIIIe9om/lvP9czRE1Ih0=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
index 29d0bcf7fb739..38a0bdb7d4531 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
@@ -27,7 +27,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jI38ZhCcHbjah6lST6YtSZAwaeZPBWsgY3VTUf6s2x8=";
+    hash = "sha256-aAwrIYJRNbvZEV3kkCWnfyuZAMeyynZkOkxQ0wDatxU=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/audio/fmtoy/default.nix b/pkgs/tools/audio/fmtoy/default.nix
deleted file mode 100644
index 69a0f570d3bc0..0000000000000
--- a/pkgs/tools/audio/fmtoy/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, unstableGitUpdater
-, dos2unix
-, pkg-config
-, zlib
-, alsa-lib
-, libjack2
-}:
-
-stdenv.mkDerivation rec {
-  pname = "fmtoy";
-  version = "unstable-2022-12-23";
-
-  src = fetchFromGitHub {
-    owner = "vampirefrog";
-    repo = "fmtoy";
-    rev = "78b61b5e9bc0c6874962dc4040456581c9999b36";
-    sha256 = "r5zbr6TCxzDiQvDsLQu/QwNfem1K4Ahaji0yIz/2yl0=";
-  };
-
-  postPatch = ''
-    dos2unix Makefile
-    # Don't hardcode compilers
-    sed -i -e '/CC=/d' -e '/CXX=/d' Makefile
-  '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
-    # Remove Linux-only program & its dependencies
-    sed -i -e '/PROGS/ s/fmtoy_jack//' Makefile
-    substituteInPlace Makefile \
-      --replace '$(shell pkg-config alsa jack --cflags)' ""
-  '';
-
-  nativeBuildInputs = [
-    dos2unix
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    pkg-config
-  ];
-
-  buildInputs = [
-    zlib
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    alsa-lib
-    libjack2
-  ];
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    for prog in $(grep 'PROGS=' Makefile | cut -d= -f2-); do
-      install -Dm755 $prog $out/bin/$prog
-    done
-
-    runHook postInstall
-  '';
-
-  passthru.updateScript = unstableGitUpdater {
-    url = "https://github.com/vampirefrog/fmtoy.git";
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/vampirefrog/fmtoy";
-    description = "Tools for FM voices for Yamaha YM chips (OPL, OPM and OPN series)";
-    # Unclear if gpl3Only or gpl3Plus
-    # https://github.com/vampirefrog/fmtoy/issues/1
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ OPNA2608 ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix
index 440ca40ec68df..080fc8ae3e320 100644
--- a/pkgs/tools/security/cfripper/default.nix
+++ b/pkgs/tools/security/cfripper/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.15.1";
+  version = "1.15.2";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Gtg4zoMTOW/nrFm7PF4/96VGcMALg2msVZ3E7lGm5KA=";
+    hash = "sha256-SmD3Dq5LicPRe3lWFsq4zqM/yDZ1LsgRwSUA5/RbN9I=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/gotestwaf/default.nix b/pkgs/tools/security/gotestwaf/default.nix
index 8f9d8776687fa..78ba5e06e4b92 100644
--- a/pkgs/tools/security/gotestwaf/default.nix
+++ b/pkgs/tools/security/gotestwaf/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gotestwaf";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "wallarm";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5cvyKCzisfuoMPuQpiRnIBCTw2yMdA1yavKNS9OwW58=";
+    hash = "sha256-fBmn+p5uVGnI4lyL12cX4S8eda79k2Y0RPQG9iZQs2Q=";
   };
 
   vendorHash = null;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7343be24d1156..cfed3bbac4670 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -70,6 +70,7 @@ mapAliases ({
   angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
   ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
   antimicroX = antimicrox; # Added 2021-10-31
+  arcanPackages = throw "arcanPackages was removed and its sub-attributes were promoted to top-level"; # Added 2023-11-26
   ardour_6 = throw "ardour_6 has been removed in favor of newer versions"; # Added 2023-10-13
   aseprite-unfree = aseprite; # Added 2023-08-26
   asls = throw "asls has been removed: abandoned by upstream"; # Added 2023-03-16
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 26add450c33f5..9b98849a3b173 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3027,8 +3027,6 @@ with pkgs;
 
   xplorer = callPackage ../applications/file-managers/xplorer { };
 
-  ytree = callPackage ../applications/file-managers/ytree { };
-
   johnny-reborn-engine = callPackage ../applications/misc/johnny-reborn { };
 
   johnny-reborn = callPackage ../applications/misc/johnny-reborn/with-data.nix { };
@@ -31961,8 +31959,6 @@ with pkgs;
 
   firefox_decrypt = python3Packages.callPackage ../tools/security/firefox_decrypt { };
 
-  fmtoy = callPackage ../tools/audio/fmtoy { };
-
   flac = callPackage ../applications/audio/flac { };
 
   redoflacs = callPackage ../applications/audio/redoflacs { };
@@ -38682,7 +38678,28 @@ with pkgs;
 
   ### DESKTOP ENVIRONMENTS
 
-  arcanPackages = recurseIntoAttrs (callPackage ../desktops/arcan { });
+  arcan-wrapped = arcan.wrapper.override { };
+  arcan-all-wrapped = arcan.wrapper.override {
+    name = "arcan-all-wrapped";
+    appls = [ cat9 durden pipeworld ];
+
+  };
+  cat9-wrapped = arcan.wrapper.override {
+    name = "cat9-wrapped";
+    appls = [ cat9 ];
+  };
+  durden-wrapped = arcan.wrapper.override {
+    name = "durden-wrapped";
+    appls = [ durden ];
+  };
+  pipeworld-wrapped = arcan.wrapper.override {
+    name = "pipeworld-wrapped";
+    appls = [ pipeworld ];
+  };
+  prio-wrapped = arcan.wrapper.override {
+    name = "prio-wrapped";
+    appls = [ prio ];
+  };
 
   budgie = recurseIntoAttrs (callPackage ../desktops/budgie { });
   budgiePlugins = recurseIntoAttrs (callPackage ../desktops/budgie/plugins { });