From bc644aee70ff319d98ee1a75c8faf4767d6cdca6 Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Sat, 8 Jul 2023 07:35:18 +0300 Subject: [PATCH 01/28] nixos/networkd: allow state ranges in RequiredForOnline RequiredForOnline takes a boolean or a minimum operational state and an optional maximum operational state. In the latter case, range values are separated with colon. --- nixos/modules/system/boot/networkd.nix | 29 ++++++++++++++++---------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 463e2b8d90b0..cc70f971acaf 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -514,17 +514,24 @@ let (assertValueOneOf "Unmanaged" boolValues) (assertInt "Group") (assertRange "Group" 0 2147483647) - (assertValueOneOf "RequiredForOnline" (boolValues ++ [ - "missing" - "off" - "no-carrier" - "dormant" - "degraded-carrier" - "carrier" - "degraded" - "enslaved" - "routable" - ])) + (assertValueOneOf "RequiredForOnline" (boolValues ++ ( + let + # https://freedesktop.org/software/systemd/man/networkctl.html#missing + operationalStates = [ + "missing" + "off" + "no-carrier" + "dormant" + "degraded-carrier" + "carrier" + "degraded" + "enslaved" + "routable" + ]; + operationalStateRanges = concatLists (imap0 (i: min: map (max: "${min}:${max}") (drop i operationalStates)) operationalStates); + in + operationalStates ++ operationalStateRanges + ))) (assertValueOneOf "RequiredFamilyForOnline" [ "ipv4" "ipv6" From 782bff496353403f9056ddf31e1b48867d3f1f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 25 Sep 2023 21:56:22 -0700 Subject: [PATCH 02/28] python310Packages.docformatter: 1.6.4 -> 1.7.5 Diff: https://github.com/PyCQA/docformatter/compare/refs/tags/v1.6.4...v1.7.5 Changelog: https://github.com/PyCQA/docformatter/blob/refs/tags/v1.7.5/CHANGELOG.md --- pkgs/development/python-modules/docformatter/default.nix | 4 ++-- .../development/python-modules/docformatter/test-path.patch | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/docformatter/default.nix b/pkgs/development/python-modules/docformatter/default.nix index 52bdb7ccc9d7..5e0240034413 100644 --- a/pkgs/development/python-modules/docformatter/default.nix +++ b/pkgs/development/python-modules/docformatter/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "docformatter"; - version = "1.6.4"; + version = "1.7.5"; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "PyCQA"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-OQNE6Is1Pl0uoAkFYh4M+c8oNWL/uIh4X0hv8X0Qt/g="; + hash = "sha256-QUjeG84KwI5Y3MU1wrmjHBXU2tEJ0CuiR3Y/S+dX7Gs="; }; patches = [ diff --git a/pkgs/development/python-modules/docformatter/test-path.patch b/pkgs/development/python-modules/docformatter/test-path.patch index bd61c0ca829b..2959d84704e8 100644 --- a/pkgs/development/python-modules/docformatter/test-path.patch +++ b/pkgs/development/python-modules/docformatter/test-path.patch @@ -1,13 +1,13 @@ diff --git a/tests/conftest.py b/tests/conftest.py -index 5f5a9aa..3289222 100644 +index 762d246..7f86763 100644 --- a/tests/conftest.py +++ b/tests/conftest.py -@@ -92,21 +92,9 @@ def run_docformatter(arguments, temporary_file): +@@ -101,21 +101,9 @@ def run_docformatter(arguments, temporary_file): Return subprocess object. """ - if "DOCFORMATTER_COVERAGE" in os.environ and int( -- os.environ["DOCFORMATTER_COVERAGE"] +- os.environ["DOCFORMATTER_COVERAGE"] - ): - DOCFORMATTER_COMMAND = [ - "coverage", From 94146957746e894891d3932423449c0d9d7577e0 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Wed, 27 Sep 2023 22:38:53 -0400 Subject: [PATCH 03/28] zfs: 2.1.12 -> 2.1.13 --- pkgs/os-specific/linux/zfs/stable.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/zfs/stable.nix b/pkgs/os-specific/linux/zfs/stable.nix index 14cda12e6f32..1a77396300eb 100644 --- a/pkgs/os-specific/linux/zfs/stable.nix +++ b/pkgs/os-specific/linux/zfs/stable.nix @@ -14,10 +14,13 @@ callPackage ./generic.nix args { # check the release notes for compatible kernels kernelCompatible = if stdenv'.isx86_64 || removeLinuxDRM - then kernel.kernelOlder "6.4" + then kernel.kernelOlder "6.6" else kernel.kernelOlder "6.2"; - latestCompatibleLinuxPackages = linuxKernel.packages.linux_6_1; + latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM + then linuxKernel.packages.linux_6_5 + else linuxKernel.packages.linux_6_1; extraPatches = [ + # applied in version 2.2.x (fetchpatch { name = "musl.patch"; url = "https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a.patch"; @@ -26,7 +29,7 @@ callPackage ./generic.nix args { ]; # this package should point to the latest release. - version = "2.1.12"; + version = "2.1.13"; - sha256 = "eYUR5d4gpTrlFu6j1uL83DWL9uPGgAUDRdSEb73V5i4="; + sha256 = "tqUCn/Hf/eEmyWRQthWQdmTJK2sDspnHiiEfn9rz2Kc="; } From 746a9744647ebc348caa2f32041bdaa5687c7e7d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 29 Sep 2023 05:08:48 +0200 Subject: [PATCH 04/28] python310Packages.get-video-properties: remove vulnerable binaries We patched out their usage, but never removed the binaries from the package. A good time to migrate the package to the headless version of ffmpeg. --- .../python-modules/get-video-properties/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/get-video-properties/default.nix b/pkgs/development/python-modules/get-video-properties/default.nix index 89e01fedc13d..63b9515cf791 100644 --- a/pkgs/development/python-modules/get-video-properties/default.nix +++ b/pkgs/development/python-modules/get-video-properties/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub -, ffmpeg +, ffmpeg-headless }: buildPythonPackage rec { @@ -20,7 +20,10 @@ buildPythonPackage rec { postPatch = '' substituteInPlace videoprops/__init__.py \ - --replace "which('ffprobe')" "'${ffmpeg}/bin/ffprobe'" + --replace "which('ffprobe')" "'${ffmpeg-headless}/bin/ffprobe'" + + # unused and vulnerable to various CVEs + rm -r videoprops/binary_dependencies ''; pythonImportsCheck = [ "videoprops" ]; From e42b5b74e2e09746d05062718c10601cffb5114e Mon Sep 17 00:00:00 2001 From: Aman Setia Date: Fri, 23 Jun 2023 11:51:31 +0000 Subject: [PATCH 05/28] maintainers: add amanse --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index cc0856f73c23..9c348f44835c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -895,6 +895,12 @@ githubId = 160476; name = "Amanjeev Sethi"; }; + amanse = { + email = "amansetiarjp@gmail.com"; + github = "amanse"; + githubId = 13214574; + name = "Aman Setia"; + }; amar1729 = { email = "amar.paul16@gmail.com"; github = "Amar1729"; From b2005fdc8d2269515f68b3a99c728dedac4f62d7 Mon Sep 17 00:00:00 2001 From: Aman Setia Date: Tue, 29 Aug 2023 10:38:55 +0000 Subject: [PATCH 06/28] game-rs: init at 0.1.3 --- pkgs/by-name/ga/game-rs/package.nix | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 pkgs/by-name/ga/game-rs/package.nix diff --git a/pkgs/by-name/ga/game-rs/package.nix b/pkgs/by-name/ga/game-rs/package.nix new file mode 100644 index 000000000000..127e06f7129e --- /dev/null +++ b/pkgs/by-name/ga/game-rs/package.nix @@ -0,0 +1,32 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, steam-run +}: + +rustPlatform.buildRustPackage rec { + pname = "game-rs"; + version = "0.1.3"; + + src = fetchFromGitHub { + owner = "amanse"; + repo = "game-rs"; + rev = "v${version}"; + hash = "sha256-M9/hFItoCL8fSrc0dFNn43unqkIaD179OGUdbXL6/Rs="; + }; + + cargoHash = "sha256-aq58sFK4/Zd8S4dOWjag+g5PmTeaVAK3FS3fW/YlCLs="; + + buildFeatures = [ "nixos" ]; + + propagatedBuildInputs = [ steam-run ]; + + meta = with lib; { + description = "Minimal CLI game launcher for linux"; + homepage = "https://github.com/amanse/game-rs"; + changelog = "https://github.com/Amanse/game-rs/releases/tag/v${version}"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ amanse ]; + platforms = platforms.linux; + }; +} From ec119ed57a5118ff8b0f6e7a5f5a67d32e93329a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 29 Sep 2023 12:20:03 +0000 Subject: [PATCH 07/28] python310Packages.nextcord: 2.5.0 -> 2.6.1 --- pkgs/development/python-modules/nextcord/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/nextcord/default.nix b/pkgs/development/python-modules/nextcord/default.nix index 04fa54a28d6a..4a5faf4c33a8 100644 --- a/pkgs/development/python-modules/nextcord/default.nix +++ b/pkgs/development/python-modules/nextcord/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "nextcord"; - version = "2.5.0"; + version = "2.6.1"; format = "setuptools"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "nextcord"; repo = "nextcord"; rev = "refs/tags/v${version}"; - hash = "sha256-Oo1C2tasuNIpUaKACbapnoZs7WVS1uncS1akErzQrqI="; + hash = "sha256-bv4I+Ol/N4kbp/Ch7utaUpo0GmF+Mpx4zWmHL7uIveM="; }; patches = [ From ba0d5f213bd389c0d59398a0e53a2830d2f85261 Mon Sep 17 00:00:00 2001 From: Robert James Hernandez Date: Fri, 29 Sep 2023 16:32:59 +0000 Subject: [PATCH 08/28] direwolf: nixpkgs-fmt --- pkgs/applications/radio/direwolf/default.nix | 26 ++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/radio/direwolf/default.nix b/pkgs/applications/radio/direwolf/default.nix index d3c01aff7695..0cd513b2bb02 100644 --- a/pkgs/applications/radio/direwolf/default.nix +++ b/pkgs/applications/radio/direwolf/default.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, espeak, gpsd -, hamlib, perl, python3, udev }: - -with lib; +{ lib +, stdenv +, fetchFromGitHub +, cmake +, alsa-lib +, gpsd +, hamlib +, perl +, python3 +, espeak +, udev +}: stdenv.mkDerivation rec { pname = "direwolf"; @@ -19,8 +27,12 @@ stdenv.mkDerivation rec { strictDeps = true; buildInputs = [ - espeak gpsd hamlib perl python3 - ] ++ (optionals stdenv.isLinux [alsa-lib udev]); + espeak + gpsd + hamlib + perl + python3 + ] ++ (lib.optionals stdenv.isLinux [ alsa-lib udev ]); postPatch = '' substituteInPlace conf/CMakeLists.txt \ @@ -41,7 +53,7 @@ stdenv.mkDerivation rec { --replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14' ''; - meta = { + meta = with lib; { description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway"; homepage = "https://github.com/wb2osz/direwolf/"; license = licenses.gpl2; From d70fb0855e76c1fd4d417c8388dd3412ef73cb39 Mon Sep 17 00:00:00 2001 From: Robert James Hernandez Date: Fri, 29 Sep 2023 16:33:29 +0000 Subject: [PATCH 09/28] direwolf: set hamlib, gpsd, and extraScripts as optional direwolf includes a set of extra scripts which showcase various capabilities of the pkg. However, they depend on languages that are not critical to building direwolf itself. --- pkgs/applications/radio/direwolf/default.nix | 26 ++++++++++++-------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/radio/direwolf/default.nix b/pkgs/applications/radio/direwolf/default.nix index 0cd513b2bb02..f72b190c8702 100644 --- a/pkgs/applications/radio/direwolf/default.nix +++ b/pkgs/applications/radio/direwolf/default.nix @@ -4,11 +4,14 @@ , cmake , alsa-lib , gpsd +, gpsdSupport ? false , hamlib +, hamlibSupport ? true , perl , python3 , espeak , udev +, extraScripts ? false }: stdenv.mkDerivation rec { @@ -26,13 +29,14 @@ stdenv.mkDerivation rec { strictDeps = true; - buildInputs = [ - espeak - gpsd - hamlib - perl - python3 - ] ++ (lib.optionals stdenv.isLinux [ alsa-lib udev ]); + buildInputs = lib.optionals stdenv.isLinux [ alsa-lib udev ] + ++ lib.optionals gpsdSupport [ gpsd ] + ++ lib.optionals hamlibSupport [ hamlib ] + ++ lib.optionals extraScripts [ python3 perl espeak ]; + + preConfigure = lib.optionals (!extraScripts) '' + echo "" > scripts/CMakeLists.txt + ''; postPatch = '' substituteInPlace conf/CMakeLists.txt \ @@ -43,14 +47,16 @@ stdenv.mkDerivation rec { substituteInPlace src/decode_aprs.c \ --replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \ --replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt - patchShebangs scripts/dwespeak.sh - substituteInPlace scripts/dwespeak.sh \ - --replace espeak ${espeak}/bin/espeak substituteInPlace cmake/cpack/direwolf.desktop.in \ --replace 'Terminal=false' 'Terminal=true' \ --replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf' substituteInPlace src/dwgpsd.c \ --replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14' + '' + + lib.optionalString extraScripts '' + patchShebangs scripts/dwespeak.sh + substituteInPlace scripts/dwespeak.sh \ + --replace espeak ${espeak}/bin/espeak ''; meta = with lib; { From d5142778565a45b2f84e9fdc6eb1d814e9231361 Mon Sep 17 00:00:00 2001 From: Robert James Hernandez Date: Fri, 29 Sep 2023 16:22:53 +0000 Subject: [PATCH 10/28] direwolf: add maintainer sarcasticadmin --- pkgs/applications/radio/direwolf/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/radio/direwolf/default.nix b/pkgs/applications/radio/direwolf/default.nix index f72b190c8702..e5af2fc0206a 100644 --- a/pkgs/applications/radio/direwolf/default.nix +++ b/pkgs/applications/radio/direwolf/default.nix @@ -64,6 +64,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/wb2osz/direwolf/"; license = licenses.gpl2; platforms = platforms.unix; - maintainers = with maintainers; [ lasandell ]; + maintainers = with maintainers; [ lasandell sarcasticadmin ]; }; } From 152b5f5bded3915205e10648aafcd3ef4ee3e20e Mon Sep 17 00:00:00 2001 From: figsoda Date: Fri, 29 Sep 2023 12:56:20 -0400 Subject: [PATCH 11/28] git-mit: 5.12.152 -> 5.12.153 Diff: https://github.com/PurpleBooth/git-mit/compare/v5.12.152...v5.12.153 Changelog: https://github.com/PurpleBooth/git-mit/releases/tag/v5.12.153 --- pkgs/applications/version-management/git-mit/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix index 4662f0da5128..b495652a3364 100644 --- a/pkgs/applications/version-management/git-mit/default.nix +++ b/pkgs/applications/version-management/git-mit/default.nix @@ -10,7 +10,7 @@ }: let - version = "5.12.152"; + version = "5.12.153"; in rustPlatform.buildRustPackage { pname = "git-mit"; @@ -20,10 +20,10 @@ rustPlatform.buildRustPackage { owner = "PurpleBooth"; repo = "git-mit"; rev = "v${version}"; - hash = "sha256-FW7vstYJNJ29v3BNsyRFk57sW3jjA7aurXzz6je1nuo="; + hash = "sha256-bYSWNNMDH1iTGmpLB3m/LCS8GltTdjfjeMwtB5Ss7dk="; }; - cargoHash = "sha256-FQmWAvSuif0/mTVl2xzI4JVLCxn7CXYubGdi55kk2Mk="; + cargoHash = "sha256-FAihHJTnnHYCphEVMPA1YPT/Nj9m4DwkbhGbZJOlm0o="; nativeBuildInputs = [ pkg-config ]; From 2aaf9f24c44207c2854e85331ee6e4a5e020032a Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Fri, 29 Sep 2023 21:03:20 +0400 Subject: [PATCH 12/28] =?UTF-8?q?slweb:=200.6.9=20=E2=86=92=200.6.11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/applications/misc/slweb/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/slweb/default.nix b/pkgs/applications/misc/slweb/default.nix index 77b80ef2147b..1c6931fadcd4 100644 --- a/pkgs/applications/misc/slweb/default.nix +++ b/pkgs/applications/misc/slweb/default.nix @@ -2,29 +2,35 @@ , stdenv , fetchFromSourcehut , redo-apenwarr +, testers }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "slweb"; - version = "0.6.9"; + version = "0.6.11"; src = fetchFromSourcehut { owner = "~strahinja"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-YSHJJ+96Xj2zaDtPi8jftPWIyeIG9LwQ/eYT/oh2Y2c="; + repo = "slweb"; + rev = "v${finalAttrs.version}"; + hash = "sha256-+bKapK/s1pmo1NRRslf7V4ogWTtchFNWpzi+S8YG6+4="; }; nativeBuildInputs = [ redo-apenwarr ]; installPhase = '' runHook preInstall + export FALLBACKVER=${finalAttrs.version} PREFIX=$out redo install runHook postInstall ''; enableParallelBuilding = true; + passthru.tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + }; + meta = with lib; { description = "A static website generator which aims at being simplistic"; homepage = "https://strahinja.srht.site/slweb/"; @@ -32,4 +38,4 @@ stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ GaetanLepage ]; }; -} +}) From 55c8afef389a97b31613b087736392ddff7d54f5 Mon Sep 17 00:00:00 2001 From: Malo Bourgon Date: Fri, 29 Sep 2023 10:04:35 -0700 Subject: [PATCH 13/28] signalbackup-tools: 20230928-1 -> 20230929 Diff: https://github.com/bepaald/signalbackup-tools/compare/20230928-1...20230929 --- .../instant-messengers/signalbackup-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix index e5ac878846d9..9c49d1f594f6 100644 --- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix +++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix @@ -2,13 +2,13 @@ (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { pname = "signalbackup-tools"; - version = "20230928-1"; + version = "20230929"; src = fetchFromGitHub { owner = "bepaald"; repo = pname; rev = version; - hash = "sha256-wL9Yv6+7PynbBr+GgA8ohS5w5/iVTtrC3R2SG5MWJVQ="; + hash = "sha256-5U8znPKCe4auQRfysVUzXawnvnSj86MD3J2vfAwxofE="; }; postPatch = '' From bc6f9121db7698ed6e21f8ffdbd5270401b19e48 Mon Sep 17 00:00:00 2001 From: Hraban Luyat Date: Fri, 29 Sep 2023 13:11:17 -0400 Subject: [PATCH 14/28] sbcl: 2.3.8 -> 2.3.9 --- pkgs/development/compilers/sbcl/2.x.nix | 6 +++--- pkgs/top-level/all-packages.nix | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/development/compilers/sbcl/2.x.nix index cfd6166d0456..a4de7b8b876f 100644 --- a/pkgs/development/compilers/sbcl/2.x.nix +++ b/pkgs/development/compilers/sbcl/2.x.nix @@ -19,12 +19,12 @@ let sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y"; }; - "2.3.7" = { - sha256 = "sha256-aYFE+4BaMZGaYQ3pmauYOR1S62mK2qjKGbKPxu0Nmfc="; - }; "2.3.8" = { sha256 = "sha256-QhVxsqyRbli+jrzqXvSr+NeQKGPbah0KXvqVAK3KDSk="; }; + "2.3.9" = { + sha256 = "sha256-fSiakSMgIgKL8BKJAMMr8A5MVDDDLyivBZTIpZKphlQ="; + }; }; in with versionMap.${version}; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 449d836683ae..9b1931460bda 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26212,17 +26212,17 @@ with pkgs; pkg = callPackage ../development/compilers/sbcl/bootstrap.nix {}; faslExt = "fasl"; }; - sbcl_2_3_7 = wrapLisp { - pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.7"; }; - faslExt = "fasl"; - flags = [ "--dynamic-space-size" "3000" ]; - }; sbcl_2_3_8 = wrapLisp { pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.8"; }; faslExt = "fasl"; flags = [ "--dynamic-space-size" "3000" ]; }; - sbcl = sbcl_2_3_8; + sbcl_2_3_9 = wrapLisp { + pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.9"; }; + faslExt = "fasl"; + flags = [ "--dynamic-space-size" "3000" ]; + }; + sbcl = sbcl_2_3_9; sbclPackages = recurseIntoAttrs sbcl.pkgs; From d34bc5bd3a5a28dde2772304a1d178f9374d22bd Mon Sep 17 00:00:00 2001 From: Hraban Luyat Date: Fri, 29 Sep 2023 13:18:48 -0400 Subject: [PATCH 15/28] clisp: fix preconfigure phase on x86_64-darwin One of the module names has a `/` in it so the hard-coded technique to "jump back to the previous directory" by using `../..` doesn't work. N.B.: build is still broken. This only fixes the preconfigure phase. --- pkgs/development/interpreters/clisp/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix index cb0e547331c0..30a2f6787edc 100644 --- a/pkgs/development/interpreters/clisp/default.nix +++ b/pkgs/development/interpreters/clisp/default.nix @@ -82,13 +82,16 @@ stdenv.mkDerivation { ''; preConfigure = lib.optionalString stdenv.isDarwin ('' - cd src - autoreconf -f -i -I m4 -I glm4 - cd - + ( + cd src + autoreconf -f -i -I m4 -I glm4 + ) '' + lib.concatMapStrings (x: '' - cd modules/${x} - autoreconf -f -i -I ../../src -I ../../src/m4 -I ../../src/glm4 - cd - + ( + root="$PWD" + cd modules/${x} + autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4" + ) '') withModules); configureFlags = [ "builddir" ] From 3b14971fd492642ede108b9246cc8a6a1f7c7d17 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Fri, 29 Sep 2023 19:44:04 +0200 Subject: [PATCH 16/28] mps: 1.117.0 -> 1.118.0 --- pkgs/development/libraries/mps/default.nix | 18 ++++++++++++------ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/mps/default.nix b/pkgs/development/libraries/mps/default.nix index 6298a1dfef63..3cc6d9ce3510 100644 --- a/pkgs/development/libraries/mps/default.nix +++ b/pkgs/development/libraries/mps/default.nix @@ -1,12 +1,19 @@ -{ lib, stdenv, fetchurl, autoreconfHook, sqlite }: +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, sqlite +}: stdenv.mkDerivation rec { pname = "mps"; - version = "1.117.0"; + version = "1.118.0"; - src = fetchurl { - url = "https://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz"; - sha256 = "04ix4l7lk6nxxk9sawpnxbybvqb82lks5606ym10bc1qbc2kqdcz"; + src = fetchFromGitHub { + owner = "Ravenbrook"; + repo = "mps"; + rev = "refs/tags/release-${version}"; + hash = "sha256-3ql3jWLccgnQHKf23B1en+nJ9rxqmHcWd7aBr93YER0="; }; nativeBuildInputs = [ autoreconfHook ]; @@ -21,7 +28,6 @@ stdenv.mkDerivation rec { meta = { - broken = true; description = "A flexible memory management and garbage collection library"; homepage = "https://www.ravenbrook.com/project/mps"; license = lib.licenses.sleepycat; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 492bee921f13..d9dc9e210103 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24194,7 +24194,7 @@ with pkgs; nanomq = callPackage ../servers/mqtt/nanomq { }; - mps = callPackage ../development/libraries/mps { stdenv = gcc10StdenvCompat; }; + mps = callPackage ../development/libraries/mps { }; libmpeg2 = callPackage ../development/libraries/libmpeg2 { }; From ca0c8dc60891214290f5038407e88c7298740a2f Mon Sep 17 00:00:00 2001 From: clerie Date: Fri, 29 Sep 2023 20:26:12 +0200 Subject: [PATCH 17/28] shelldap: 1.4.0 -> 1.5.1 (#257777) --- pkgs/tools/misc/shelldap/default.nix | 42 ++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/shelldap/default.nix b/pkgs/tools/misc/shelldap/default.nix index c782b1292008..4bf0721ff24e 100644 --- a/pkgs/tools/misc/shelldap/default.nix +++ b/pkgs/tools/misc/shelldap/default.nix @@ -1,26 +1,52 @@ -{ lib, fetchurl, perlPackages }: +{ lib +, fetchFromGitHub +, perlPackages +}: + perlPackages.buildPerlPackage rec { pname = "shelldap"; - version = "1.4.0"; - src = fetchurl { - url = "https://bitbucket.org/mahlon/shelldap/downloads/shelldap-${version}.tar.gz"; - sha256 = "07gkvvxcgw3pgkfy8p9mmidakciaq1rsq5zhmdqd8zcwgqkrr24i"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "mahlonsmith"; + repo = "shelldap"; + rev = "refs/tags/v${version}"; + hash = "sha256-67ttAXzu9pfeqjfhMfLMb9vWCXTrE+iUDCbamqswaLg="; }; - buildInputs = with perlPackages; [ perl YAMLSyck perlldap AlgorithmDiff IOSocketSSL AuthenSASL TermReadLineGnu TermShell ]; + + buildInputs = with perlPackages; [ + AlgorithmDiff + AuthenSASL + IOSocketSSL + perl + perlldap + TermReadLineGnu + TermShell + TieIxHash + YAMLSyck + ]; + prePatch = '' touch Makefile.PL ''; + installPhase = '' runHook preInstall install -Dm555 -t $out/bin shelldap runHook preInstall ''; + + # no make target 'test', not tests provided by source + doCheck = false; + outputs = [ "out" ]; + meta = with lib; { - homepage = "https://bitbucket.org/mahlon/shelldap/"; + homepage = "https://github.com/mahlonsmith/shelldap/"; description = "A handy shell-like interface for browsing LDAP servers and editing their content"; + changelog = "https://github.com/mahlonsmith/shelldap/blob/v${version}/CHANGELOG"; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ tobiasBora ]; + maintainers = with maintainers; [ clerie tobiasBora ]; platforms = platforms.linux; }; } From f3daa81cfbe3c45017a47d8d20e0e5af3dd24dfa Mon Sep 17 00:00:00 2001 From: Yureka Date: Fri, 29 Sep 2023 20:27:15 +0200 Subject: [PATCH 18/28] shelldap: build on darwin --- pkgs/tools/misc/shelldap/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/shelldap/default.nix b/pkgs/tools/misc/shelldap/default.nix index 4bf0721ff24e..b383c9692a9c 100644 --- a/pkgs/tools/misc/shelldap/default.nix +++ b/pkgs/tools/misc/shelldap/default.nix @@ -47,6 +47,6 @@ perlPackages.buildPerlPackage rec { changelog = "https://github.com/mahlonsmith/shelldap/blob/v${version}/CHANGELOG"; license = with licenses; [ bsd3 ]; maintainers = with maintainers; [ clerie tobiasBora ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } From 8a77077879c91eae16b74f6ecc771a9a09afa584 Mon Sep 17 00:00:00 2001 From: Matt McHenry Date: Thu, 20 Jul 2023 21:32:16 -0400 Subject: [PATCH 19/28] eclipses: create minimal update.sh this isn't complete enough to use as a formal updateScript yet, but it's definitely an improvement over the current purely-manual process. Co-authored-by: Robert Helgesson --- pkgs/applications/editors/eclipse/default.nix | 5 +- pkgs/applications/editors/eclipse/update.sh | 72 +++++++++++++++++++ 2 files changed, 74 insertions(+), 3 deletions(-) create mode 100755 pkgs/applications/editors/eclipse/update.sh diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 686ec3681183..99ac442d5cb1 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -6,10 +6,9 @@ , callPackage }: -# https://download.eclipse.org/eclipse/downloads/ is the main place to -# find the downloads needed for new versions +# use ./update.sh to help with updating for each quarterly release # -# to test: +# then, to test: # for e in cpp modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix build -f default.nix ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done let diff --git a/pkgs/applications/editors/eclipse/update.sh b/pkgs/applications/editors/eclipse/update.sh new file mode 100755 index 000000000000..7e100ccfbcd7 --- /dev/null +++ b/pkgs/applications/editors/eclipse/update.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash --pure -p curl cacert libxml2 yq nix jq +#! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/3c7487575d9445185249a159046cc02ff364bff8.tar.gz +# ^ +# | +# nixos-unstable ~ 2023-07-06 -----------------/ + +set -o errexit +set -o nounset + +# scrape the downloads page for release info + +curl -s -o eclipse-dl.html https://download.eclipse.org/eclipse/downloads/ +trap "rm eclipse-dl.html" EXIT + +dlquery() { + q=$1 + xmllint --html eclipse-dl.html --xmlout 2>/dev/null | xq -r ".html.body.main.div.table[3].tr[1].td[0].a${q}"; +} + +# extract release info from download page HTML + +platform_major=$(dlquery '."#text" | split(".") | .[0]' -r); +platform_minor=$(dlquery '."#text" | split(".") | .[1]' -r); + +year=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[0:4]') +buildmonth=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[4:6]') +builddaytime=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[6:12]') +timestamp="${year}${buildmonth}${builddaytime}"; + +# account for possible release-month vs. build-month mismatches + +month=$buildmonth; +case "$buildmonth" in + '02'|'04') month='03' ;; + '05'|'07') month='06' ;; + '08'|'10') month='09' ;; + '11'|'01') month='12' ;; +esac + +cat < Date: Thu, 20 Jul 2023 21:35:14 -0400 Subject: [PATCH 20/28] eclipses: 2023-03 -> 2023-06 --- pkgs/applications/editors/eclipse/default.nix | 40 +++++++++---------- pkgs/applications/editors/eclipse/plugins.nix | 4 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 99ac442d5cb1..fb02345379b5 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -13,11 +13,11 @@ let platform_major = "4"; - platform_minor = "27"; + platform_minor = "28"; year = "2023"; - month = "03"; #release month - buildmonth = "03"; #sometimes differs from release month - timestamp = "${year}${buildmonth}020300"; + month = "06"; #release month + buildmonth = "06"; #sometimes differs from release month + timestamp = "${year}${buildmonth}050440"; gtk = gtk3; arch = if stdenv.hostPlatform.isx86_64 then "x86_64" @@ -43,8 +43,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-MBng3ETarHMlUUPpVvMIZxVqpe9JW5xNHonnN6CHRcw="; - aarch64 = "sha256-7FgpPzp5MY/fB6Q/wvrvi+Lpcm3tmH7bUTLh7q2Rjek="; + x86_64 = "sha256-0VFg68+M84SEPbLv2f3hNTK1tvUjN3u0X3DYFCMAFX8="; + aarch64 = "sha256-K1e1Q//X+R4FfY60eE4nPgEaF0wUkUIO/AFzzjIrGRY="; }.${arch}; }; }; @@ -58,8 +58,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-BXofrKElgCG3+WUCanpX1sGLhirj2pLi+pi24Z+WjBk="; - aarch64 = "sha256-CdePRa6jmWlt3Wismt3RahGzYOm1ZDwQRt82kRVXSdM="; + x86_64 = "sha256-wdZninKynNQ5o2nxyOxA7GDQ75tWs1TB2jh21O0fEpg="; + aarch64 = "sha256-5iAoMyesBjmdAy/eSMkgtuYv5rnXAEjgLb0yNX02mdw="; }.${arch}; }; }; @@ -73,8 +73,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-aprXjNv2NMoIDCNkFxwmMKcGUt2ssRonzTZ/hH57Mig="; - aarch64 = "sha256-Aq9PDVo/9zTeQ2j6q5bf1aIKjKM7oonIr1mEQ7rX48Y="; + x86_64 = "sha256-SYeCXWGSi8bPbqngGC+ZSBQaKyZrDTFeT+RLKC+ZsDk="; + aarch64 = "sha256-DN6fl7p+q96wsg9Mq6v3lTV0/7b87MFKTJSFuNrjLgs="; }.${arch}; }; }; @@ -105,8 +105,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-39DXU7wIsdxkUpNKnYPT7+qPJ2DrF7G7UJqPfhEDGGs="; - aarch64 = "sha256-7GwKGNHWPZ3uOFyzQj1dftFFz/3oa2j8XWkRn0wnllY="; + x86_64 = "sha256-QY16KSNZj6rq7YL+gOajI80XVtSdCh7MJGPscRJuf1o="; + aarch64 = "sha256-oZXx87dlLZ61ezwDD0WnV48ZMjcK0FkSGl83LhkJvmc="; }.${arch}; }; }; @@ -120,8 +120,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-zNBzFHmNaxUutzMh/5pOglJiKh5NAvSVwvPYyA6RVr4="; - aarch64 = "sha256-RtLXB9kgpLERfhpvDTaJG84qVyN1Puud1PTZtk/WIO0="; + x86_64 = "sha256-FC4zgx+75S9TJVp0azWgON/wNmoEy0074tj+DOdvNOg="; + aarch64 = "sha256-wnRQKqg1V4hrD9VAg6sw8yypB97Wcivt4cH6MFP4KPs="; }.${arch}; }; }; @@ -135,8 +135,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-vpvmKZKVl6ubfq8QMDr0xprXYMWl576hu+ovvREN4ak="; - aarch64 = "sha256-5Yqxgl4kkN3Bb7hsTnd9q5TsCpVBVkEVvqPbL5MYEyg="; + x86_64 = "sha256-eSYWuw6s3H1ht4zPDwjd4oZ49KhIn1OaywtwKHyS0wI="; + aarch64 = "sha256-9O0+S3G3vtjN1Vd4euf3gYRPPtrVxoBB+Uj7BlDAS5M="; }.${arch}; }; }; @@ -150,8 +150,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-4SAiEZWSUaiK8QO2Hg39FBcj1aYRtbOJkeF1W1AMQBo="; - aarch64 = "sha256-+KGDlo6QK3o/n2vSiD0HpIkBwqwIiMXzdFUpfE48gps="; + x86_64 = "sha256-kJoXaSwsjArpe4tqeSkZiU4AcR5dLBvdsyU7tBTiTdc="; + aarch64 = "sha256-qydFxa0lQEwsxZQPlBXV/wiuXGuIcBHRasKZEmXJaOk="; }.${arch}; }; }; @@ -165,8 +165,8 @@ in rec { fetchurl { url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; hash = { - x86_64 = "sha256-bhcpzsS9cci3Y3Pk9DOrtPonKjRg/vzDqDr3Be/xfks="; - aarch64 = "sha256-YCb4leFWRtx4VPwK/5vgwwDH3/f0/0OWEy4ueAS7sUw="; + x86_64 = "sha256-BAEXN6sx4f+BJnKz0lkPoAmRXnlbl5s5ETAyfE/AZak="; + aarch64 = "sha256-xayvsFAglBxAB49j2tnt52d6KX6LxMBRfx0wR/p8K70="; }.${arch}; }; }; diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 67c071b5b938..2eb87c8394d8 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -255,12 +255,12 @@ rec { cdt = buildEclipseUpdateSite rec { name = "cdt-${version}"; # find current version at https://github.com/eclipse-cdt/cdt/releases - version = "11.1.1"; + version = "11.2.0"; src = fetchzip { stripRoot = false; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/${lib.versions.majorMinor version}/${name}/${name}.zip"; - hash = "sha256-k78QKPIb3Lr0Wcg2tTlX1abdpcvxspjaxJiP2Hrgb4A="; + hash = "sha256-YEmoAFzyGOyreg8FiL/gcwXROHT5VoLb1DfHhBp1tsQ="; }; meta = with lib; { From bd4ddddd9c8265d1c101f9f02927c1c3c752c5bf Mon Sep 17 00:00:00 2001 From: Hraban Luyat Date: Fri, 29 Sep 2023 12:18:13 -0400 Subject: [PATCH 21/28] clisp: disable unsupported modules on x86_64-darwin Modules enabled only on "x86_64" systems were actually implicitly linux-only. Disable them entirely on Darwin, regardless of architecture. Fixes #258050 --- pkgs/development/interpreters/clisp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix index 30a2f6787edc..ac6257164cb7 100644 --- a/pkgs/development/interpreters/clisp/default.nix +++ b/pkgs/development/interpreters/clisp/default.nix @@ -25,8 +25,8 @@ , xorgproto , coreutils # build options -, threadSupport ? stdenv.hostPlatform.isx86 -, x11Support ? stdenv.hostPlatform.isx86 +, threadSupport ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) +, x11Support ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) , dllSupport ? true , withModules ? [ "pcre" From 35fc5a6b76777e23f89961ea9d07b39e435d58bc Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 22 Sep 2023 20:57:27 +0200 Subject: [PATCH 22/28] =?UTF-8?q?ocamlPackages.re:=201.10.4=20=E2=86=92=20?= =?UTF-8?q?1.11.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/re/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/re/default.nix b/pkgs/development/ocaml-modules/re/default.nix index 5244aaf9edd0..2f5d2cd603b3 100644 --- a/pkgs/development/ocaml-modules/re/default.nix +++ b/pkgs/development/ocaml-modules/re/default.nix @@ -3,8 +3,8 @@ let version_sha = if lib.versionAtLeast ocaml.version "4.08" then { - version = "1.10.4"; - sha256 = "sha256-g+s+QwCqmx3HggdJAQ9DYuqDUkdCEwUk14wgzpnKdHw="; + version = "1.11.0"; + sha256 = "sha256-AfwkR4DA9r5yrnlrH7dQ82feGGJP110H7nl4LtbfjU8="; } else { From 8d8e78c9c22952cce42e09de7e095137ffcedd0b Mon Sep 17 00:00:00 2001 From: Wietse de Vries Date: Fri, 29 Sep 2023 13:03:09 +0200 Subject: [PATCH 23/28] maintainers: add wietsedv --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bab934681db9..e9e8f4363360 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18599,6 +18599,12 @@ githubId = 7121530; name = "Wolf Honoré"; }; + wietsedv = { + email = "wietsedv@proton.me"; + github = "wietsedv"; + githubId = 13139101; + name = "Wietse de Vries"; + }; wigust = { name = "Oleg Pykhalov"; email = "go.wigust@gmail.com"; From 86dbce6d0788d602df543d08dfd9b692e69739e3 Mon Sep 17 00:00:00 2001 From: Wietse de Vries Date: Fri, 29 Sep 2023 11:46:13 +0200 Subject: [PATCH 24/28] audiobookshelf: init module --- .../manual/release-notes/rl-2311.section.md | 2 + nixos/modules/module-list.nix | 1 + .../services/web-apps/audiobookshelf.nix | 90 +++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/audiobookshelf.nix | 23 +++++ 5 files changed, 117 insertions(+) create mode 100644 nixos/modules/services/web-apps/audiobookshelf.nix create mode 100644 nixos/tests/audiobookshelf.nix diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index c6d479b85692..37b840539ea4 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -87,6 +87,8 @@ - [tuxedo-rs](https://github.com/AaronErhardt/tuxedo-rs), Rust utilities for interacting with hardware from TUXEDO Computers. +- [audiobookshelf](https://github.com/advplyr/audiobookshelf/), a self-hosted audiobook and podcast server. Available as [services.audiobookshelf](#opt-services.audiobookshelf.enable). + ## Backward Incompatibilities {#sec-release-23.11-incompatibilities} - The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index cbd5e6467f82..66782d046914 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1211,6 +1211,7 @@ ./services/web-apps/atlassian/confluence.nix ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix + ./services/web-apps/audiobookshelf.nix ./services/web-apps/bookstack.nix ./services/web-apps/calibre-web.nix ./services/web-apps/coder.nix diff --git a/nixos/modules/services/web-apps/audiobookshelf.nix b/nixos/modules/services/web-apps/audiobookshelf.nix new file mode 100644 index 000000000000..84dffc5f9d3c --- /dev/null +++ b/nixos/modules/services/web-apps/audiobookshelf.nix @@ -0,0 +1,90 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.audiobookshelf; +in +{ + options = { + services.audiobookshelf = { + enable = mkEnableOption "Audiobookshelf, self-hosted audiobook and podcast server."; + + package = mkPackageOption pkgs "audiobookshelf" { }; + + dataDir = mkOption { + description = "Path to Audiobookshelf config and metadata inside of /var/lib."; + default = "audiobookshelf"; + type = types.str; + }; + + host = mkOption { + description = "The host Audiobookshelf binds to."; + default = "127.0.0.1"; + example = "0.0.0.0"; + type = types.str; + }; + + port = mkOption { + description = "The TCP port Audiobookshelf will listen on."; + default = 8000; + type = types.port; + }; + + user = mkOption { + description = "User account under which Audiobookshelf runs."; + default = "audiobookshelf"; + type = types.str; + }; + + group = mkOption { + description = "Group under which Audiobookshelf runs."; + default = "audiobookshelf"; + type = types.str; + }; + + openFirewall = mkOption { + description = "Open ports in the firewall for the Audiobookshelf web interface."; + default = false; + type = types.bool; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.audiobookshelf = { + description = "Audiobookshelf is a self-hosted audiobook and podcast server"; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + User = cfg.user; + Group = cfg.group; + StateDirectory = cfg.dataDir; + WorkingDirectory = "/var/lib/${cfg.dataDir}"; + ExecStart = "${cfg.package}/bin/audiobookshelf --host ${cfg.host} --port ${toString cfg.port}"; + Restart = "on-failure"; + }; + }; + + users.users = mkIf (cfg.user == "audiobookshelf") { + audiobookshelf = { + isSystemUser = true; + group = cfg.group; + home = "/var/lib/${cfg.dataDir}"; + }; + }; + + users.groups = mkIf (cfg.group == "audiobookshelf") { + audiobookshelf = { }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.port ]; + }; + }; + + meta.maintainers = with maintainers; [ wietsedv ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 66a6aa252b88..5b2e12a501bf 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -119,6 +119,7 @@ in { atd = handleTest ./atd.nix {}; atop = handleTest ./atop.nix {}; atuin = handleTest ./atuin.nix {}; + audiobookshelf = handleTest ./audiobookshelf.nix {}; auth-mysql = handleTest ./auth-mysql.nix {}; authelia = handleTest ./authelia.nix {}; avahi = handleTest ./avahi.nix {}; diff --git a/nixos/tests/audiobookshelf.nix b/nixos/tests/audiobookshelf.nix new file mode 100644 index 000000000000..64bd415160ee --- /dev/null +++ b/nixos/tests/audiobookshelf.nix @@ -0,0 +1,23 @@ +import ./make-test-python.nix ({ lib, ... }: + +with lib; + +{ + name = "audiobookshelf"; + meta.maintainers = with maintainers; [ wietsedv ]; + + nodes.machine = + { pkgs, ... }: + { + services.audiobookshelf = { + enable = true; + port = 1234; + }; + }; + + testScript = '' + machine.wait_for_unit("audiobookshelf.service") + machine.wait_for_open_port(1234) + machine.succeed("curl --fail http://localhost:1234/") + ''; +}) From c64add6e8b86aa4cfc6871aed3e0f035a87bc58e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 29 Sep 2023 08:45:14 +0100 Subject: [PATCH 25/28] utf8cpp: 3.2.4 -> 3.2.5 Changes: https://github.com/nemtrif/utfcpp/releases/tag/v3.2.5 --- pkgs/development/libraries/utf8cpp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/utf8cpp/default.nix b/pkgs/development/libraries/utf8cpp/default.nix index c32c6e1e52f5..400a85bd0b07 100644 --- a/pkgs/development/libraries/utf8cpp/default.nix +++ b/pkgs/development/libraries/utf8cpp/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "utf8cpp"; - version = "3.2.4"; + version = "3.2.5"; src = fetchFromGitHub { owner = "nemtrif"; repo = "utfcpp"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "sha256-cpy1lg/9pWgI5uyOO9lfSt8llfGEjnu/O4P9688XVEA="; + sha256 = "sha256-cWiGggn2GP25K/8eopvnFPq6iwcBteNI3i9Lo1Sr+ig="; }; cmakeFlags = [ From 6a7da0cfdcbc4f47387627f3d4f320a526965ed5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 29 Sep 2023 19:50:45 +0100 Subject: [PATCH 26/28] utf8cpp: add `meta.changelog` entry --- pkgs/development/libraries/utf8cpp/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/utf8cpp/default.nix b/pkgs/development/libraries/utf8cpp/default.nix index 400a85bd0b07..764f991c4467 100644 --- a/pkgs/development/libraries/utf8cpp/default.nix +++ b/pkgs/development/libraries/utf8cpp/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/nemtrif/utfcpp"; + changelog = "https://github.com/nemtrif/utfcpp/releases/tag/v${version}"; description = "UTF-8 with C++ in a Portable Way"; license = licenses.boost; maintainers = with maintainers; [ jobojeha ]; From 7eddaf49b817eefaf95c55fcc2b2b49e2fdd4758 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 29 Sep 2023 16:03:19 +0000 Subject: [PATCH 27/28] python310Packages.enlighten: 1.11.2 -> 1.12.0 --- pkgs/development/python-modules/enlighten/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/enlighten/default.nix b/pkgs/development/python-modules/enlighten/default.nix index f6568e691fa1..76ff49c6a4c0 100644 --- a/pkgs/development/python-modules/enlighten/default.nix +++ b/pkgs/development/python-modules/enlighten/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "enlighten"; - version = "1.11.2"; + version = "1.12.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-koSGHe5aJy4OGjdYzT87cYCxvRdUh12naHbyp/Rsy2E="; + hash = "sha256-a4r20HG13gUBOjjoDhaHJtxv+yhY3oF/d+QV+Fss6Bk="; }; propagatedBuildInputs = [ From ed66c817ab4ec6f086d2ea7cb5770f380a84a5a3 Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Fri, 29 Sep 2023 06:21:44 +0000 Subject: [PATCH 28/28] etcd_3_3: remove --- pkgs/servers/etcd/3.3.nix | 35 --------------------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 1 - 3 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 pkgs/servers/etcd/3.3.nix diff --git a/pkgs/servers/etcd/3.3.nix b/pkgs/servers/etcd/3.3.nix deleted file mode 100644 index edea448ee84e..000000000000 --- a/pkgs/servers/etcd/3.3.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, buildGoPackage, fetchFromGitHub, stdenv }: - -buildGoPackage rec { - pname = "etcd"; - version = "3.3.27"; - - goPackagePath = "github.com/coreos/etcd"; - - src = fetchFromGitHub { - owner = "etcd-io"; - repo = "etcd"; - rev = "v${version}"; - sha256 = "sha256-zO+gwzaTgeFHhlkY/3AvRTEA4Yltlp+NqdlDe4dLJYg="; - }; - - buildPhase = '' - cd go/src/${goPackagePath} - patchShebangs . - ./build - ./functional/build - ''; - - installPhase = '' - install -Dm755 bin/* bin/functional/cmd/* -t $out/bin - ''; - - meta = with lib; { - description = "Distributed reliable key-value store for the most critical data of a distributed system"; - license = licenses.asl20; - homepage = "https://etcd.io/"; - maintainers = with maintainers; [ offline ]; - broken = stdenv.isDarwin; # outdated golang.org/x/sys - knownVulnerabilities = [ "CVE-2023-32082" ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e50ac7e69e81..c6af6c2c250b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -496,6 +496,7 @@ mapAliases ({ erlang_23 = throw "erlangR23 has been removed in favor of newer versions."; # added 2023-09-11 erlangR23 = erlang_23; esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12 + etcd_3_3 = throw "etcd_3_3 has been removed because upstream no longer maintains it"; # Added 2023-09-29 etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22 eterm = throw "eterm was removed because it is still insecure: https://github.com/mej/Eterm/issues/7"; # Added 2023-09-10 eteroj.lv2 = throw "'eteroj.lv2' has been renamed to/replaced by 'open-music-kontrollers.eteroj'"; # Added 2022-03-09 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b62ca2671758..aa17ee1d6921 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26525,7 +26525,6 @@ with pkgs; ergochat = callPackage ../servers/irc/ergochat { }; etcd = etcd_3_5; - etcd_3_3 = callPackage ../servers/etcd/3.3.nix { }; etcd_3_4 = callPackage ../servers/etcd/3.4.nix { }; etcd_3_5 = callPackage ../servers/etcd/3.5.nix { };