From c4ed73fabd7f8bb2822afc50fe9fc2deea724464 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Tue, 16 Aug 2022 03:01:40 -0700 Subject: [PATCH 01/35] qt4: Remove overzealous and obsolete patch. This patch is replaced by gcc11-ptr-cmp.patch, which works on both clang and gcc. --- pkgs/development/libraries/qt-4.x/4.8/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index e581bdf5f88e..2ff8644e32e4 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -50,9 +50,6 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.cc.isClang '' substituteInPlace src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp \ --replace 'optionalHeight > 0' 'optionalHeight != NULL' - - substituteInPlace ./tools/linguist/linguist/messagemodel.cpp \ - --replace 'm->comment()) >= 0' 'm->comment()) != NULL' ''; patches = From 0bab8f164ca3efd360299065e9d75a27304798de Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Tue, 16 Aug 2022 03:09:24 -0700 Subject: [PATCH 02/35] qt4: add aarch64-darwin to list of bad platforms I am not sure how to make Qt4 work on aarch64-darwin. It appears to be nontrivial, and I didn't find patches anywhere. --- pkgs/development/libraries/qt-4.x/4.8/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 2ff8644e32e4..816b75039612 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -234,6 +234,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl21Plus; # or gpl3 maintainers = with lib.maintainers; [ orivej lovek323 sander ]; platforms = lib.platforms.unix; - badPlatforms = [ "x86_64-darwin" ]; + badPlatforms = [ "x86_64-darwin" "aarch64-darwin" ]; }; } From 3ffcb4a7d8106d7648fce81719ba6dd23ae46f26 Mon Sep 17 00:00:00 2001 From: kilianar Date: Fri, 19 Aug 2022 07:56:42 +0200 Subject: [PATCH 03/35] catppuccin-gtk: unstable-2022-08-01 -> 0.2.7 https://github.com/catppuccin/gtk/releases/tag/v-0.2.7 Fix logic for detecting incompatible tweaks. --- pkgs/data/themes/catppuccin-gtk/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/data/themes/catppuccin-gtk/default.nix b/pkgs/data/themes/catppuccin-gtk/default.nix index b9bc042dd09c..4158d4384d47 100644 --- a/pkgs/data/themes/catppuccin-gtk/default.nix +++ b/pkgs/data/themes/catppuccin-gtk/default.nix @@ -5,7 +5,6 @@ , gnome-themes-extra , gtk-engine-murrine , sassc -, which , tweaks ? [ ] , size ? "standard" }: @@ -14,9 +13,9 @@ let validTweaks = [ "nord" "dracula" "black" "rimless" "normal" ]; unknownTweaks = lib.subtractLists validTweaks tweaks; - illegalMix = !(lib.elem "nord" tweaks) && !(lib.elem "dracula" tweaks); + illegalMix = (lib.elem "nord" tweaks) && (lib.elem "dracula" tweaks); - assertIllegal = lib.assertMsg illegalMix '' + assertIllegal = lib.assertMsg (!illegalMix) '' Tweaks "nord" and "dracula" cannot be mixed. Tweaks: ${toString tweaks} ''; @@ -37,16 +36,16 @@ assert assertUnknown; stdenvNoCC.mkDerivation rec { pname = "catppuccin-gtk"; - version = "unstable-2022-08-01"; + version = "0.2.7"; src = fetchFromGitHub { repo = "gtk"; owner = "catppuccin"; - rev = "87a79fd2bf07accc694455df30a32a82b1b31f4f"; - sha256 = "sha256-dKHTQva0BYkO6VPNfY/pzRn/V1ghX+tYqbnM9hTAMeE="; + rev = "v-${version}"; + sha256 = "sha256-oTAfURHMWqlKHk4CNz5cn6vO/7GmQJM2rXXGDz2e+0w="; }; - nativeBuildInputs = [ gtk3 sassc which ]; + nativeBuildInputs = [ gtk3 sassc ]; buildInputs = [ gnome-themes-extra ]; @@ -61,7 +60,6 @@ stdenvNoCC.mkDerivation rec { export HOME=$(mktemp -d) - mkdir -p $out/share/themes bash install.sh -d $out/share/themes -t all \ ${lib.optionalString (size != "") "-s ${size}"} \ ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} From 6f8f90e056b93cf7efddf59aa45b906a8a573ab9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 24 Aug 2022 09:47:48 +0000 Subject: [PATCH 04/35] crawl: 0.28.0 -> 0.29.0 --- pkgs/games/crawl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index 064e1d623a5f..fa409987ff81 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "crawl${lib.optionalString tileMode "-tiles"}"; - version = "0.28.0"; + version = "0.29.0"; src = fetchFromGitHub { owner = "crawl"; repo = "crawl"; rev = version; - sha256 = "sha256-pVEE3g+NDwpsrakyj4YIk53aE+LCiIaRhOqos4huh9A="; + sha256 = "sha256-SM8dSDV+88QGMqoFkITop1PHh9EakdgiV4tkXCw9pjM="; }; # Patch hard-coded paths and remove force library builds From 249dfd092cfcfe2dc991a433750ab5f5ae94a7e2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 24 Aug 2022 09:48:35 +0000 Subject: [PATCH 05/35] crawlTiles: 0.28.0 -> 0.29.0 --- pkgs/games/crawl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index 064e1d623a5f..fa409987ff81 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "crawl${lib.optionalString tileMode "-tiles"}"; - version = "0.28.0"; + version = "0.29.0"; src = fetchFromGitHub { owner = "crawl"; repo = "crawl"; rev = version; - sha256 = "sha256-pVEE3g+NDwpsrakyj4YIk53aE+LCiIaRhOqos4huh9A="; + sha256 = "sha256-SM8dSDV+88QGMqoFkITop1PHh9EakdgiV4tkXCw9pjM="; }; # Patch hard-coded paths and remove force library builds From b3f68591e1a80130f1619cfd74d98422d579559c Mon Sep 17 00:00:00 2001 From: usertam Date: Wed, 24 Aug 2022 19:04:57 +0800 Subject: [PATCH 06/35] lilypond-unstable: 2.23.11 -> 2.23.12 --- pkgs/misc/lilypond/unstable.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/lilypond/unstable.nix b/pkgs/misc/lilypond/unstable.nix index dc137ccd7e9e..a8472b66f1fa 100644 --- a/pkgs/misc/lilypond/unstable.nix +++ b/pkgs/misc/lilypond/unstable.nix @@ -3,9 +3,9 @@ (lilypond.override { inherit guile; }).overrideAttrs (oldAttrs: rec { - version = "2.23.11"; + version = "2.23.12"; src = fetchurl { url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz"; - sha256 = "sha256-4VjcuZvRmpPmiZ42zyk9xYPlsSN6kEsBSRe30P+raQ8="; + sha256 = "sha256-SLZ9/Jybltd8+1HANk8pTGHRb7MuZSJJDDY/S4Kwz/k="; }; }) From b71a9802d7ac89718f4d465c320e32299f3beda5 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Thu, 25 Aug 2022 19:19:42 -0700 Subject: [PATCH 07/35] arpack: reenable stackprotector on aarch64-darwin The original error that required disabling the stack protector on aarch64-darwin has been fixed in GCC --- pkgs/development/libraries/science/math/arpack/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix index 2413a0a25cfe..9d96368a4cda 100644 --- a/pkgs/development/libraries/science/math/arpack/default.nix +++ b/pkgs/development/libraries/science/math/arpack/default.nix @@ -45,10 +45,6 @@ stdenv.mkDerivation rec { install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libarpack.dylib ''; - # disable stackprotector on aarch64-darwin for now - # https://github.com/NixOS/nixpkgs/issues/127608 - hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ]; - meta = { homepage = "https://github.com/opencollab/arpack-ng"; description = '' From 56486fab3bb89832ed91968ce385295015fa7b27 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Thu, 25 Aug 2022 21:13:07 -0700 Subject: [PATCH 08/35] sundials: reenable stackprotector on aarch64-darwin The original error that required disabling the stack protector on aarch64-darwin has been fixed in GCC. --- pkgs/development/libraries/sundials/default.nix | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 3093c5330a88..867d109d71b2 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -61,21 +61,6 @@ stdenv.mkDerivation rec { )] ; - # disable stackprotector on aarch64-darwin for now - # https://github.com/NixOS/nixpkgs/issues/127608 - # - # build error: - # - # /private/tmp/nix-build-sundials-6.3.0.drv-0/ccD2dUtR.s:21:15: error: index must be an integer in range [-256, 255]. - # ldr x0, [x0, ___stack_chk_guard];momd - # ^ - # /private/tmp/nix-build-sundials-6.3.0.drv-0/ccD2dUtR.s:46:15: error: index must be an integer in range [-256, 255]. - # ldr x0, [x0, ___stack_chk_guard];momd - # - # See also a proposed solution: https://github.com/NixOS/nixpkgs/pull/151983 - - hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ]; - doCheck = true; checkTarget = "test"; From a2001ac0ff9d8bcbd257ab970922e42eb1fa6d38 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 28 Aug 2022 19:30:41 +0000 Subject: [PATCH 09/35] kuma-cp: 1.7.1 -> 1.8.0 --- pkgs/applications/networking/cluster/kuma/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/kuma/default.nix b/pkgs/applications/networking/cluster/kuma/default.nix index 6986af1d3d5b..1fa66767931c 100644 --- a/pkgs/applications/networking/cluster/kuma/default.nix +++ b/pkgs/applications/networking/cluster/kuma/default.nix @@ -16,15 +16,15 @@ buildGoModule rec { inherit pname ; - version = "1.7.1"; + version = "1.8.0"; tags = lib.optionals enableGateway ["gateway"]; - vendorSha256 = "sha256-0YmWmGuzyES7BoHKWxzF2K1rDW7PO2DRdNmY3eJkUAM="; + vendorSha256 = "sha256-69uXHvpQMeFwQbejMpfQPS8DDXJyVsnn59WUEJpSeng="; src = fetchFromGitHub { owner = "kumahq"; repo = "kuma"; rev = version; - sha256 = "sha256-U8fWDXJ0ztod6r0qz63jbgYA06ItxA76BjSliniYnIQ="; + sha256 = "sha256-5459Fl7AbzuNGIOfDpVYlhvzLzfLT2Ckhr5omxZr76w="; }; doCheck = false; From 661844351c6ab02c8deff596298cebdd752f83fc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 29 Aug 2022 19:26:52 +0000 Subject: [PATCH 10/35] flycast: 1.3 -> 2.0 --- pkgs/applications/emulators/flycast/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/emulators/flycast/default.nix b/pkgs/applications/emulators/flycast/default.nix index fd5123d05fa2..3243c333a335 100644 --- a/pkgs/applications/emulators/flycast/default.nix +++ b/pkgs/applications/emulators/flycast/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "flycast"; - version = "1.3"; + version = "2.0"; src = fetchFromGitHub { owner = "flyinghead"; repo = "flycast"; rev = "v${version}"; - sha256 = "sha256-FAHm8Fu/yv2rJvWCY+g50TYH4zOT6rO7F+jTL2T6EOU="; + sha256 = "sha256-vSyLg2lAJBV7crKVbGRbi1PUuCwHF9GB/8pjMTlaigA="; fetchSubmodules = true; }; From 5ecb51bc7957aca8b1f95c2dbaeb2ef85366e66a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Aug 2022 01:25:16 +0000 Subject: [PATCH 11/35] speechd: 0.11.1 -> 0.11.2 --- pkgs/development/libraries/speechd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix index 270894c3e554..d27eabecf465 100644 --- a/pkgs/development/libraries/speechd/default.nix +++ b/pkgs/development/libraries/speechd/default.nix @@ -27,11 +27,11 @@ let inherit (python3Packages) python pyxdg wrapPython; in stdenv.mkDerivation rec { pname = "speech-dispatcher"; - version = "0.11.1"; + version = "0.11.2"; src = fetchurl { url = "https://github.com/brailcom/speechd/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-0doS7T2shPE3mbai7Dm6LTyiGoST9E3BhVvQupbC3cY="; + sha256 = "sha256-i0ZJkl5oy+GntMCge7BBznc4s1yQamAr+CmG2xqg82Q="; }; patches = [ From cc0f5950c29950e84a06eb7e9c92aa9b313acd1c Mon Sep 17 00:00:00 2001 From: "M. Ian Graham" Date: Wed, 31 Aug 2022 01:04:01 +0900 Subject: [PATCH 12/35] swayest-workstyle: init at 1.3.0 Add swayest-workstyle, a sway-enhanced workspace name iconifier. --- .../sway/swayest-workstyle/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/applications/window-managers/sway/swayest-workstyle/default.nix diff --git a/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix b/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix new file mode 100644 index 000000000000..1aa3dace7852 --- /dev/null +++ b/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix @@ -0,0 +1,29 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "swayest-workstyle"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "Lyr-7D1h"; + repo = "swayest_workstyle"; + rev = version; + sha256 = "sha256-LciTrYbmJV0y0H6QH88vTBXbDdDSx6FQtO4J/CFLjtY="; + }; + + cargoSha256 = "sha256-34Ij3Hd1JI6d1vhv1XomFc9SFoB/6pbS39upLk+NeQM="; + + doCheck = false; # No tests + + meta = with lib; { + description = "Map sway workspace names to icons defined depending on the windows inside of the workspace"; + homepage = "https://github.com/Lyr-7D1h/swayest_workstyle"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ miangraham ]; + mainProgram = "sworkstyle"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a077ad5cced..a0c918d66103 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28293,6 +28293,8 @@ with pkgs; swaynag-battery = callPackage ../applications/misc/swaynag-battery {}; + swayest-workstyle = callPackage ../applications/window-managers/sway/swayest-workstyle { }; + tiramisu = callPackage ../applications/misc/tiramisu { }; rlaunch = callPackage ../applications/misc/rlaunch { From 4c41e952a6bf316657eadaee387cd2e0083142e6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 1 Sep 2022 20:06:39 +0000 Subject: [PATCH 13/35] libjaylink: 0.3.0 -> 0.3.1 --- pkgs/development/libraries/libjaylink/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libjaylink/default.nix b/pkgs/development/libraries/libjaylink/default.nix index bf42624f7651..84ce6e9f2599 100644 --- a/pkgs/development/libraries/libjaylink/default.nix +++ b/pkgs/development/libraries/libjaylink/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "libjaylink"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitLab { domain = "gitlab.zapb.de"; owner = "libjaylink"; repo = "libjaylink"; rev = version; - sha256 = "sha256-90obLaSE3oxrocyJWZ4+j4U4GuPIZEiiIQqenu4vsJg="; + sha256 = "sha256-odJDE1A0WZ9vBXPxaUdthjTgmbmbdHjbyY1PkaM4+vI="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; From ac25645adcc794bb57b7714ca1adf777153adc2b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Sep 2022 07:28:24 +0000 Subject: [PATCH 14/35] arkade: 0.8.38 -> 0.8.39 --- pkgs/applications/networking/cluster/arkade/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix index 80c067c14a8f..a36620382430 100644 --- a/pkgs/applications/networking/cluster/arkade/default.nix +++ b/pkgs/applications/networking/cluster/arkade/default.nix @@ -7,20 +7,20 @@ buildGoModule rec { pname = "arkade"; - version = "0.8.38"; + version = "0.8.39"; src = fetchFromGitHub { owner = "alexellis"; repo = "arkade"; rev = version; - sha256 = "sha256-8C7aQCQ6kqHCGSktYS3djTlEuPyRnzb9LrXkqgfzDyY="; + sha256 = "sha256-ucM4Dl4ZeeZ6pCQ3qdf3Z88CWJIoreZWeo6ehKqXxI8="; }; CGO_ENABLED = 0; nativeBuildInputs = [ installShellFiles ]; - vendorSha256 = "sha256-ok8NuqVFZtzjSLpgxQI03ISojfKdHPHWyikqwtceMlo="; + vendorSha256 = "sha256-TUaCqHbPEwhB2xS8RSoF7RCSkKFJzQKbuV1PbxApyMQ="; # Exclude pkg/get: tests downloading of binaries which fail when sandbox=true subPackages = [ From 10461fa3160c271867416816cfc69b76c02a5fe0 Mon Sep 17 00:00:00 2001 From: kilianar Date: Fri, 2 Sep 2022 11:45:36 +0200 Subject: [PATCH 15/35] cadical: 1.4.1 -> 1.5.0 https://github.com/arminbiere/cadical/releases/tag/rel-1.5.0 --- pkgs/applications/science/logic/cadical/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/cadical/default.nix b/pkgs/applications/science/logic/cadical/default.nix index c6b1f6652451..7052d3fce0df 100644 --- a/pkgs/applications/science/logic/cadical/default.nix +++ b/pkgs/applications/science/logic/cadical/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "cadical"; - version = "1.4.1"; + version = "1.5.0"; src = fetchFromGitHub { owner = "arminbiere"; repo = "cadical"; rev = "rel-${version}"; - sha256 = "0y44z3np4gssgdh4aj5qila7pshrbphycdxn2083i8ayyyjbxshp"; + sha256 = "sha256-Po+pGoUwk1gtBqz4Sc/QQ52rRGbA2pATebX+KPYII5o="; }; outputs = [ "out" "dev" "lib" ]; From 9edcaf36f23e46beaa41a5e9238591d268eabe12 Mon Sep 17 00:00:00 2001 From: rewine <1758075541@qq.com> Date: Sat, 3 Sep 2022 21:10:39 +0800 Subject: [PATCH 16/35] pineapple-pictures: 0.6.2 - 0.6.3 --- pkgs/applications/graphics/pineapple-pictures/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/pineapple-pictures/default.nix b/pkgs/applications/graphics/pineapple-pictures/default.nix index 04677a3982ac..d6e072438376 100644 --- a/pkgs/applications/graphics/pineapple-pictures/default.nix +++ b/pkgs/applications/graphics/pineapple-pictures/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "pineapple-pictures"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "BLumia"; repo = "pineapple-pictures"; rev = version; - sha256 = "sha256-1fsEHyepmoZfNOFEnW6RQJyccOlQr5LTp8TjRqyXkcw"; + sha256 = "sha256-9Nlrei3TxZr3tv0BtlfsKAvDJhQHgd21FzLnzitYF3U="; }; nativeBuildInputs = [ From 92354582ddf5040015a785aba867ed92c65afdea Mon Sep 17 00:00:00 2001 From: ash Date: Sat, 3 Sep 2022 15:22:49 +0100 Subject: [PATCH 17/35] xivlauncher: 1.0.0.9 -> 1.0.1.0 --- pkgs/games/xivlauncher/default.nix | 8 ++++---- pkgs/games/xivlauncher/deps.nix | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/games/xivlauncher/default.nix b/pkgs/games/xivlauncher/default.nix index 1da8e4838956..e9f399e95a62 100644 --- a/pkgs/games/xivlauncher/default.nix +++ b/pkgs/games/xivlauncher/default.nix @@ -3,23 +3,23 @@ , useSteamRun ? true }: let - rev = "6a1a59f687ac7b98698e2ebb97d82a94865e50f6"; + rev = "6246fde6b54f8c7e340057fe2d940287c437153f"; in buildDotnetModule rec { pname = "XIVLauncher"; - version = "1.0.0.9"; + version = "1.0.1.0"; src = fetchFromGitHub { owner = "goatcorp"; repo = "FFXIVQuickLauncher"; inherit rev; - sha256 = "sha256-jRyYeTg73W58OH2fWmuVkjxEdyPNqDGRbEZwxBMfdCo="; + sha256 = "sha256-sM909/ysrlwsiVSBrMo4cOZUWxjRA3ZSwlloGythOAY="; }; nativeBuildInputs = [ copyDesktopItems ]; projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj"; - nugetDeps = ./deps.nix; # File generated with `nuget-to-nix path/to/src > deps.nix` + nugetDeps = ./deps.nix; # File generated with `nix-build -A xivlauncher.passthru.fetch-deps` dotnetFlags = [ "--runtime linux-x64" diff --git a/pkgs/games/xivlauncher/deps.nix b/pkgs/games/xivlauncher/deps.nix index 9e1f7f17c2ff..0cbfccff0c78 100644 --- a/pkgs/games/xivlauncher/deps.nix +++ b/pkgs/games/xivlauncher/deps.nix @@ -3,8 +3,8 @@ (fetchNuGet { pname = "CheapLoc"; version = "1.1.6"; sha256 = "1m6cgx9yh7h3vrq2d4f99xyvsxc9jvz8zjq1q14qgylfmyq4hx4l"; }) (fetchNuGet { pname = "Config.Net"; version = "4.19.0"; sha256 = "17iv0vy0693s6d8626lbz3w1ppn5abn77aaki7h4qi4izysizgim"; }) (fetchNuGet { pname = "Downloader"; version = "2.2.8"; sha256 = "0farwh3pc6m8hsgqywigdpcb4gr2m9myyxm2idzjmhhkzfqghj28"; }) - (fetchNuGet { pname = "Facepunch.Steamworks"; version = "2.3.3"; sha256 = "1r3m7cyzfy8ms9xxfa13xcwha02yk22givkaamw166im89m8wqyc"; }) (fetchNuGet { pname = "goaaats.NativeLibraryLoader"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1bjjgsw4ry9cz8dzsgwx428hn06wms194pqz8nclwrqcwfx7gmxk"; }) + (fetchNuGet { pname = "goaaats.Steamworks"; version = "2.3.4"; sha256 = "1khxkkjvh6af60rxc13bacxn85amdfzr8z0b9a6gfg6m1fnmlkss"; }) (fetchNuGet { pname = "goaaats.Veldrid"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "0b35bn4190hxbvrwsygpbpg00gnrj6crxyk8b0d7ian611v4jj0m"; }) (fetchNuGet { pname = "goaaats.Veldrid.ImageSharp"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1zihi2n9qz18kfkz4qnj3412bfsqvx49809hqkknixdrgn8323i2"; }) (fetchNuGet { pname = "goaaats.Veldrid.MetalBindings"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "13cs5jr8bpkrkzziz8b71l3npr14shxryrpsiw0zm7jcx69vg2qf"; }) @@ -13,13 +13,11 @@ (fetchNuGet { pname = "goaaats.Veldrid.StartupUtilities"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "03r3x9h0fyb07d6d28ny6r5s688m50xc0lgc6zf2cy684kfnvmp5"; }) (fetchNuGet { pname = "ImGui.NET"; version = "1.87.2"; sha256 = "0rv0n18fvz1gbh45crhzn1f8xw8zkc8qyiyj91vajjcry8mq1x7q"; }) (fetchNuGet { pname = "KeySharp"; version = "1.0.5"; sha256 = "1ic10v0a174fw6w89iyg4yzji36bsj15573y676cj5n09n6s75d4"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0ndah9cqkgswhi60wrnni10j1d2hdg8jljij83lk1wbfqbng86jm"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.0.1"; sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.0.1"; sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "6.0.0"; sha256 = "06zy947m5lrbwb684g42ijb07r5jsqycvfnphc6cqfdrfnzqv6k9"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0fjbjh7yxqc9h47ix37y963xi9f9y99jvl26cw3x3kvjlb8x0bgj"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) @@ -169,6 +167,7 @@ (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; }) (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "6.0.0-preview.5.21301.5"; sha256 = "1q3iikvjcfrm5p89p1j7qlw1szvryq680qypk023wgy9phmlwi57"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) From 324aa113e7ea679d11db047914f81724c5dc8c73 Mon Sep 17 00:00:00 2001 From: Alex Martens Date: Sat, 3 Sep 2022 12:46:59 -0700 Subject: [PATCH 18/35] saleae-logic-2: 2.3.58 -> 2.3.59 --- pkgs/development/tools/misc/saleae-logic-2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix index 9203eb622897..142f66f1dea0 100644 --- a/pkgs/development/tools/misc/saleae-logic-2/default.nix +++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix @@ -1,10 +1,10 @@ { lib, fetchurl, makeDesktopItem, appimageTools }: let name = "saleae-logic-2"; - version = "2.3.58"; + version = "2.3.59"; src = fetchurl { url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage"; - sha256 = "sha256-WQa9J+rK71+T2IFUVpPLjkYfHy9GmZ9DZTBo+U4JKfo="; + sha256 = "sha256-jIu/ODVD/x+TjcVSGlOw6/JWESJYDKZQrJGMAix9wTY="; }; desktopItem = makeDesktopItem { inherit name; From a7c2c726fbadac66535cd62bdc94e51aa9099760 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Sat, 3 Sep 2022 21:07:09 -0300 Subject: [PATCH 19/35] kubeone: fix version * Add version test * Add upstream flags --- .../networking/cluster/kubeone/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix index 60fc4847aa56..22e2f4764ac1 100644 --- a/pkgs/applications/networking/cluster/kubeone/default.nix +++ b/pkgs/applications/networking/cluster/kubeone/default.nix @@ -2,6 +2,8 @@ , buildGoModule , fetchFromGitHub , installShellFiles +, kubeone +, testers }: buildGoModule rec { @@ -17,6 +19,12 @@ buildGoModule rec { vendorSha256 = "sha256-w/uLR7wi28Ub7Nouxxg39NlD1OzyIE2oEP4D88Xbwu0="; + ldflags = [ + "-s -w" + "-X k8c.io/kubeone/pkg/cmd.version=${version}" + "-X k8c.io/kubeone/pkg/cmd.date=unknown" + ]; + nativeBuildInputs = [ installShellFiles ]; @@ -27,6 +35,11 @@ buildGoModule rec { --zsh <($out/bin/kubeone completion zsh) ''; + passthru.tests.version = testers.testVersion { + package = kubeone; + command = "kubeone version"; + }; + meta = { description = "Automate cluster operations on all your cloud, on-prem, edge, and IoT environments."; homepage = "https://kubeone.io/"; From d9acf90371863959f67fb555068cdb6cdcded644 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Mon, 29 Aug 2022 09:27:38 +1000 Subject: [PATCH 20/35] last: 1406 -> 1409 --- pkgs/applications/science/biology/last/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix index 031e59619005..f3c145ec7f45 100644 --- a/pkgs/applications/science/biology/last/default.nix +++ b/pkgs/applications/science/biology/last/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "last"; - version = "1406"; + version = "1409"; src = fetchFromGitLab { owner = "mcfrith"; repo = "last"; rev = version; - sha256 = "sha256-N1B9W++4SiMRMUjDi8ZexOWF/HQpN8BBPuDKYh4bCS8="; + sha256 = "sha256-AFK0va1HonSWJdzJLdLraiu4LhUCJFgq6qajbbPmHuY="; }; nativeBuildInputs = [ unzip ]; From ac52fbb3baf3209da40b27629c9ef3be63bdb270 Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Sun, 14 Aug 2022 10:02:46 -0400 Subject: [PATCH 21/35] dolibarr: init at 15.0.3 --- pkgs/servers/web-apps/dolibarr/default.nix | 39 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/servers/web-apps/dolibarr/default.nix diff --git a/pkgs/servers/web-apps/dolibarr/default.nix b/pkgs/servers/web-apps/dolibarr/default.nix new file mode 100644 index 000000000000..b697fb18b116 --- /dev/null +++ b/pkgs/servers/web-apps/dolibarr/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, stateDir ? "/var/lib/dolibarr" }: + +stdenv.mkDerivation rec { + pname = "dolibarr"; + version = "15.0.3"; + + src = fetchFromGitHub { + owner = "Dolibarr"; + repo = "dolibarr"; + rev = version; + sha256 = "sha256-HMOYj93ZvqM0FQjt313yuGj/r9ELqQlnNkg/CxrBjRM="; + }; + + dontBuild = true; + + postPatch = '' + find . -type f -name "*.php" -print0 | xargs -0 sed -i 's|/etc/dolibarr|${stateDir}|g' + + substituteInPlace htdocs/filefunc.inc.php \ + --replace '//$conffile = ' '$conffile = ' \ + --replace '//$conffiletoshow = ' '$conffiletoshow = ' + + substituteInPlace htdocs/install/inc.php \ + --replace '//$conffile = ' '$conffile = ' \ + --replace '//$conffiletoshow = ' '$conffiletoshow = ' + ''; + + installPhase = '' + mkdir -p "$out" + cp -r * $out + ''; + + meta = with lib; { + description = "A enterprise resource planning (ERP) and customer relationship manager (CRM) server"; + homepage = "https://dolibarr.org/"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.raitobezarius ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab743a3ff934..77bdd78ea092 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3578,6 +3578,8 @@ with pkgs; dokuwiki = callPackage ../servers/web-apps/dokuwiki { }; + dolibarr = callPackage ../servers/web-apps/dolibarr { }; + doppler = callPackage ../tools/security/doppler {}; dosage = callPackage ../applications/graphics/dosage { }; From c2563fe47629b32fd3d2505030d6b44ac2f07736 Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Sun, 14 Aug 2022 10:03:42 -0400 Subject: [PATCH 22/35] nixos/dolibarr: init Co-authored: Ryan Lahfa --- .../from_md/release-notes/rl-2211.section.xml | 8 + .../manual/release-notes/rl-2211.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/web-apps/dolibarr.nix | 320 ++++++++++++++++++ nixos/tests/dolibarr.nix | 59 ++++ pkgs/servers/web-apps/dolibarr/default.nix | 4 +- 6 files changed, 393 insertions(+), 1 deletion(-) create mode 100644 nixos/modules/services/web-apps/dolibarr.nix create mode 100644 nixos/tests/dolibarr.nix diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 882eea3c4a4a..e90b5e0e80ef 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -157,6 +157,14 @@ services.schleuder. + + + Dolibarr, + an enterprise resource planning and customer relationship + manager. Enable using + services.dolibarr. + + expressvpn, diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index a2757d67e89c..738a0305809e 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -66,6 +66,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [schleuder](https://schleuder.org/), a mailing list manager with PGP support. Enable using [services.schleuder](#opt-services.schleuder.enable). +- [Dolibarr](https://www.dolibarr.org/), an enterprise resource planning and customer relationship manager. Enable using [services.dolibarr](#opt-services.dolibarr.enable). + - [expressvpn](https://www.expressvpn.com), the CLI client for ExpressVPN. Available as [services.expressvpn](#opt-services.expressvpn.enable). - [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 616f357663ca..0cce885e7fcb 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1056,6 +1056,7 @@ ./services/web-apps/discourse.nix ./services/web-apps/documize.nix ./services/web-apps/dokuwiki.nix + ./services/web-apps/dolibarr.nix ./services/web-apps/engelsystem.nix ./services/web-apps/ethercalc.nix ./services/web-apps/fluidd.nix diff --git a/nixos/modules/services/web-apps/dolibarr.nix b/nixos/modules/services/web-apps/dolibarr.nix new file mode 100644 index 000000000000..2b2e2a6214dc --- /dev/null +++ b/nixos/modules/services/web-apps/dolibarr.nix @@ -0,0 +1,320 @@ +{ config, pkgs, lib, ... }: +let + inherit (lib) any boolToString concatStringsSep isBool isString literalExpression mapAttrsToList mkDefault mkEnableOption mkIf mkOption optionalAttrs types; + + package = pkgs.dolibarr.override { inherit (cfg) stateDir; }; + + cfg = config.services.dolibarr; + vhostCfg = config.services.nginx.virtualHosts."${cfg.domain}"; + + mkConfigFile = filename: settings: + let + # hack in special logic for secrets so we read them from a separate file avoiding the nix store + secretKeys = [ "force_install_databasepass" "dolibarr_main_db_pass" "dolibarr_main_instance_unique_id" ]; + + toStr = k: v: + if (any (str: k == str) secretKeys) then v + else if isString v then "'${v}'" + else if isBool v then boolToString v + else if isNull v then "null" + else toString v + ; + in + pkgs.writeText filename '' + + If left as the default value this user will automatically be created + on system activation, otherwise you are responsible for + ensuring the user exists before the dolibarr application starts. + + ''; + }; + + group = mkOption { + type = types.str; + default = "dolibarr"; + description = '' + Group account under which dolibarr runs. + + + If left as the default value this group will automatically be created + on system activation, otherwise you are responsible for + ensuring the group exists before the dolibarr application starts. + + ''; + }; + + stateDir = mkOption { + type = types.str; + default = "/var/lib/dolibarr"; + description = '' + State and configuration directory dolibarr will use. + ''; + }; + + database = { + host = mkOption { + type = types.str; + default = "localhost"; + description = "Database host address."; + }; + port = mkOption { + type = types.port; + default = 3306; + description = "Database host port."; + }; + name = mkOption { + type = types.str; + default = "dolibarr"; + description = "Database name."; + }; + user = mkOption { + type = types.str; + default = "dolibarr"; + description = "Database username."; + }; + passwordFile = mkOption { + type = with types; nullOr path; + default = null; + example = "/run/keys/dolibarr-dbpassword"; + description = "Database password file."; + }; + createLocally = mkOption { + type = types.bool; + default = true; + description = "Create the database and database user locally."; + }; + }; + + settings = mkOption { + type = with types; (attrsOf (oneOf [ bool int str ])); + default = { }; + description = lib.mdDoc "Dolibarr settings, see for details."; + }; + + nginx = mkOption { + type = types.nullOr (types.submodule ( + lib.recursiveUpdate + (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) + { + # enable encryption by default, + # as sensitive login and Dolibarr (ERP) data should not be transmitted in clear text. + options.forceSSL.default = true; + options.enableACME.default = true; + } + )); + default = null; + example = lib.literalExpression '' + { + serverAliases = [ + "dolibarr.''${config.networking.domain}" + "erp.''${config.networking.domain}" + ]; + enableACME = false; + } + ''; + description = lib.mdDoc '' + With this option, you can customize an nginx virtual host which already has sensible defaults for Dolibarr. + Set to {} if you do not need any customization to the virtual host. + If enabled, then by default, the {option}`serverName` is + `''${domain}`, + SSL is active, and certificates are acquired via ACME. + If this is set to null (the default), no nginx virtualHost will be configured. + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = lib.mdDoc '' + Options for the Dolibarr PHP pool. See the documentation on [`php-fpm.conf`](https://www.php.net/manual/en/install.fpm.configuration.php) + for details on configuration directives. + ''; + }; + }; + + # implementation + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; + message = "services.dolibarr.database.user must match services.dolibarr.user if the database is to be automatically provisioned"; + } + ]; + + services.dolibarr.settings = { + dolibarr_main_url_root = "https://${cfg.domain}"; + dolibarr_main_document_root = "${package}/htdocs"; + dolibarr_main_url_root_alt = "/custom"; + dolibarr_main_data_root = "${cfg.stateDir}/documents"; + + dolibarr_main_db_host = cfg.database.host; + dolibarr_main_db_port = toString cfg.database.port; + dolibarr_main_db_name = cfg.database.name; + dolibarr_main_db_prefix = "llx_"; + dolibarr_main_db_user = cfg.database.user; + dolibarr_main_db_pass = mkIf (cfg.database.passwordFile != null) '' + file_get_contents("${cfg.database.passwordFile}") + ''; + dolibarr_main_db_type = "mysqli"; + dolibarr_main_db_character_set = mkDefault "utf8"; + dolibarr_main_db_collation = mkDefault "utf8_unicode_ci"; + + # Authentication settings + dolibarr_main_authentication = mkDefault "dolibarr"; + + # Security settings + dolibarr_main_prod = true; + dolibarr_main_force_https = vhostCfg.forceSSL; + dolibarr_main_restrict_os_commands = "${pkgs.mariadb}/bin/mysqldump, ${pkgs.mariadb}/bin/mysql"; + dolibarr_nocsrfcheck = false; + dolibarr_main_instance_unique_id = '' + file_get_contents("${cfg.stateDir}/dolibarr_main_instance_unique_id") + ''; + dolibarr_mailing_limit_sendbyweb = false; + }; + + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group}" + "d '${cfg.stateDir}/documents' 0750 ${cfg.user} ${cfg.group}" + "f '${cfg.stateDir}/conf.php' 0660 ${cfg.user} ${cfg.group}" + "L '${cfg.stateDir}/install.forced.php' - ${cfg.user} ${cfg.group} - ${mkConfigFile "install.forced.php" install}" + ]; + + services.mysql = mkIf cfg.database.createLocally { + enable = mkDefault true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + } + ]; + }; + + services.nginx.enable = mkIf (cfg.nginx != null) true; + services.nginx.virtualHosts."${cfg.domain}" = mkIf (cfg.nginx != null) (lib.mkMerge [ + cfg.nginx + ({ + root = lib.mkForce "${package}/htdocs"; + locations."/".index = "index.php"; + locations."~ [^/]\\.php(/|$)" = { + extraConfig = '' + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + fastcgi_pass unix:${config.services.phpfpm.pools.dolibarr.socket}; + ''; + }; + }) + ]); + + systemd.services."phpfpm-dolibarr".after = mkIf cfg.database.createLocally [ "mysql.service" ]; + services.phpfpm.pools.dolibarr = { + inherit (cfg) user group; + phpPackage = pkgs.php.buildEnv { + extensions = { enabled, all }: enabled ++ [ all.calendar ]; + # recommended by dolibarr web application + extraConfig = '' + session.use_strict_mode = 1 + session.cookie_samesite = "Lax" + ; open_basedir = "${package}/htdocs, ${cfg.stateDir}" + allow_url_fopen = 0 + disable_functions = "pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_get_handler, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, pcntl_async_signals" + ''; + }; + + settings = { + "listen.mode" = "0660"; + "listen.owner" = cfg.user; + "listen.group" = cfg.group; + } // cfg.poolConfig; + }; + + # there are several challenges with dolibarr and NixOS which we can address here + # - the dolibarr installer cannot be entirely automated, though it can partially be by including a file called install.forced.php + # - the dolibarr installer requires write access to its config file during installation, though not afterwards + # - the dolibarr config file generally holds secrets generated by the installer, though the config file is a php file so we can read and write these secrets from an external file + systemd.services.dolibarr-config = { + description = "dolibarr configuration file management via NixOS"; + wantedBy = [ "multi-user.target" ]; + + script = '' + # extract the 'main instance unique id' secret that the dolibarr installer generated for us, store it in a file for use by our own NixOS generated configuration file + ${pkgs.php}/bin/php -r "include '${cfg.stateDir}/conf.php'; file_put_contents('${cfg.stateDir}/dolibarr_main_instance_unique_id', \$dolibarr_main_instance_unique_id);" + + # replace configuration file generated by installer with the NixOS generated configuration file + install -m 644 ${mkConfigFile "conf.php" cfg.settings} '${cfg.stateDir}/conf.php' + ''; + + serviceConfig = { + Type = "oneshot"; + User = cfg.user; + Group = cfg.group; + RemainAfterExit = "yes"; + }; + + unitConfig = { + ConditionFileNotEmpty = "${cfg.stateDir}/conf.php"; + }; + }; + + users.users.dolibarr = mkIf (cfg.user == "dolibarr" ) { + isSystemUser = true; + group = cfg.group; + }; + + users.groups = optionalAttrs (cfg.group == "dolibarr") { + dolibarr = { }; + }; + + users.users."${config.services.nginx.group}".extraGroups = [ cfg.group ]; + }; +} diff --git a/nixos/tests/dolibarr.nix b/nixos/tests/dolibarr.nix new file mode 100644 index 000000000000..2f012a0c67da --- /dev/null +++ b/nixos/tests/dolibarr.nix @@ -0,0 +1,59 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "dolibarr"; + meta.maintainers = [ lib.maintainers.raitobezarius ]; + + nodes.machine = + { ... }: + { + services.dolibarr = { + enable = true; + domain = "localhost"; + nginx = { + forceSSL = false; + enableACME = false; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + + testScript = '' + from html.parser import HTMLParser + start_all() + + csrf_token = None + class TokenParser(HTMLParser): + def handle_starttag(self, tag, attrs): + attrs = dict(attrs) # attrs is an assoc list originally + if tag == 'input' and attrs.get('name') == 'token': + csrf_token = attrs.get('value') + print(f'[+] Caught CSRF token: {csrf_token}') + def handle_endtag(self, tag): pass + def handle_data(self, data): pass + + machine.wait_for_unit("phpfpm-dolibarr.service") + machine.wait_for_unit("nginx.service") + machine.wait_for_open_port(80) + # Sanity checks on URLs. + # machine.succeed("curl -fL http://localhost/index.php") + # machine.succeed("curl -fL http://localhost/") + # Perform installation. + machine.succeed('curl -fL -X POST http://localhost/install/check.php -F selectlang=auto') + machine.succeed('curl -fL -X POST http://localhost/install/fileconf.php -F selectlang=auto') + # First time is to write the configuration file correctly. + machine.succeed('curl -fL -X POST http://localhost/install/step1.php -F "testpost=ok" -F "action=set" -F "selectlang=auto"') + # Now, we have a proper conf.php in $stateDir. + assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") + machine.succeed('curl -fL -X POST http://localhost/install/step2.php --data "testpost=ok&action=set&dolibarr_main_db_character_set=utf8&dolibarr_main_db_collation=utf8_unicode_ci&selectlang=auto"') + machine.succeed('curl -fL -X POST http://localhost/install/step4.php --data "testpost=ok&action=set&selectlang=auto"') + machine.succeed('curl -fL -X POST http://localhost/install/step5.php --data "testpost=ok&action=set&login=root&pass=hunter2&pass_verif=hunter2&selectlang=auto"') + # Now, we have installed the machine, let's verify we still have the right configuration. + assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") + # We do not want any redirect now as we have installed the machine. + machine.succeed('curl -f -X POST http://localhost') + # Test authentication to the webservice. + parser = TokenParser() + parser.feed(machine.succeed('curl -f -X GET http://localhost/index.php?mainmenu=login&username=root')) + machine.succeed(f'curl -f -X POST http://localhost/index.php?mainmenu=login&token={csrf_token}&username=root&password=hunter2') + ''; +}) diff --git a/pkgs/servers/web-apps/dolibarr/default.nix b/pkgs/servers/web-apps/dolibarr/default.nix index b697fb18b116..5c4256155ddc 100644 --- a/pkgs/servers/web-apps/dolibarr/default.nix +++ b/pkgs/servers/web-apps/dolibarr/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, stateDir ? "/var/lib/dolibarr" }: +{ stdenv, lib, fetchFromGitHub, nixosTests, stateDir ? "/var/lib/dolibarr" }: stdenv.mkDerivation rec { pname = "dolibarr"; @@ -30,6 +30,8 @@ stdenv.mkDerivation rec { cp -r * $out ''; + passthru.tests = { inherit (nixosTests) dolibarr; }; + meta = with lib; { description = "A enterprise resource planning (ERP) and customer relationship manager (CRM) server"; homepage = "https://dolibarr.org/"; From 40f7da2e5ecd64e93b5607ea1691d74c2141e508 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sun, 4 Sep 2022 06:28:42 +0200 Subject: [PATCH 23/35] mumble,murmur: 1.4.231 -> 1.4.274 Signed-off-by: Felix Singer --- pkgs/applications/networking/mumble/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix index 1604188773d1..d3a02cacfb60 100644 --- a/pkgs/applications/networking/mumble/default.nix +++ b/pkgs/applications/networking/mumble/default.nix @@ -98,14 +98,14 @@ let } source; source = rec { - version = "unstable-1.4.231"; + version = "1.4.274"; # Needs submodules src = fetchFromGitHub { owner = "mumble-voip"; repo = "mumble"; - rev = "9e0e274d6a9d8a9919267e747d05d0500d150560"; - sha256 = "0whvb4nlf7gjf2v7wsaq0ir18mshhw5wi8c9q9qz43wnh42nn2qi"; + rev = "cc73c7679b08158f91b02272efbb0e3e5dd9c9e4"; + sha256 = "sha256-QXczSLDhWLE4CDvBJ7NtqfL52bZJDisFo04AMHnMuN8="; fetchSubmodules = true; }; }; From 28f79f415c29a19b20b18c275a2fb6e24d2b5ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Pitucha?= Date: Sun, 4 Sep 2022 14:30:10 +1000 Subject: [PATCH 24/35] vapoursynth: comment with darwin fix attempt --- pkgs/development/libraries/vapoursynth/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix index b0f8f5edd30b..7c7987478b80 100644 --- a/pkgs/development/libraries/vapoursynth/default.nix +++ b/pkgs/development/libraries/vapoursynth/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - broken = stdenv.isDarwin; + broken = stdenv.isDarwin; # see https://github.com/NixOS/nixpkgs/pull/189446 for partial fix description = "A video processing framework with the future in mind"; homepage = "http://www.vapoursynth.com/"; license = licenses.lgpl21; From 97a8e05ae5d28b98478187391937ed837a829c46 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 2 Sep 2022 20:00:23 +0000 Subject: [PATCH 25/35] nixos/no-x-libs: realphabetize This list was very nearly alphabetized, so let's restore the order before it gets out of hand. --- nixos/modules/config/no-x-libs.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 42e68c2eadc1..a11bd8ad9086 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -27,9 +27,10 @@ with lib; fonts.fontconfig.enable = false; nixpkgs.overlays = singleton (const (super: { + beam = super.beam_nox; cairo = super.cairo.override { x11Support = false; }; dbus = super.dbus.override { x11Support = false; }; - beam = super.beam_nox; + gobject-introspection = super.gobject-introspection.override { x11Support = false; }; networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; }; networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; }; networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; }; @@ -37,7 +38,6 @@ with lib; networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; }; networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; }; networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; - gobject-introspection = super.gobject-introspection.override { x11Support = false; }; qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; }; })); }; From 46b6619cb39e7e4d68c61aab724157ba27a8f94d Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 2 Sep 2022 20:02:48 +0000 Subject: [PATCH 26/35] nixos/no-x-libs: use libva-minimal The primary difference between the standard and minimal variants of this package is that all the X libraries are removed from the minimal variant. I had to switch the order of the definitions in all-packages.nix to avoid an infinite recursion after the overlay was applied. --- nixos/modules/config/no-x-libs.nix | 1 + pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index a11bd8ad9086..96bec4f8d2eb 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -31,6 +31,7 @@ with lib; cairo = super.cairo.override { x11Support = false; }; dbus = super.dbus.override { x11Support = false; }; gobject-introspection = super.gobject-introspection.override { x11Support = false; }; + libva = super.libva-minimal; networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; }; networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; }; networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e934b4e32a80..7edd4ed6a686 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20160,8 +20160,8 @@ with pkgs; withUtils = false; }); - libva = callPackage ../development/libraries/libva { }; - libva-minimal = libva.override { minimal = true; }; + libva-minimal = callPackage ../development/libraries/libva { minimal = true; }; + libva = libva-minimal.override { minimal = false; }; libva-utils = callPackage ../development/libraries/libva/utils.nix { }; libva1 = callPackage ../development/libraries/libva/1.nix { }; From 16591184b42917969cf1d03afba950dbc571d1cb Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 2 Sep 2022 20:18:38 +0000 Subject: [PATCH 27/35] nixos/no-x-libs: remove X libs from ffmpeg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prior to this change, ffmpeg couldn't be built for an environment.noXlibs system, because it would fail in: ffmpeg → SDL2 → libdecor ffmpeg certainly does not need support for SDL2 windowing on a noXlibs system. This fix is important because the minidlna NixOS test, which uses the minimal profile (and therefore environment.noXlibs) and ffmpeg, can't currently build. --- nixos/modules/config/no-x-libs.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 96bec4f8d2eb..946c9bf38c47 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -30,6 +30,8 @@ with lib; beam = super.beam_nox; cairo = super.cairo.override { x11Support = false; }; dbus = super.dbus.override { x11Support = false; }; + ffmpeg_4 = super.ffmpeg_4.override { sdlSupport = false; vdpauSupport = false; }; + ffmpeg_5 = super.ffmpeg_5.override { sdlSupport = false; vdpauSupport = false; }; gobject-introspection = super.gobject-introspection.override { x11Support = false; }; libva = super.libva-minimal; networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; }; From 16013ac6c48392135ce59e629e78b56a8f4e09b0 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Tue, 16 Aug 2022 12:10:16 +0200 Subject: [PATCH 28/35] dataexplorer: init at 3.6.2 --- .../electronics/dataexplorer/default.nix | 67 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 69 insertions(+) create mode 100644 pkgs/applications/science/electronics/dataexplorer/default.nix diff --git a/pkgs/applications/science/electronics/dataexplorer/default.nix b/pkgs/applications/science/electronics/dataexplorer/default.nix new file mode 100644 index 000000000000..5745a43df26c --- /dev/null +++ b/pkgs/applications/science/electronics/dataexplorer/default.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, fetchurl +, jdk +, jre +, ant +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "dataexplorer"; + version = "3.6.2"; + + src = fetchurl { + url = "mirror://savannah/dataexplorer/dataexplorer-${version}-src.tar.gz"; + sha256 = "sha256-2e8qeoJh7z/RIowMtAd8PGcMPck5H8iHqel6bW7EQ0E="; + }; + + nativeBuildInputs = [ ant makeWrapper ]; + + buildInputs = [ jdk ]; + + buildPhase = '' + ant -f build/build.xml dist + ''; + + doCheck = false; + # Missing dependencies (e.g. junit). Does not work. + #checkPhase = '' + # ant -f build/build.xml check + #''; + + installPhase = '' + ant -Dprefix=$out/share/ -f build/build.xml install + + # The sources contain a wrapper script in $out/share/DataExplorer/DataExplorer + # but it hardcodes bash shebang and does not pin the java path. + # So we create our own wrapper, using similar cmdline args as upstream. + mkdir -p $out/bin + makeWrapper ${jre}/bin/java $out/bin/DataExplorer \ + --add-flags "-Dfile.encoding=UTF-8 -Xms64m -Xmx3092m -jar $out/share/DataExplorer/DataExplorer.jar" \ + --set SWT_GTK3 0 + + makeWrapper ${jre}/bin/java $out/bin/DevicePropertiesEditor \ + --add-flags "-Dfile.encoding=UTF-8 -Xms32m -Xmx512m -classpath $out/share/DataExplorer/DataExplorer.jar gde.ui.dialog.edit.DevicePropertiesEditor" \ + --set SWT_GTK3 0 \ + --set LIBOVERLAY_SCROLLBAR 0 + + install -Dvm644 build/misc/GNU_LINUX_JUNSI_ICHARER_DUO_UDEV_RULE/50-Junsi-iCharger-DUO.rules \ + $out/etc/udev/rules.d/50-Junsi-iCharger-DUO.rules + install -Dvm644 build/misc/GNU_LINUX_SKYRC_UDEV_RULE/50-SkyRC-Charger.rules \ + $out/etc/udev/rules.d/50-SkyRC-Charger.rules + ''; + + meta = with lib; { + description = "Graphical tool to analyze data, gathered from various hardware devices"; + homepage = "https://www.nongnu.org/dataexplorer/index.html"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ panicgh ]; + platforms = jdk.meta.platforms; + sourceProvenance = with sourceTypes; [ + fromSource + binaryNativeCode # contains RXTXcomm (JNI library with *.so files) + binaryBytecode # contains thirdparty jar files, e.g. javax.json, org.glassfish.json + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cea0fd514050..b9151ac4cfb4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34541,6 +34541,8 @@ with pkgs; csxcad = callPackage ../applications/science/electronics/csxcad { }; + dataexplorer = callPackage ../applications/science/electronics/dataexplorer { }; + diylc = callPackage ../applications/science/electronics/diylc { }; flatcam = callPackage ../applications/science/electronics/flatcam { }; From 88441f3e44d3ed8c2425a3259be546d2e5fc283a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 4 Sep 2022 08:29:44 +0000 Subject: [PATCH 29/35] unstableGitUpdater: fix inaccurate comments It used to use src.url, but when that was changed the comments weren't updated. Fixes: 7aae279ad9a ("unstableGitUpdater: fix updating fetchzip-based sources") --- pkgs/common-updater/unstable-updater.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix index 2be065f410e7..f8944222a8d5 100644 --- a/pkgs/common-updater/unstable-updater.nix +++ b/pkgs/common-updater/unstable-updater.nix @@ -8,7 +8,7 @@ # This is an updater for unstable packages that should always use the latest # commit. -{ url ? null # The git url, if empty it will be set to src.url +{ url ? null # The git url, if empty it will be set to src.gitRepoUrl , branch ? null , stableVersion ? false # Use version format according to RFC 107 (i.e. LAST_TAG+date=YYYY-MM-DD) , tagPrefix ? "" # strip this prefix from a tag name when using stable version @@ -46,7 +46,7 @@ let esac done - # By default we set url to src.url + # By default we set url to src.gitRepoUrl if [[ -z "$url" ]]; then url="$(${nix}/bin/nix-instantiate $systemArg --eval -E \ "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.gitRepoUrl" \ From ce609256fbada1969c5b9e499b2b233d49afc0ee Mon Sep 17 00:00:00 2001 From: bb2020 Date: Tue, 2 Aug 2022 00:26:23 +0300 Subject: [PATCH 30/35] nixos/minidlna: update documentation --- .../modules/services/networking/minidlna.nix | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix index 0cac41f58da3..549f1fe5de30 100644 --- a/nixos/modules/services/networking/minidlna.nix +++ b/nixos/modules/services/networking/minidlna.nix @@ -1,6 +1,5 @@ # Module for MiniDLNA, a simple DLNA server. { config, lib, pkgs, ... }: - with lib; let @@ -34,8 +33,7 @@ in default = {}; description = lib.mdDoc '' The contents of MiniDLNA's configuration file. - When the service is activated, a basic template is generated - from the current options opened here. + When the service is activated, a basic template is generated from the current options opened here. ''; type = types.submodule { freeformType = settingsFormat.type; @@ -46,10 +44,8 @@ in example = [ "/data/media" "V,/home/alice/video" ]; description = lib.mdDoc '' Directories to be scanned for media files. - The prefixes `A,`,`V,` and - `P,` restrict a directory to audio, video - or image files. The directories must be accessible to the - `minidlna` user account. + The `A,` `V,` `P,` prefixes restrict a directory to audio, video or image files. + The directories must be accessible to the `minidlna` user account. ''; }; options.notify_interval = mkOption { @@ -57,18 +53,11 @@ in default = 90000; description = lib.mdDoc '' The interval between announces (in seconds). - Instead of waiting on announces, one can open port UDP 1900 or - set `openFirewall` option to use SSDP discovery. - Furthermore announce interval has now been set as 90000 in order - to prevent disconnects with certain clients and to rely solely - on the SSDP method. - - Lower values (e.g. 60 seconds) should be used if one does not - want to utilize SSDP. By default miniDLNA will announce its - presence on the network approximately every 15 minutes. Many - people prefer shorter announce intervals on their home networks, - especially when DLNA clients are started on demand. + Instead of waiting for announces, you should set `openFirewall` option to use SSDP discovery. + Furthermore, this option has been set to 90000 in order to prevent disconnects with certain + clients and relies solely on the discovery. + Lower values (e.g. 30 seconds) should be used if you can't use the discovery. Some relevant information can be found here: https://sourceforge.net/p/minidlna/discussion/879957/thread/1389d197/ ''; @@ -86,7 +75,7 @@ in }; options.friendly_name = mkOption { type = types.str; - default = "${config.networking.hostName} MiniDLNA"; + default = config.networking.hostName; defaultText = literalExpression "config.networking.hostName"; example = "rpi3"; description = lib.mdDoc "Name that the DLNA server presents to clients."; @@ -116,7 +105,7 @@ in options.wide_links = mkOption { type = types.enum [ "yes" "no" ]; default = "no"; - description = lib.mdDoc "Set this to yes to allow symlinks that point outside user-defined media_dirs."; + description = lib.mdDoc "Set this to yes to allow symlinks that point outside user-defined `media_dir`."; }; }; }; From ccd367ae4fcaa65975a140482fa411ffbf85cbe3 Mon Sep 17 00:00:00 2001 From: bb2020 Date: Fri, 2 Sep 2022 22:40:45 +0300 Subject: [PATCH 31/35] nixos/minidlna: fix tests --- nixos/tests/minidlna.nix | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/nixos/tests/minidlna.nix b/nixos/tests/minidlna.nix index 76039b0bb42c..32721819634e 100644 --- a/nixos/tests/minidlna.nix +++ b/nixos/tests/minidlna.nix @@ -6,25 +6,24 @@ import ./make-test-python.nix ({ pkgs, ... }: { { ... }: { imports = [ ../modules/profiles/minimal.nix ]; - networking.firewall.allowedTCPPorts = [ 8200 ]; - services.minidlna = { - enable = true; - loglevel = "error"; - mediaDirs = [ - "PV,/tmp/stuff" + services.minidlna.enable = true; + services.minidlna.openFirewall = true; + services.minidlna.settings = { + log_level = "error"; + media_dir = [ + "PV,/tmp/stuff" + ]; + friendly_name = "rpi3"; + root_container = "B"; + notify_interval = 60; + album_art_names = [ + "Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg" + "AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg" + "Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg" ]; - friendlyName = "rpi3"; - rootContainer = "B"; - extraConfig = - '' - album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg - album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg - album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg - notify_interval=60 - ''; }; }; - client = { ... }: { }; + client = { ... }: { }; }; testScript = From ba843121ab69f068b42b97bc29694a61bf7614fa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 4 Sep 2022 09:18:39 +0000 Subject: [PATCH 32/35] fcitx5-lua: 5.0.9 -> 5.0.10 --- pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix index f367ccd7a935..4f76a1e770a7 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "fcitx5-lua"; - version = "5.0.9"; + version = "5.0.10"; src = fetchFromGitHub { owner = "fcitx"; repo = pname; rev = version; - sha256 = "sha256-XeRMPbatXUudxo1EICL7z8V3slxkzo27f+D4xLjRtU4="; + sha256 = "sha256-0ESgQv8kyc+zv/tDZtBZ+QhFFswD80ApwswFlJs8tOU="; }; nativeBuildInputs = [ From f4a7022c853ecc453a91f87431039306047b86da Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 4 Sep 2022 09:22:36 +0000 Subject: [PATCH 33/35] libsForQt5.fcitx5-qt: 5.0.14 -> 5.0.15 --- pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix index 79a0e7310336..0b0b3cad39d4 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix @@ -13,13 +13,13 @@ mkDerivation rec { pname = "fcitx5-qt"; - version = "5.0.14"; + version = "5.0.15"; src = fetchFromGitHub { owner = "fcitx"; repo = pname; rev = version; - sha256 = "sha256-LmE6HgNLoJmgJtJmubAIjFi8Xpnmw3hgqJh6HUcakzg="; + sha256 = "sha256-yQFYol4rEXmQBJWoc96yWJkJc3RVP6U964tdJdkGelU="; }; preConfigure = '' From db48e5175ffdbd77dc671a13a9bb1b4acca965aa Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sun, 28 Aug 2022 02:04:25 +0200 Subject: [PATCH 34/35] cppreference-doc: init at 2022.07.30 --- .../misc/cppreference-doc/default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/misc/cppreference-doc/default.nix diff --git a/pkgs/development/misc/cppreference-doc/default.nix b/pkgs/development/misc/cppreference-doc/default.nix new file mode 100644 index 000000000000..690ceb4276f0 --- /dev/null +++ b/pkgs/development/misc/cppreference-doc/default.nix @@ -0,0 +1,31 @@ +{ lib, fetchzip }: + +let + pname = "cppreference-doc"; + version = "2022.07.30"; + ver = builtins.replaceStrings ["."] [""] version; + +in fetchzip { + name = pname + "-" + version; + + url = "https://github.com/PeterFeicht/${pname}/releases/download/v${ver}/html-book-${ver}.tar.xz"; + sha256 = "sha256-gsYNpdxbWnmwcC9IJV1g+e0/s4Hoo5ig1MGoYPIHspw="; + + stripRoot = false; + + postFetch = '' + rm $out/cppreference-doxygen-local.tag.xml $out/cppreference-doxygen-web.tag.xml + mkdir -p $out/share/cppreference/doc + mv $out/reference $out/share/cppreference/doc/html + ''; + + passthru = { inherit pname version; }; + + meta = with lib; { + description = "C++ standard library reference"; + homepage = "https://en.cppreference.com"; + license = licenses.cc-by-sa-30; + maintainers = with maintainers; [ panicgh ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cd67e676fbb7..cf34c2ca3b36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15360,6 +15360,8 @@ with pkgs; avr8burnomat = callPackage ../development/misc/avr8-burn-omat { }; + cppreference-doc = callPackage ../development/misc/cppreference-doc { }; + sourceFromHead = callPackage ../build-support/source-from-head-fun.nix {}; jruby = callPackage ../development/interpreters/jruby { }; From 2dd6b94234392d685c5d66b9ed13e51c235654e6 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Fri, 2 Sep 2022 10:18:02 +0300 Subject: [PATCH 35/35] =?UTF-8?q?libspatialindex:=201.8.5=20=E2=86=92=201.?= =?UTF-8?q?9.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../libraries/libspatialindex/default.nix | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/libspatialindex/default.nix b/pkgs/development/libraries/libspatialindex/default.nix index 2081650f90a9..455d42c3bb45 100644 --- a/pkgs/development/libraries/libspatialindex/default.nix +++ b/pkgs/development/libraries/libspatialindex/default.nix @@ -1,20 +1,37 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libspatialindex"; - version = "1.8.5"; + version = "1.9.3"; - src = fetchurl { - url = "https://download.osgeo.org/libspatialindex/spatialindex-src-${version}.tar.gz"; - sha256 = "1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw"; + src = fetchFromGitHub { + owner = "libspatialindex"; + repo = "libspatialindex"; + rev = finalAttrs.version; + hash = "sha256-zsvS0IkCXyuNLCQpccKdAsFKoq0l+y66ifXlTHLNTkc="; }; - enableParallelBuilding = true; + patches = [ + # Allow building static libs + (fetchpatch { + name = "fix-static-lib-build.patch"; + url = "https://github.com/libspatialindex/libspatialindex/commit/caee28d84685071da3ff3a4ea57ff0b6ae64fc87.patch"; + hash = "sha256-nvTW/t9tw1ZLeycJY8nj7rQgZogxQb765Ca2b9NDvRo="; + }) + ]; - meta = { + nativeBuildInputs = [ cmake ]; + + cmakeFlags = [ + "-DSIDX_BUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}" + ]; + + doCheck = true; + + meta = with lib; { description = "Extensible spatial index library in C++"; - homepage = "http://libspatialindex.github.io/"; - license = lib.licenses.mit; - platforms = lib.platforms.unix; + homepage = "https://libspatialindex.org"; + license = licenses.mit; + platforms = platforms.unix; }; -} +})