From 8224ddeae18dce3dae92ccc0daaa082f8085b4bc Mon Sep 17 00:00:00 2001 From: genesis Date: Thu, 20 Apr 2023 00:55:58 +0200 Subject: [PATCH 001/147] nixos/jitsi-meet: updated prosody config --- .../modules/services/web-apps/jitsi-meet.nix | 109 +++++++++++++++--- 1 file changed, 96 insertions(+), 13 deletions(-) diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix index 3825b03c2449..d1288aaba27c 100644 --- a/nixos/modules/services/web-apps/jitsi-meet.nix +++ b/nixos/modules/services/web-apps/jitsi-meet.nix @@ -192,41 +192,117 @@ in roomLocking = false; roomDefaultPublicJids = true; extraConfig = '' + restrict_room_creation = true storage = "memory" + admins = { "focus@auth.${cfg.hostName}" } ''; } { - domain = "internal.${cfg.hostName}"; + domain = "breakout.${cfg.hostName}"; + name = "Jitsi Meet Breakout MUC"; + roomLocking = false; + roomDefaultPublicJids = true; + extraConfig = '' + restrict_room_creation = true + storage = "memory" + admins = { "focus@auth.${cfg.hostName}" } + ''; + } + { + domain = "internal.auth.${cfg.hostName}"; name = "Jitsi Meet Videobridge MUC"; + roomLocking = false; + roomDefaultPublicJids = true; extraConfig = '' storage = "memory" admins = { "focus@auth.${cfg.hostName}", "jvb@auth.${cfg.hostName}" } ''; #-- muc_room_cache_size = 1000 } + { + domain = "lobby.${cfg.hostName}"; + name = "Jitsi Meet Lobby MUC"; + roomLocking = false; + roomDefaultPublicJids = true; + extraConfig = '' + restrict_room_creation = true + storage = "memory" + ''; + } + ]; + extraModules = [ + "pubsub" + "smacks" + "speakerstats" + "external_services" + "conference_duration" + "end_conference" + "muc_lobby_rooms" + "muc_breakout_rooms" + "av_moderation" + "muc_hide_all" + "muc_meeting_id" + "muc_domain_mapper" + "muc_rate_limit" + "limits_exception" + "persistent_lobby" ]; - extraModules = [ "pubsub" "smacks" ]; extraPluginPaths = [ "${pkgs.jitsi-meet-prosody}/share/prosody-plugins" ]; - extraConfig = lib.mkMerge [ (mkAfter '' - Component "focus.${cfg.hostName}" "client_proxy" - target_address = "focus@auth.${cfg.hostName}" + extraConfig = lib.mkMerge [ + (mkAfter '' + Component "focus.${cfg.hostName}" "client_proxy" + target_address = "focus@auth.${cfg.hostName}" + + Component "speakerstats.${cfg.hostName}" "speakerstats_component" + muc_component = "conference.${cfg.hostName}" + + Component "conferenceduration.${cfg.hostName}" "conference_duration_component" + muc_component = "conference.${cfg.hostName}" + + Component "endconference.${cfg.hostName}" "end_conference" + muc_component = "conference.${cfg.hostName}" + + Component "avmoderation.${cfg.hostName}" "av_moderation_component" + muc_component = "conference.${cfg.hostName}" + + Component "metadata.${cfg.hostName}" "room_metadata_component" + muc_component = "conference.${cfg.hostName}" + breakout_rooms_component = "breakout.${cfg.hostName}" '') (mkBefore '' + muc_mapper_domain_base = "${cfg.hostName}" + cross_domain_websocket = true; consider_websocket_secure = true; + + unlimited_jids = { + "focus@auth.${cfg.hostName}", + "jvb@auth.${cfg.hostName}" + } '') ]; virtualHosts.${cfg.hostName} = { enabled = true; domain = cfg.hostName; extraConfig = '' - authentication = "anonymous" + authentication = "jitsi-anonymous" c2s_require_encryption = false admins = { "focus@auth.${cfg.hostName}" } smacks_max_unacked_stanzas = 5 smacks_hibernation_time = 60 smacks_max_hibernated_sessions = 1 smacks_max_old_sessions = 1 + + av_moderation_component = "avmoderation.${cfg.hostName}" + speakerstats_component = "speakerstats.${cfg.hostName}" + conference_duration_component = "conferenceduration.${cfg.hostName}" + end_conference_component = "endconference.${cfg.hostName}" + + c2s_require_encryption = false + lobby_muc = "lobby.${cfg.hostName}" + breakout_rooms_muc = "breakout.${cfg.hostName}" + room_metadata_component = "metadata.${cfg.hostName}" + main_muc = "conference.${cfg.hostName}" ''; ssl = { cert = "/var/lib/jitsi-meet/jitsi-meet.crt"; @@ -237,7 +313,7 @@ in enabled = true; domain = "auth.${cfg.hostName}"; extraConfig = '' - authentication = "internal_plain" + authentication = "internal_hashed" ''; ssl = { cert = "/var/lib/jitsi-meet/jitsi-meet.crt"; @@ -270,7 +346,7 @@ in reloadIfChanged = true; }; - users.groups.jitsi-meet = {}; + users.groups.jitsi-meet = { }; systemd.tmpfiles.rules = [ "d '/var/lib/jitsi-meet' 0750 root jitsi-meet - -" ]; @@ -345,6 +421,13 @@ in locations."=/external_api.js" = mkDefault { alias = "${pkgs.jitsi-meet}/libs/external_api.min.js"; }; + locations."=/_api/room-info" = { + proxyPass = "http://localhost:5280/room-info"; + extraConfig = '' + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + ''; + }; locations."=/config.js" = mkDefault { alias = overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) cfg.extraConfig; }; @@ -359,7 +442,7 @@ in virtualHosts.${cfg.hostName} = { extraConfig = let - templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" {} '' + templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" { } '' cp -R ${pkgs.jitsi-meet}/* . for file in *.html **/*.html ; do ${pkgs.sd}/bin/sd '' '{{ include "$1" }}' $file @@ -396,7 +479,7 @@ in userName = "jvb"; domain = "auth.${cfg.hostName}"; passwordFile = "/var/lib/jitsi-meet/videobridge-secret"; - mucJids = "jvbbrewery@internal.${cfg.hostName}"; + mucJids = "jvbbrewery@internal.auth.${cfg.hostName}"; disableCertificateVerification = true; }; }; @@ -409,14 +492,14 @@ in userName = "focus"; userPasswordFile = "/var/lib/jitsi-meet/jicofo-user-secret"; componentPasswordFile = "/var/lib/jitsi-meet/jicofo-component-secret"; - bridgeMuc = "jvbbrewery@internal.${cfg.hostName}"; + bridgeMuc = "jvbbrewery@internal.auth.${cfg.hostName}"; config = mkMerge [{ jicofo.xmpp.service.disable-certificate-verification = true; jicofo.xmpp.client.disable-certificate-verification = true; #} (lib.mkIf cfg.jibri.enable { } (lib.mkIf (config.services.jibri.enable || cfg.jibri.enable) { jicofo.jibri = { - brewery-jid = "JibriBrewery@internal.${cfg.hostName}"; + brewery-jid = "JibriBrewery@internal.auth.${cfg.hostName}"; pending-timeout = "90"; }; })]; @@ -430,7 +513,7 @@ in xmppDomain = cfg.hostName; control.muc = { - domain = "internal.${cfg.hostName}"; + domain = "internal.auth.${cfg.hostName}"; roomName = "JibriBrewery"; nickname = "jibri"; }; From 2465ddb85b90d1f06e888dcc3473aeaae13cbd5f Mon Sep 17 00:00:00 2001 From: genesis Date: Sat, 22 Apr 2023 10:17:12 +0200 Subject: [PATCH 002/147] jitsi-excalidraw: init at x17 --- pkgs/servers/jitsi-excalidraw/default.nix | 40 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 42 insertions(+) create mode 100644 pkgs/servers/jitsi-excalidraw/default.nix diff --git a/pkgs/servers/jitsi-excalidraw/default.nix b/pkgs/servers/jitsi-excalidraw/default.nix new file mode 100644 index 000000000000..bb8bb6c2dfa7 --- /dev/null +++ b/pkgs/servers/jitsi-excalidraw/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +, nodejs +, python3 +}: + +buildNpmPackage rec { + pname = "jitsi-excalidraw-backend"; + version = "17"; + + src = fetchFromGitHub { + owner = "jitsi"; + repo = "excalidraw-backend"; + rev = "x${version}"; + hash = "sha256-aQePkVA8KRL06VewiD0ePRpj88pAItcV7B2SBnRRtCs="; + }; + + npmDepsHash = "sha256-BJqjaqTeg5i+ECGMuiBYVToK2i2XCOVP9yeDFz6nP4k="; + + nativeBuildInputs = [ python3 ]; + + installPhase = '' + mkdir -p $out/share + cp -r {node_modules,dist} $out/share + ''; + + postFixup = '' + makeWrapper ${nodejs}/bin/node $out/bin/jitsi-excalidraw-backend \ + --add-flags dist/index.js \ + --chdir $out/share + ''; + + meta = with lib; { + description = "Excalidraw collaboration backend for Jitsi"; + homepage = "https://github.com/jitsi/excalidraw-backend"; + license = licenses.mit; + maintainers = with maintainers; [ camillemndn ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89d0a2fae172..db22eec29659 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25149,6 +25149,8 @@ with pkgs; jicofo = callPackage ../servers/jicofo { }; + jitsi-excalidraw = callPackage ../servers/jitsi-excalidraw { }; + jitsi-meet = callPackage ../servers/web-apps/jitsi-meet { }; jitsi-meet-prosody = callPackage ../misc/jitsi-meet-prosody { }; From 84ab09c3b12ce4691b8ab5a2c48b8a8801f1d72a Mon Sep 17 00:00:00 2001 From: genesis Date: Sat, 22 Apr 2023 10:18:28 +0200 Subject: [PATCH 003/147] nixos/jitsi-meet: support Excalidraw whiteboard --- .../modules/services/web-apps/jitsi-meet.nix | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix index d1288aaba27c..6f60b9d057ad 100644 --- a/nixos/modules/services/web-apps/jitsi-meet.nix +++ b/nixos/modules/services/web-apps/jitsi-meet.nix @@ -169,6 +169,13 @@ in off if you want to configure it manually. ''; }; + + excalidraw.enable = mkEnableOption (lib.mdDoc "Excalidraw collaboration backend for Jitsi"); + excalidraw.port = mkOption { + type = types.port; + default = 3002; + description = lib.mdDoc ''The port which the Excalidraw backend for Jitsi should listen to.''; + }; }; config = mkIf cfg.enable { @@ -246,6 +253,7 @@ in "muc_rate_limit" "limits_exception" "persistent_lobby" + "room_metadata" ]; extraPluginPaths = [ "${pkgs.jitsi-meet-prosody}/share/prosody-plugins" ]; extraConfig = lib.mkMerge [ @@ -393,6 +401,20 @@ in ''; }; + systemd.services.jitsi-excalidraw = mkIf cfg.excalidraw.enable { + description = "Excalidraw collaboration backend for Jitsi"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment.PORT = toString cfg.excalidraw.port; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.jitsi-excalidraw}/bin/jitsi-excalidraw-backend"; + Restart = "on-failure"; + Group = "jitsi-meet"; + }; + }; + services.nginx = mkIf cfg.nginx.enable { enable = mkDefault true; virtualHosts.${cfg.hostName} = { @@ -434,6 +456,10 @@ in locations."=/interface_config.js" = mkDefault { alias = overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig ""; }; + locations."/socket.io/" = mkIf cfg.excalidraw.enable { + proxyPass = "http://127.0.0.1:${toString cfg.excalidraw.port}"; + proxyWebsockets = true; + }; }; }; @@ -473,6 +499,13 @@ in }; }; + services.jitsi-meet.config = mkIf cfg.excalidraw.enable { + whiteboard = { + enabled = true; + collabServerBaseUrl = "https://${cfg.hostName}"; + }; + }; + services.jitsi-videobridge = mkIf cfg.videobridge.enable { enable = true; xmppConfigs."localhost" = { From 1f438f858fea2cb895c337ff22e5d9c199e31176 Mon Sep 17 00:00:00 2001 From: genesis Date: Sat, 22 Apr 2023 10:39:02 +0200 Subject: [PATCH 004/147] nixos/jitsi-meet: support secure domain setup --- .../modules/services/web-apps/jitsi-meet.nix | 52 ++++++++++++++----- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix index 6f60b9d057ad..f2cfdf10fc77 100644 --- a/nixos/modules/services/web-apps/jitsi-meet.nix +++ b/nixos/modules/services/web-apps/jitsi-meet.nix @@ -176,6 +176,8 @@ in default = 3002; description = lib.mdDoc ''The port which the Excalidraw backend for Jitsi should listen to.''; }; + + secureDomain.enable = mkEnableOption (lib.mdDoc "Authenticated room creation"); }; config = mkIf cfg.enable { @@ -293,7 +295,7 @@ in enabled = true; domain = cfg.hostName; extraConfig = '' - authentication = "jitsi-anonymous" + authentication = ${if cfg.secureDomain.enable then "\"internal_hashed\"" else "\"jitsi-anonymous\""} c2s_require_encryption = false admins = { "focus@auth.${cfg.hostName}" } smacks_max_unacked_stanzas = 5 @@ -336,6 +338,14 @@ in c2s_require_encryption = false ''; }; + virtualHosts."guest.${cfg.hostName}" = { + enabled = true; + domain = "guest.${cfg.hostName}"; + extraConfig = '' + authentication = "anonymous" + c2s_require_encryption = false + ''; + }; }; systemd.services.prosody = mkIf cfg.prosody.enable { preStart = let @@ -499,12 +509,16 @@ in }; }; - services.jitsi-meet.config = mkIf cfg.excalidraw.enable { - whiteboard = { - enabled = true; - collabServerBaseUrl = "https://${cfg.hostName}"; - }; - }; + services.jitsi-meet.config = recursiveUpdate + (mkIf cfg.excalidraw.enable { + whiteboard = { + enabled = true; + collabServerBaseUrl = "https://${cfg.hostName}"; + }; + }) + (mkIf cfg.secureDomain.enable { + hosts.anonymousdomain = "guest.${cfg.hostName}"; + }); services.jitsi-videobridge = mkIf cfg.videobridge.enable { enable = true; @@ -529,13 +543,23 @@ in config = mkMerge [{ jicofo.xmpp.service.disable-certificate-verification = true; jicofo.xmpp.client.disable-certificate-verification = true; - #} (lib.mkIf cfg.jibri.enable { - } (lib.mkIf (config.services.jibri.enable || cfg.jibri.enable) { - jicofo.jibri = { - brewery-jid = "JibriBrewery@internal.auth.${cfg.hostName}"; - pending-timeout = "90"; - }; - })]; + } + (lib.mkIf (config.services.jibri.enable || cfg.jibri.enable) { + jicofo.jibri = { + brewery-jid = "JibriBrewery@internal.auth.${cfg.hostName}"; + pending-timeout = "90"; + }; + }) + (lib.mkIf cfg.secureDomain.enable { + jicofo = { + authentication = { + enabled = "true"; + type = "XMPP"; + login-url = cfg.hostName; + }; + xmpp.client.client-proxy = "focus.${cfg.hostName}"; + }; + })]; }; services.jibri = mkIf cfg.jibri.enable { From a2892da42543158821251dc87392fab07a6df17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo?= Date: Wed, 1 Nov 2023 20:40:10 -0300 Subject: [PATCH 005/147] onestepback: 0.991 -> 0.994 --- pkgs/data/themes/onestepback/default.nix | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pkgs/data/themes/onestepback/default.nix b/pkgs/data/themes/onestepback/default.nix index 9547e3543890..c18d55db5b44 100644 --- a/pkgs/data/themes/onestepback/default.nix +++ b/pkgs/data/themes/onestepback/default.nix @@ -2,20 +2,16 @@ stdenv.mkDerivation rec { pname = "onestepback"; - version = "0.991"; + version = "0.994"; srcs = [ (fetchurl { url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip"; - sha256 = "1jfgcgzbb6ra9qs3zcp6ij0hfldzg3m0yjw6l6vf4kq1mdby1ghm"; + hash = "sha256-kjGiGo4bF1mWJPnaPv2lf7rGG/uAntHK61mH6lcJ6e4="; }) (fetchurl { - url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-grey-brown-green-blue-v${version}.zip"; - sha256 = "0i006h1asbpfdzajws0dvk9acplvcympzgxq5v3n8hmizd6yyh77"; - }) - (fetchurl { - url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-green-brown-v${version}.zip"; - sha256 = "16p002lak6425gcskny4hzws8x9dgsm6j3a1r08y11rsz7d2hnmy"; + url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-darker-v${version}.zip"; + hash = "sha256-AuurSa45uF5GbPqaMXKblWkv3YGkYL1z0VjWrbnsB/I="; }) ]; @@ -24,15 +20,17 @@ stdenv.mkDerivation rec { sourceRoot = "."; installPhase = '' + runHook preInstall mkdir -p $out/share/themes cp -a OneStepBack* $out/share/themes/ rm $out/share/themes/*/{LICENSE,README*} + runHook postInstall ''; meta = with lib; { description = "Gtk theme inspired by the NextStep look"; homepage = "http://www.vide.memoire.free.fr/perso/OneStepBack"; - license = licenses.gpl3; + license = licenses.gpl3Plus; platforms = platforms.all; maintainers = [ maintainers.romildo ]; }; From e63f3c012b20d4bad4c456ff950f31aa4fbf0740 Mon Sep 17 00:00:00 2001 From: Julien Malka Date: Sat, 4 Nov 2023 01:29:08 +0000 Subject: [PATCH 006/147] nixos/tests/systemd-boot: add garbage-collect-entry test --- nixos/tests/systemd-boot.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 7d334326cca9..b7a6d30b5a68 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -252,6 +252,35 @@ in ''; }; + garbage-collect-entry = makeTest { + name = "systemd-boot-switch-test"; + meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + + nodes = { + inherit common; + machine = { pkgs, nodes, ... }: { + imports = [ common ]; + + # These are configs for different nodes, but we'll use them here in `machine` + system.extraDependencies = [ + nodes.common.system.build.toplevel + ]; + }; + }; + + testScript = { nodes, ... }: + let + baseSystem = nodes.common.system.build.toplevel; + in + '' + machine.succeed("nix-env -p /nix/var/nix/profiles/system --set ${baseSystem}") + machine.succeed("nix-env -p /nix/var/nix/profiles/system --delete-generations 1") + machine.succeed("${baseSystem}/bin/switch-to-configuration boot") + machine.fail("test -e /boot/loader/entries/nixos-generation-1.conf") + machine.succeed("test -e /boot/loader/entries/nixos-generation-2.conf") + ''; + }; + # Some UEFI firmwares fail on large reads. Now that systemd-boot loads initrd # itself, systems with such firmware won't boot without this fix uefiLargeFileWorkaround = makeTest { From d49b063dd0e4559e79af6427863439933393fcb1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Nov 2023 04:29:28 +0000 Subject: [PATCH 007/147] python310Packages.owslib: 0.29.2 -> 0.29.3 --- pkgs/development/python-modules/owslib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/owslib/default.nix b/pkgs/development/python-modules/owslib/default.nix index d902af2c26f7..fb3cbfe42644 100644 --- a/pkgs/development/python-modules/owslib/default.nix +++ b/pkgs/development/python-modules/owslib/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "owslib"; - version = "0.29.2"; + version = "0.29.3"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "geopython"; repo = "OWSLib"; rev = "refs/tags/${version}"; - hash = "sha256-dbL4VdnPszwiDO+UjluuyqeBRMKojTnZPEFKEYiIWS0="; + hash = "sha256-yAJXknSsGXcerzaOVSrFO4j5E6B/4/0JfoSxZ+Szmws="; }; postPatch = '' From b598bfd49496286dd24e49c11d17aacefff6b927 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 8 Nov 2023 08:03:17 +0100 Subject: [PATCH 008/147] python311Packages.owslib: update changelog entry --- pkgs/development/python-modules/owslib/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/owslib/default.nix b/pkgs/development/python-modules/owslib/default.nix index fb3cbfe42644..66946012f0b7 100644 --- a/pkgs/development/python-modules/owslib/default.nix +++ b/pkgs/development/python-modules/owslib/default.nix @@ -70,7 +70,7 @@ buildPythonPackage rec { meta = with lib; { description = "Client for Open Geospatial Consortium web service interface standards"; homepage = "https://www.osgeo.org/projects/owslib/"; - changelog = "https://github.com/geopython/OWSLib/blob/${version}/CHANGES.rst"; + changelog = "https://github.com/geopython/OWSLib/releases/tag/${version}"; license = licenses.bsd3; maintainers = teams.geospatial.members; }; From ffd8c5f4a090c698d85099480c5300a8bf9ca5e7 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Sat, 11 Nov 2023 15:48:31 +0100 Subject: [PATCH 009/147] skypeforlinux: 8.106.0.212 -> 8.108.0.205 --- .../networking/instant-messengers/skypeforlinux/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix index 266c843931b6..5d5c8301378d 100644 --- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix +++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix @@ -7,7 +7,7 @@ let # Please keep the version x.y.0.z and do not update to x.y.76.z because the # source of the latter disappears much faster. - version = "8.106.0.212"; + version = "8.108.0.205"; rpath = lib.makeLibraryPath [ alsa-lib @@ -68,7 +68,7 @@ let "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb" "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb" ]; - sha256 = "sha256-TlqhCj5nyL8SEo3M6ahPLYOTDrEjHvxtu1qFSR8LtkM="; + sha256 = "sha256-9V+/tTFco69NkCeswbGobr3ZxcS3q+Zd7fiei4N8uTY="; } else throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}"; From 48459567ae3e532a87267e186170eb931d7156a3 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 8 Nov 2023 12:50:09 +0100 Subject: [PATCH 010/147] nixos/postgresql: drop ensurePermissions, fix ensureUsers for postgresql15 Closes #216989 First of all, a bit of context: in PostgreSQL, newly created users don't have the CREATE privilege on the public schema of a database even with `ALL PRIVILEGES` granted via `ensurePermissions` which is how most of the DB users are currently set up "declaratively"[1]. This means e.g. a freshly deployed Nextcloud service will break early because Nextcloud itself cannot CREATE any tables in the public schema anymore. The other issue here is that `ensurePermissions` is a mere hack. It's effectively a mixture of SQL code (e.g. `DATABASE foo` is relying on how a value is substituted in a query. You'd have to parse a subset of SQL to actually know which object are permissions granted to for a user). After analyzing the existing modules I realized that in every case with a single exception[2] the UNIX system user is equal to the db user is equal to the db name and I don't see a compelling reason why people would change that in 99% of the cases. In fact, some modules would even break if you'd change that because the declarations of the system user & the db user are mixed up[3]. So I decided to go with something new which restricts the ways to use `ensure*` options rather than expanding those[4]. Effectively this means that * The DB user _must_ be equal to the DB name. * Permissions are granted via `ensureDBOwnerhip` for an attribute-set in `ensureUsers`. That way, the user is actually the owner and can perform `CREATE`. * For such a postgres user, a database must be declared in `ensureDatabases`. For anything else, a custom state management should be implemented. This can either be `initialScript`, doing it manual, outside of the module or by implementing proper state management for postgresql[5], but the current state of `ensure*` isn't even declarative, but a convergent tool which is what Nix actually claims to _not_ do. Regarding existing setups: there are effectively two options: * Leave everything as-is (assuming that system user == db user == db name): then the DB user will automatically become the DB owner and everything else stays the same. * Drop the `createDatabase = true;` declarations: nothing will change because a removal of `ensure*` statements is ignored, so it doesn't matter at all whether this option is kept after the first deploy (and later on you'd usually restore from backups anyways). The DB user isn't the owner of the DB then, but for an existing setup this is irrelevant because CREATE on the public schema isn't revoked from existing users (only not granted for new users). [1] not really declarative though because removals of these statements are simply ignored for instance: https://github.com/NixOS/nixpkgs/issues/206467 [2] `services.invidious`: I removed the `ensure*` part temporarily because it IMHO falls into the category "manage the state on your own" (see the commit message). See also https://github.com/NixOS/nixpkgs/pull/265857 [3] e.g. roundcube had `"DATABASE ${cfg.database.username}" = "ALL PRIVILEGES";` [4] As opposed to other changes that are considered a potential fix, but also add more things like collation for DBs or passwords that are _never_ touched again when changing those. [5] As suggested in e.g. https://github.com/NixOS/nixpkgs/issues/206467 --- .../modules/services/databases/postgresql.nix | 65 +++++++++---------- nixos/modules/services/development/zammad.nix | 4 +- nixos/modules/services/finance/odoo.nix | 2 +- nixos/modules/services/mail/listmonk.nix | 2 +- nixos/modules/services/mail/roundcube.nix | 14 +++- nixos/modules/services/mail/sympa.nix | 10 ++- .../services/matrix/matrix-sliding-sync.nix | 4 +- .../services/matrix/mautrix-facebook.nix | 4 +- nixos/modules/services/misc/atuin.nix | 4 +- nixos/modules/services/misc/forgejo.nix | 10 ++- nixos/modules/services/misc/gitea.nix | 10 ++- nixos/modules/services/misc/redmine.nix | 4 +- .../services/misc/sourcehut/service.nix | 11 +++- .../services/monitoring/zabbix-proxy.nix | 4 +- .../services/monitoring/zabbix-server.nix | 4 +- .../modules/services/security/hockeypuck.nix | 2 +- nixos/modules/services/web-apps/coder.nix | 10 ++- .../modules/services/web-apps/gotosocial.nix | 4 +- nixos/modules/services/web-apps/invidious.nix | 6 -- nixos/modules/services/web-apps/lemmy.nix | 2 +- nixos/modules/services/web-apps/mastodon.nix | 6 +- nixos/modules/services/web-apps/mediawiki.nix | 4 +- nixos/modules/services/web-apps/miniflux.nix | 17 ++--- nixos/modules/services/web-apps/mobilizon.nix | 10 ++- nixos/modules/services/web-apps/moodle.nix | 4 +- nixos/modules/services/web-apps/netbox.nix | 4 +- nixos/modules/services/web-apps/nextcloud.nix | 2 +- .../modules/services/web-apps/onlyoffice.nix | 2 +- nixos/modules/services/web-apps/outline.nix | 2 +- .../services/web-apps/peering-manager.nix | 4 +- nixos/modules/services/web-apps/pixelfed.nix | 1 - nixos/modules/services/web-apps/tt-rss.nix | 13 +++- nixos/modules/services/web-servers/hydron.nix | 2 +- nixos/tests/dex-oidc.nix | 2 +- nixos/tests/ferretdb.nix | 2 +- nixos/tests/freshrss-pgsql.nix | 4 +- nixos/tests/grafana/basic.nix | 2 +- nixos/tests/hockeypuck.nix | 2 +- nixos/tests/home-assistant.nix | 12 ++-- nixos/tests/paperless.nix | 2 +- nixos/tests/pgadmin4.nix | 8 --- nixos/tests/pgbouncer.nix | 12 ++-- nixos/tests/powerdns-admin.nix | 4 +- nixos/tests/sftpgo.nix | 2 +- nixos/tests/tandoor-recipes.nix | 23 +++++++ nixos/tests/vikunja.nix | 2 +- nixos/tests/wiki-js.nix | 5 +- 47 files changed, 176 insertions(+), 153 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index af4db5c9611f..3d2205b63555 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -165,25 +165,13 @@ in ''; }; - ensurePermissions = mkOption { - type = types.attrsOf types.str; - default = {}; - description = lib.mdDoc '' - Permissions to ensure for the user, specified as an attribute set. - The attribute names specify the database and tables to grant the permissions for. - The attribute values specify the permissions to grant. You may specify one or - multiple comma-separated SQL privileges here. - - For more information on how to specify the target - and on which privileges exist, see the - [GRANT syntax](https://www.postgresql.org/docs/current/sql-grant.html). - The attributes are used as `GRANT ''${attrValue} ON ''${attrName}`. - ''; - example = literalExpression '' - { - "DATABASE \"nextcloud\"" = "ALL PRIVILEGES"; - "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; - } + ensureDBOwnership = mkOption { + type = types.bool; + default = false; + description = mdDoc '' + Grants the user ownership to a database with the same name. + This database must be defined manually in + [](#opt-services.postgresql.ensureDatabases). ''; }; @@ -338,26 +326,21 @@ in }); default = []; description = lib.mdDoc '' - Ensures that the specified users exist and have at least the ensured permissions. + Ensures that the specified users exist. The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the same name only, and that without the need for a password. - This option will never delete existing users or remove permissions, especially not when the value of this - option is changed. This means that users created and permissions assigned once through this option or - otherwise have to be removed manually. + This option will never delete existing users or remove DB ownership of databases + once granted with `ensureDBOwnership = true;`. This means that this must be + cleaned up manually when changing after changing the config in here. ''; example = literalExpression '' [ { name = "nextcloud"; - ensurePermissions = { - "DATABASE nextcloud" = "ALL PRIVILEGES"; - }; } { name = "superuser"; - ensurePermissions = { - "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ] ''; @@ -445,6 +428,19 @@ in config = mkIf cfg.enable { + assertions = [ + { + assertion = all + ({ name, ensureDBOwnership, ... }: ensureDBOwnership -> builtins.elem name cfg.ensureDatabases) + cfg.ensureUsers; + message = '' + For each database user defined with `services.postgresql.ensureUsers` and + `ensureDBOwnership = true;`, a database with the same name must be defined + in `services.postgresql.ensureDatabases`. + ''; + } + ]; + services.postgresql.settings = { hba_file = "${pkgs.writeText "pg_hba.conf" cfg.authentication}"; @@ -557,11 +553,9 @@ in concatMapStrings (user: let - userPermissions = concatStringsSep "\n" - (mapAttrsToList - (database: permission: ''$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' '') - user.ensurePermissions - ); + dbOwnershipStmt = optionalString + user.ensureDBOwnership + ''$PSQL -tAc 'ALTER DATABASE "${user.name}" OWNER TO "${user.name}";' ''; filteredClauses = filterAttrs (name: value: value != null) user.ensureClauses; @@ -570,8 +564,9 @@ in userClauses = ''$PSQL -tAc 'ALTER ROLE "${user.name}" ${concatStringsSep " " clauseSqlStatements}' ''; in '' $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' - ${userPermissions} ${userClauses} + + ${dbOwnershipStmt} '' ) cfg.ensureUsers diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 7dd143eebf12..d24ed24ef395 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -204,7 +204,7 @@ in assertions = [ { - assertion = cfg.database.createLocally -> cfg.database.user == "zammad"; + assertion = cfg.database.createLocally -> cfg.database.user == "zammad" && cfg.database.name == "zammad"; message = "services.zammad.database.user must be set to \"zammad\" if services.zammad.database.createLocally is set to true"; } { @@ -231,7 +231,7 @@ in ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/finance/odoo.nix b/nixos/modules/services/finance/odoo.nix index eec7c4e30cc4..b8574ed09af9 100644 --- a/nixos/modules/services/finance/odoo.nix +++ b/nixos/modules/services/finance/odoo.nix @@ -121,7 +121,7 @@ in ensureDatabases = [ "odoo" ]; ensureUsers = [{ name = "odoo"; - ensurePermissions = { "DATABASE odoo" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; }]; }; }); diff --git a/nixos/modules/services/mail/listmonk.nix b/nixos/modules/services/mail/listmonk.nix index 11b2a5186229..cea1bc956081 100644 --- a/nixos/modules/services/mail/listmonk.nix +++ b/nixos/modules/services/mail/listmonk.nix @@ -168,7 +168,7 @@ in { ensureUsers = [{ name = "listmonk"; - ensurePermissions = { "DATABASE listmonk" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; }]; ensureDatabases = [ "listmonk" ]; diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix index 22a4e3c451ab..4e29f567ed92 100644 --- a/nixos/modules/services/mail/roundcube.nix +++ b/nixos/modules/services/mail/roundcube.nix @@ -179,14 +179,22 @@ in }; }; + assertions = [ + { + assertion = localDB -> cfg.database.username == cfg.database.dbname; + message = '' + When setting up a DB and its owner user, the owner and the DB name must be + equal! + ''; + } + ]; + services.postgresql = mkIf localDB { enable = true; ensureDatabases = [ cfg.database.dbname ]; ensureUsers = [ { name = cfg.database.username; - ensurePermissions = { - "DATABASE ${cfg.database.username}" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/mail/sympa.nix b/nixos/modules/services/mail/sympa.nix index 7a5047b2bea5..04ae46f66eea 100644 --- a/nixos/modules/services/mail/sympa.nix +++ b/nixos/modules/services/mail/sympa.nix @@ -218,7 +218,7 @@ in default = null; example = "/run/keys/sympa-dbpassword"; description = lib.mdDoc '' - A file containing the password for {option}`services.sympa.database.user`. + A file containing the password for {option}`services.sympa.database.name`. ''; }; @@ -342,6 +342,7 @@ in db_type = cfg.database.type; db_name = cfg.database.name; + db_user = cfg.database.name; } // (optionalAttrs (cfg.database.host != null) { db_host = cfg.database.host; @@ -355,9 +356,6 @@ in // (optionalAttrs (cfg.database.port != null) { db_port = cfg.database.port; }) - // (optionalAttrs (cfg.database.user != null) { - db_user = cfg.database.user; - }) // (optionalAttrs (cfg.mta.type == "postfix") { sendmail_aliases = "${dataDir}/sympa_transport"; aliases_program = "${pkgs.postfix}/bin/postmap"; @@ -393,7 +391,7 @@ in users.groups.${group} = {}; assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == user; + { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; message = "services.sympa.database.user must be set to ${user} if services.sympa.database.createLocally is set to true"; } { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; @@ -579,7 +577,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/matrix/matrix-sliding-sync.nix b/nixos/modules/services/matrix/matrix-sliding-sync.nix index 9807cde40919..84bb38f35aeb 100644 --- a/nixos/modules/services/matrix/matrix-sliding-sync.nix +++ b/nixos/modules/services/matrix/matrix-sliding-sync.nix @@ -74,9 +74,9 @@ in services.postgresql = lib.optionalAttrs cfg.createDatabase { enable = true; ensureDatabases = [ "matrix-sliding-sync" ]; - ensureUsers = [ rec { + ensureUsers = [ { name = "matrix-sliding-sync"; - ensurePermissions."DATABASE \"${name}\"" = "ALL PRIVILEGES"; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/matrix/mautrix-facebook.nix b/nixos/modules/services/matrix/mautrix-facebook.nix index 671040500df8..d7cf024bb807 100644 --- a/nixos/modules/services/matrix/mautrix-facebook.nix +++ b/nixos/modules/services/matrix/mautrix-facebook.nix @@ -135,9 +135,7 @@ in { ensureDatabases = ["mautrix-facebook"]; ensureUsers = [{ name = "mautrix-facebook"; - ensurePermissions = { - "DATABASE \"mautrix-facebook\"" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; }]; }; diff --git a/nixos/modules/services/misc/atuin.nix b/nixos/modules/services/misc/atuin.nix index 8d2c1b5242ff..2d6ffc510ce5 100644 --- a/nixos/modules/services/misc/atuin.nix +++ b/nixos/modules/services/misc/atuin.nix @@ -73,9 +73,7 @@ in enable = true; ensureUsers = [{ name = "atuin"; - ensurePermissions = { - "DATABASE atuin" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; }]; ensureDatabases = [ "atuin" ]; }; diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 90b5f16f4189..6f459048f347 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -357,6 +357,14 @@ in assertion = cfg.database.createDatabase -> useSqlite || cfg.database.user == cfg.user; message = "services.forgejo.database.user must match services.forgejo.user if the database is to be automatically provisioned"; } + { assertion = cfg.database.createDatabase && usePostgresql -> cfg.database.user == cfg.database.name; + message = '' + When creating a database via NixOS, the db user and db name must be equal! + If you already have an existing DB+user and this assertion is new, you can safely set + `services.forgejo.createDatabase` to `false` because removal of `ensureUsers` + and `ensureDatabases` doesn't have any effect. + ''; + } ]; services.forgejo.settings = { @@ -423,7 +431,7 @@ in ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix index 3f690f85d623..be528a298991 100644 --- a/nixos/modules/services/misc/gitea.nix +++ b/nixos/modules/services/misc/gitea.nix @@ -394,6 +394,14 @@ in { assertion = cfg.database.createDatabase -> useSqlite || cfg.database.user == cfg.user; message = "services.gitea.database.user must match services.gitea.user if the database is to be automatically provisioned"; } + { assertion = cfg.database.createDatabase && usePostgresql -> cfg.database.user == cfg.database.name; + message = '' + When creating a database via NixOS, the db user and db name must be equal! + If you already have an existing DB+user and this assertion is new, you can safely set + `services.gitea.createDatabase` to `false` because removal of `ensureUsers` + and `ensureDatabases` doesn't have any effect. + ''; + } ]; services.gitea.settings = { @@ -461,7 +469,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index a296fd3816bb..20fa71507b6b 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -267,7 +267,7 @@ in { assertion = cfg.database.passwordFile != null || cfg.database.socket != null; message = "one of services.redmine.database.socket or services.redmine.database.passwordFile must be set"; } - { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; + { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user && cfg.database.user == cfg.database.name; message = "services.redmine.database.user must be set to ${cfg.user} if services.redmine.database.createLocally is set true"; } { assertion = cfg.database.createLocally -> cfg.database.socket != null; @@ -315,7 +315,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix index 18c2f5effc5a..d2cd599d3fec 100644 --- a/nixos/modules/services/misc/sourcehut/service.nix +++ b/nixos/modules/services/misc/sourcehut/service.nix @@ -242,6 +242,15 @@ in } cfg.nginx.virtualHost ]; }; + assertions = [ + { + assertion = srvCfg.user == srvCfg.postgresql.database; + message = '' + When creating a database via NixOS, the db user and db name must be equal! + ''; + } + ]; + services.postgresql = mkIf cfg.postgresql.enable { authentication = '' local ${srvCfg.postgresql.database} ${srvCfg.user} trust @@ -249,7 +258,7 @@ in ensureDatabases = [ srvCfg.postgresql.database ]; ensureUsers = map (name: { inherit name; - ensurePermissions = { "DATABASE \"${srvCfg.postgresql.database}\"" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; }) [srvCfg.user]; }; diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix index 85da416ba6c3..503e81b48a58 100644 --- a/nixos/modules/services/monitoring/zabbix-proxy.nix +++ b/nixos/modules/services/monitoring/zabbix-proxy.nix @@ -203,7 +203,7 @@ in { assertion = !config.services.zabbixServer.enable; message = "Please choose one of services.zabbixServer or services.zabbixProxy."; } - { assertion = cfg.database.createLocally -> cfg.database.user == user; + { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; message = "services.zabbixProxy.database.user must be set to ${user} if services.zabbixProxy.database.createLocally is set true"; } { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; @@ -252,7 +252,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index 2b50280e3969..0607188d2131 100644 --- a/nixos/modules/services/monitoring/zabbix-server.nix +++ b/nixos/modules/services/monitoring/zabbix-server.nix @@ -191,7 +191,7 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == user; + { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name; message = "services.zabbixServer.database.user must be set to ${user} if services.zabbixServer.database.createLocally is set true"; } { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; @@ -240,7 +240,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/security/hockeypuck.nix b/nixos/modules/services/security/hockeypuck.nix index 127134bc5dba..56c13d791920 100644 --- a/nixos/modules/services/security/hockeypuck.nix +++ b/nixos/modules/services/security/hockeypuck.nix @@ -55,7 +55,7 @@ in { ensureDatabases = [ "hockeypuck" ]; ensureUsers = [{ name = "hockeypuck"; - ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; }; ``` diff --git a/nixos/modules/services/web-apps/coder.nix b/nixos/modules/services/web-apps/coder.nix index 469a29bc3aa8..f65211308c40 100644 --- a/nixos/modules/services/web-apps/coder.nix +++ b/nixos/modules/services/web-apps/coder.nix @@ -149,8 +149,8 @@ in { config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.username == name; - message = "services.coder.database.username must be set to ${user} if services.coder.database.createLocally is set true"; + { assertion = cfg.database.createLocally -> cfg.database.username == name && cfg.database.database == cfg.database.username; + message = "services.coder.database.username must be set to ${name} if services.coder.database.createLocally is set true"; } ]; @@ -193,10 +193,8 @@ in { cfg.database.database ]; ensureUsers = [{ - name = cfg.database.username; - ensurePermissions = { - "DATABASE \"${cfg.database.database}\"" = "ALL PRIVILEGES"; - }; + name = cfg.user; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/web-apps/gotosocial.nix b/nixos/modules/services/web-apps/gotosocial.nix index f7ae018d5b7c..9c21719a5759 100644 --- a/nixos/modules/services/web-apps/gotosocial.nix +++ b/nixos/modules/services/web-apps/gotosocial.nix @@ -128,9 +128,7 @@ in ensureUsers = [ { name = "gotosocial"; - ensurePermissions = { - "DATABASE gotosocial" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/web-apps/invidious.nix b/nixos/modules/services/web-apps/invidious.nix index 5603ef7392e8..fc9c1ec06f65 100644 --- a/nixos/modules/services/web-apps/invidious.nix +++ b/nixos/modules/services/web-apps/invidious.nix @@ -112,12 +112,6 @@ let services.postgresql = { enable = true; ensureDatabases = lib.singleton cfg.settings.db.dbname; - ensureUsers = lib.singleton { - name = cfg.settings.db.user; - ensurePermissions = { - "DATABASE ${cfg.settings.db.dbname}" = "ALL PRIVILEGES"; - }; - }; # This is only needed because the unix user invidious isn't the same as # the database user. This tells postgres to map one to the other. identMap = '' diff --git a/nixos/modules/services/web-apps/lemmy.nix b/nixos/modules/services/web-apps/lemmy.nix index 20d9dcb7c266..32389f7a59dd 100644 --- a/nixos/modules/services/web-apps/lemmy.nix +++ b/nixos/modules/services/web-apps/lemmy.nix @@ -146,7 +146,7 @@ in ensureDatabases = [ cfg.settings.database.database ]; ensureUsers = [{ name = cfg.settings.database.user; - ensurePermissions."DATABASE ${cfg.settings.database.database}" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; }; diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix index 2aab97438b7d..5feca2525ea1 100644 --- a/nixos/modules/services/web-apps/mastodon.nix +++ b/nixos/modules/services/web-apps/mastodon.nix @@ -557,7 +557,7 @@ in { config = lib.mkIf cfg.enable (lib.mkMerge [{ assertions = [ { - assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user); + assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user && cfg.database.user == cfg.database.name); message = '' For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer authentication (services.mastodon.database.host == "/run/postgresql") to work services.mastodon.user @@ -799,8 +799,8 @@ in { enable = true; ensureUsers = [ { - name = cfg.database.user; - ensurePermissions."DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; + name = cfg.database.name; + ensureDBOwnership = true; } ]; ensureDatabases = [ cfg.database.name ]; diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix index 8b494b7c1208..ce7bcd94b3f0 100644 --- a/nixos/modules/services/web-apps/mediawiki.nix +++ b/nixos/modules/services/web-apps/mediawiki.nix @@ -454,7 +454,7 @@ in { assertion = cfg.database.createLocally -> (cfg.database.type == "mysql" || cfg.database.type == "postgres"); message = "services.mediawiki.createLocally is currently only supported for database type 'mysql' and 'postgres'"; } - { assertion = cfg.database.createLocally -> cfg.database.user == user; + { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; message = "services.mediawiki.database.user must be set to ${user} if services.mediawiki.database.createLocally is set true"; } { assertion = cfg.database.createLocally -> cfg.database.socket != null; @@ -486,7 +486,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [{ name = cfg.database.user; - ensurePermissions = { "DATABASE \"${cfg.database.name}\"" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; }]; }; diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix index 3374c746ad3d..5c8c93c13c43 100644 --- a/nixos/modules/services/web-apps/miniflux.nix +++ b/nixos/modules/services/web-apps/miniflux.nix @@ -6,13 +6,10 @@ let defaultAddress = "localhost:8080"; - dbUser = "miniflux"; - dbName = "miniflux"; - pgbin = "${config.services.postgresql.package}/bin"; preStart = pkgs.writeScript "miniflux-pre-start" '' #!${pkgs.runtimeShell} - ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore" + ${pgbin}/psql "miniflux" -c "CREATE EXTENSION IF NOT EXISTS hstore" ''; in @@ -62,7 +59,7 @@ in services.miniflux.config = { LISTEN_ADDR = mkDefault defaultAddress; - DATABASE_URL = "user=${dbUser} host=/run/postgresql dbname=${dbName}"; + DATABASE_URL = "user=miniflux host=/run/postgresql dbname=miniflux"; RUN_MIGRATIONS = "1"; CREATE_ADMIN = "1"; }; @@ -70,12 +67,10 @@ in services.postgresql = { enable = true; ensureUsers = [ { - name = dbUser; - ensurePermissions = { - "DATABASE ${dbName}" = "ALL PRIVILEGES"; - }; + name = "miniflux"; + ensureDBOwnership = true; } ]; - ensureDatabases = [ dbName ]; + ensureDatabases = [ "miniflux" ]; }; systemd.services.miniflux-dbsetup = { @@ -97,7 +92,7 @@ in serviceConfig = { ExecStart = "${cfg.package}/bin/miniflux"; - User = dbUser; + User = "miniflux"; DynamicUser = true; RuntimeDirectory = "miniflux"; RuntimeDirectoryMode = "0700"; diff --git a/nixos/modules/services/web-apps/mobilizon.nix b/nixos/modules/services/web-apps/mobilizon.nix index 343c5cead2b1..601c2830e0e2 100644 --- a/nixos/modules/services/web-apps/mobilizon.nix +++ b/nixos/modules/services/web-apps/mobilizon.nix @@ -212,6 +212,12 @@ in assertion = cfg.nginx.enable -> (cfg.settings.":mobilizon"."Mobilizon.Web.Endpoint".http.ip == settingsFormat.lib.mkTuple [ 0 0 0 0 0 0 0 1 ]); message = "Setting the IP mobilizon listens on is only possible when the nginx config is not used, as it is hardcoded there."; } + { + assertion = isLocalPostgres -> repoSettings.database == repoSettings.username; + message = '' + When creating a database via NixOS, the db user and db name must be equal! + ''; + } ]; services.mobilizon.settings = { @@ -372,9 +378,7 @@ in ensureUsers = [ { name = dbUser; - ensurePermissions = { - "DATABASE \"${repoSettings.database}\"" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; extraPlugins = with postgresql.pkgs; [ postgis ]; diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix index b617e9a59379..04ae6bd7f175 100644 --- a/nixos/modules/services/web-apps/moodle.nix +++ b/nixos/modules/services/web-apps/moodle.nix @@ -194,7 +194,7 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == user; + { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name; message = "services.moodle.database.user must be set to ${user} if services.moodle.database.createLocally is set true"; } { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; @@ -220,7 +220,7 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index 8ba1852848e5..3b9434e3d345 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -257,9 +257,7 @@ in { ensureUsers = [ { name = "netbox"; - ensurePermissions = { - "DATABASE netbox" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index f9713cac47e9..f1ac3770d403 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -1042,7 +1042,7 @@ in { ensureDatabases = [ cfg.config.dbname ]; ensureUsers = [{ name = cfg.config.dbuser; - ensurePermissions = { "DATABASE ${cfg.config.dbname}" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; }]; }; diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix index 3494f2fa21f0..f958566b91f0 100644 --- a/nixos/modules/services/web-apps/onlyoffice.nix +++ b/nixos/modules/services/web-apps/onlyoffice.nix @@ -198,7 +198,7 @@ in ensureDatabases = [ "onlyoffice" ]; ensureUsers = [{ name = "onlyoffice"; - ensurePermissions = { "DATABASE \"onlyoffice\"" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; }]; }; }; diff --git a/nixos/modules/services/web-apps/outline.nix b/nixos/modules/services/web-apps/outline.nix index 0e3bd07c1fc1..d97b45d62418 100644 --- a/nixos/modules/services/web-apps/outline.nix +++ b/nixos/modules/services/web-apps/outline.nix @@ -581,7 +581,7 @@ in enable = true; ensureUsers = [{ name = "outline"; - ensurePermissions."DATABASE outline" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; ensureDatabases = [ "outline" ]; }; diff --git a/nixos/modules/services/web-apps/peering-manager.nix b/nixos/modules/services/web-apps/peering-manager.nix index 7012df6dffbf..d6f6077268d4 100644 --- a/nixos/modules/services/web-apps/peering-manager.nix +++ b/nixos/modules/services/web-apps/peering-manager.nix @@ -186,9 +186,7 @@ in { ensureUsers = [ { name = "peering-manager"; - ensurePermissions = { - "DATABASE \"peering-manager\"" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/web-apps/pixelfed.nix b/nixos/modules/services/web-apps/pixelfed.nix index 159fb52476aa..b0a25dcce9ef 100644 --- a/nixos/modules/services/web-apps/pixelfed.nix +++ b/nixos/modules/services/web-apps/pixelfed.nix @@ -271,7 +271,6 @@ in { ensureDatabases = [ cfg.database.name ]; ensureUsers = [{ name = user; - ensurePermissions = { }; }]; }; diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix index 7b2e3be4295e..a8fb37d2c5ec 100644 --- a/nixos/modules/services/web-apps/tt-rss.nix +++ b/nixos/modules/services/web-apps/tt-rss.nix @@ -529,6 +529,15 @@ let assertion = cfg.database.password != null -> cfg.database.passwordFile == null; message = "Cannot set both password and passwordFile"; } + { + assertion = cfg.database.createLocally -> cfg.database.name == cfg.user && cfg.database.user == cfg.user; + message = '' + When creating a database via NixOS, the db user and db name must be equal! + If you already have an existing DB+user and this assertion is new, you can safely set + `services.tt-rss.database.createLocally` to `false` because removal of `ensureUsers` + and `ensureDatabases` doesn't have any effect. + ''; + } ]; services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") { @@ -632,8 +641,8 @@ let enable = mkDefault true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.user; - ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + { name = cfg.database.user; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/modules/services/web-servers/hydron.nix b/nixos/modules/services/web-servers/hydron.nix index 4434965b217a..9d30fdc0caab 100644 --- a/nixos/modules/services/web-servers/hydron.nix +++ b/nixos/modules/services/web-servers/hydron.nix @@ -93,7 +93,7 @@ in with lib; { ensureDatabases = [ "hydron" ]; ensureUsers = [ { name = "hydron"; - ensurePermissions = { "DATABASE hydron" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/tests/dex-oidc.nix b/nixos/tests/dex-oidc.nix index 37275a97ef0f..e54ae18ca937 100644 --- a/nixos/tests/dex-oidc.nix +++ b/nixos/tests/dex-oidc.nix @@ -49,7 +49,7 @@ import ./make-test-python.nix ({ lib, ... }: { ensureUsers = [ { name = "dex"; - ensurePermissions = { "DATABASE dex" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/tests/ferretdb.nix b/nixos/tests/ferretdb.nix index 9ad7397ade80..7251198af77d 100644 --- a/nixos/tests/ferretdb.nix +++ b/nixos/tests/ferretdb.nix @@ -39,7 +39,7 @@ with import ../lib/testing-python.nix { inherit system; }; ensureDatabases = [ "ferretdb" ]; ensureUsers = [{ name = "ferretdb"; - ensurePermissions."DATABASE ferretdb" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; }; diff --git a/nixos/tests/freshrss-pgsql.nix b/nixos/tests/freshrss-pgsql.nix index 055bd51ed43d..c685f4a8159b 100644 --- a/nixos/tests/freshrss-pgsql.nix +++ b/nixos/tests/freshrss-pgsql.nix @@ -22,9 +22,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { ensureUsers = [ { name = "freshrss"; - ensurePermissions = { - "DATABASE freshrss" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; initialScript = pkgs.writeText "postgresql-password" '' diff --git a/nixos/tests/grafana/basic.nix b/nixos/tests/grafana/basic.nix index 8bf4caad7fbf..dd389bc8a3d1 100644 --- a/nixos/tests/grafana/basic.nix +++ b/nixos/tests/grafana/basic.nix @@ -55,7 +55,7 @@ let ensureDatabases = [ "grafana" ]; ensureUsers = [{ name = "grafana"; - ensurePermissions."DATABASE grafana" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; }; systemd.services.grafana.after = [ "postgresql.service" ]; diff --git a/nixos/tests/hockeypuck.nix b/nixos/tests/hockeypuck.nix index 2b9dba8720ab..675d6b226ad2 100644 --- a/nixos/tests/hockeypuck.nix +++ b/nixos/tests/hockeypuck.nix @@ -35,7 +35,7 @@ in { ensureDatabases = [ "hockeypuck" ]; ensureUsers = [{ name = "hockeypuck"; - ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; }; }; diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index e97e8a467b18..e1588088ba19 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -9,13 +9,11 @@ in { nodes.hass = { pkgs, ... }: { services.postgresql = { enable = true; - - # FIXME: hack for https://github.com/NixOS/nixpkgs/issues/216989 - # Should be replaced with ensureUsers again when a solution for that is found - initialScript = pkgs.writeText "hass-setup-db.sql" '' - CREATE ROLE hass WITH LOGIN; - CREATE DATABASE hass WITH OWNER hass; - ''; + ensureDatabases = [ "hass" ]; + ensureUsers = [{ + name = "hass"; + ensureDBOwnership = true; + }]; }; services.home-assistant = { diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix index 22409e899236..6a51cc522bdc 100644 --- a/nixos/tests/paperless.nix +++ b/nixos/tests/paperless.nix @@ -17,7 +17,7 @@ import ./make-test-python.nix ({ lib, ... }: { ensureDatabases = [ "paperless" ]; ensureUsers = [ { name = config.services.paperless.user; - ensurePermissions = { "DATABASE \"paperless\"" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/tests/pgadmin4.nix b/nixos/tests/pgadmin4.nix index cb8de87c9ee3..3ee7ed19fa1c 100644 --- a/nixos/tests/pgadmin4.nix +++ b/nixos/tests/pgadmin4.nix @@ -19,14 +19,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: authentication = '' host all all localhost trust ''; - ensureUsers = [ - { - name = "postgres"; - ensurePermissions = { - "DATABASE \"postgres\"" = "ALL PRIVILEGES"; - }; - } - ]; }; services.pgadmin = { diff --git a/nixos/tests/pgbouncer.nix b/nixos/tests/pgbouncer.nix index 1e72327d4200..814ca0d58865 100644 --- a/nixos/tests/pgbouncer.nix +++ b/nixos/tests/pgbouncer.nix @@ -24,13 +24,11 @@ in services = { postgresql = { enable = true; - ensureDatabases = [ "testdb" ]; + ensureDatabases = [ "test" ]; ensureUsers = [ { - name = "testuser"; - ensurePermissions = { - "DATABASE testdb" = "ALL PRIVILEGES"; - }; + name = "test"; + ensureDBOwnership = true; }]; authentication = '' local testdb testuser scram-sha-256 @@ -40,7 +38,7 @@ in pgbouncer = { enable = true; listenAddress = "localhost"; - databases = { testdb = "host=/run/postgresql/ port=5432 auth_user=testuser dbname=testdb"; }; + databases = { test = "host=/run/postgresql/ port=5432 auth_user=testuser dbname=test"; }; authType = "scram-sha-256"; authFile = testAuthFile; }; @@ -55,7 +53,7 @@ in # Test if we can make a query through PgBouncer one.wait_until_succeeds( - "psql 'postgres://testuser:testpass@localhost:6432/testdb' -c 'SELECT 1;'" + "psql 'postgres://testuser:testpass@localhost:6432/test' -c 'SELECT 1;'" ) ''; }) diff --git a/nixos/tests/powerdns-admin.nix b/nixos/tests/powerdns-admin.nix index d7bacb24eec5..d326d74a9826 100644 --- a/nixos/tests/powerdns-admin.nix +++ b/nixos/tests/powerdns-admin.nix @@ -87,9 +87,7 @@ let ensureUsers = [ { name = "powerdnsadmin"; - ensurePermissions = { - "DATABASE powerdnsadmin" = "ALL PRIVILEGES"; - }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/tests/sftpgo.nix b/nixos/tests/sftpgo.nix index db0098d2ac48..a5bb1981d2c3 100644 --- a/nixos/tests/sftpgo.nix +++ b/nixos/tests/sftpgo.nix @@ -156,7 +156,7 @@ in ensureDatabases = [ "sftpgo" ]; ensureUsers = [{ name = "sftpgo"; - ensurePermissions."DATABASE sftpgo" = "ALL PRIVILEGES"; + ensureDBOwnership = true; }]; }; diff --git a/nixos/tests/tandoor-recipes.nix b/nixos/tests/tandoor-recipes.nix index f3369da99a05..18beaac6f062 100644 --- a/nixos/tests/tandoor-recipes.nix +++ b/nixos/tests/tandoor-recipes.nix @@ -5,6 +5,29 @@ import ./make-test-python.nix ({ lib, ... }: { nodes.machine = { pkgs, ... }: { services.tandoor-recipes = { enable = true; + extraConfig = { + DB_ENGINE = "django.db.backends.postgresql"; + POSTGRES_HOST = "/run/postgresql"; + POSTGRES_USER = "tandoor_recipes"; + POSTGRES_DB = "tandoor_recipes"; + }; + }; + + services.postgresql = { + enable = true; + ensureDatabases = [ "tandoor_recipes" ]; + ensureUsers = [ + { + name = "tandoor_recipes"; + ensureDBOwnership = true; + } + ]; + }; + + systemd.services = { + tandoor-recipes = { + after = [ "postgresql.service" ]; + }; }; }; diff --git a/nixos/tests/vikunja.nix b/nixos/tests/vikunja.nix index 2660aa9767ca..60fd5ce13854 100644 --- a/nixos/tests/vikunja.nix +++ b/nixos/tests/vikunja.nix @@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { ensureDatabases = [ "vikunja-api" ]; ensureUsers = [ { name = "vikunja-api"; - ensurePermissions = { "DATABASE \"vikunja-api\"" = "ALL PRIVILEGES"; }; + ensureDBOwnership = true; } ]; }; diff --git a/nixos/tests/wiki-js.nix b/nixos/tests/wiki-js.nix index fd054a9c5909..8b3c51935a6c 100644 --- a/nixos/tests/wiki-js.nix +++ b/nixos/tests/wiki-js.nix @@ -10,14 +10,15 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { enable = true; settings.db.host = "/run/postgresql"; settings.db.user = "wiki-js"; + settings.db.db = "wiki-js"; settings.logLevel = "debug"; }; services.postgresql = { enable = true; - ensureDatabases = [ "wiki" ]; + ensureDatabases = [ "wiki-js" ]; ensureUsers = [ { name = "wiki-js"; - ensurePermissions."DATABASE wiki" = "ALL PRIVILEGES"; + ensureDBOwnership = true; } ]; }; From 12797a6a39393c61b00d6e0085eeaffbb1ba1d3c Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 13 Nov 2023 14:55:16 +0100 Subject: [PATCH 011/147] nixos/postgresql: restore `ensurePermissions` and strong-deprecate it As it is technically a breaking change, we should at least make a strong deprecation of `ensurePermissions` and leave it in the broken state it is, for out of tree users. We give them a 6 months notice to migrate away by doing so, which is honest. In the meantime, we forbid usage of `ensurePermissions` inside of nixpkgs. --- .../modules/services/databases/postgresql.nix | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 3d2205b63555..1c5de85bf2bc 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -165,6 +165,33 @@ in ''; }; + ensurePermissions = mkOption { + type = types.attrsOf types.str; + default = {}; + visible = false; # This option has been deprecated. + description = lib.mdDoc '' + This option is DEPRECATED and should not be used in nixpkgs anymore, + use `ensureDBOwnership` instead. It can also break with newer + versions of PostgreSQL (β‰₯Β 15). + + Permissions to ensure for the user, specified as an attribute set. + The attribute names specify the database and tables to grant the permissions for. + The attribute values specify the permissions to grant. You may specify one or + multiple comma-separated SQL privileges here. + + For more information on how to specify the target + and on which privileges exist, see the + [GRANT syntax](https://www.postgresql.org/docs/current/sql-grant.html). + The attributes are used as `GRANT ''${attrValue} ON ''${attrName}`. + ''; + example = literalExpression '' + { + "DATABASE \"nextcloud\"" = "ALL PRIVILEGES"; + "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; + } + ''; + }; + ensureDBOwnership = mkOption { type = types.bool; default = false; @@ -441,6 +468,17 @@ in } ]; + # `ensurePermissions` is now deprecated, let's avoid it. + warnings = lib.optional (any ({ ensurePermissions, ... }: ensurePermissions != {}) cfg.ensureUsers) " + `services.postgresql.*.ensurePermissions` is used in your expressions, + this option is known to be broken with newer PostgreSQL versions, + consider migrating to `services.postgresql.*.ensureDBOwnership` or + consult the release notes or manual for more migration guidelines. + + This option will be removed in NixOS 24.05 unless it sees significant + maintenance improvements. + "; + services.postgresql.settings = { hba_file = "${pkgs.writeText "pg_hba.conf" cfg.authentication}"; @@ -552,7 +590,12 @@ in ${ concatMapStrings (user: - let + let + userPermissions = concatStringsSep "\n" + (mapAttrsToList + (database: permission: ''$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' '') + user.ensurePermissions + ); dbOwnershipStmt = optionalString user.ensureDBOwnership ''$PSQL -tAc 'ALTER DATABASE "${user.name}" OWNER TO "${user.name}";' ''; @@ -564,6 +607,7 @@ in userClauses = ''$PSQL -tAc 'ALTER ROLE "${user.name}" ${concatStringsSep " " clauseSqlStatements}' ''; in '' $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' + ${userPermissions} ${userClauses} ${dbOwnershipStmt} From d57926c0b62f4cdbaf005f5410a5c795e063aff3 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 13 Nov 2023 17:11:06 +0100 Subject: [PATCH 012/147] nixos/postgresql: improve the assertions for equality of DB user and DB name It is hard to figure out which one is offending without the database name. --- .../modules/services/databases/postgresql.nix | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 1c5de85bf2bc..a9067d5974a9 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -455,19 +455,16 @@ in config = mkIf cfg.enable { - assertions = [ - { - assertion = all - ({ name, ensureDBOwnership, ... }: ensureDBOwnership -> builtins.elem name cfg.ensureDatabases) - cfg.ensureUsers; - message = '' - For each database user defined with `services.postgresql.ensureUsers` and - `ensureDBOwnership = true;`, a database with the same name must be defined - in `services.postgresql.ensureDatabases`. - ''; - } - ]; + assertions = map ({ name, ensureDBOwnership, ... }: { + assertion = ensureDBOwnership -> builtins.elem name cfg.ensureDatabases; + message = '' + For each database user defined with `services.postgresql.ensureUsers` and + `ensureDBOwnership = true;`, a database with the same name must be defined + in `services.postgresql.ensureDatabases`. + Offender: ${name} has not been found among databases. + ''; + }) cfg.ensureUsers; # `ensurePermissions` is now deprecated, let's avoid it. warnings = lib.optional (any ({ ensurePermissions, ... }: ensurePermissions != {}) cfg.ensureUsers) " `services.postgresql.*.ensurePermissions` is used in your expressions, From 413cd10b6af4371d85ae0344b7006df5e0689fb1 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 13 Nov 2023 17:31:30 -0500 Subject: [PATCH 013/147] dxvk: rely on the cross support in nixpkgs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `isCross` check is broken. When cross-compiling, it incorrectly evaluates to false. DXVK has been building using the Meson cross-compilation support in nixpkgs instead of with upstream’s cross file. Instead of fixing `isCross`, just drop it as unnecessary. --- pkgs/by-name/dx/dxvk_1/package.nix | 16 ++++------------ pkgs/by-name/dx/dxvk_2/package.nix | 17 +++++------------ 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/dx/dxvk_1/package.nix b/pkgs/by-name/dx/dxvk_1/package.nix index 44a39eeaba25..a02680d77eec 100644 --- a/pkgs/by-name/dx/dxvk_1/package.nix +++ b/pkgs/by-name/dx/dxvk_1/package.nix @@ -9,9 +9,6 @@ , enableMoltenVKCompat ? false }: -let - isCross = stdenv.hostPlatform != stdenv.targetPlatform; -in stdenv.mkDerivation (finalAttrs: { pname = "dxvk"; version = "1.10.3"; @@ -36,15 +33,10 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ glslang meson ninja ]; buildInputs = [ windows.pthreads ]; - mesonFlags = - let - arch = if stdenv.is32bit then "32" else "64"; - in - [ - "--buildtype" "release" - "--prefix" "${placeholder "out"}" - ] - ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ]; + mesonFlags = [ + "--buildtype" "release" + "--prefix" "${placeholder "out"}" + ]; meta = { description = "A Vulkan-based translation layer for Direct3D 9/10/11"; diff --git a/pkgs/by-name/dx/dxvk_2/package.nix b/pkgs/by-name/dx/dxvk_2/package.nix index e1fa64ffee05..8c589fd72587 100644 --- a/pkgs/by-name/dx/dxvk_2/package.nix +++ b/pkgs/by-name/dx/dxvk_2/package.nix @@ -19,7 +19,6 @@ assert !sdl2Support || !glfwSupport; let - isCross = stdenv.hostPlatform != stdenv.targetPlatform; isWindows = stdenv.hostPlatform.uname.system == "Windows"; in stdenv.mkDerivation (finalAttrs: { @@ -51,18 +50,12 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p include/spirv/include include/vulkan/include ''; - mesonFlags = - let - arch = if stdenv.is32bit then "32" else "64"; - in - [ - "--buildtype" "release" - "--prefix" "${placeholder "out"}" - ] - ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ] - ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw"; + mesonFlags = [ + "--buildtype" "release" + "--prefix" "${placeholder "out"}" + ] ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw"; - doCheck = !isCross; + doCheck = true; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; From 5d5b3441945b3202cbc7ef9b2b30811a94660c5f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 15 Nov 2023 04:47:58 +0000 Subject: [PATCH 014/147] uhd: 4.5.0.0 -> 4.6.0.0 --- pkgs/applications/radio/uhd/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix index 6a196cdea350..9f225ddd6fcc 100644 --- a/pkgs/applications/radio/uhd/default.nix +++ b/pkgs/applications/radio/uhd/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { # # nix-shell maintainers/scripts/update.nix --argstr package uhd --argstr commit true # - version = "4.5.0.0"; + version = "4.6.0.0"; outputs = [ "out" "dev" ]; @@ -63,14 +63,14 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; # The updateScript relies on the `src` using `hash`, and not `sha256. To # update the correct hash for the `src` vs the `uhdImagesSrc` - hash = "sha256-0EqMBaQiNr8PE542YNkPvX3o1HhnhrO0Kz1euphY6Ps="; + hash = "sha256-9ZGt0ZrGbprCmpAuOue6pg2gliu4MvlRFHGxyMJeKAc="; }; # Firmware images are downloaded (pre-built) from the respective release on Github uhdImagesSrc = fetchurl { url = "https://github.com/EttusResearch/uhd/releases/download/v${finalAttrs.version}/uhd-images_${finalAttrs.version}.tar.xz"; # Please don't convert this to a hash, in base64, see comment near src's # hash. - sha256 = "13cn41wv7vldk4vx7vy3jbb3wb3a5vpfg3ay893klpi6vzxc1dly"; + sha256 = "17g503mhndaabrdl7qai3rdbafr8xx8awsyr7h2bdzwzprzmh4m3"; }; passthru = { updateScript = [ From ea8b577bbcea7462a2b31c057a75eab396bb986d Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Wed, 15 Nov 2023 06:29:50 +0100 Subject: [PATCH 015/147] postgresqlPackages.postgis: add geospatial team to maintainers --- pkgs/servers/sql/postgresql/ext/postgis.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 5745630964e4..583bde82f481 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { homepage = "https://postgis.net/"; changelog = "https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"; license = licenses.gpl2; - maintainers = [ maintainers.marcweber ]; + maintainers = with maintainers; teams.geospatial.members ++ [ marcweber ]; inherit (postgresql.meta) platforms; broken = versionOlder postgresql.version "12"; }; From 8e6b4ee37e66dca513aa5ea995acd0a26c2f5bbf Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Wed, 15 Nov 2023 07:56:53 +0100 Subject: [PATCH 016/147] librttopo: add geospatial team to maintainers --- pkgs/development/libraries/librttopo/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/librttopo/default.nix b/pkgs/development/libraries/librttopo/default.nix index 690417c3e730..5d768db366df 100644 --- a/pkgs/development/libraries/librttopo/default.nix +++ b/pkgs/development/libraries/librttopo/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { description = "RT Topology Library"; homepage = "https://git.osgeo.org/gitea/rttopo/librttopo"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ dotlambda ]; + maintainers = with maintainers; teams.geospatial.members ++ [ dotlambda ]; platforms = platforms.unix; }; } From d619c27fc2152d6f5443d17b34d7ce519a3dcddc Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Wed, 15 Nov 2023 08:05:24 +0100 Subject: [PATCH 017/147] libspatialite: add geospatial team to maintainers --- pkgs/development/libraries/libspatialite/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix index 372f0c479c81..b8d1fe45e44e 100644 --- a/pkgs/development/libraries/libspatialite/default.nix +++ b/pkgs/development/libraries/libspatialite/default.nix @@ -64,6 +64,6 @@ stdenv.mkDerivation rec { # They allow any of these license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ]; platforms = platforms.unix; - maintainers = with maintainers; [ dotlambda ]; + maintainers = with maintainers; teams.geospatial.members ++ [ dotlambda ]; }; } From 910346346995055bfbb1d8d4b99787baec0ef408 Mon Sep 17 00:00:00 2001 From: embr Date: Wed, 15 Nov 2023 14:41:49 +0100 Subject: [PATCH 018/147] nix-web: init at 0.1.0 https://codeberg.org/gorgon/gorgon/releases/tag/nix-web-v0.1.0 --- pkgs/by-name/ni/nix-web/package.nix | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pkgs/by-name/ni/nix-web/package.nix diff --git a/pkgs/by-name/ni/nix-web/package.nix b/pkgs/by-name/ni/nix-web/package.nix new file mode 100644 index 000000000000..e41e760a2939 --- /dev/null +++ b/pkgs/by-name/ni/nix-web/package.nix @@ -0,0 +1,48 @@ +{ lib +, rustPlatform +, fetchFromGitea +, pkg-config +, openssl +, nix +}: + +let + cargoFlags = [ "-p" "nix-web" ]; +in +rustPlatform.buildRustPackage rec { + pname = "nix-web"; + version = "0.1.0"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "gorgon"; + repo = "gorgon"; + rev = "nix-web-v${version}"; + hash = "sha256-+IDvoMRuMt1nS69yFhPPVs+s6Dj0dgXVdjjd9f3+spk="; + }; + cargoHash = "sha256-uVBfIw++MRxgVAC+KzGVuMZra8oktUfHcZQk90FF1a8="; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ openssl ]; + + postPatch = '' + substituteInPlace nix-web/nix-web.service \ + --replace 'ExecStart=nix-web' "ExecStart=$out/bin/nix-web" + ''; + postInstall = '' + install -m 644 -D nix-web/nix-web.service $out/lib/systemd/system/nix-web.service + ''; + + cargoBuildFlags = cargoFlags; + cargoTestFlags = cargoFlags; + + NIX_WEB_BUILD_NIX_CLI_PATH = "${nix}/bin/nix"; + + meta = with lib; { + description = "Web interface for the Nix store"; + homepage = "https://codeberg.org/gorgon/gorgon/src/branch/main/nix-web"; + license = licenses.eupl12; + maintainers = with maintainers; [ embr ]; + mainProgram = "nix-web"; + }; +} From afad8bd6fcdb2f7731f422b254e0669e744f50e1 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Wed, 15 Nov 2023 12:42:45 -0500 Subject: [PATCH 019/147] dendrite: disable tests on x86_64-darwin --- pkgs/servers/dendrite/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix index d722f6beb0ab..4dfe4b33318c 100644 --- a/pkgs/servers/dendrite/default.nix +++ b/pkgs/servers/dendrite/default.nix @@ -1,5 +1,12 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script -, nixosTests, postgresql, postgresqlTestHook }: +{ lib +, stdenv +, buildGoModule +, fetchFromGitHub +, nix-update-script +, nixosTests +, postgresql +, postgresqlTestHook +}: buildGoModule rec { pname = "matrix-dendrite"; @@ -44,6 +51,9 @@ buildGoModule rec { rm roomserver/internal/input/input_test.go ''; + # PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter + doCheck = !(stdenv.isDarwin && stdenv.isx86_64); + passthru.tests = { inherit (nixosTests) dendrite; }; From 9101453cf340c0206fa43d14352a0803e93b363b Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Wed, 15 Nov 2023 12:45:16 -0500 Subject: [PATCH 020/147] matrix-synapse: fix build on darwin --- pkgs/servers/matrix-synapse/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 4b7c6d21f30d..ef8ff520c072 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , python3 , openssl +, libiconv , cargo , rustPlatform , rustc @@ -57,6 +58,8 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ openssl + ] ++ lib.optionals stdenv.isDarwin [ + libiconv ]; propagatedBuildInputs = with python3.pkgs; [ From f7bfb80a24102831d4667094093ed9592f90f281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Pitucha?= Date: Sat, 4 Nov 2023 23:53:03 +1100 Subject: [PATCH 021/147] reaper: add darwin platform --- pkgs/applications/audio/reaper/default.nix | 35 +++++++++++++++------- pkgs/applications/audio/reaper/updater.sh | 16 ++++++++-- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index b5cf860ad9b7..dcbb7586eebe 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -2,6 +2,7 @@ , fetchurl , autoPatchelfHook , makeWrapper +, undmg , alsa-lib , curl @@ -14,14 +15,16 @@ , xdotool , which -, jackSupport ? true +, jackSupport ? stdenv.isLinux , jackLibrary -, pulseaudioSupport ? config.pulseaudio or true +, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux , libpulseaudio }: let - url_for_platform = version: arch: "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${arch}.tar.xz"; + url_for_platform = version: arch: if stdenv.isDarwin + then "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_universal.dmg" + else "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${arch}.tar.xz"; in stdenv.mkDerivation rec { pname = "reaper"; @@ -29,26 +32,32 @@ stdenv.mkDerivation rec { src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; - hash = { + hash = if stdenv.isDarwin then "sha256-jaT+3cIFVfBopgeeTkpNs9rFX50unlPJogdhkI9bsWU=" else { x86_64-linux = "sha256-P/PnbJPr4ErDz5ho1/dLERhqkKjdetHzKpCpfVZAYb0="; aarch64-linux = "sha256-PdnBVlHwoEEv2SPq/p5oyiOlduCEqL35gAY+QIJU1Ys="; }.${stdenv.hostPlatform.system}; }; nativeBuildInputs = [ - autoPatchelfHook makeWrapper - xdg-utils # Required for desktop integration + ] ++ lib.optionals stdenv.isLinux [ which + autoPatchelfHook + xdg-utils # Required for desktop integration + ] ++ lib.optionals stdenv.isDarwin [ + undmg ]; + sourceRoot = lib.optionalString stdenv.isDarwin "Reaper.app"; + buildInputs = [ - alsa-lib stdenv.cc.cc.lib # reaper and libSwell need libstdc++.so.6 + ] ++ lib.optionals stdenv.isLinux [ gtk3 + alsa-lib ]; - runtimeDependencies = [ + runtimeDependencies = lib.optionals stdenv.isLinux [ gtk3 # libSwell needs libgdk-3.so.0 ] ++ lib.optional jackSupport jackLibrary @@ -56,7 +65,13 @@ stdenv.mkDerivation rec { dontBuild = true; - installPhase = '' + installPhase = if stdenv.isDarwin then '' + runHook preInstall + mkdir -p "$out/Applications/Reaper.app" + cp -r * "$out/Applications/Reaper.app/" + makeWrapper "$out/Applications/Reaper.app/Contents/MacOS/REAPER" "$out/bin/reaper" + runHook postInstall + '' else '' runHook preInstall HOME="$out/share" XDG_DATA_HOME="$out/share" ./install-reaper.sh \ @@ -89,7 +104,7 @@ stdenv.mkDerivation rec { homepage = "https://www.reaper.fm/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; maintainers = with maintainers; [ jfrankenau ilian orivej uniquepointer viraptor ]; }; } diff --git a/pkgs/applications/audio/reaper/updater.sh b/pkgs/applications/audio/reaper/updater.sh index 750bea346bbc..31832f7173c6 100755 --- a/pkgs/applications/audio/reaper/updater.sh +++ b/pkgs/applications/audio/reaper/updater.sh @@ -5,7 +5,7 @@ set -euo pipefail reaper_ver=$(curl -Ls https://www.reaper.fm/download.php | grep -o 'Version [0-9]\.[0-9]*' | head -n1 | cut -d' ' -f2) -function set_hash_for_arch() { +function set_hash_for_linux() { local arch=$1 pkg_hash=$(nix-prefetch-url https://www.reaper.fm/files/${reaper_ver%.*}.x/reaper${reaper_ver/./}_linux_$arch.tar.xz) pkg_hash=$(nix hash to-sri "sha256:$pkg_hash") @@ -14,5 +14,15 @@ function set_hash_for_arch() { update-source-version reaper "${reaper_ver}" "$pkg_hash" --system=$arch-linux } -set_hash_for_arch aarch64 -set_hash_for_arch x86_64 +function set_hash_for_darwin() { + local arch=$1 + pkg_hash=$(nix-prefetch-url https://www.reaper.fm/files/${reaper_ver%.*}.x/reaper${reaper_ver/./}_universal.dmg) + pkg_hash=$(nix hash to-sri "sha256:$pkg_hash") + # reset the version so the second architecture update doesn't get ignored + update-source-version reaper 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" --system=$arch-darwin + update-source-version reaper "${reaper_ver}" "$pkg_hash" --system=$arch-darwin +} + +set_hash_for_linux aarch64 +set_hash_for_linux x86_64 +set_hash_for_darwin aarch64 From ad9be71c71cf4674e19a3ab1fb0961312f741bfe Mon Sep 17 00:00:00 2001 From: Dominic Shelton Date: Thu, 16 Nov 2023 15:52:44 +1100 Subject: [PATCH 022/147] pythonPackages.pyudev: Allow to install on darwin --- .../python-modules/pyudev/default.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/pyudev/default.nix b/pkgs/development/python-modules/pyudev/default.nix index 29b1e5f8d530..8c3c0d86f3b8 100644 --- a/pkgs/development/python-modules/pyudev/default.nix +++ b/pkgs/development/python-modules/pyudev/default.nix @@ -1,5 +1,13 @@ -{ lib, fetchPypi, buildPythonPackage -, six, udev, pytest, mock, hypothesis, docutils +{ lib +, fetchPypi +, buildPythonPackage +, six +, udev +, pytest +, mock +, hypothesis +, docutils +, stdenvNoCC }: buildPythonPackage rec { @@ -11,7 +19,7 @@ buildPythonPackage rec { hash = "sha256-deVNNyGPWsRbDaHw/ZzF5SajysPvHPrUEM96sziwFHE="; }; - postPatch = '' + postPatch = lib.optionalString stdenvNoCC.isLinux '' substituteInPlace src/pyudev/_ctypeslib/utils.py \ --replace "find_library(name)" "'${lib.getLib udev}/lib/libudev.so'" ''; @@ -27,9 +35,10 @@ buildPythonPackage rec { # https://github.com/pyudev/pyudev/issues/187 doCheck = false; - meta = { + meta = with lib; { homepage = "https://pyudev.readthedocs.org/"; description = "Pure Python libudev binding"; - license = lib.licenses.lgpl21Plus; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ frogamic ]; }; } From 126df812299471f66b5efcc6422d6db5b459bc8e Mon Sep 17 00:00:00 2001 From: Daniel Olsen Date: Thu, 16 Nov 2023 08:18:03 +0100 Subject: [PATCH 023/147] hydrus: 551 -> 552 Diff: https://github.com/hydrusnetwork/hydrus/compare/refs/tags/v551...v552 --- pkgs/applications/graphics/hydrus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix index 0f96680bb073..8bddaa96abd5 100644 --- a/pkgs/applications/graphics/hydrus/default.nix +++ b/pkgs/applications/graphics/hydrus/default.nix @@ -12,14 +12,14 @@ python3Packages.buildPythonPackage rec { pname = "hydrus"; - version = "551"; + version = "552"; format = "other"; src = fetchFromGitHub { owner = "hydrusnetwork"; repo = "hydrus"; rev = "refs/tags/v${version}"; - hash = "sha256-P/U44ndfucbRnwGLdSnnA0VE4K40zPz3wtNpQj8rh5Q="; + hash = "sha256-MaS9WxYlbQ7V/2mrETKS0UyWb5IzCrSwDcp4UlVS3zk="; }; nativeBuildInputs = [ From 9bfcf7a23f3ca9ed18b1a8a127268eefcf5b3c4e Mon Sep 17 00:00:00 2001 From: Arjun31415 Date: Thu, 16 Nov 2023 13:02:28 +0530 Subject: [PATCH 024/147] mailspring: 1.11.0 -> 1.12.0 New release: https://github.com/Foundry376/Mailspring/releases/tag/1.12.0 --- .../networking/mailreaders/mailspring/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix index 4f61935faac1..743adf84978d 100644 --- a/pkgs/applications/networking/mailreaders/mailspring/default.nix +++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix @@ -22,11 +22,11 @@ stdenv.mkDerivation rec { pname = "mailspring"; - version = "1.11.0"; + version = "1.12.0"; src = fetchurl { url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb"; - hash = "sha256-aAqkltVxIlGwRVGM+1QkrVgfnitl+D3Xb0qi0o8ow+Q="; + hash = "sha256-6dTAPetJgYrvIEtu+2QxcBOeYFZfN/dFhM0CZFzcC/E="; }; nativeBuildInputs = [ From f91146ba02382fc669b009310c4108edbb3bc942 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Wed, 15 Nov 2023 08:35:33 -0500 Subject: [PATCH 025/147] leftwm: 0.4.2 -> 0.5.1 Diff: https://github.com/leftwm/leftwm/compare/0.4.2...0.5.1 Changelog: https://github.com/leftwm/leftwm/blob/0.5.1/CHANGELOG.md --- .../window-managers/leftwm/default.nix | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix index 91a13df5c21e..bbf1cefacd4c 100644 --- a/pkgs/applications/window-managers/leftwm/default.nix +++ b/pkgs/applications/window-managers/leftwm/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform, libX11, libXinerama }: +{ lib +, fetchFromGitHub +, rustPlatform +, libX11 +, libXinerama +}: let rpathLibs = [ libXinerama libX11 ]; @@ -6,16 +11,16 @@ in rustPlatform.buildRustPackage rec { pname = "leftwm"; - version = "0.4.2"; + version = "0.5.1"; src = fetchFromGitHub { owner = "leftwm"; repo = "leftwm"; - rev = version; - sha256 = "sha256-SjEp0gQHwq3Omhx/EPnyLeQJ50Ov0rHDxmYVWBwIDBs="; + rev = "refs/tags/${version}"; + hash = "sha256-wn5DurPWFwSUtc5naEL4lBSQpKWTJkugpN9mKx+Ed2Y="; }; - cargoSha256 = "sha256-kdGqnfzO+Ev9QeZcZqISPTehEXZzCWT5S8p6JbTBreE="; + cargoHash = "sha256-TylRxdpAVuGtZ3Lm8je6FZ0JUwetBi6mOGRoT2M3Jyk="; buildInputs = rpathLibs; @@ -23,16 +28,18 @@ rustPlatform.buildRustPackage rec { for p in $out/bin/left*; do patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $p done + + install -D -m 0555 leftwm/doc/leftwm.1 $out/share/man/man1/leftwm.1 ''; dontPatchELF = true; - meta = with lib; { + meta = { description = "A tiling window manager for the adventurer"; homepage = "https://github.com/leftwm/leftwm"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ yanganto ]; - changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ yanganto ]; + changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG.md"; }; } From e1fcc1f1fadd9b81e85d74d8993fee995729cbc4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Nov 2023 15:32:48 +0000 Subject: [PATCH 026/147] rke: 1.4.10 -> 1.4.11 --- pkgs/applications/networking/cluster/rke/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/rke/default.nix b/pkgs/applications/networking/cluster/rke/default.nix index 8021d55156a6..f5b60daeac2d 100644 --- a/pkgs/applications/networking/cluster/rke/default.nix +++ b/pkgs/applications/networking/cluster/rke/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "rke"; - version = "1.4.10"; + version = "1.4.11"; src = fetchFromGitHub { owner = "rancher"; repo = pname; rev = "v${version}"; - hash = "sha256-rr6CN5ik4vuLNqzNPvISfRfOjTcD48pSre2K6xr6xSk="; + hash = "sha256-bsvAyyf/ITIm8pxVF61idM91Ztd/2ufH2lBHR6a7lCQ="; }; vendorHash = "sha256-3bivFrn2xDyILD1ugSr7IehhNq4vkqShFQI3sbeY0iY="; From 1515011edba7d1deea83930621905a45400c6b78 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Thu, 5 Oct 2023 12:16:13 +0200 Subject: [PATCH 027/147] sway: generalize wrapper Generalize the sway wrapper so it can be used by sway derivatives, like volare. --- pkgs/applications/window-managers/sway/wrapper.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/window-managers/sway/wrapper.nix b/pkgs/applications/window-managers/sway/wrapper.nix index 21a7daa1fa34..7510e1e9582b 100644 --- a/pkgs/applications/window-managers/sway/wrapper.nix +++ b/pkgs/applications/window-managers/sway/wrapper.nix @@ -17,22 +17,22 @@ with lib; let sway = sway-unwrapped.overrideAttrs (oa: { inherit isNixOS enableXWayland; }); - baseWrapper = writeShellScriptBin "sway" '' + baseWrapper = writeShellScriptBin sway.meta.mainProgram '' set -o errexit if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then - export XDG_CURRENT_DESKTOP=sway + export XDG_CURRENT_DESKTOP=${sway.meta.mainProgram} ${extraSessionCommands} export _SWAY_WRAPPER_ALREADY_EXECUTED=1 fi if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then export DBUS_SESSION_BUS_ADDRESS - exec ${sway}/bin/sway "$@" + exec ${lib.getExe sway} "$@" else - exec ${lib.optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${sway}/bin/sway "$@" + exec ${lib.optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${lib.getExe sway} "$@" fi ''; in symlinkJoin { - name = "sway-${sway.version}"; + name = "${sway.meta.mainProgram}-${sway.version}"; paths = (optional withBaseWrapper baseWrapper) ++ [ sway ]; @@ -49,14 +49,14 @@ in symlinkJoin { postBuild = '' ${optionalString withGtkWrapper "gappsWrapperArgsHook"} - wrapProgram $out/bin/sway \ + wrapProgram $out/bin/${sway.meta.mainProgram} \ ${optionalString withGtkWrapper ''"''${gappsWrapperArgs[@]}"''} \ ${optionalString (extraOptions != []) "${concatMapStrings (x: " --add-flags " + x) extraOptions}"} ''; passthru = { inherit (sway.passthru) tests; - providedSessions = [ "sway" ]; + providedSessions = [ sway.meta.mainProgram ]; }; inherit (sway) meta; From 29ecbcf9e69061b439839460642787c0388dc28a Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 16 Nov 2023 11:51:02 -0500 Subject: [PATCH 028/147] ko: 0.15.0 -> 0.15.1 Diff: https://github.com/ko-build/ko/compare/refs/tags/v0.15.0...v0.15.1 Changelog: https://github.com/ko-build/ko/releases/tag/v0.15.1 --- pkgs/development/tools/ko/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/ko/default.nix b/pkgs/development/tools/ko/default.nix index 66a196ab02d4..3f9bc4c0b3fc 100644 --- a/pkgs/development/tools/ko/default.nix +++ b/pkgs/development/tools/ko/default.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "ko"; - version = "0.15.0"; + version = "0.15.1"; src = fetchFromGitHub { owner = "ko-build"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-z0VemNdN35p5fA+cenXil7Vonl+ryu1ruKxzWFwMPfI="; + hash = "sha256-BEKsa5mzJplcyR65/4T0MizrYxEk8/ON8SDFt8ZxqMU="; }; vendorHash = null; From 5ddf3f25f47302febc9b1d6787b97ccd2aed2d5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Nov 2023 17:57:30 +0000 Subject: [PATCH 029/147] tfautomv: 0.5.3 -> 0.5.4 --- pkgs/applications/networking/cluster/tfautomv/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/tfautomv/default.nix b/pkgs/applications/networking/cluster/tfautomv/default.nix index 7409ec8ea446..358dfd0a39fd 100644 --- a/pkgs/applications/networking/cluster/tfautomv/default.nix +++ b/pkgs/applications/networking/cluster/tfautomv/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "tfautomv"; - version = "0.5.3"; + version = "0.5.4"; src = fetchFromGitHub { owner = "busser"; repo = pname; rev = "v${version}"; - hash = "sha256-A1/sf+QjxQ8S2Cqmw9mD0r4aqA2Ssopeni0YNLND9L8="; + hash = "sha256-irB0Kfd8eqIKq0ooJRxB0X4t2/1aFCNYRwaG6lAw3ic="; }; - vendorHash = "sha256-zAshnSqZT9lx9EWvJsMwi6rqvhUWJ/3uJnk+44TGzlU="; + vendorHash = "sha256-Wc5hpiHL5I01IodcHX0IzeKfthkFS7SuUxmaxOU6WkA="; ldflags = [ "-s" "-w" ]; From 8015f26242d632f85937237faccadfc1ea7201cd Mon Sep 17 00:00:00 2001 From: John Garcia Date: Thu, 16 Nov 2023 19:03:17 +0000 Subject: [PATCH 030/147] bluetuith: 0.1.8 -> 0.1.9 --- pkgs/tools/bluetooth/bluetuith/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/bluetooth/bluetuith/default.nix b/pkgs/tools/bluetooth/bluetuith/default.nix index 6b1260553188..d6fad23c1632 100644 --- a/pkgs/tools/bluetooth/bluetuith/default.nix +++ b/pkgs/tools/bluetooth/bluetuith/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "bluetuith"; - version = "0.1.8"; + version = "0.1.9"; src = fetchFromGitHub { owner = "darkhz"; repo = pname; rev = "v${version}"; - sha256 = "sha256-b+J+8nxFZYJlAKOStpH7ItPqMw7inM5pss17kyX1brg="; + sha256 = "sha256-vdHnG0uQdy5PboIovtxl5i9xwFpjYLCZf2IGeiMcWe8="; }; - vendorHash = "sha256-d0O54KNGLXU8FGr1eSEp30JMWNVo91Le2MI8UnAfTuU="; + vendorHash = "sha256-pYVEFKLPfstWWO6ypgv7ntAaE1Wmq2XKuZC2ccMa8Vc="; ldflags = [ "-s" "-w" ]; From 7bd55d43d3771179872499aeb4036eea9992397e Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 16 Nov 2023 14:43:28 -0500 Subject: [PATCH 031/147] static-web-server: 2.24.0 -> 2.24.1 Diff: https://github.com/static-web-server/static-web-server/compare/v2.24.0...v2.24.1 Changelog: https://github.com/static-web-server/static-web-server/blob/v2.24.1/CHANGELOG.md --- pkgs/servers/static-web-server/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/static-web-server/default.nix b/pkgs/servers/static-web-server/default.nix index a14313cdaf69..a8057cac7e7d 100644 --- a/pkgs/servers/static-web-server/default.nix +++ b/pkgs/servers/static-web-server/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "static-web-server"; - version = "2.24.0"; + version = "2.24.1"; src = fetchFromGitHub { owner = "static-web-server"; repo = pname; rev = "v${version}"; - hash = "sha256-NJjzfl44qRPph3M6u1jYELSvMzsPww8aD8DDNXSQjOo="; + hash = "sha256-U+B/k/stwjJw+mxUCb4A3yUtc/+Tg0PsWhVnovLLX4A="; }; - cargoHash = "sha256-gHs8aFZozWgF4uE2mp/qRb9J3hRAohRwu15Q5/FLtTs="; + cargoHash = "sha256-ZDrRjIM8187nr72MlzFr0NAqH2f8qkF1sGAT9+NvfhA="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security From e680a2542810a2bc8d3406bbbe8708afa5024029 Mon Sep 17 00:00:00 2001 From: Zhenbo Li Date: Sun, 12 Nov 2023 23:02:11 -0500 Subject: [PATCH 032/147] texstudio: add darwin support Co-authored-by: Marco Rebhan Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com> --- pkgs/applications/editors/texstudio/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix index b9a386684f9e..ef0f15734a24 100644 --- a/pkgs/applications/editors/texstudio/default.nix +++ b/pkgs/applications/editors/texstudio/default.nix @@ -29,6 +29,12 @@ stdenv.mkDerivation (finalAttrs: { zlib ]; + postInstall = lib.optionalString stdenv.isDarwin '' + mkdir -p "$out/Applications" + mv "$out/bin/texstudio.app" "$out/Applications" + rm -d "$out/bin" + ''; + meta = with lib; { description = "TeX and LaTeX editor"; longDescription='' @@ -39,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://texstudio.org"; changelog = "https://github.com/texstudio-org/texstudio/blob/${version}/utilities/manual/CHANGELOG.txt"; license = licenses.gpl2Plus; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ ajs124 cfouche ]; }; }) From 8da26616fd2d83d6359e3f3e9917fd578b3007de Mon Sep 17 00:00:00 2001 From: Anna Lee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Mon, 13 Nov 2023 22:54:41 -0800 Subject: [PATCH 033/147] xbps: 0.59.1 -> 0.59.2; fix build treat all warnings as warnings to prevent compile failure due to openssl depereciated api changelog: https://github.com/void-linux/xbps/releases/tag/0.59.2 --- pkgs/tools/package-management/xbps/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix index c948c66b47f1..07aa1a7accc1 100644 --- a/pkgs/tools/package-management/xbps/default.nix +++ b/pkgs/tools/package-management/xbps/default.nix @@ -1,14 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, which, zlib, openssl, libarchive }: +{ lib, stdenv, fetchFromGitHub, pkg-config, which, zlib, openssl, libarchive }: stdenv.mkDerivation rec { pname = "xbps"; - version = "0.59.1"; + version = "0.59.2"; src = fetchFromGitHub { owner = "void-linux"; repo = "xbps"; rev = version; - sha256 = "0pab3xf97y4wqlyrb92zxd3cfsrbnlx6pssbw4brgwcxccw9jrhy"; + hash = "sha256-3+LzFLDZ1zfRPBETMlpEn66zsfHRHQLlgeZPdMtmA14="; }; nativeBuildInputs = [ pkg-config which ]; @@ -17,16 +17,17 @@ stdenv.mkDerivation rec { patches = [ ./cert-paths.patch - # fix openssl 3 - (fetchpatch { - url = "https://github.com/void-linux/xbps/commit/db1766986c4389eb7e17c0e0076971b711617ef9.patch"; - hash = "sha256-CmyZdsHStPsELdEgeJBWIbXIuVeBhv7VYb2uGYxzUWQ="; - }) ]; env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=deprecated-declarations"; postPatch = '' + # _BSD_SOURCE causes cpp warning + # https://github.com/void-linux/xbps/issues/576 + substituteInPlace bin/xbps-fbulk/main.c lib/util.c lib/external/dewey.c lib/external/fexec.c \ + --replace 'define _BSD_SOURCE' 'define _DEFAULT_SOURCE' \ + --replace '# define _BSD_SOURCE' '#define _DEFAULT_SOURCE' + # fix unprefixed ranlib (needed on cross) substituteInPlace lib/Makefile \ --replace 'SILENT}ranlib ' 'SILENT}$(RANLIB) ' From 56ce64cba7ed1b9bed426499c28bfc6469a61ed2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Nov 2023 23:23:26 +0000 Subject: [PATCH 034/147] chain-bench: 0.1.8 -> 0.1.9 --- pkgs/tools/security/chain-bench/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/chain-bench/default.nix b/pkgs/tools/security/chain-bench/default.nix index fef69399cc14..e123cf30b43f 100644 --- a/pkgs/tools/security/chain-bench/default.nix +++ b/pkgs/tools/security/chain-bench/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "chain-bench"; - version = "0.1.8"; + version = "0.1.9"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vQzxTOShxQGitZRCuR8izSxCkZdPWm2ohoXBOvAkwfw="; + sha256 = "sha256-eNCQbmqTnCBBwrppFL2yvmiwgj439sosYVkk2ryMa0I="; }; vendorHash = "sha256-sAZIMJRx/E+l12Zyp/vKfuiaCMeaonRbEcsRIRXbXm8="; From aef4ae84675bf5fca7932a3cd52323fa4413787d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Nov 2023 23:51:13 +0000 Subject: [PATCH 035/147] kubefirst: 2.3.0 -> 2.3.5 --- pkgs/applications/networking/cluster/kubefirst/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubefirst/default.nix b/pkgs/applications/networking/cluster/kubefirst/default.nix index 8c15855576b8..ab2eb86164aa 100644 --- a/pkgs/applications/networking/cluster/kubefirst/default.nix +++ b/pkgs/applications/networking/cluster/kubefirst/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kubefirst"; - version = "2.3.0"; + version = "2.3.5"; src = fetchFromGitHub { owner = "kubefirst"; repo = pname; rev = "v${version}"; - hash = "sha256-5znZMr0Dj6kpKJbypICN5+Fv/+3FgTLBok3YMrWaHdo="; + hash = "sha256-RqysUaHLgTNuTeLt5xsD06Qxv5qsGTPE0H7r4RqPf30="; }; - vendorHash = "sha256-/iAGUnIMH2+IrvvXig56SpZ0eTfVwaCgGMUDp5/MtEo="; + vendorHash = "sha256-IH43F809dr6LGb87pqW2G9xrJLsQcHfjOm5PUj8r4Qo="; ldflags = [ "-s" "-w" "-X github.com/kubefirst/runtime/configs.K1Version=v${version}"]; From e8941a92ad602c3d31117f7d8aa66ede97f7fe7b Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 17 Nov 2023 01:34:19 +0100 Subject: [PATCH 036/147] python311Packages.trainer: 0.0.31 -> 0.0.32 https://github.com/coqui-ai/Trainer/releases/tag/v0.0.32 --- pkgs/development/python-modules/trainer/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/trainer/default.nix b/pkgs/development/python-modules/trainer/default.nix index 466d6db8da5a..734bc324e266 100644 --- a/pkgs/development/python-modules/trainer/default.nix +++ b/pkgs/development/python-modules/trainer/default.nix @@ -4,19 +4,19 @@ , coqpit , fsspec -, torch-bin +, torch , tensorboard , protobuf , psutil , pytestCheckHook , soundfile -, torchvision-bin +, torchvision }: let pname = "trainer"; - version = "0.0.31"; + version = "0.0.32"; in buildPythonPackage { inherit pname version; @@ -26,7 +26,7 @@ buildPythonPackage { owner = "coqui-ai"; repo = "Trainer"; rev = "refs/tags/v${version}"; - hash = "sha256-avZuujeWG/UGkj7fcGB99Fw7KYktJPIDf8oB4wjoiD4="; + hash = "sha256-lSfkokPFB09KZBHe/Qkon2gUsA82AK52WNK1bJfzCNc="; }; postPatch = '' @@ -40,7 +40,7 @@ buildPythonPackage { psutil soundfile tensorboard - torch-bin + torch ]; # only one test and that requires training data from the internet @@ -48,7 +48,7 @@ buildPythonPackage { nativeCheckInputs = [ pytestCheckHook - torchvision-bin + torchvision ]; pythonImportsCheck = [ From 0e1b638d8a98143387e244bdef51a71d89c5d7d6 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 16 Nov 2023 23:07:22 +0100 Subject: [PATCH 037/147] singularity: 4.0.1 -> 4.0.2 Changelog: https://github.com/sylabs/singularity/releases/tag/v4.0.2 --- pkgs/applications/virtualization/singularity/packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix index 99ab52dece28..8a86f06785b4 100644 --- a/pkgs/applications/virtualization/singularity/packages.nix +++ b/pkgs/applications/virtualization/singularity/packages.nix @@ -38,20 +38,20 @@ let singularity = callPackage (import ./generic.nix rec { pname = "singularity-ce"; - version = "4.0.1"; + version = "4.0.2"; projectName = "singularity"; src = fetchFromGitHub { owner = "sylabs"; repo = "singularity"; rev = "refs/tags/v${version}"; - hash = "sha256-rdpIAiLh4mlSu+1UUDN79gIzxy5X5wOB5XOW9oBm+HU="; + hash = "sha256-R+vAKYR4lJmC7PIITYyg4UeGYjGXoPqqUai3HmPzwG0="; }; # Update by running # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules" # at the root directory of the Nixpkgs repository - vendorHash = "sha256-kV4Yu9MBoF8spJroWqLOUt2v8YV79AoNUG9hYgPgXRc="; + vendorHash = "sha256-z3VozeMpaqh4ddZxB3xqo25Gm+8JYeIwASOq+Mmerr4="; # Do not build conmon and squashfuse from the Git submodule sources, # Use Nixpkgs provided version From febf31f23667f11e9e211ef7ab2c3b3a7d94cc5e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 01:02:14 +0000 Subject: [PATCH 038/147] owntracks-recorder: 0.9.5 -> 0.9.6 --- pkgs/servers/owntracks-recorder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/owntracks-recorder/default.nix b/pkgs/servers/owntracks-recorder/default.nix index 85985584c827..83ebe99c1129 100644 --- a/pkgs/servers/owntracks-recorder/default.nix +++ b/pkgs/servers/owntracks-recorder/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "owntracks-recorder"; - version = "0.9.5"; + version = "0.9.6"; src = fetchFromGitHub { owner = "owntracks"; repo = "recorder"; rev = finalAttrs.version; - hash = "sha256-N9qMMAIgmBUEscydJKBQneLcX8odOEXY+560lJJz52g="; + hash = "sha256-QpPZDh++WHIvIgml32UWtAe3tzh2x7lFUu2xdioNGW4="; }; nativeBuildInputs = [ From 6b0486ceb60aedeb29b5dddc35394027d46a365d Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 17 Nov 2023 02:03:17 +0100 Subject: [PATCH 039/147] clipboard-jh: drop stdenv override --- pkgs/top-level/all-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f826eca73779..31973798e75a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15038,9 +15038,7 @@ with pkgs; clipnotify = callPackage ../tools/misc/clipnotify { }; - clipboard-jh = callPackage ../tools/misc/clipboard-jh { - stdenv = if stdenv.isDarwin then llvmPackages_16.stdenv else stdenv; - }; + clipboard-jh = callPackage ../tools/misc/clipboard-jh { }; clipbuzz = callPackage ../tools/misc/clipbuzz { }; From 195bf2cb4d9d17d3f621936279faeefa462f0083 Mon Sep 17 00:00:00 2001 From: Anna Lee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Wed, 15 Nov 2023 11:46:03 +0000 Subject: [PATCH 040/147] deliantra-server: use perl536; fix build perl538 adds 'struct object' in a header causing conflicts so pin to perl536. --- pkgs/top-level/all-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42fba003f9e9..1ed14083333e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -37638,6 +37638,9 @@ with pkgs; deliantra-server = callPackage ../games/deliantra/server.nix { stdenv = gcc10StdenvCompat; + # perl538 defines 'struct object' in sv.h. many conflicts result + perl = perl536; + perlPackages = perl536Packages; }; deliantra-arch = callPackage ../games/deliantra/arch.nix { stdenv = gcc10StdenvCompat; From be18e0d37a7e1d4bd51ae33ba8481b72f65f897c Mon Sep 17 00:00:00 2001 From: networkException Date: Fri, 17 Nov 2023 03:29:32 +0100 Subject: [PATCH 041/147] chromium: 119.0.6045.123 -> 119.0.6045.159 https://chromereleases.googleblog.com/2023/11/stable-channel-update-for-desktop_14.html This update includes 4 security fixes. CVEs: CVE-2023-5997 CVE-2023-6112 --- .../networking/browsers/chromium/upstream-info.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 4714704c0e79..816ec9a02a78 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -15,9 +15,9 @@ version = "2023-09-12"; }; }; - hash = "sha256-UR8EowMYZ668qQ/6C9C/M+0HSguyUGKVhY46FTG+ShA="; - hash_deb_amd64 = "sha256-PIBWkCwU/7N242wR/WmpJDDJKLDGk/sJxPxa05bOQSE="; - version = "119.0.6045.123"; + hash = "sha256-8xPm3vNF0HjfL7ewTz7iz7GMfiJi6mhMK1YSC7VeoSM="; + hash_deb_amd64 = "sha256-xAm7bPsnnJD7UWNTtHKMv5enHo3rM9w0M81QPqZVlP4="; + version = "119.0.6045.159"; }; ungoogled-chromium = { deps = { From b105acfc31c89a3d54bef8b749dd7bf9fcef5bee Mon Sep 17 00:00:00 2001 From: networkException Date: Fri, 17 Nov 2023 03:29:59 +0100 Subject: [PATCH 042/147] ungoogled-chromium: 119.0.6045.123-1 -> 119.0.6045.159-1 https://chromereleases.googleblog.com/2023/11/stable-channel-update-for-desktop_14.html This update includes 4 security fixes. CVEs: CVE-2023-5997 CVE-2023-6112 --- .../networking/browsers/chromium/upstream-info.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 816ec9a02a78..d11dce5a1051 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -28,12 +28,12 @@ version = "2023-09-12"; }; ungoogled-patches = { - hash = "sha256-4EbfM62KuG8nHrYWwp183V5G9ac7FICjpyJahnKbQjE="; - rev = "119.0.6045.123-1"; + hash = "sha256-kgUrYXy2avfwfRckSYI6YPMW1uuvl2Osg4Vr9Q1ksMc="; + rev = "119.0.6045.159-1"; }; }; - hash = "sha256-UR8EowMYZ668qQ/6C9C/M+0HSguyUGKVhY46FTG+ShA="; - hash_deb_amd64 = "sha256-PIBWkCwU/7N242wR/WmpJDDJKLDGk/sJxPxa05bOQSE="; - version = "119.0.6045.123"; + hash = "sha256-8xPm3vNF0HjfL7ewTz7iz7GMfiJi6mhMK1YSC7VeoSM="; + hash_deb_amd64 = "sha256-xAm7bPsnnJD7UWNTtHKMv5enHo3rM9w0M81QPqZVlP4="; + version = "119.0.6045.159"; }; } From 471eb8b6057661c00cfbd8b2f8c3c7b01f9ad58f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 03:53:43 +0000 Subject: [PATCH 043/147] azure-static-sites-client: 1.0.024741 -> 1.0.024941 --- .../azure-static-sites-client/versions.json | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/pkgs/development/tools/azure-static-sites-client/versions.json b/pkgs/development/tools/azure-static-sites-client/versions.json index 88d31f718ef6..55c30a12addf 100644 --- a/pkgs/development/tools/azure-static-sites-client/versions.json +++ b/pkgs/development/tools/azure-static-sites-client/versions.json @@ -1,6 +1,44 @@ [ { "version": "latest", + "buildId": "1.0.024941", + "publishDate": "2023-10-31T04:54:50.5527205Z", + "files": { + "linux-x64": { + "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/linux/StaticSitesClient", + "sha": "bea23499732d615698baf4c9dcafe717fdd4ba8344f2d96740233b0380df79b6" + }, + "win-x64": { + "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/windows/StaticSitesClient.exe", + "sha": "a93aa5ec2a17280f3c9c8252948f8c68050c8852770322758ffa3187b6bce1dd" + }, + "osx-x64": { + "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/macOS/StaticSitesClient", + "sha": "57ea66c930aafbf4dea82216e51128b3315ec2db3ab385d41e8d912a3adab2c0" + } + } + }, + { + "version": "stable", + "buildId": "1.0.024941", + "publishDate": "2023-10-31T04:54:50.5527205Z", + "files": { + "linux-x64": { + "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/linux/StaticSitesClient", + "sha": "bea23499732d615698baf4c9dcafe717fdd4ba8344f2d96740233b0380df79b6" + }, + "win-x64": { + "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/windows/StaticSitesClient.exe", + "sha": "a93aa5ec2a17280f3c9c8252948f8c68050c8852770322758ffa3187b6bce1dd" + }, + "osx-x64": { + "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/macOS/StaticSitesClient", + "sha": "57ea66c930aafbf4dea82216e51128b3315ec2db3ab385d41e8d912a3adab2c0" + } + } + }, + { + "version": "backup", "buildId": "1.0.024871", "publishDate": "2023-10-24T04:09:23.7109231Z", "files": { @@ -17,43 +55,5 @@ "sha": "63c9027a7b5e597ae9e0ad8311b31a587bd977ed758555784d08cc3ff35e80a4" } } - }, - { - "version": "stable", - "buildId": "1.0.024741", - "publishDate": "2023-10-10T20:13:22.904778Z", - "files": { - "linux-x64": { - "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024741/linux/StaticSitesClient", - "sha": "0e174b1551a495dbb751240201b8d264f86264c704d66678c189fe4d94f53502" - }, - "win-x64": { - "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024741/windows/StaticSitesClient.exe", - "sha": "cb8d6e7cf83ab7ee394627b088f42de6e63fa77ed5c56eb79a088a1de02163ff" - }, - "osx-x64": { - "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024741/macOS/StaticSitesClient", - "sha": "1ef4292cad223972ed820921d29f6b844e18edd732c99c183269e86b150a8224" - } - } - }, - { - "version": "backup", - "buildId": "1.0.024671", - "publishDate": "2023-10-04T00:20:16.1747762Z", - "files": { - "linux-x64": { - "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/linux/StaticSitesClient", - "sha": "82b8181bb5ea47e1d449c1c56e622bd350513dd97f27ac4abd25bd139fde92e2" - }, - "win-x64": { - "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/windows/StaticSitesClient.exe", - "sha": "a7660746d9dbed8814259547da7f96122d01ae90de6f8aa5ccf7b07b58f59f19" - }, - "osx-x64": { - "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/macOS/StaticSitesClient", - "sha": "7584bea04c7d9e685216d4248063226d5a230cc955e560885a48737d1abd385e" - } - } } ] From c851fd99bd6e2aac2dd6e1f403f429d65d2b25d5 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 16 Nov 2023 23:02:59 -0500 Subject: [PATCH 044/147] Revert "hydra_unstable: add patch for Crypt::Passphrase::Argon2" This reverts commit 86a22f6b6578dbec6e272b732d5243b7defc6768. The patch is already upstreamed. --- ...ypt-passphrase-argon2-fix-output-len.patch | 28 ------------------- .../development/tools/misc/hydra/unstable.nix | 4 --- 2 files changed, 32 deletions(-) delete mode 100644 pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch diff --git a/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch b/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch deleted file mode 100644 index 0c8e6ae434d6..000000000000 --- a/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6a5fb9efaea35ca29836371307f5083576f421ab Mon Sep 17 00:00:00 2001 -From: Stig Palmquist -Date: Fri, 20 Oct 2023 00:09:28 +0200 -Subject: [PATCH] Set output length of C::P::Argon2 hashes to 16 - -Since the default lengths in Crypt::Passphrase::Argon2 changed from 16 -to 32 in in 0.009, some tests that expected the passphrase to be -unchanged started failing. ---- - src/lib/Hydra/Schema/Result/Users.pm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lib/Hydra/Schema/Result/Users.pm b/src/lib/Hydra/Schema/Result/Users.pm -index b3de6543..c28ae931 100644 ---- a/src/lib/Hydra/Schema/Result/Users.pm -+++ b/src/lib/Hydra/Schema/Result/Users.pm -@@ -216,7 +216,7 @@ sub json_hint { - - sub _authenticator() { - my $authenticator = Crypt::Passphrase->new( -- encoder => 'Argon2', -+ encoder => { module => 'Argon2', output_size => 16 }, - validators => [ - (sub { - my ($password, $hash) = @_; --- -2.42.0 - diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix index 26102f36daf0..02774ac41058 100644 --- a/pkgs/development/tools/misc/hydra/unstable.nix +++ b/pkgs/development/tools/misc/hydra/unstable.nix @@ -205,10 +205,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patches = [ - ./crypt-passphrase-argon2-fix-output-len.patch - ]; - postPatch = '' # Change 5s timeout for init to 30s substituteInPlace t/lib/HydraTestContext.pm \ From a16270003d78cc166825e3ff66375f636278af92 Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 16 Nov 2023 23:24:16 -0500 Subject: [PATCH 045/147] complgen: 0.1.6 -> 0.1.7 Diff: https://github.com/adaszko/complgen/compare/v0.1.6...v0.1.7 Changelog: https://github.com/adaszko/complgen/blob/v0.1.7/CHANGELOG.md --- pkgs/development/tools/misc/complgen/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/complgen/default.nix b/pkgs/development/tools/misc/complgen/default.nix index 81cf9c120edd..6c0cdb3c5bb1 100644 --- a/pkgs/development/tools/misc/complgen/default.nix +++ b/pkgs/development/tools/misc/complgen/default.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "complgen"; - version = "0.1.6"; + version = "0.1.7"; src = fetchFromGitHub { owner = "adaszko"; repo = "complgen"; rev = "v${version}"; - hash = "sha256-FetiopX4k58JQP67zTh0ssy1HFJHmi0Op9h9vjH1pLE="; + hash = "sha256-B7ydYz9nui3B/IC3obVTiJZvzTD/lCQyf+tREwFJERg="; }; - cargoHash = "sha256-2EJuxoed+6LGpxxqkdFxbntilA2SihQScliUFYgjYmU="; + cargoHash = "sha256-CXvaGrE4sQlc7K6FVQqGU8EKPfHr8EIV5YFq+VMoBWg="; meta = with lib; { description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar"; From 397a8fd06bd576cae7f1fae71dbfd9fbce30dc66 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 17 Nov 2023 07:48:13 +0300 Subject: [PATCH 046/147] python2/mk-python-derivation: disable catchConflictsHook It's broken on Py2. Hopefully people still using 2 know what they're doing? --- .../interpreters/python/python2/mk-python-derivation.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 1a6f9c784cf6..6d51b51b215d 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -57,7 +57,8 @@ # Raise an error if two packages are installed with the same name # TODO: For cross we probably need a different PYTHONPATH, or not # add the runtime deps until after buildPhase. -, catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform) +# FIXME: disabled for Python 2 because broken +, catchConflicts ? false # Additional arguments to pass to the makeWrapper function, which wraps # generated binaries. From 2cc491405a0a98a94b6090968e20d91e83920651 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 05:00:02 +0000 Subject: [PATCH 047/147] azure-storage-azcopy: 10.20.1 -> 10.21.1 --- pkgs/development/tools/azcopy/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix index c39dca4e28d8..f899fb1c26c8 100644 --- a/pkgs/development/tools/azcopy/default.nix +++ b/pkgs/development/tools/azcopy/default.nix @@ -2,18 +2,18 @@ buildGoModule rec { pname = "azure-storage-azcopy"; - version = "10.20.1"; + version = "10.21.1"; src = fetchFromGitHub { owner = "Azure"; repo = "azure-storage-azcopy"; rev = "v${version}"; - sha256 = "sha256-pfbSNFKZubgebx90zL5sVva36wXS+0NQvvMxPI8kV3Y="; + sha256 = "sha256-FdiDxWmCRkSOa+6A9XgKeyFGk/ba+BgFm3/ChERkYvk="; }; subPackages = [ "." ]; - vendorHash = "sha256-byFroeXRMepN9RYak2++tT9IE8ZbT+0qJAyipHkE5WE="; + vendorHash = "sha256-F5YMPwdS2A5FAwuG1gfiAqBKapZ24VIGzJXnwojoDk0="; doCheck = false; From 3bbc284e852ff07ace132f775606a22d5c2d4ed8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 05:14:10 +0000 Subject: [PATCH 048/147] bilibili: 1.12.1-2 -> 1.12.3-1 --- pkgs/applications/video/bilibili/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/bilibili/default.nix b/pkgs/applications/video/bilibili/default.nix index a4fe95709928..9a507e93ab65 100644 --- a/pkgs/applications/video/bilibili/default.nix +++ b/pkgs/applications/video/bilibili/default.nix @@ -7,10 +7,10 @@ stdenv.mkDerivation rec { pname = "bilibili"; - version = "1.12.1-2"; + version = "1.12.3-1"; src = fetchurl { url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb"; - hash = "sha256-vYoVHVT/Deooxq/0WVzPebR68N9KBJfgLU30lJPB89M="; + hash = "sha256-F2y5daIdNJZGNjOctN9iA6kHSRVSMWK8s80X+kXxzb4="; }; unpackPhase = '' From 9b2d9a751c38a9f94947efb3e17e181117593c28 Mon Sep 17 00:00:00 2001 From: Grafcube Date: Fri, 17 Nov 2023 11:07:08 +0530 Subject: [PATCH 049/147] cargo-leptos: fix 0.2.2 This includes the updates to Cargo.lock to ensure that the package actually works. --- pkgs/development/tools/rust/cargo-leptos/Cargo.lock | 2 +- pkgs/development/tools/rust/cargo-leptos/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-leptos/Cargo.lock b/pkgs/development/tools/rust/cargo-leptos/Cargo.lock index 1849049179bb..7e0abac242a8 100644 --- a/pkgs/development/tools/rust/cargo-leptos/Cargo.lock +++ b/pkgs/development/tools/rust/cargo-leptos/Cargo.lock @@ -389,7 +389,7 @@ dependencies = [ [[package]] name = "cargo-leptos" -version = "0.2.1" +version = "0.2.2" dependencies = [ "ansi_term", "anyhow", diff --git a/pkgs/development/tools/rust/cargo-leptos/default.nix b/pkgs/development/tools/rust/cargo-leptos/default.nix index ed40ca125695..a1e1ca030711 100644 --- a/pkgs/development/tools/rust/cargo-leptos/default.nix +++ b/pkgs/development/tools/rust/cargo-leptos/default.nix @@ -20,8 +20,8 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "leptos-rs"; repo = pname; - rev = "${version}"; - hash = "sha256-i2nKtQC63BbZsrYvg+HkdqQfK59f0LzZ9dfmFBaqn14="; + rev = "e98b478b0c82af1469151eff30f4246b9af4a539"; + hash = "sha256-7o/yQanBBSA+MmMiGCYSjar4hZ8TRZoPiUniF5ELzXU="; }; cargoLock = { From 83d147ce0fdbac35b29b3de554dee5a192aa234a Mon Sep 17 00:00:00 2001 From: davisrichard437 Date: Fri, 17 Nov 2023 00:51:12 -0500 Subject: [PATCH 050/147] gscreenshot: 3.4.1 -> 3.4.2 --- pkgs/applications/graphics/gscreenshot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/gscreenshot/default.nix b/pkgs/applications/graphics/gscreenshot/default.nix index 9cc53a9c521a..dc077e63e302 100644 --- a/pkgs/applications/graphics/gscreenshot/default.nix +++ b/pkgs/applications/graphics/gscreenshot/default.nix @@ -18,13 +18,13 @@ python3Packages.buildPythonApplication rec { pname = "gscreenshot"; - version = "3.4.1"; + version = "3.4.2"; src = fetchFromGitHub { owner = "thenaterhood"; repo = "${pname}"; rev = "v${version}"; - sha256 = "sLJ+Fk+ePrmJeSllGd30uEQ/uFDl5CIob//1cDLKZHg="; + sha256 = "sha256-Ha9PTvr6XNGhe4I0ZUwrdbsNHWhz+Ubw2gp+ctLTO64="; }; # needed for wrapGAppsHook to function From f53263caceb5f2a92eb2269e8eed9ef7a065fb7a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 06:06:33 +0000 Subject: [PATCH 051/147] bun: 1.0.11 -> 1.0.12 --- pkgs/development/web/bun/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix index f0f8a3454550..01496458182f 100644 --- a/pkgs/development/web/bun/default.nix +++ b/pkgs/development/web/bun/default.nix @@ -12,7 +12,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.0.11"; + version = "1.0.12"; pname = "bun"; src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); @@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-yZp/AFlOVRtZ60865utrtVv0zlerwFMhpqBh26WnfL8="; + hash = "sha256-tGQQEEPBrMx3AuIsJbN0i/xoa7HSf4rNrE6km3NWjHQ="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-/9MKD2iRogrOIiKlCCPUX5KoDD0rM7K8+jVLx9xxs5s="; + hash = "sha256-xMmNBK0t+e/BLXnE3wOxbANXlwpQ/rczTK/7E80T6cw="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip"; - hash = "sha256-9wE3GL+EGvPHtVgfMx09Jn+WU/VoUf5x/QrrdlhePa8="; + hash = "sha256-/3qLt3duJt0x0aI7xwWIEt8kAzLqSAlwC3C539vZ/aI="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-pT9+GchNC3vmeFgTF0GzzyLzWBrCQcR/DFRVK2CnHCw="; + hash = "sha256-+EWt1/YtGzJm/lRBPrf1RM5xdMVFMWurRNBQACALcSA="; }; }; updateScript = writeShellScript "update-bun" '' From fcb6d30ab66c197b5b80d7a8d49df91dcce8d56a Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 17 Nov 2023 13:08:48 +0700 Subject: [PATCH 052/147] upwork: 5.8.0.31 -> 5.8.0.33 --- pkgs/applications/misc/upwork/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/upwork/default.nix b/pkgs/applications/misc/upwork/default.nix index 2c36b3411cdd..e1cf49f61aec 100644 --- a/pkgs/applications/misc/upwork/default.nix +++ b/pkgs/applications/misc/upwork/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { pname = "upwork"; - version = "5.8.0.31"; + version = "5.8.0.33"; src = requireFile { name = "${pname}_${version}_amd64.deb"; url = "https://www.upwork.com/ab/downloads/os/linux/"; - sha256 = "sha256-tQV6v0U6xxqBl7nQaBhXSrc9iv+7SPHfABTiJJQDnPI="; + sha256 = "sha256-MU0usTAfNNMN8OYmS6dWU6Xk2o5dg5J0V7OQiv3dLug="; }; nativeBuildInputs = [ From 91b87850c21c8138ab0dbf80cd576fb30ccb1d82 Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Fri, 17 Nov 2023 06:21:19 +0000 Subject: [PATCH 053/147] python311Packages.brian2: remove failing patch --- .../python-modules/brian2/default.nix | 6 ------ .../python-modules/brian2/numpy1.24.patch | 18 ------------------ 2 files changed, 24 deletions(-) delete mode 100644 pkgs/development/python-modules/brian2/numpy1.24.patch diff --git a/pkgs/development/python-modules/brian2/default.nix b/pkgs/development/python-modules/brian2/default.nix index 2b3bcbff5076..a85e26b485f4 100644 --- a/pkgs/development/python-modules/brian2/default.nix +++ b/pkgs/development/python-modules/brian2/default.nix @@ -22,12 +22,6 @@ buildPythonPackage rec { hash = "sha256-XMXSOwcH8fLgzXCcT+grjYxhBdtF4H/Vr+S7J4GYZSw="; }; - patches = [ - # Fix deprecated numpy types - # https://sources.debian.org/data/main/b/brian/2.5.1-3/debian/patches/numpy1.24.patch - ./numpy1.24.patch - ]; - propagatedBuildInputs = [ cython jinja2 diff --git a/pkgs/development/python-modules/brian2/numpy1.24.patch b/pkgs/development/python-modules/brian2/numpy1.24.patch deleted file mode 100644 index 01af8f77c0ed..000000000000 --- a/pkgs/development/python-modules/brian2/numpy1.24.patch +++ /dev/null @@ -1,18 +0,0 @@ -Description: Remove deprecated use of np.float -Author: Marcel Stimberg -Bug-Debian: https://bugs.debian.org/1027193 -Applied-Upstream: 61ef84b316a3d0a892298adf51abd8ac50900758 -Last-Update: 2023-01-06 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- brian.orig/brian2/units/fundamentalunits.py -+++ brian/brian2/units/fundamentalunits.py -@@ -1597,7 +1597,7 @@ - unitless = np.array(self / best_unit, copy=False) - threshold = np.get_printoptions()['threshold'] // 100 - if unitless.ndim == 0: -- sympy_quantity = np.float(unitless) -+ sympy_quantity = float(unitless) - elif unitless.ndim == 1: - array_str = np.array2string(unitless, separator=" & ", threshold=threshold, - max_line_width=sys.maxsize) From 9596dd249662428b7109a558b09c93916d6c84a7 Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Fri, 17 Nov 2023 06:42:09 +0000 Subject: [PATCH 054/147] python311Packages.bbox: pyproject = true; fix build --- pkgs/development/python-modules/bbox/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/bbox/default.nix b/pkgs/development/python-modules/bbox/default.nix index 4f1d0cef7fd0..956647eb98f4 100644 --- a/pkgs/development/python-modules/bbox/default.nix +++ b/pkgs/development/python-modules/bbox/default.nix @@ -4,11 +4,13 @@ , pythonOlder , pyquaternion , numpy +, poetry-core }: buildPythonPackage rec { pname = "bbox"; version = "0.9.4"; + pyproject = true; disabled = pythonOlder "3.6"; @@ -18,6 +20,10 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ pyquaternion numpy ]; + buildInputs = [ poetry-core ]; + + # upstream has no tests + doCheck = false; pythonImportsCheck = [ "bbox" ]; From f43214a5095026c4ef53e8df0436fa11d1af77f8 Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Fri, 17 Nov 2023 06:51:47 +0000 Subject: [PATCH 055/147] python311Packages.bbox: use fetchFromGitHub and enable tests --- .../python-modules/bbox/default.nix | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/bbox/default.nix b/pkgs/development/python-modules/bbox/default.nix index 956647eb98f4..df28d568b010 100644 --- a/pkgs/development/python-modules/bbox/default.nix +++ b/pkgs/development/python-modules/bbox/default.nix @@ -1,10 +1,14 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, pytestCheckHook , pythonOlder -, pyquaternion +, matplotlib , numpy +, pendulum +, pillow , poetry-core +, pyquaternion }: buildPythonPackage rec { @@ -14,16 +18,23 @@ buildPythonPackage rec { disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - hash = "sha256-GGQhKkdwmrYPEhtldPY3WUInSniU/B40NZvt1gXEuzg="; + src = fetchFromGitHub { + owner = "varunagrawal"; + repo = pname; + # matches 0.9.4 on PyPi + tests + rev = "d3f07ed0e38b6015cf4181e3b3edae6a263f8565"; + hash = "sha256-FrJ8FhlqwmnEB/QvPlkDfqZncNGPhwY9aagM9yv1LGs="; }; propagatedBuildInputs = [ pyquaternion numpy ]; buildInputs = [ poetry-core ]; - # upstream has no tests - doCheck = false; + nativeCheckInputs = [ + matplotlib + pendulum + pillow + pytestCheckHook + ]; pythonImportsCheck = [ "bbox" ]; From 53f761d0f114026d9864d6a4cd5ef0d4bf52c4ce Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 06:56:05 +0000 Subject: [PATCH 056/147] cirrus-cli: 0.106.1 -> 0.107.1 --- .../tools/continuous-integration/cirrus-cli/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix index 62856ffd389a..5dfec9c11a87 100644 --- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix +++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "cirrus-cli"; - version = "0.106.1"; + version = "0.107.1"; src = fetchFromGitHub { owner = "cirruslabs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-W+3sqWPYpMkbmA8dGEodZy+pZGRBLJdthicBFdkn6oU="; + sha256 = "sha256-PaIjeqL32CADE+m6kq7VIDXMBvEEMVW8eSlXiIwNEJ4="; }; - vendorHash = "sha256-+cxh3/TQqm6n7hUYhW2B3pdfdtzRuepZmLNSGVPA3H0="; + vendorHash = "sha256-OHeoa3SXmDiUROxFiprlq/gfnqMjha6PQ8tlkr7Pd00="; ldflags = [ "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}" From e7e7df50fbbd28adcd5f2a04bc0d90b4380ffa71 Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Fri, 17 Nov 2023 07:29:27 +0000 Subject: [PATCH 057/147] python311Packages.msprime: apply upstream patch; fix build --- pkgs/development/python-modules/msprime/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/development/python-modules/msprime/default.nix b/pkgs/development/python-modules/msprime/default.nix index 008ce7f2711e..2ec32c255dfa 100644 --- a/pkgs/development/python-modules/msprime/default.nix +++ b/pkgs/development/python-modules/msprime/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, fetchpatch , oldest-supported-numpy , setuptools-scm , wheel @@ -26,6 +27,16 @@ buildPythonPackage rec { hash = "sha256-YAJa2f0w2CenKubnYLbP8HodDhabLB2hAkyw/CPkp6o="; }; + patches = [ + # upstream patch fixes 2 failing unittests. remove on update + (fetchpatch { + name = "python311.patch"; + url = "https://github.com/tskit-dev/msprime/commit/639125ec942cb898cf4a80638f229e11ce393fbc.patch"; + hash = "sha256-peli4tdu8Bv21xIa5H8SRdfjQnTMO72IPFqybmSBSO8="; + includes = [ "tests/test_ancestry.py" ]; + }) + ]; + nativeBuildInputs = [ gsl oldest-supported-numpy From 38fe26a45b43b6728c7eba5fdb4e280cd41f022f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 07:32:26 +0000 Subject: [PATCH 058/147] cockpit: 303 -> 305 --- pkgs/by-name/co/cockpit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index 48bcff3f32a9..87858931d806 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -45,13 +45,13 @@ in stdenv.mkDerivation rec { pname = "cockpit"; - version = "303"; + version = "305"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit"; rev = "refs/tags/${version}"; - hash = "sha256-1VPnmb4VDSwzdXtk2YZVHH4qFJSe2OPzsmzVD/NkbYg="; + hash = "sha256-fCVnggso/wAvci9sLRVvwEsvZ+CeEfLBDnPPcAy/wGo="; fetchSubmodules = true; }; From 6fa7c06a94a633468beed0d5b237522d1da9a667 Mon Sep 17 00:00:00 2001 From: Arjun31415 Date: Fri, 17 Nov 2023 13:06:09 +0530 Subject: [PATCH 059/147] added libsecret to `runtimeDependencies` --- pkgs/applications/networking/mailreaders/mailspring/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix index 743adf84978d..702e92c04c32 100644 --- a/pkgs/applications/networking/mailreaders/mailspring/default.nix +++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix @@ -57,6 +57,7 @@ stdenv.mkDerivation rec { openssl (lib.getLib udev) libappindicator + libsecret ]; unpackPhase = '' From a314565eefe006c7370a7d20c7c8a23fcf93b858 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 09:46:28 +0000 Subject: [PATCH 060/147] scalr-cli: 0.15.2 -> 0.15.3 --- pkgs/tools/admin/scalr-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/admin/scalr-cli/default.nix b/pkgs/tools/admin/scalr-cli/default.nix index 3450019afa26..7adbaf7f6689 100644 --- a/pkgs/tools/admin/scalr-cli/default.nix +++ b/pkgs/tools/admin/scalr-cli/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "scalr-cli"; - version = "0.15.2"; + version = "0.15.3"; src = fetchFromGitHub { owner = "Scalr"; repo = "scalr-cli"; rev = "v${version}"; - hash = "sha256-vuYkUFh9C+D6Sbu/vbEFV57FDVQVSCkvOxdLeDVbe18="; + hash = "sha256-ciretC6z2NcLffSkK78DFIUqbRHgVTA7OEyNk6qdAgI="; }; vendorHash = "sha256-zyshSluHq5f+DQV4K7qxHNsZ4nKzL8J5A25rdg9fHeM="; From d3c568b7bcb676ea84e6494c9e3740a997141c1e Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Fri, 17 Nov 2023 18:03:27 +0800 Subject: [PATCH 061/147] maintainers: fortuneteller2k -> moni --- maintainers/maintainer-list.nix | 14 +++++++------- nixos/modules/config/stevenblack.nix | 2 +- pkgs/applications/editors/molsketch/default.nix | 2 +- pkgs/applications/editors/ox/default.nix | 2 +- pkgs/applications/misc/flavours/default.nix | 2 +- pkgs/applications/misc/kile-wl/default.nix | 2 +- pkgs/applications/misc/tiramisu/default.nix | 2 +- .../networking/browsers/vieb/default.nix | 2 +- .../terminal-emulators/contour/default.nix | 2 +- .../window-managers/lemonbar/default.nix | 2 +- pkgs/applications/window-managers/lemonbar/xft.nix | 2 +- .../window-managers/neocomp/default.nix | 2 +- .../applications/window-managers/river/default.nix | 2 +- pkgs/by-name/po/polybar/package.nix | 2 +- pkgs/data/fonts/curie/default.nix | 2 +- pkgs/data/fonts/edwin/default.nix | 2 +- pkgs/data/fonts/open-fonts/default.nix | 2 +- pkgs/data/fonts/scientifica/default.nix | 2 +- pkgs/data/icons/papirus-icon-theme/default.nix | 2 +- pkgs/data/icons/phinger-cursors/default.nix | 2 +- pkgs/data/themes/yaru/default.nix | 2 +- pkgs/development/embedded/elf2uf2-rs/default.nix | 2 +- pkgs/development/ocaml-modules/cooltt/default.nix | 2 +- pkgs/development/python-modules/dasbus/default.nix | 2 +- .../python-modules/web-cache/default.nix | 2 +- pkgs/development/tools/ats-acc/default.nix | 2 +- .../tools/language-servers/zls/default.nix | 2 +- pkgs/misc/i3a/default.nix | 2 +- pkgs/os-specific/linux/cryptodev/default.nix | 2 +- pkgs/os-specific/linux/irqbalance/default.nix | 2 +- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 2 +- .../linux/rtl8188eus-aircrack/default.nix | 2 +- pkgs/os-specific/linux/rtl8812au/default.nix | 2 +- pkgs/os-specific/linux/v4l2loopback/default.nix | 2 +- .../os-specific/linux/xf86-input-wacom/default.nix | 2 +- pkgs/shells/hilbish/default.nix | 2 +- pkgs/shells/zsh/spaceship-prompt/default.nix | 2 +- pkgs/tools/graphics/xcolor/default.nix | 2 +- pkgs/tools/misc/bfetch/default.nix | 2 +- pkgs/tools/misc/elfcat/default.nix | 2 +- pkgs/tools/misc/fetchutils/default.nix | 2 +- pkgs/tools/misc/sacad/default.nix | 2 +- pkgs/tools/networking/crackle/default.nix | 2 +- pkgs/tools/networking/mdk4/default.nix | 2 +- pkgs/tools/networking/redfang/default.nix | 2 +- .../networking/stevenblack-blocklist/default.nix | 2 +- 46 files changed, 52 insertions(+), 52 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8ac9894cc224..c83eed01a6d1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6003,13 +6003,6 @@ githubId = 92793; name = "Friedrich von Never"; }; - fortuneteller2k = { - email = "lythe1107@gmail.com"; - matrix = "@fortuneteller2k:matrix.org"; - github = "fortuneteller2k"; - githubId = 20619776; - name = "fortuneteller2k"; - }; fpletz = { email = "fpletz@fnordicwalking.de"; github = "fpletz"; @@ -12095,6 +12088,13 @@ github = "ribosomerocker"; githubId = 46468162; }; + moni = { + email = "lythe1107@gmail.com"; + matrix = "@fortuneteller2k:matrix.org"; + github = "moni"; + githubId = 20619776; + name = "moni"; + }; monsieurp = { email = "monsieurp@gentoo.org"; github = "monsieurp"; diff --git a/nixos/modules/config/stevenblack.nix b/nixos/modules/config/stevenblack.nix index 30ef7ff259f0..7e6235169847 100644 --- a/nixos/modules/config/stevenblack.nix +++ b/nixos/modules/config/stevenblack.nix @@ -30,5 +30,5 @@ in ++ optionals (activatedHosts == [ ]) [ "${pkgs.stevenblack-blocklist}/hosts" ]; }; - meta.maintainers = [ maintainers.fortuneteller2k maintainers.artturin ]; + meta.maintainers = [ maintainers.moni maintainers.artturin ]; } diff --git a/pkgs/applications/editors/molsketch/default.nix b/pkgs/applications/editors/molsketch/default.nix index 55db4096ce15..aa336ce45e21 100644 --- a/pkgs/applications/editors/molsketch/default.nix +++ b/pkgs/applications/editors/molsketch/default.nix @@ -48,6 +48,6 @@ mkDerivation rec { description = "2D molecule editor"; homepage = "https://sourceforge.net/projects/molsketch/"; license = licenses.gpl2Plus; - maintainers = [ maintainers.fortuneteller2k ]; + maintainers = [ maintainers.moni ]; }; } diff --git a/pkgs/applications/editors/ox/default.nix b/pkgs/applications/editors/ox/default.nix index 882291264007..2e67e83e972b 100644 --- a/pkgs/applications/editors/ox/default.nix +++ b/pkgs/applications/editors/ox/default.nix @@ -18,6 +18,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/curlpipe/ox"; changelog = "https://github.com/curlpipe/ox/releases/tag/${version}"; license = licenses.gpl2Only; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/applications/misc/flavours/default.nix b/pkgs/applications/misc/flavours/default.nix index ed7fb7870822..db625793adc7 100644 --- a/pkgs/applications/misc/flavours/default.nix +++ b/pkgs/applications/misc/flavours/default.nix @@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Misterio77/flavours"; changelog = "https://github.com/Misterio77/flavours/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ fortuneteller2k misterio77 ]; + maintainers = with maintainers; [ moni misterio77 ]; }; } diff --git a/pkgs/applications/misc/kile-wl/default.nix b/pkgs/applications/misc/kile-wl/default.nix index 33423f474af3..842499f845a6 100644 --- a/pkgs/applications/misc/kile-wl/default.nix +++ b/pkgs/applications/misc/kile-wl/default.nix @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://gitlab.com/snakedye/kile"; license = licenses.mit; platforms = platforms.linux; # It's meant for river, a wayland compositor - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; mainProgram = "kile"; }; } diff --git a/pkgs/applications/misc/tiramisu/default.nix b/pkgs/applications/misc/tiramisu/default.nix index 8d1e1910cbc9..3e8f101f871e 100644 --- a/pkgs/applications/misc/tiramisu/default.nix +++ b/pkgs/applications/misc/tiramisu/default.nix @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Sweets/tiramisu"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ wishfort36 fortuneteller2k ]; + maintainers = with maintainers; [ wishfort36 moni ]; }; } diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/applications/networking/browsers/vieb/default.nix index 7c1beb43dca2..fa5fad4934c1 100644 --- a/pkgs/applications/networking/browsers/vieb/default.nix +++ b/pkgs/applications/networking/browsers/vieb/default.nix @@ -58,7 +58,7 @@ buildNpmPackage rec { homepage = "https://vieb.dev/"; changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}"; description = "Vim Inspired Electron Browser"; - maintainers = with maintainers; [ gebner fortuneteller2k tejing ]; + maintainers = with maintainers; [ gebner tejing ]; platforms = platforms.unix; license = licenses.gpl3Plus; }; diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix index 9c44946f3826..1a036106c6df 100644 --- a/pkgs/applications/terminal-emulators/contour/default.nix +++ b/pkgs/applications/terminal-emulators/contour/default.nix @@ -103,7 +103,7 @@ mkDerivation rec { homepage = "https://github.com/contour-terminal/contour"; changelog = "https://github.com/contour-terminal/contour/raw/v${version}/Changelog.md"; license = licenses.asl20; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/window-managers/lemonbar/default.nix b/pkgs/applications/window-managers/lemonbar/default.nix index 8f553eb4b554..0d8436dcb3ed 100644 --- a/pkgs/applications/window-managers/lemonbar/default.nix +++ b/pkgs/applications/window-managers/lemonbar/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A lightweight xcb based bar"; homepage = "https://github.com/LemonBoy/bar"; - maintainers = with maintainers; [ meisternu fortuneteller2k ]; + maintainers = with maintainers; [ meisternu moni ]; license = licenses.mit; platforms = platforms.linux; }; diff --git a/pkgs/applications/window-managers/lemonbar/xft.nix b/pkgs/applications/window-managers/lemonbar/xft.nix index 54e7820ec4c2..8d009a3458b3 100644 --- a/pkgs/applications/window-managers/lemonbar/xft.nix +++ b/pkgs/applications/window-managers/lemonbar/xft.nix @@ -20,6 +20,6 @@ stdenv.mkDerivation { homepage = "https://github.com/drscream/lemonbar-xft"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/applications/window-managers/neocomp/default.nix b/pkgs/applications/window-managers/neocomp/default.nix index e878f4f088e8..36e6322462da 100644 --- a/pkgs/applications/window-managers/neocomp/default.nix +++ b/pkgs/applications/window-managers/neocomp/default.nix @@ -76,7 +76,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/DelusionalLogic/NeoComp"; license = licenses.gpl3Only; - maintainers = with maintainers; [ twey fortuneteller2k ]; + maintainers = with maintainers; [ twey moni ]; platforms = platforms.linux; description = "A fork of Compton, a compositor for X11"; longDescription = '' diff --git a/pkgs/applications/window-managers/river/default.nix b/pkgs/applications/window-managers/river/default.nix index 453dcf14d82e..e149bdd65218 100644 --- a/pkgs/applications/window-managers/river/default.nix +++ b/pkgs/applications/window-managers/river/default.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ adamcstephens - fortuneteller2k + moni rodrgz ]; mainProgram = "river"; diff --git a/pkgs/by-name/po/polybar/package.nix b/pkgs/by-name/po/polybar/package.nix index 67b05b8f4b67..ee649f396fa3 100644 --- a/pkgs/by-name/po/polybar/package.nix +++ b/pkgs/by-name/po/polybar/package.nix @@ -110,7 +110,7 @@ stdenv.mkDerivation (finalAttrs: { having a black belt in shell scripting. ''; license = licenses.mit; - maintainers = with maintainers; [ afldcr Br1ght0ne fortuneteller2k ckie ]; + maintainers = with maintainers; [ afldcr Br1ght0ne moni ckie ]; platforms = platforms.linux; }; }) diff --git a/pkgs/data/fonts/curie/default.nix b/pkgs/data/fonts/curie/default.nix index 4f3ab7eb013a..5e8195211b05 100644 --- a/pkgs/data/fonts/curie/default.nix +++ b/pkgs/data/fonts/curie/default.nix @@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/NerdyPepper/curie"; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/data/fonts/edwin/default.nix b/pkgs/data/fonts/edwin/default.nix index 41926ac1b679..2ccb44d45d2e 100644 --- a/pkgs/data/fonts/edwin/default.nix +++ b/pkgs/data/fonts/edwin/default.nix @@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/MuseScoreFonts/Edwin"; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/data/fonts/open-fonts/default.nix b/pkgs/data/fonts/open-fonts/default.nix index 6a628174f2e4..3f7682097942 100644 --- a/pkgs/data/fonts/open-fonts/default.nix +++ b/pkgs/data/fonts/open-fonts/default.nix @@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/kiwi0fruit/open-fonts"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/data/fonts/scientifica/default.nix b/pkgs/data/fonts/scientifica/default.nix index 1f946ecb17af..1b57c9f286d3 100644 --- a/pkgs/data/fonts/scientifica/default.nix +++ b/pkgs/data/fonts/scientifica/default.nix @@ -26,6 +26,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/NerdyPepper/scientifica"; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index be53cafa434a..1de1411cb754 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -41,6 +41,6 @@ stdenvNoCC.mkDerivation rec { license = licenses.gpl3Only; # darwin gives hash mismatch in source, probably because of file names differing only in case platforms = platforms.linux; - maintainers = with maintainers; [ romildo fortuneteller2k ]; + maintainers = with maintainers; [ romildo moni ]; }; } diff --git a/pkgs/data/icons/phinger-cursors/default.nix b/pkgs/data/icons/phinger-cursors/default.nix index 5afd2fe228f6..82742723806f 100644 --- a/pkgs/data/icons/phinger-cursors/default.nix +++ b/pkgs/data/icons/phinger-cursors/default.nix @@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/phisch/phinger-cursors"; platforms = platforms.unix; license = licenses.cc-by-sa-40; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix index 93802c6b8874..1490b5db79d7 100644 --- a/pkgs/data/themes/yaru/default.nix +++ b/pkgs/data/themes/yaru/default.nix @@ -39,6 +39,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/ubuntu/yaru"; license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ]; platforms = platforms.linux; - maintainers = with maintainers; [ fortuneteller2k amaxine ]; + maintainers = with maintainers; [ moni amaxine ]; }; } diff --git a/pkgs/development/embedded/elf2uf2-rs/default.nix b/pkgs/development/embedded/elf2uf2-rs/default.nix index d26c0072265c..493381842109 100644 --- a/pkgs/development/embedded/elf2uf2-rs/default.nix +++ b/pkgs/development/embedded/elf2uf2-rs/default.nix @@ -27,6 +27,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/JoNil/elf2uf2-rs"; license = with licenses; [ bsd0 ]; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ polygon fortuneteller2k ]; + maintainers = with maintainers; [ polygon moni ]; }; } diff --git a/pkgs/development/ocaml-modules/cooltt/default.nix b/pkgs/development/ocaml-modules/cooltt/default.nix index c9e25045426c..7cf63e5c0b11 100644 --- a/pkgs/development/ocaml-modules/cooltt/default.nix +++ b/pkgs/development/ocaml-modules/cooltt/default.nix @@ -106,6 +106,6 @@ buildDunePackage { homepage = "https://github.com/RedPRL/cooltt"; description = "A cool implementation of normalization by evaluation (nbe) & elaboration for Cartesian cubical type theory"; license = licenses.asl20; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/development/python-modules/dasbus/default.nix b/pkgs/development/python-modules/dasbus/default.nix index a7e0b754273f..dceb2e74ca86 100644 --- a/pkgs/development/python-modules/dasbus/default.nix +++ b/pkgs/development/python-modules/dasbus/default.nix @@ -20,6 +20,6 @@ buildPythonPackage rec { homepage = "https://github.com/rhinstaller/dasbus"; description = "DBus library in Python3"; license = licenses.lgpl21Only; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/development/python-modules/web-cache/default.nix b/pkgs/development/python-modules/web-cache/default.nix index 9246b2b571e7..dba9d91875c2 100644 --- a/pkgs/development/python-modules/web-cache/default.nix +++ b/pkgs/development/python-modules/web-cache/default.nix @@ -20,6 +20,6 @@ buildPythonPackage rec { description = "Simple Python key-value storage backed up by sqlite3 database"; homepage = "https://github.com/desbma/web_cache"; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/development/tools/ats-acc/default.nix b/pkgs/development/tools/ats-acc/default.nix index 5a3cd9c64010..b8eef344f20d 100644 --- a/pkgs/development/tools/ats-acc/default.nix +++ b/pkgs/development/tools/ats-acc/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Pretty-print error messages of the ATS Compiler"; homepage = "https://github.com/sparverius/ats-acc"; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; license = licenses.unfree; # Upstream has no license }; } diff --git a/pkgs/development/tools/language-servers/zls/default.nix b/pkgs/development/tools/language-servers/zls/default.nix index 9fda43915ca2..2188af2a1166 100644 --- a/pkgs/development/tools/language-servers/zls/default.nix +++ b/pkgs/development/tools/language-servers/zls/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}"; homepage = "https://github.com/zigtools/zls"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ figsoda fortuneteller2k ]; + maintainers = with lib.maintainers; [ figsoda moni ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/misc/i3a/default.nix b/pkgs/misc/i3a/default.nix index 5bfc2c5c4a39..42d8c11915c8 100644 --- a/pkgs/misc/i3a/default.nix +++ b/pkgs/misc/i3a/default.nix @@ -24,6 +24,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://git.goral.net.pl/mgoral/i3a"; description = "A set of scripts used for automation of i3 and sway window manager layouts"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix index 296e4b79b3e0..cacef99afd74 100644 --- a/pkgs/os-specific/linux/cryptodev/default.nix +++ b/pkgs/os-specific/linux/cryptodev/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = { description = "Device that allows access to Linux kernel cryptographic drivers"; homepage = "http://cryptodev-linux.org/"; - maintainers = with lib.maintainers; [ fortuneteller2k ]; + maintainers = with lib.maintainers; [ moni ]; license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; }; diff --git a/pkgs/os-specific/linux/irqbalance/default.nix b/pkgs/os-specific/linux/irqbalance/default.nix index 585c1661b8af..df1977150136 100644 --- a/pkgs/os-specific/linux/irqbalance/default.nix +++ b/pkgs/os-specific/linux/irqbalance/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { description = "A daemon to help balance the cpu load generated by interrupts across all of a systems cpus"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 691b4899f2dd..4f967734d5e0 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -44,7 +44,7 @@ let extraMeta = { branch = lib.versions.majorMinor version; - maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault atemu shawn8901 zzzsy ]; + maintainers = with lib.maintainers; [ moni lovesegfault atemu shawn8901 zzzsy ]; description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; broken = stdenv.isAarch64; }; diff --git a/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix b/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix index a4fc11c8647c..50793167a349 100644 --- a/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix +++ b/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { description = "RealTek RTL8188eus WiFi driver with monitor mode & frame injection support"; homepage = "https://github.com/aircrack-ng/rtl8188eus"; license = licenses.gpl2Only; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; broken = (lib.versionAtLeast kernel.version "6.6") || ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened); }; } diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index 9646886a6de1..adc197a1166e 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -44,6 +44,6 @@ stdenv.mkDerivation { homepage = "https://github.com/morrownr/8812au-20210629"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix index 2c1b4fbb4f4f..e17fda67218e 100644 --- a/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { description = "A kernel module to create V4L2 loopback devices"; homepage = "https://github.com/umlaeute/v4l2loopback"; license = licenses.gpl2Only; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; platforms = platforms.linux; outputsToInstall = [ "out" ]; }; diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix index 7b7687bc3063..614831c057d2 100644 --- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix +++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - maintainers = with maintainers; [ goibhniu fortuneteller2k ]; + maintainers = with maintainers; [ goibhniu moni ]; description = "Wacom digitizer driver for X11"; homepage = "https://linuxwacom.sourceforge.net"; license = licenses.gpl2Only; diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix index e558402543bf..f5450e1da5c3 100644 --- a/pkgs/shells/hilbish/default.nix +++ b/pkgs/shells/hilbish/default.nix @@ -35,7 +35,7 @@ buildGoModule rec { description = "An interactive Unix-like shell written in Go"; changelog = "https://github.com/Rosettea/Hilbish/releases/tag/v${version}"; homepage = "https://github.com/Rosettea/Hilbish"; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; license = licenses.mit; }; } diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix index b7c7284e9f43..5dc50c558acd 100644 --- a/pkgs/shells/zsh/spaceship-prompt/default.nix +++ b/pkgs/shells/zsh/spaceship-prompt/default.nix @@ -35,6 +35,6 @@ stdenvNoCC.mkDerivation rec { changelog = "https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v${version}"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ nyanloutre fortuneteller2k kyleondy ]; + maintainers = with maintainers; [ nyanloutre moni kyleondy ]; }; } diff --git a/pkgs/tools/graphics/xcolor/default.nix b/pkgs/tools/graphics/xcolor/default.nix index 1ef2c807bde7..dabe14d895fa 100644 --- a/pkgs/tools/graphics/xcolor/default.nix +++ b/pkgs/tools/graphics/xcolor/default.nix @@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Lightweight color picker for X11"; homepage = "https://github.com/Soft/xcolor"; - maintainers = with lib.maintainers; [ fortuneteller2k ]; + maintainers = with lib.maintainers; [ moni ]; license = licenses.mit; }; } diff --git a/pkgs/tools/misc/bfetch/default.nix b/pkgs/tools/misc/bfetch/default.nix index 107f2cd94528..675a8cb11f38 100644 --- a/pkgs/tools/misc/bfetch/default.nix +++ b/pkgs/tools/misc/bfetch/default.nix @@ -24,6 +24,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/NNBnh/bfetch"; license = licenses.gpl3Only; platforms = platforms.all; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/tools/misc/elfcat/default.nix b/pkgs/tools/misc/elfcat/default.nix index 359bd6d3ab93..222470299739 100644 --- a/pkgs/tools/misc/elfcat/default.nix +++ b/pkgs/tools/misc/elfcat/default.nix @@ -17,6 +17,6 @@ rustPlatform.buildRustPackage rec { description = "ELF visualizer, generates HTML files from ELF binaries."; homepage = "https://github.com/ruslashev/elfcat"; license = licenses.zlib; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/tools/misc/fetchutils/default.nix b/pkgs/tools/misc/fetchutils/default.nix index e9ee3fba516d..d1c830f877d6 100644 --- a/pkgs/tools/misc/fetchutils/default.nix +++ b/pkgs/tools/misc/fetchutils/default.nix @@ -24,6 +24,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/lptstr/fetchutils"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/tools/misc/sacad/default.nix b/pkgs/tools/misc/sacad/default.nix index aca6e18e372c..5aa6adf768a2 100644 --- a/pkgs/tools/misc/sacad/default.nix +++ b/pkgs/tools/misc/sacad/default.nix @@ -34,6 +34,6 @@ python3Packages.buildPythonApplication rec { description = "Smart Automatic Cover Art Downloader"; homepage = "https://github.com/desbma/sacad"; license = licenses.mpl20; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/tools/networking/crackle/default.nix b/pkgs/tools/networking/crackle/default.nix index 00d0acd2aa94..ea42e7a0b320 100644 --- a/pkgs/tools/networking/crackle/default.nix +++ b/pkgs/tools/networking/crackle/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { meta = with lib; { description = "Crack and decrypt BLE encryption"; homepage = "https://github.com/mikeryan/crackle"; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; license = licenses.bsd2; }; } diff --git a/pkgs/tools/networking/mdk4/default.nix b/pkgs/tools/networking/mdk4/default.nix index 903504633ac8..979584db432d 100644 --- a/pkgs/tools/networking/mdk4/default.nix +++ b/pkgs/tools/networking/mdk4/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation { meta = with lib; { description = "A tool that injects data into wireless networks"; homepage = "https://github.com/aircrack-ng/mdk4"; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; license = licenses.gpl2Plus; }; } diff --git a/pkgs/tools/networking/redfang/default.nix b/pkgs/tools/networking/redfang/default.nix index 8e799b7d41fd..a4ba12b29489 100644 --- a/pkgs/tools/networking/redfang/default.nix +++ b/pkgs/tools/networking/redfang/default.nix @@ -30,6 +30,6 @@ stdenv.mkDerivation rec { description = "A small proof-of-concept application to find non discoverable bluetooth devices"; homepage = "https://gitlab.com/kalilinux/packages/redfang"; license = licenses.gpl2Only; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } diff --git a/pkgs/tools/networking/stevenblack-blocklist/default.nix b/pkgs/tools/networking/stevenblack-blocklist/default.nix index 8a71f6d99fd4..6c690fe4064e 100644 --- a/pkgs/tools/networking/stevenblack-blocklist/default.nix +++ b/pkgs/tools/networking/stevenblack-blocklist/default.nix @@ -15,6 +15,6 @@ fetchFromGitHub { description = "Unified hosts file with base extensions"; homepage = "https://github.com/StevenBlack/hosts"; license = licenses.mit; - maintainers = with maintainers; [ fortuneteller2k ]; + maintainers = with maintainers; [ moni ]; }; } From cef80bfeafd856bf3ded8a82445729e8a378d5cf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:04:25 +0100 Subject: [PATCH 062/147] azure-storage-azcopy: update meta --- pkgs/development/tools/azcopy/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix index f899fb1c26c8..3c60d0e25e2e 100644 --- a/pkgs/development/tools/azcopy/default.nix +++ b/pkgs/development/tools/azcopy/default.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub, buildGoModule }: +{ lib +, stdenv +, fetchFromGitHub +, buildGoModule +}: buildGoModule rec { pname = "azure-storage-azcopy"; @@ -7,8 +11,8 @@ buildGoModule rec { src = fetchFromGitHub { owner = "Azure"; repo = "azure-storage-azcopy"; - rev = "v${version}"; - sha256 = "sha256-FdiDxWmCRkSOa+6A9XgKeyFGk/ba+BgFm3/ChERkYvk="; + rev = "refs/tags/v${version}"; + hash = "sha256-FdiDxWmCRkSOa+6A9XgKeyFGk/ba+BgFm3/ChERkYvk="; }; subPackages = [ "." ]; @@ -22,8 +26,10 @@ buildGoModule rec { ''; meta = with lib; { - maintainers = with maintainers; [ colemickens kashw2 ]; - license = licenses.mit; description = "The new Azure Storage data transfer utility - AzCopy v10"; + homepage = "https://github.com/Azure/azure-storage-azcopy"; + changelog = "https://github.com/Azure/azure-storage-azcopy/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ colemickens kashw2 ]; }; } From ae3a31397119cddcc9f9e9f26b4a624d8fded481 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:12:20 +0100 Subject: [PATCH 063/147] python311Packages.acquire: 3.9 -> 3.10 Diff: fox-it/acquire@refs/tags/3.9...3.10 Changelog: https://github.com/fox-it/acquire/releases/tag/3.10 --- pkgs/development/python-modules/acquire/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/acquire/default.nix b/pkgs/development/python-modules/acquire/default.nix index 4426f930b0d8..87e1ef293071 100644 --- a/pkgs/development/python-modules/acquire/default.nix +++ b/pkgs/development/python-modules/acquire/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "acquire"; - version = "3.9"; + version = "3.10"; pyproject = true; disabled = pythonOlder "3.9"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "acquire"; rev = "refs/tags/${version}"; - hash = "sha256-ppkfnPJEvCImTA0+NjYD8r6SHcx9eBN9GBvo0IZYcjY="; + hash = "sha256-8fvVK/mH+pgPaaxNKvKOw1qU0ElWAmNVP6YAqvBTwio="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 8c53d86c9888c7a467481d38fae142e3df47a821 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:13:24 +0100 Subject: [PATCH 064/147] python311Packages.flow-record: 3.12 -> 3.13 Diff: https://github.com/fox-it/flow.record/compare/refs/tags/3.12...3.13 Changelog: https://github.com/fox-it/flow.record/releases/tag/3.13 --- pkgs/development/python-modules/flow-record/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/flow-record/default.nix b/pkgs/development/python-modules/flow-record/default.nix index 1562600a231f..2c8de577dc27 100644 --- a/pkgs/development/python-modules/flow-record/default.nix +++ b/pkgs/development/python-modules/flow-record/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "flow-record"; - version = "3.12"; + version = "3.13"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "flow.record"; rev = "refs/tags/${version}"; - hash = "sha256-b9MCgs3Imo0DHtPyvQuRgYvsLWe8N2Y9TIWdU1E04L8="; + hash = "sha256-Yg42nA0dRjHormpmpbOuZYuvBpNz9XEpf84XI2iJpYY="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From ead9484ced526dc28b032a167c917a793a0ba7ab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:17:58 +0100 Subject: [PATCH 065/147] python311Packages.dissect-fat: 3.6 -> 3.7 Diff: https://github.com/fox-it/dissect.fat/compare/refs/tags/3.6...3.7 Changelog: https://github.com/fox-it/dissect.fat/releases/tag/3.7 --- pkgs/development/python-modules/dissect-fat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dissect-fat/default.nix b/pkgs/development/python-modules/dissect-fat/default.nix index 9fa9457b2848..0a22c7b8b7ba 100644 --- a/pkgs/development/python-modules/dissect-fat/default.nix +++ b/pkgs/development/python-modules/dissect-fat/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "dissect-fat"; - version = "3.6"; + version = "3.7"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "dissect.fat"; rev = "refs/tags/${version}"; - hash = "sha256-3Zyjo7yoSLtAnC5lOLzjWsqMRoJxsrw2LKjQ2Qy38sg="; + hash = "sha256-YfWshytfj4p2MqLpzE3b1/RtrL1/+Xd/5+RNbrH/Jfc="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 00ea307f9ac29c6270e7b14ddc626fd9f425ea7a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:19:22 +0100 Subject: [PATCH 066/147] python311Packages.dissect-hypervisor: 3.9 -> 3.10 Diff: fox-it/dissect.hypervisor@refs/tags/3.9...3.10 Changelog: https://github.com/fox-it/dissect.hypervisor/releases/tag/3.10 --- .../development/python-modules/dissect-hypervisor/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dissect-hypervisor/default.nix b/pkgs/development/python-modules/dissect-hypervisor/default.nix index 55ce876fe216..e7f17cb0286c 100644 --- a/pkgs/development/python-modules/dissect-hypervisor/default.nix +++ b/pkgs/development/python-modules/dissect-hypervisor/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "dissect-hypervisor"; - version = "3.9"; + version = "3.10"; pyproject = true; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "dissect.hypervisor"; rev = "refs/tags/${version}"; - hash = "sha256-AcDlyLKrRyt1mhh7nb9Oln/cjVKw8s1g78J8sgE2p2g="; + hash = "sha256-Ml5U7yc4iqqilL6Y9qF3VU+pa0AXnYVQjVas90TpG30="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From e730ea9ab98d72f9bf41bce0c7d93be1ded5c3fd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:21:18 +0100 Subject: [PATCH 067/147] python311Packages.dissect-regf: 3.7 -> 3.8 Diff: https://github.com/fox-it/dissect.regf/compare/refs/tags/3.7...3.8 Changelog: https://github.com/fox-it/dissect.regf/releases/tag/3.8 --- pkgs/development/python-modules/dissect-regf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dissect-regf/default.nix b/pkgs/development/python-modules/dissect-regf/default.nix index 9671bb33c8ab..94881ca3ca42 100644 --- a/pkgs/development/python-modules/dissect-regf/default.nix +++ b/pkgs/development/python-modules/dissect-regf/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "dissect-regf"; - version = "3.7"; + version = "3.8"; pyproject = true; disabled = pythonOlder "3.9"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "dissect.regf"; rev = "refs/tags/${version}"; - hash = "sha256-WUrND1RnXTeN3WosR+m+yVJLe/imBTx7nmUZrSIc1E0="; + hash = "sha256-4tKu7oPkpNcWr2XJvZg94yZZcbTeeXBphPCLoZYzg6U="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From f299adceb4557b48f7a2bbe08d65b68bdab68064 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:21:40 +0100 Subject: [PATCH 068/147] python311Packages.dissect-sql: 3.6 -> 3.7 Diff: https://github.com/fox-it/dissect.sql/compare/refs/tags/3.6...3.7 Changelog: https://github.com/fox-it/dissect.sql/releases/tag/3.7 --- pkgs/development/python-modules/dissect-sql/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dissect-sql/default.nix b/pkgs/development/python-modules/dissect-sql/default.nix index c7192854fcf8..173170396f72 100644 --- a/pkgs/development/python-modules/dissect-sql/default.nix +++ b/pkgs/development/python-modules/dissect-sql/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "dissect-sql"; - version = "3.6"; + version = "3.7"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "dissect.sql"; rev = "refs/tags/${version}"; - hash = "sha256-CMUXMSkrutziAIYjUFbLEpsYpCZUiPmV16puXneGeHE="; + hash = "sha256-BHwm88IPtfg/bi5veFGnciQeH4s0asVnxiMVsIi8vV8="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 1fefccae1762c649eb512db8f8e5fbcbb5e3adc1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Nov 2023 13:06:41 +0000 Subject: [PATCH 069/147] python310Packages.bork: 7.0.0 -> 7.0.1 --- pkgs/development/python-modules/bork/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/bork/default.nix b/pkgs/development/python-modules/bork/default.nix index 5cd247cf2872..cd8c097898d2 100644 --- a/pkgs/development/python-modules/bork/default.nix +++ b/pkgs/development/python-modules/bork/default.nix @@ -6,6 +6,7 @@ , build , coloredlogs , packaging +, pip , toml , twine , wheel @@ -13,21 +14,22 @@ buildPythonPackage rec { pname = "bork"; - version = "7.0.0"; + version = "7.0.1"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "duckinator"; repo = pname; - rev = "v${version}"; - hash = "sha256-frwkU2YesYK0RJNz9yqiXj1XeTZ8jg5oClri4hEYokg="; + rev = "refs/tags/v${version}"; + hash = "sha256-y/p2uuU+QKgJSdJmMt3oebm/zcuatYWTW8Jl79YxA3g="; }; propagatedBuildInputs = [ build coloredlogs packaging + pip toml twine wheel From ee1d5dbfa57304b149885223a95b4f08828479d5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 17 Nov 2023 10:49:29 +0000 Subject: [PATCH 070/147] zix: workaround -Wno-error=implicit-function-declaration build fails on Darwin --- pkgs/development/libraries/audio/zix/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/audio/zix/default.nix b/pkgs/development/libraries/audio/zix/default.nix index 7d1bac57472c..9f5d8867a150 100644 --- a/pkgs/development/libraries/audio/zix/default.nix +++ b/pkgs/development/libraries/audio/zix/default.nix @@ -28,6 +28,13 @@ stdenv.mkDerivation rec { "-Ddocs=disabled" ]; + env = lib.optionalAttrs stdenv.isDarwin { + # Do not fail the build on clang-16/darwin. + # TODO: drop the workaround when upstream fixes it in: + # https://gitlab.com/drobilla/zix/-/issues/3 + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + meta = with lib; { description = "A lightweight C99 portability and data structure library"; homepage = "https://gitlab.com/drobilla/zix"; From e67121a3f63a8fe8e1b2244871ebc59b56e80908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Fri, 17 Nov 2023 11:55:39 +0100 Subject: [PATCH 071/147] fastly: 10.6.2 -> 10.6.4 --- pkgs/misc/fastly/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix index fe6c5a21ceb2..ca191319243f 100644 --- a/pkgs/misc/fastly/default.nix +++ b/pkgs/misc/fastly/default.nix @@ -10,13 +10,13 @@ buildGoModule rec { pname = "fastly"; - version = "10.6.2"; + version = "10.6.4"; src = fetchFromGitHub { owner = "fastly"; repo = "cli"; rev = "refs/tags/v${version}"; - hash = "sha256-j4dqLV1Q17RQczkTqGTh8S8Y6ELqXjWuJRr+xB/x2yE="; + hash = "sha256-+qBeE7t+d1Es63hUBO9Bcqyc0vtatcJGoYw2GE0JPxQ="; # The git commit is part of the `fastly version` original output; # leave that output the same in nixpkgs. Use the `.git` directory # to retrieve the commit SHA, and remove the directory afterwards, @@ -33,7 +33,7 @@ buildGoModule rec { "cmd/fastly" ]; - vendorHash = "sha256-aCekNpf6C5fGIEk0pLkz4hJ6mQfBIzeCsIL6Fxf2QGk="; + vendorHash = "sha256-Mh737emdQkIoNOAkaTafCoMQnLqXIGMKX6X5ClsmMzc="; nativeBuildInputs = [ installShellFiles From 07de87de8b0718da5d4d6060765c056aab83cf8b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 11:57:50 +0100 Subject: [PATCH 072/147] checkov: 3.0.37 -> 3.0.38 Diff: https://github.com/bridgecrewio/checkov/compare/refs/tags/3.0.37...3.0.38 Changelog: https://github.com/bridgecrewio/checkov/releases/tag/3.0.38 --- pkgs/development/tools/analysis/checkov/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index cf7eb3fd6123..25e04817643d 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "checkov"; - version = "3.0.37"; + version = "3.0.38"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; rev = "refs/tags/${version}"; - hash = "sha256-cRc5mBMTh5HCqq5hKfvJmYROs74ZiWjX17cgQv7ub+I="; + hash = "sha256-2ObPi+wrxvoVWjASmp0KSPMLFuIGdWNWK4jRrZC9ODE="; }; patches = [ From 8e46a64e38f7312118e88c3fcc1647be29ac80bc Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Fri, 17 Nov 2023 08:15:39 +0000 Subject: [PATCH 073/147] python311Packages.xnd: fix python311 build Fix renamed functions and moved header file. package builds and unit tests pass. Patch submitted upstream as https://github.com/xnd-project/xnd/pull/48 --- pkgs/development/python-modules/xnd/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/development/python-modules/xnd/default.nix b/pkgs/development/python-modules/xnd/default.nix index 3657997f5a74..eac1153b4f50 100644 --- a/pkgs/development/python-modules/xnd/default.nix +++ b/pkgs/development/python-modules/xnd/default.nix @@ -1,5 +1,6 @@ { lib , stdenv +, fetchpatch , buildPythonPackage , python , ndtypes @@ -15,6 +16,17 @@ buildPythonPackage { propagatedBuildInputs = [ ndtypes ]; + buildInputs = [ libndtypes ]; + + patches = [ + # python311 fixes which are on main. remove on update + (fetchpatch { + name = "python311.patch"; + url = "https://github.com/xnd-project/xnd/commit/e1a06d9f6175f4f4e1da369b7e907ad6b2952c00.patch"; + hash = "sha256-xzrap+FL5be13bVdsJ3zeV7t57ZC4iyhuZhuLsOzHyE="; + }) + ]; + postPatch = '' substituteInPlace setup.py \ --replace 'include_dirs = ["libxnd", "ndtypes/python/ndtypes"] + INCLUDES' \ From 8bed411e6aa1a7c181659654f14d82508fda9a90 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 11:14:41 +0000 Subject: [PATCH 074/147] diffoscope: 251 -> 252 --- pkgs/tools/misc/diffoscope/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index 8926b9714291..09a4ef57c69f 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -78,11 +78,11 @@ # Note: when upgrading this package, please run the list-missing-tools.sh script as described below! python3.pkgs.buildPythonApplication rec { pname = "diffoscope"; - version = "251"; + version = "252"; src = fetchurl { url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; - hash = "sha256-7oAFxzLLEds9SI14F88QRhirb/3pjXhmGaW0SWUgpv4="; + hash = "sha256-NmYv5htZT2v04vVksIWGuaPI1rXfNmrVSmErT/faBbQ="; }; outputs = [ From fe011fbe79535fb8313bf7d802863d044a8053c7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 12:40:22 +0100 Subject: [PATCH 075/147] python311Packages.opensensemap-api: 0.3.0 -> 0.3.1 Changelog: https://github.com/home-assistant-ecosystem/python-opensensemap-api/releases/tag/0.3.1 --- pkgs/development/python-modules/opensensemap-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/opensensemap-api/default.nix b/pkgs/development/python-modules/opensensemap-api/default.nix index 4cce64c43008..326f7d2aceda 100644 --- a/pkgs/development/python-modules/opensensemap-api/default.nix +++ b/pkgs/development/python-modules/opensensemap-api/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "opensensemap-api"; - version = "0.3.0"; + version = "0.3.1"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-lz2G7vXUadhTFgfHpIq9kHfojf+iytjitFZZ7rgqeO8="; + hash = "sha256-UrgQjZYw7TlFvhnaI7wFUpuUYeVKO5hsnx8h1OKfV8w="; }; propagatedBuildInputs = [ From aba78640f4e53638928d1254da6f2deccfea6101 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 28 Oct 2023 12:43:26 +0000 Subject: [PATCH 076/147] =?UTF-8?q?python311Packages.shapely:=202.0.1=20?= =?UTF-8?q?=E2=86=92=202.0.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/shapely/shapely/releases/tag/2.0.2 The tests were moved to shapely/ directory so we cannot just remove it. --- pkgs/development/python-modules/shapely/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix index 488e936abb82..7f87ddf6befa 100644 --- a/pkgs/development/python-modules/shapely/default.nix +++ b/pkgs/development/python-modules/shapely/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "shapely"; - version = "2.0.1"; + version = "2.0.2"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-Zqaxo+cuzpf8hVNqKBR2+bd5TeLmRsqKRRfi48FEaJM="; + hash = "sha256-FxPMBMFxuv/Fslm6hTHFiswqMBcHt/Ah2IoV7QkGSec="; }; nativeBuildInputs = [ @@ -44,8 +44,10 @@ buildPythonPackage rec { pytestCheckHook ]; + # Fix a ModuleNotFoundError. Investigated at: + # https://github.com/NixOS/nixpkgs/issues/255262 preCheck = '' - rm -r shapely # prevent import of local shapely + cd $out ''; disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ From 968f821170f33d117d9c5f80419867d42f4112ed Mon Sep 17 00:00:00 2001 From: nicoo Date: Fri, 17 Nov 2023 11:20:21 +0000 Subject: [PATCH 077/147] python3Packages.bork: Run `pytest` --- pkgs/development/python-modules/bork/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/bork/default.nix b/pkgs/development/python-modules/bork/default.nix index cd8c097898d2..2b3b27108d1b 100644 --- a/pkgs/development/python-modules/bork/default.nix +++ b/pkgs/development/python-modules/bork/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, pytestCheckHook , pythonOlder , build @@ -41,6 +42,13 @@ buildPythonPackage rec { "bork.cli" ]; + nativeCheckInputs = [ + pytestCheckHook + ]; + pytestFlagsArray = [ + "-m 'not network'" + ]; + meta = with lib; { description = "Python build and release management tool"; homepage = "https://github.com/duckinator/bork"; From 2b192999a2fad82ae138b36b96d9c326ef1e78c9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 12:58:17 +0100 Subject: [PATCH 078/147] python311Packages.glances-api: 0.4.3 -> 0.5.0 Diff: https://github.com/home-assistant-ecosystem/python-glances-api/compare/refs/tags/0.4.3...0.5.0 Changelog: https://github.com/home-assistant-ecosystem/python-glances-api/releases/tag/0.5.0 --- pkgs/development/python-modules/glances-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/glances-api/default.nix b/pkgs/development/python-modules/glances-api/default.nix index b0f54b53dc62..945e9c13bc7b 100644 --- a/pkgs/development/python-modules/glances-api/default.nix +++ b/pkgs/development/python-modules/glances-api/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "glances-api"; - version = "0.4.3"; + version = "0.5.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "home-assistant-ecosystem"; repo = "python-glances-api"; rev = "refs/tags/${version}"; - hash = "sha256-VfiAJuSmzFVgDTThtsTy7/caRmJKZuD5YwHjMspeB0A="; + hash = "sha256-DUTZLLWO4xUeUlxHGGVr/MD5uKqRxUf+p0crYsELgzw="; }; nativeBuildInputs = [ From 0ff29f43499e22e0bda54d8d7c8777e5f7a06ba9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 12:59:39 +0100 Subject: [PATCH 079/147] python311Packages.glances-api: update disabled --- pkgs/development/python-modules/glances-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/glances-api/default.nix b/pkgs/development/python-modules/glances-api/default.nix index 945e9c13bc7b..fc8d2edac2be 100644 --- a/pkgs/development/python-modules/glances-api/default.nix +++ b/pkgs/development/python-modules/glances-api/default.nix @@ -12,9 +12,9 @@ buildPythonPackage rec { pname = "glances-api"; version = "0.5.0"; - format = "pyproject"; + pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "home-assistant-ecosystem"; From 065d029e21b9f018939b91828e5c1e768c5df3d0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 05:28:25 +0000 Subject: [PATCH 080/147] bloat: unstable-2023-10-15 -> unstable-2023-10-25 --- pkgs/servers/bloat/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/bloat/default.nix b/pkgs/servers/bloat/default.nix index 4a28c4377ff6..bd4ae38efaa8 100644 --- a/pkgs/servers/bloat/default.nix +++ b/pkgs/servers/bloat/default.nix @@ -6,12 +6,12 @@ buildGoModule { pname = "bloat"; - version = "unstable-2023-10-15"; + version = "unstable-2023-10-25"; src = fetchgit { url = "git://git.freesoftwareextremist.com/bloat"; - rev = "67b13c71baea56eeb15532ca1b1377f6da8d18ac"; - hash = "sha256-h885uAuVjpVsp5cAAX9pIxfydcBiajBX3ZSmQUr3/4Q="; + rev = "f4881e72675e87a9eae716436c3ac18a788d596d"; + hash = "sha256-i6HjhGPPXKtQ7hVPECk9gZglFmjb/Fo9pFIq5ikw4Y8="; }; vendorHash = null; From fbab678afab4c626522be92baf258ab5984d1f87 Mon Sep 17 00:00:00 2001 From: netthier Date: Fri, 17 Nov 2023 13:16:00 +0100 Subject: [PATCH 081/147] maintainers: add netthier --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8ac9894cc224..829d3a30bfb0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12758,6 +12758,12 @@ githubId = 13920346; name = "SΓ©bastien Iooss"; }; + netthier = { + email = "netthier@proton.me"; + name = "nett_hier"; + github = "netthier"; + githubId = 66856670; + }; networkexception = { name = "networkException"; email = "nix@nwex.de"; From 2a6089156da55d8cae7a31f1ec9f9274f9044e78 Mon Sep 17 00:00:00 2001 From: netthier Date: Fri, 17 Nov 2023 13:16:25 +0100 Subject: [PATCH 082/147] kluctl: add netthier to maintainers --- pkgs/applications/networking/cluster/kluctl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/cluster/kluctl/default.nix b/pkgs/applications/networking/cluster/kluctl/default.nix index 2f6939347729..99e311ff3e20 100644 --- a/pkgs/applications/networking/cluster/kluctl/default.nix +++ b/pkgs/applications/networking/cluster/kluctl/default.nix @@ -33,6 +33,6 @@ buildGoModule rec { description = "The missing glue to put together large Kubernetes deployments"; homepage = "https://kluctl.io/"; license = licenses.asl20; - maintainers = with maintainers; [ sikmir ]; + maintainers = with maintainers; [ sikmir netthier ]; }; } From a5dff5b79968e1a21a9ca65e95ed3a0990e621fa Mon Sep 17 00:00:00 2001 From: Patryk Kwiatek Date: Fri, 17 Nov 2023 13:41:33 +0100 Subject: [PATCH 083/147] ferretdb: 1.13.0 -> 1.14.0 (#266054) --- pkgs/servers/nosql/ferretdb/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix index 4f683b83a571..ba46d7f01289 100644 --- a/pkgs/servers/nosql/ferretdb/default.nix +++ b/pkgs/servers/nosql/ferretdb/default.nix @@ -6,13 +6,13 @@ buildGo121Module rec { pname = "ferretdb"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "FerretDB"; repo = "FerretDB"; rev = "v${version}"; - hash = "sha256-D1iMYh76a9H38tiZWByuJZrABWfjQFCkyxtbtLM/DMw="; + hash = "sha256-x5In8cBRki3rHaAB+iSglL19UCD8DtITr5gjb8KKuAw="; }; postPatch = '' @@ -20,7 +20,7 @@ buildGo121Module rec { echo nixpkgs > build/version/package.txt ''; - vendorHash = "sha256-WrnACseWo+bLn0IJhGY/DFsrMFAyy7J02cjO4FvE2xA="; + vendorHash = "sha256-0DFNDfJmBFpgzarg9FaGb8GV11LhA1N8oq0kSXIWxi8="; CGO_ENABLED = 0; From a19ba12bc091027429534f69a20cef79aabc4f54 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 15 Nov 2023 06:50:21 +0100 Subject: [PATCH 084/147] coqPackages_8_18.dpdgraph: init at 1.0+8.18 --- pkgs/development/coq-modules/dpdgraph/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix index 49333b416971..5779d235cfe6 100644 --- a/pkgs/development/coq-modules/dpdgraph/default.nix +++ b/pkgs/development/coq-modules/dpdgraph/default.nix @@ -8,6 +8,7 @@ mkCoqDerivation { repo = "coq-dpdgraph"; inherit version; defaultVersion = lib.switch coq.coq-version [ + { case = "8.18"; out = "1.0+8.18"; } { case = "8.17"; out = "1.0+8.17"; } { case = "8.16"; out = "1.0+8.16"; } { case = "8.15"; out = "1.0+8.15"; } @@ -23,6 +24,7 @@ mkCoqDerivation { { case = "8.5"; out = "0.6"; } ] null; + release."1.0+8.18".sha256 = "sha256-z14MI1VSYzPqmF1PqDXzymXWRMYoTlQAfR/P3Pdf7fI="; release."1.0+8.17".sha256 = "sha256-gcvL3vseLKEF9xinT0579jXBBaA5E3rJ5KaU8RfKtm4="; release."1.0+8.16".sha256 = "sha256-xy4xcVHaD1OHBdGUzUy3SeZnHtOf1+UIh6YjUYFINm0="; release."1.0+8.15".sha256 = "sha256:1pxr0gakcz297y8hhrnssv5j07ccd58pv7rh7qv5g7855pfqrkg7"; From f78667f7bd019abcd0682e82d5cc2ca1f3351446 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 15 Nov 2023 06:50:28 +0100 Subject: [PATCH 085/147] =?UTF-8?q?coqPackages.coqprime:=208.17=20?= =?UTF-8?q?=E2=86=92=208.18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/coq-modules/coqprime/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix index af2f56475fd7..9420d69cb4b0 100644 --- a/pkgs/development/coq-modules/coqprime/default.nix +++ b/pkgs/development/coq-modules/coqprime/default.nix @@ -6,13 +6,14 @@ mkCoqDerivation { owner = "thery"; inherit version; defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.18"; out = "8.17"; } + { case = range "8.14" "8.18"; out = "8.18"; } { case = range "8.12" "8.16"; out = "8.15"; } { case = range "8.10" "8.11"; out = "8.10"; } { case = range "8.8" "8.9"; out = "8.8"; } { case = "8.7"; out = "8.7.2"; } ] null; + release."8.18".sha256 = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E="; release."8.17".sha256 = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY="; release."8.15".sha256 = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv"; release."8.14.1".sha256= "sha256:0dqf87xkzcpg7gglbxjyx68ad84w1w73icxgy3s7d3w563glc2p7"; From 73e2e4c0f3847155683aa390b281f2cff3257587 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 15 Nov 2023 06:50:32 +0100 Subject: [PATCH 086/147] coqPackages.dpdgraph: remove for Coq < 8.7 ocamlgraph is no longer available for older versions of Coq --- pkgs/development/coq-modules/dpdgraph/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix index 5779d235cfe6..dac3fb2b74df 100644 --- a/pkgs/development/coq-modules/dpdgraph/default.nix +++ b/pkgs/development/coq-modules/dpdgraph/default.nix @@ -20,8 +20,6 @@ mkCoqDerivation { { case = "8.9"; out = "0.6.5"; } { case = "8.8"; out = "0.6.3"; } { case = "8.7"; out = "0.6.2"; } - { case = "8.6"; out = "0.6.1"; } - { case = "8.5"; out = "0.6"; } ] null; release."1.0+8.18".sha256 = "sha256-z14MI1VSYzPqmF1PqDXzymXWRMYoTlQAfR/P3Pdf7fI="; From 606d32f3579d8c92c79c10a57d19511279ed2147 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 15 Nov 2023 06:50:37 +0100 Subject: [PATCH 087/147] =?UTF-8?q?coqPackages.ITree:=205.1.1=20=E2=86=92?= =?UTF-8?q?=205.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/coq-modules/ITree/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/coq-modules/ITree/default.nix b/pkgs/development/coq-modules/ITree/default.nix index df41ab6e1618..aee24225021c 100644 --- a/pkgs/development/coq-modules/ITree/default.nix +++ b/pkgs/development/coq-modules/ITree/default.nix @@ -5,9 +5,10 @@ mkCoqDerivation rec { owner = "DeepSpec"; inherit version; defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.13" "8.17"; out = "5.1.1"; } + { case = range "8.13" "8.18"; out = "5.1.2"; } { case = range "8.10" "8.16"; out = "4.0.0"; } ] null; + release."5.1.2".sha256 = "sha256-uKJIjNXGWl0YS0WH52Rnr9Jz98Eo2k0X0qWB9hUYJMk="; release."5.1.1".sha256 = "sha256-VlmPNwaGkdWrH7Z6DGXRosGtjuuQ+FBiGcadN2Hg5pY="; release."5.1.0".sha256 = "sha256-ny7Mi1KgWADiFznkNJiRgD7Djc5SUclNgKOmWRxK+eo="; release."4.0.0".sha256 = "0h5rhndl8syc24hxq1gch86kj7mpmgr89bxp2hmf28fd7028ijsm"; From b268fe5a75a5932f4770b15725b885be1d34ff3b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Nov 2023 14:04:04 +0100 Subject: [PATCH 088/147] python311Packages.iceportal: 1.1.1 -> 1.1.2 Diff: home-assistant-ecosystem/python-iceportal@refs/tags/1.1.1...1.1.2 Changelog: https://github.com/home-assistant-ecosystem/python-iceportal/releases/tag/1.1.2 --- pkgs/development/python-modules/iceportal/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/iceportal/default.nix b/pkgs/development/python-modules/iceportal/default.nix index 251f13727895..ffc0335761b3 100644 --- a/pkgs/development/python-modules/iceportal/default.nix +++ b/pkgs/development/python-modules/iceportal/default.nix @@ -11,8 +11,8 @@ buildPythonPackage rec { pname = "iceportal"; - version = "1.1.1"; - format = "pyproject"; + version = "1.1.2"; + pyproject = true; disabled = pythonOlder "3.9"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "home-assistant-ecosystem"; repo = "python-iceportal"; rev = "refs/tags/${version}"; - hash = "sha256-edG4tF5nYaEOCcbunetYNL9moi9vA75IOkorDuLEx1c="; + hash = "sha256-s+jEpxKsa3eIV4a/Ltso51jqZC4jzsvPLTjDFMV9FIA="; }; nativeBuildInputs = [ From 3d438e4cf83b732b36b0ac96f2e3ff6e6e2aef3b Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 16 Nov 2023 23:18:46 +0000 Subject: [PATCH 089/147] =?UTF-8?q?vector:=200.34.0=20=E2=86=92=200.34.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/tools/misc/vector/Cargo.lock | 2 +- pkgs/tools/misc/vector/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/vector/Cargo.lock b/pkgs/tools/misc/vector/Cargo.lock index c3cb420f5fea..d5b347bb4155 100644 --- a/pkgs/tools/misc/vector/Cargo.lock +++ b/pkgs/tools/misc/vector/Cargo.lock @@ -9864,7 +9864,7 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "vector" -version = "0.34.0" +version = "0.34.1" dependencies = [ "apache-avro", "approx", diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index f0c48dd9796b..fe58e934f55f 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -34,7 +34,7 @@ let pname = "vector"; - version = "0.34.0"; + version = "0.34.1"; in rustPlatform.buildRustPackage { inherit pname version; @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage { owner = "vectordotdev"; repo = pname; rev = "v${version}"; - hash = "sha256-E9sbpVFDVKJKYqSiqXeC9AItset/bXvVA9mURazTn/I="; + hash = "sha256-vK+k+VbUVgJ8idlvuod5ExAkkeTYDk/135dyLRct0zs="; }; cargoLock = { From 6bd9458830089ccedf68fa396fe1ce744ccc099b Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 17 Nov 2023 02:44:06 +0100 Subject: [PATCH 090/147] tts: 0.19.1 -> 0.20.2 https://github.com/coqui-ai/TTS/releases/tag/v0.20.0 https://github.com/coqui-ai/TTS/releases/tag/v0.20.1 https://github.com/coqui-ai/TTS/releases/tag/v0.20.2 Newer versions require torch>=2.1. --- pkgs/tools/audio/tts/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index f6b1f6d9f669..48c936ca632f 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -16,14 +16,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "tts"; - version = "0.19.1"; - format = "pyproject"; + version = "0.20.2"; + pyproject = true; src = fetchFromGitHub { owner = "coqui-ai"; repo = "TTS"; rev = "refs/tags/v${version}"; - hash = "sha256-GYVr/Wam1IGCSR2vHMAu5Fg/jRB333L6iNjltnRKh4E="; + hash = "sha256-1nlSf15IEX1qKfDtR6+jQqskjxIuzaIWatkj9Z1fh8Y="; }; postPatch = let @@ -57,7 +57,9 @@ python.pkgs.buildPythonApplication rec { nativeBuildInputs = with python.pkgs; [ cython + numpy packaging + setuptools ]; propagatedBuildInputs = with python.pkgs; [ From ea46576f3c12216a53ddec89a09fdf6b39bfce21 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 17 Nov 2023 03:47:24 +0100 Subject: [PATCH 091/147] maintainers/teams: remove myself from tts team I have not been using tts in a long time and I lack the motivation to continue updating it. --- maintainers/team-list.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index ce537556437d..db66b8fe8689 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -917,7 +917,6 @@ with lib.maintainers; { tts = { members = [ - hexa mic92 ]; scope = "coqui-ai TTS (formerly Mozilla TTS) and leaf packages"; From 542dcc8636d657314f38036459f3df0bf82a9b72 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Sat, 4 Nov 2023 21:40:30 -0400 Subject: [PATCH 092/147] slimserver: downgrade to perl 5.36 --- pkgs/servers/slimserver/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index f561eec0bac8..720c10d91249 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -5,13 +5,16 @@ , lib , makeWrapper , monkeysAudio -, perlPackages +, perl536Packages , sox , stdenv , wavpack , zlib }: +let + perlPackages = perl536Packages; +in perlPackages.buildPerlPackage rec { pname = "slimserver"; version = "8.3.1"; From 02d2a3fbb869fc24d31a33026b4644de8af77c58 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Sat, 4 Nov 2023 21:42:02 -0400 Subject: [PATCH 093/147] slimserver: make unfree firmware disabled by default --- pkgs/servers/slimserver/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 720c10d91249..4e42937a8972 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -10,6 +10,7 @@ , stdenv , wavpack , zlib +, enableUnfreeFirmware ? false }: let @@ -32,6 +33,12 @@ perlPackages.buildPerlPackage rec { prePatch = '' rm -rf Bin + + ${lib.optionalString (!enableUnfreeFirmware) '' + # remove unfree firmware + rm -rf Firmware + ''} + touch Makefile.PL ''; @@ -49,9 +56,9 @@ perlPackages.buildPerlPackage rec { meta = with lib; { homepage = "https://github.com/Logitech/slimserver"; description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server"; - # the firmware is not under a free license! + # the firmware is not under a free license, but not included in the default package # https://github.com/Logitech/slimserver/blob/public/8.3/License.txt - license = licenses.unfree; + license = if enableUnfreeFirmware then licenses.unfree else licenses.gpl2Only; maintainers = with maintainers; [ adamcstephens jecaro ]; platforms = platforms.unix; }; From aafccbad478cb0719226167691784079eb446b04 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Sat, 4 Nov 2023 21:43:15 -0400 Subject: [PATCH 094/147] nixos/slimserver: init service test --- nixos/tests/all-tests.nix | 1 + nixos/tests/slimserver.nix | 16 ++++++++++++++++ pkgs/servers/slimserver/default.nix | 5 +++++ 3 files changed, 22 insertions(+) create mode 100644 nixos/tests/slimserver.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 6c127efa4cea..272fe6933d63 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -750,6 +750,7 @@ in { signal-desktop = handleTest ./signal-desktop.nix {}; simple = handleTest ./simple.nix {}; sing-box = handleTest ./sing-box.nix {}; + slimserver = handleTest ./slimserver.nix {}; slurm = handleTest ./slurm.nix {}; smokeping = handleTest ./smokeping.nix {}; snapcast = handleTest ./snapcast.nix {}; diff --git a/nixos/tests/slimserver.nix b/nixos/tests/slimserver.nix new file mode 100644 index 000000000000..09dbf20bd78a --- /dev/null +++ b/nixos/tests/slimserver.nix @@ -0,0 +1,16 @@ +import ./make-test-python.nix ({ pkgs, ...} : { + name = "slimserver"; + meta.maintainers = with pkgs.lib.maintainers; [ adamcstephens ]; + + nodes.machine = { ... }: { + services.slimserver.enable = true; + }; + + testScript = + '' + machine.wait_for_unit("slimserver.service") + machine.wait_for_open_port(9000) + machine.succeed("curl http://localhost:9000") + machine.wait_until_succeeds("journalctl -eu slimserver.service | grep 'Completed dbOptimize Scan'") + ''; +}) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 4e42937a8972..94c01fd8e981 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -5,6 +5,7 @@ , lib , makeWrapper , monkeysAudio +, nixosTests , perl536Packages , sox , stdenv @@ -53,6 +54,10 @@ perlPackages.buildPerlPackage rec { outputs = [ "out" ]; + passthru.tests = { + inherit (nixosTests) slimserver; + }; + meta = with lib; { homepage = "https://github.com/Logitech/slimserver"; description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server"; From 713a7d7fa030c5135ed00620a92cf4b5cd45abb6 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Sat, 4 Nov 2023 21:43:58 -0400 Subject: [PATCH 095/147] slimserver: cleanup unused perl modules --- pkgs/servers/slimserver/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 94c01fd8e981..56db7c48c7c7 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -1,5 +1,6 @@ { faad2 , fetchFromGitHub +, fetchurl , flac , lame , lib @@ -33,8 +34,16 @@ perlPackages.buildPerlPackage rec { buildInputs = [ perlPackages.CryptOpenSSLRSA perlPackages.IOSocketSSL ]; prePatch = '' + # remove vendored binaries rm -rf Bin + # remove modules for other versions of perl + for x in $(ls CPAN/arch); do + if [ "$x" != "${lib.versions.majorMinor perlPackages.perl.version}" ]; then + rm -rf "CPAN/arch/$x" + fi + done + ${lib.optionalString (!enableUnfreeFirmware) '' # remove unfree firmware rm -rf Firmware From 431b9f23adafd73fe0d4542382253f2c80180adc Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Sat, 4 Nov 2023 21:45:06 -0400 Subject: [PATCH 096/147] slimserver: add bin symlink and meta.mainProgram --- nixos/modules/services/audio/slimserver.nix | 2 +- pkgs/servers/slimserver/default.nix | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/audio/slimserver.nix b/nixos/modules/services/audio/slimserver.nix index 9fbc68b71364..cdd9d551c501 100644 --- a/nixos/modules/services/audio/slimserver.nix +++ b/nixos/modules/services/audio/slimserver.nix @@ -54,7 +54,7 @@ in { serviceConfig = { User = "slimserver"; # Issue 40589: Disable broken image/video support (audio still works!) - ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo"; + ExecStart = "${lib.getExe cfg.package} --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo"; }; }; diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 56db7c48c7c7..6b6132bc54b5 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -59,6 +59,8 @@ perlPackages.buildPerlPackage rec { wrapProgram $out/slimserver.pl \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ zlib stdenv.cc.cc.lib ]}" \ --prefix PATH : "${lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}" + mkdir $out/bin + ln -s $out/slimserver.pl $out/bin/slimserver ''; outputs = [ "out" ]; @@ -73,6 +75,7 @@ perlPackages.buildPerlPackage rec { # the firmware is not under a free license, but not included in the default package # https://github.com/Logitech/slimserver/blob/public/8.3/License.txt license = if enableUnfreeFirmware then licenses.unfree else licenses.gpl2Only; + mainProgram = "slimserver"; maintainers = with maintainers; [ adamcstephens jecaro ]; platforms = platforms.unix; }; From d6e8178a5c9d008767ff2202141b4b3b2b087e85 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Sat, 4 Nov 2023 22:21:10 -0400 Subject: [PATCH 097/147] slimserver: mark as broken on darwin --- pkgs/servers/slimserver/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 6b6132bc54b5..175b5ab362ff 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -58,7 +58,7 @@ perlPackages.buildPerlPackage rec { cp -r . $out wrapProgram $out/slimserver.pl \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ zlib stdenv.cc.cc.lib ]}" \ - --prefix PATH : "${lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}" + --prefix PATH : "${lib.makeBinPath ([ lame flac faad2 sox wavpack ] ++ (lib.optional stdenv.isLinux monkeysAudio))}" mkdir $out/bin ln -s $out/slimserver.pl $out/bin/slimserver ''; @@ -78,5 +78,6 @@ perlPackages.buildPerlPackage rec { mainProgram = "slimserver"; maintainers = with maintainers; [ adamcstephens jecaro ]; platforms = platforms.unix; + broken = stdenv.isDarwin; }; } From 226b8a9f9a2afc220e35fce172491102af2eee51 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:51:52 -0500 Subject: [PATCH 098/147] nixos/tests/slimserver: add end to end with squeezelite --- nixos/tests/slimserver.nix | 39 +++++++++++++++++-- .../audio/squeezelite/default.nix | 6 ++- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/nixos/tests/slimserver.nix b/nixos/tests/slimserver.nix index 09dbf20bd78a..c3f7b6fde4de 100644 --- a/nixos/tests/slimserver.nix +++ b/nixos/tests/slimserver.nix @@ -4,13 +4,44 @@ import ./make-test-python.nix ({ pkgs, ...} : { nodes.machine = { ... }: { services.slimserver.enable = true; + services.squeezelite = { + enable = true; + extraArguments = "-s 127.0.0.1 -d slimproto=info"; + }; + sound.enable = true; + boot.initrd.kernelModules = ["snd-dummy"]; }; testScript = '' - machine.wait_for_unit("slimserver.service") - machine.wait_for_open_port(9000) - machine.succeed("curl http://localhost:9000") - machine.wait_until_succeeds("journalctl -eu slimserver.service | grep 'Completed dbOptimize Scan'") + import json + rpc_get_player = { + "id": 1, + "method": "slim.request", + "params":[0,["player", "id", "0", "?"]] + } + + with subtest("slimserver is started"): + machine.wait_for_unit("slimserver.service") + # give slimserver a moment to report errors + machine.sleep(2) + + with subtest('slimserver module errors are not reported'): + machine.fail("journalctl -u slimserver.service | grep 'throw_exception'") + machine.fail("journalctl -u slimserver.service | grep 'not installed'") + machine.fail("journalctl -u slimserver.service | grep 'not found'") + machine.fail("journalctl -u slimserver.service | grep 'The following CPAN modules were found but cannot work with Logitech Media Server'") + machine.fail("journalctl -u slimserver.service | grep 'please use the buildme.sh'") + + with subtest('slimserver is ready'): + machine.wait_for_open_port(9000) + machine.wait_until_succeeds("journalctl -u slimserver.service | grep 'Completed dbOptimize Scan'") + + with subtest("squeezelite player successfully connects to slimserver"): + machine.wait_for_unit("squeezelite.service") + machine.wait_until_succeeds("journalctl -u squeezelite.service | grep 'slimproto:937 connected'") + player_mac = machine.wait_until_succeeds("journalctl -eu squeezelite.service | grep 'sendHELO:148 mac:'").strip().split(" ")[-1] + player_id = machine.succeed(f"curl http://localhost:9000/jsonrpc.js -g -X POST -d '{json.dumps(rpc_get_player)}'") + assert player_mac == json.loads(player_id)["result"]["_id"], "squeezelite player not found" ''; }) diff --git a/pkgs/applications/audio/squeezelite/default.nix b/pkgs/applications/audio/squeezelite/default.nix index da126de3fc43..0f3b8be11c08 100644 --- a/pkgs/applications/audio/squeezelite/default.nix +++ b/pkgs/applications/audio/squeezelite/default.nix @@ -22,6 +22,7 @@ , openssl , portaudioSupport ? stdenv.isDarwin , portaudio +, slimserver , AudioToolbox , AudioUnit , Carbon @@ -95,7 +96,10 @@ stdenv.mkDerivation { runHook postInstall ''; - passthru.updateScript = ./update.sh; + passthru = { + inherit (slimserver) tests; + updateScript = ./update.sh; + }; meta = with lib; { description = "Lightweight headless squeezebox client emulator"; From 00a44ec0523955013675b0a23861d897cd8afb19 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:52:25 -0500 Subject: [PATCH 099/147] perlPackages.AsyncUtil: init at 0.01 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a884bcd34618..9be94906c222 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1169,6 +1169,20 @@ with self; { }; }; + AsyncUtil = buildPerlPackage { + pname = "Async-Util"; + version = "0.01"; + src = fetchurl { + url = "mirror://cpan/authors/id/W/WH/WHITNEY/Async-Util-0.01.tar.gz"; + hash = "sha256-jzKxHKvFD2Xjh79W8mWBV6IsNah5Nmbhtfis/hMQkQY="; + }; + buildInputs = [ AnyEvent ListMoreUtils ]; + meta = { + description = "Utilities for doing common async operations"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + ArchiveCpio = buildPerlPackage { pname = "Archive-Cpio"; version = "0.10"; From 0e6e859968d5e410b37d0ff19e54673ae076810c Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:52:48 -0500 Subject: [PATCH 100/147] perlPackages.AudioCuefileParser: init at 0.02 --- pkgs/top-level/perl-packages.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9be94906c222..25d035ce36bb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1267,6 +1267,18 @@ with self; { }; }; + AudioCuefileParser = buildPerlPackage { + pname = "Audio-Cuefile-Parser"; + version = "0.02"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MA/MATTK/Audio-Cuefile-Parser-0.02.tar.gz"; + hash = "sha256-ulbQcMhz2WxoatmoH99P6JuETkPrSd/gAL+c70PFtmk="; + }; + meta = { + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + AudioFLACHeader = buildPerlPackage { pname = "Audio-FLAC-Header"; version = "2.4"; From ff3d87b77998bc9d197d6d6c49e6bd5eed49efd6 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:53:05 -0500 Subject: [PATCH 101/147] perlPackages.ClassMember: init at 1.6 --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 25d035ce36bb..299541865c86 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3628,6 +3628,19 @@ with self; { }; }; + ClassMember = buildPerlPackage { + pname = "Class-Member"; + version = "1.6"; + src = fetchurl { + url = "mirror://cpan/authors/id/O/OP/OPI/Class-Member-1.6.tar.gz"; + hash = "sha256-p1KK8in6OhIF3NJakd59dKxvp9lSgbmTtV6Lb0+HuZE="; + }; + meta = { + description = "A set of modules to make the module developement easier"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + ClassMethodMaker = buildPerlPackage { pname = "Class-MethodMaker"; version = "2.24"; From b40f970682d7bc7d9ffa9e3cb53f02c342853cf7 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:53:34 -0500 Subject: [PATCH 102/147] perlPackages.IOInterface: init at 1.09 --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 299541865c86..1a498286875e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12751,6 +12751,19 @@ with self; { }; }; + IOInterface = buildPerlModule { + pname = "IO-Interface"; + version = "1.09"; + src = fetchurl { + url = "mirror://cpan/authors/id/L/LD/LDS/IO-Interface-1.09.tar.gz"; + hash = "sha256-5j6BxS6x4OYOwtmD9VUtJJPhFxeZJclnV/I8S9n6cTo="; + }; + meta = { + description = "Access and modify network interface card configuration"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + IOInteractive = buildPerlPackage { pname = "IO-Interactive"; version = "1.025"; From 3f562cd626b9ab8906c44f253610b7855ad1f22d Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:53:48 -0500 Subject: [PATCH 103/147] perlPackages.MP3CutGapless: init at 0.03 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1a498286875e..47484eaf80f5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17985,6 +17985,20 @@ with self; { }; }; + MP3CutGapless = buildPerlPackage { + pname = "MP3-Cut-Gapless"; + version = "0.03"; + src = fetchurl { + url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/MP3-Cut-Gapless-0.03.tar.gz"; + hash = "sha256-PoS3OdHx4902FvhR3GV14WXTKEZ/AySGB5UOWVH+pPM="; + }; + propagatedBuildInputs = [ AudioCuefileParser ]; + meta = { + description = "Split an MP3 file without gaps (based on pcutmp3)"; + license = with lib.licenses; [ artistic1 ]; + }; + }; + MP3Info = buildPerlPackage { pname = "MP3-Info"; version = "1.26"; From ecbaf12b43f33349b59337b632dcfbfb17a8310c Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 6 Nov 2023 15:55:02 -0500 Subject: [PATCH 104/147] slimserver: replace vendored packages where possible, upgrade to perl 5.38 --- pkgs/servers/slimserver/default.nix | 94 ++++++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 10 deletions(-) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 175b5ab362ff..08d9dbe97e6f 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -1,13 +1,12 @@ { faad2 , fetchFromGitHub -, fetchurl , flac , lame , lib , makeWrapper , monkeysAudio , nixosTests -, perl536Packages +, perl538Packages , sox , stdenv , wavpack @@ -16,7 +15,7 @@ }: let - perlPackages = perl536Packages; + perlPackages = perl538Packages; in perlPackages.buildPerlPackage rec { pname = "slimserver"; @@ -31,18 +30,93 @@ perlPackages.buildPerlPackage rec { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perlPackages.CryptOpenSSLRSA perlPackages.IOSocketSSL ]; + buildInputs = with perlPackages; [ + AnyEvent + ArchiveZip + AsyncUtil + AudioScan + CarpClan + CGI + ClassAccessor + ClassAccessorChained + ClassC3 + # ClassC3Componentised # Error: DBIx::Class::Row::throw_exception(): DBIx::Class::Relationship::BelongsTo::belongs_to(): Can't infer join condition for track + ClassDataInheritable + ClassInspector + ClassISA + ClassMember + ClassSingleton + ClassVirtual + ClassXSAccessor + CompressRawZlib + CryptOpenSSLRSA + DataDump + DataPage + DataURIEncode + DBDSQLite + DBI + # DBIxClass # https://github.com/Logitech/slimserver/issues/138 + DigestSHA1 + EncodeDetect + EV + ExporterLite + FileBOM + FileCopyRecursive + FileNext + FileReadBackwards + FileSlurp + FileWhich + HTMLParser + HTTPCookies + HTTPDaemon + HTTPMessage + ImageScale + IOAIO + IOInterface + IOSocketSSL + IOString + JSONXS + JSONXSVersionOneAndTwo + # LogLog4perl # Internal error: Root Logger not initialized. + LWP + LWPProtocolHttps + MP3CutGapless + NetHTTP + NetHTTPSNB + PathClass + ProcBackground + # SQLAbstract # DBI Exception: DBD::SQLite::db prepare_cached failed: no such function: ARRAY + SQLAbstractLimit + SubName + TemplateToolkit + TextUnidecode + TieCacheLRU + TieCacheLRUExpires + TieRegexpHash + TimeDate + URI + URIFind + UUIDTiny + XMLParser + XMLSimple + YAMLLibYAML + ] + # ++ (lib.optional stdenv.isDarwin perlPackages.MacFSEvents) + ++ (lib.optional stdenv.isLinux perlPackages.LinuxInotify2); prePatch = '' # remove vendored binaries rm -rf Bin - # remove modules for other versions of perl - for x in $(ls CPAN/arch); do - if [ "$x" != "${lib.versions.majorMinor perlPackages.perl.version}" ]; then - rm -rf "CPAN/arch/$x" - fi - done + # remove most vendored modules, keeping necessary ones + mkdir -p CPAN_used/Class/C3/ CPAN_used/SQL + rm -r CPAN/SQL/Abstract/Limit.pm + cp -rv CPAN/Class/C3/Componentised.pm CPAN_used/Class/C3/ + cp -rv CPAN/DBIx CPAN_used/ + cp -rv CPAN/Log CPAN_used/ + cp -rv CPAN/SQL/* CPAN_used/SQL/ + rm -r CPAN + mv CPAN_used CPAN ${lib.optionalString (!enableUnfreeFirmware) '' # remove unfree firmware From 81e378618e3f201e1d55abcbd920fdca394c21a5 Mon Sep 17 00:00:00 2001 From: Julien Malka Date: Thu, 16 Nov 2023 23:48:19 +0000 Subject: [PATCH 105/147] nixos/systemd-boot: allow for bootspec-less generations Generation built with old versions of NixOS with no bootspec support may still be present on the system and must be accounted for. --- .../loader/systemd-boot/systemd-boot-builder.py | 17 ++++++++++++++--- .../boot/loader/systemd-boot/systemd-boot.nix | 2 ++ nixos/tests/systemd-boot.nix | 16 ++++++++++++++++ pkgs/tools/misc/bootspec/default.nix | 12 ++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 96b42066b223..7d06e0131d9d 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -88,9 +88,20 @@ def write_loader_conf(profile: str | None, generation: int, specialisation: str def get_bootspec(profile: str | None, generation: int) -> BootSpec: - boot_json_path = os.path.realpath("%s/%s" % (system_dir(profile, generation, None), "boot.json")) - boot_json_f = open(boot_json_path, 'r') - bootspec_json = json.load(boot_json_f) + system_directory = system_dir(profile, generation, None) + boot_json_path = os.path.realpath("%s/%s" % (system_directory, "boot.json")) + if os.path.isfile(boot_json_path): + boot_json_f = open(boot_json_path, 'r') + bootspec_json = json.load(boot_json_f) + else: + boot_json_str = subprocess.check_output([ + "@bootspecTools@/bin/synthesize", + "--version", + "1", + system_directory, + "/dev/stdout"], + universal_newlines=True) + bootspec_json = json.loads(boot_json_str) return bootspec_from_json(bootspec_json) def bootspec_from_json(bootspec_json: Dict) -> BootSpec: diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix index 1086ab80b14f..9d55c21077d1 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix @@ -16,6 +16,8 @@ let systemd = config.systemd.package; + bootspecTools = pkgs.bootspec; + nix = config.nix.package.out; timeout = optionalString (config.boot.loader.timeout != null) config.boot.loader.timeout; diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 13007d0d80d8..a592504addc0 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -277,4 +277,20 @@ in machine.wait_for_unit("multi-user.target") ''; }; + + no-bootspec = makeTest + { + name = "systemd-boot-no-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + + nodes.machine = { + imports = [ common ]; + boot.bootspec.enable = false; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + ''; + }; } diff --git a/pkgs/tools/misc/bootspec/default.nix b/pkgs/tools/misc/bootspec/default.nix index 7bf6bc478d7c..2ffa6c47ab09 100644 --- a/pkgs/tools/misc/bootspec/default.nix +++ b/pkgs/tools/misc/bootspec/default.nix @@ -1,6 +1,7 @@ { lib , rustPlatform , fetchFromGitHub +, fetchpatch }: rustPlatform.buildRustPackage rec { pname = "bootspec"; @@ -13,6 +14,17 @@ rustPlatform.buildRustPackage rec { hash = "sha256-5IGSMHeL0eKfl7teDejAckYQjc8aeLwfwIQSzQ8YaAg="; }; + patches = [ + # https://github.com/DeterminateSystems/bootspec/pull/127 + # Fixes the synthesize tool for aarch64-linux + (fetchpatch { + name = "aarch64-support.patch"; + url = "https://github.com/DeterminateSystems/bootspec/commit/1d0e925f360f0199f13422fb7541225fd162fd4f.patch"; + sha256 = "sha256-wU/jWnOqVBrU2swANdXbQfzRpNd/JIS4cxSyCvixZM0="; + }) + + ]; + cargoHash = "sha256-eGSKVHjPnHK7WyGkO5LIjocNGHawahYQR3H5Lgk1C9s="; meta = with lib; { From 2fe632cc11b2817c253718b879a6ed422227fd43 Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Wed, 15 Nov 2023 08:10:06 +0100 Subject: [PATCH 106/147] python3Packages.pyproj: add geospatial team to maintainers --- pkgs/development/python-modules/pyproj/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pyproj/default.nix b/pkgs/development/python-modules/pyproj/default.nix index 0d77ed937cf1..576688accc07 100644 --- a/pkgs/development/python-modules/pyproj/default.nix +++ b/pkgs/development/python-modules/pyproj/default.nix @@ -100,11 +100,11 @@ buildPythonPackage rec { "pyproj.exceptions" ]; - meta = { + meta = with lib; { description = "Python interface to PROJ library"; homepage = "https://github.com/pyproj4/pyproj"; changelog = "https://github.com/pyproj4/pyproj/blob/${src.rev}/docs/history.rst"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lsix dotlambda ]; + license = licenses.mit; + maintainers = with maintainers; teams.geospatial.members ++ [ lsix dotlambda ]; }; } From 85b74c5a13089c62a7de96418bd2009dc9bb1e0c Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Fri, 17 Nov 2023 15:01:20 +0100 Subject: [PATCH 107/147] python3Packages.sqids: 0.4.0 -> 0.4.1 https://github.com/sqids/sqids-python/blob/v0.4.1/CHANGELOG.md#changelog https://github.com/sqids/sqids-python/compare/v0.4.0...v0.4.1 --- pkgs/development/python-modules/sqids/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sqids/default.nix b/pkgs/development/python-modules/sqids/default.nix index dc6befc17991..a9d5fe372953 100644 --- a/pkgs/development/python-modules/sqids/default.nix +++ b/pkgs/development/python-modules/sqids/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "sqids"; - version = "0.4.0"; + version = "0.4.1"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-U9nVpRc9PIM1ZO+bcL3RGIfAdlUMf+uFw/SpPTAjdnA="; + hash = "sha256-/8P7/vY0kb7ouUCpgGU4g0Xb77BtSeQVt6nkdcogD50="; }; nativeBuildInputs = [ From 0de1f14ac047352c7c051c8261458318c9da805d Mon Sep 17 00:00:00 2001 From: Michael Thomas Date: Thu, 16 Nov 2023 10:04:23 -0500 Subject: [PATCH 108/147] firebird-emu: support darwin firebird-emu supports darwin, but the derivation has not been tested on macOS. This commit adds darwin support to the derivation, with the necessary tweaks to support building for a darwin target. Namely, adds a workaround for https://github.com/NixOS/nixpkgs/issues/19098, and adds a missing dependency, qtquickcontrols. Also, adds a postInstall hook which moves the MacOS .app file to the Applications/ folder in the store, enabling proper linking to /Applications or ~/Applications and appearance in Spotlight and Launchpad. --- .../emulators/firebird-emu/default.nix | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/emulators/firebird-emu/default.nix b/pkgs/applications/emulators/firebird-emu/default.nix index d117a93fba4a..9fd990146161 100644 --- a/pkgs/applications/emulators/firebird-emu/default.nix +++ b/pkgs/applications/emulators/firebird-emu/default.nix @@ -1,6 +1,13 @@ -{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qtdeclarative }: - -mkDerivation rec { +{ stdenv +, lib +, fetchFromGitHub +, qmake +, qtbase +, qtdeclarative +, qtquickcontrols +, wrapQtAppsHook +}: +stdenv.mkDerivation rec { pname = "firebird-emu"; version = "1.6"; @@ -12,16 +19,23 @@ mkDerivation rec { hash = "sha256-ZptjlnOiF+hKuKYvBFJL95H5YQuR99d4biOco/MVEmE="; }; - nativeBuildInputs = [ qmake ]; + # work around https://github.com/NixOS/nixpkgs/issues/19098 + env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && stdenv.isDarwin) "-fno-lto"; - buildInputs = [ qtbase qtdeclarative ]; + nativeBuildInputs = [ wrapQtAppsHook qmake ]; + + buildInputs = [ qtbase qtdeclarative qtquickcontrols ]; + + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/Applications + mv $out/bin/${pname}.app $out/Applications/ + ''; meta = { homepage = "https://github.com/nspire-emus/firebird"; description = "Third-party multi-platform emulator of the ARM-based TI-Nspireβ„’ calculators"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ pneumaticat ]; - # Only tested on Linux, but likely possible to build on, e.g. macOS - platforms = lib.platforms.linux; + platforms = lib.platforms.unix; }; } From 5d116b46b65950135b0a25ac979a354829333ea2 Mon Sep 17 00:00:00 2001 From: Nadir Ishiguro Date: Fri, 17 Nov 2023 15:31:44 +0100 Subject: [PATCH 109/147] nom: 2.0.2 -> 2.0.5 Changelog: https://github.com/guyfedwards/nom/releases/tag/v2.0.5 --- pkgs/by-name/no/nom/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/no/nom/package.nix b/pkgs/by-name/no/nom/package.nix index 258e1b44c378..fde0f3378c39 100644 --- a/pkgs/by-name/no/nom/package.nix +++ b/pkgs/by-name/no/nom/package.nix @@ -4,13 +4,13 @@ }: buildGoModule rec { pname = "nom"; - version = "2.0.2"; + version = "2.0.5"; src = fetchFromGitHub { owner = "guyfedwards"; repo = "nom"; rev = "v${version}"; - hash = "sha256-6tk8NRuBbRMoaz3CmUUOC6thxIgjk/MWl50+YgQ6l5o="; + hash = "sha256-mYE8cu7qHRyG/pZSr4u6tMEF3ZM5Qz+CX+oLf/chwl4="; }; vendorHash = "sha256-fP6yxfIQoVaBC9hYcrCyo3YP3ntEVDbDTwKMO9TdyDI="; From 73198870cd8afe6f763b1d2e801b143d3015363e Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 13 Nov 2023 17:14:26 +0100 Subject: [PATCH 110/147] nixos/tests/pgbouncer: do not use `ensureDBOwnership` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pgbouncer test is special in the sense where it actually tries to connect via SCRAM SHA, let's avoid `ensureDBOwnership` here otherwise for some reason pgbouncer will try to look in pg_shadow for the authuser… --- nixos/tests/pgbouncer.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/tests/pgbouncer.nix b/nixos/tests/pgbouncer.nix index 814ca0d58865..bb5afd35ee28 100644 --- a/nixos/tests/pgbouncer.nix +++ b/nixos/tests/pgbouncer.nix @@ -17,18 +17,18 @@ in systemd.services.postgresql = { postStart = '' - ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER ROLE testuser WITH LOGIN PASSWORD 'testpass'"; + ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER ROLE testuser WITH LOGIN PASSWORD 'testpass'"; + ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER DATABASE testdb OWNER TO testuser;"; ''; }; services = { postgresql = { enable = true; - ensureDatabases = [ "test" ]; + ensureDatabases = [ "testdb" ]; ensureUsers = [ { - name = "test"; - ensureDBOwnership = true; + name = "testuser"; }]; authentication = '' local testdb testuser scram-sha-256 @@ -38,7 +38,7 @@ in pgbouncer = { enable = true; listenAddress = "localhost"; - databases = { test = "host=/run/postgresql/ port=5432 auth_user=testuser dbname=test"; }; + databases = { test = "host=/run/postgresql/ port=5432 auth_user=testuser dbname=testdb"; }; authType = "scram-sha-256"; authFile = testAuthFile; }; From 7cd63bff21f67d13810f547fb02165131f9942b1 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Fri, 17 Nov 2023 15:03:19 +0100 Subject: [PATCH 111/147] nixos/sourcehut: do not use `ensureDBOwnership` Given that SourceHut uses unfortunate defaults for database name, it will not be realistic to fix this in time for 23.11. We will leave the workaround and leave it to SourceHut maintainers to pick up the work to clean this up after 23.11. --- .../services/misc/sourcehut/service.nix | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix index d2cd599d3fec..f08d5eb46871 100644 --- a/nixos/modules/services/misc/sourcehut/service.nix +++ b/nixos/modules/services/misc/sourcehut/service.nix @@ -242,15 +242,6 @@ in } cfg.nginx.virtualHost ]; }; - assertions = [ - { - assertion = srvCfg.user == srvCfg.postgresql.database; - message = '' - When creating a database via NixOS, the db user and db name must be equal! - ''; - } - ]; - services.postgresql = mkIf cfg.postgresql.enable { authentication = '' local ${srvCfg.postgresql.database} ${srvCfg.user} trust @@ -258,10 +249,13 @@ in ensureDatabases = [ srvCfg.postgresql.database ]; ensureUsers = map (name: { inherit name; - ensureDBOwnership = true; + # We don't use it because we have a special default database name with dots. + # TODO(for maintainers of sourcehut): migrate away from custom preStart script. + ensureDBOwnership = false; }) [srvCfg.user]; }; + services.sourcehut.settings = mkMerge [ { "${srv}.sr.ht".origin = mkDefault "https://${srv}.${cfg.settings."sr.ht".global-domain}"; @@ -387,10 +381,11 @@ in extraService ])) extraServices) - # Work around 'pq: permission denied for schema public' with postgres v15, until a - # solution for `services.postgresql.ensureUsers` is found. + # Work around 'pq: permission denied for schema public' with postgres v15. # See https://github.com/NixOS/nixpkgs/issues/216989 # Workaround taken from nixos/forgejo: https://github.com/NixOS/nixpkgs/pull/262741 + # TODO(to maintainers of sourcehut): please migrate away from this workaround + # by migrating away from database name defaults with dots. (lib.mkIf ( cfg.postgresql.enable && lib.strings.versionAtLeast config.services.postgresql.package.version "15.0" From f653734c4dabbc041e7fcc72149f93567b10137c Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Fri, 17 Nov 2023 15:19:14 +0100 Subject: [PATCH 112/147] nixos/mobilizon: do not use `ensureDBOwnership` Mobilizon can have a custom database username and it is not trivial to sort out how to remove this. In the meantime, for the upcoming 23.11 release, I apply the classical workaround and defer to Mobilizon's maintainers. --- nixos/modules/services/web-apps/mobilizon.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/nixos/modules/services/web-apps/mobilizon.nix b/nixos/modules/services/web-apps/mobilizon.nix index 601c2830e0e2..bb4319b51a2f 100644 --- a/nixos/modules/services/web-apps/mobilizon.nix +++ b/nixos/modules/services/web-apps/mobilizon.nix @@ -212,12 +212,6 @@ in assertion = cfg.nginx.enable -> (cfg.settings.":mobilizon"."Mobilizon.Web.Endpoint".http.ip == settingsFormat.lib.mkTuple [ 0 0 0 0 0 0 0 1 ]); message = "Setting the IP mobilizon listens on is only possible when the nginx config is not used, as it is hardcoded there."; } - { - assertion = isLocalPostgres -> repoSettings.database == repoSettings.username; - message = '' - When creating a database via NixOS, the db user and db name must be equal! - ''; - } ]; services.mobilizon.settings = { @@ -353,12 +347,18 @@ in # Taken from here: # https://framagit.org/framasoft/mobilizon/-/blob/1.1.0/priv/templates/setup_db.eex + # TODO(to maintainers of mobilizon): the owner database alteration is necessary + # as PostgreSQL 15 changed their behaviors w.r.t. to privileges. + # See https://github.com/NixOS/nixpkgs/issues/216989 to get rid + # of that workaround. script = '' psql "${repoSettings.database}" -c "\ CREATE EXTENSION IF NOT EXISTS postgis; \ CREATE EXTENSION IF NOT EXISTS pg_trgm; \ CREATE EXTENSION IF NOT EXISTS unaccent;" + psql -tAc 'ALTER DATABASE "${repoSettings.database}" OWNER TO "${dbUser}";' + ''; serviceConfig = { @@ -378,7 +378,10 @@ in ensureUsers = [ { name = dbUser; - ensureDBOwnership = true; + # Given that `dbUser` is potentially arbitrarily custom, we will perform + # manual fixups in mobilizon-postgres. + # TODO(to maintainers of mobilizon): Feel free to simplify your setup by using `ensureDBOwnership`. + ensureDBOwnership = false; } ]; extraPlugins = with postgresql.pkgs; [ postgis ]; From 10baca4935656089dabca0f07e3ef89f1f954375 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Fri, 17 Nov 2023 15:52:29 +0100 Subject: [PATCH 113/147] nixos/invidious: do not use `ensureDBOwnership` Invidious uses a strange setup where the database name is different from the system username for non-explicit reasons. Because of that, it makes it hard to migrate it to use `ensureDBOwnership`, we leave it to Invidious' maintainers to pick up the pieces. --- nixos/modules/services/web-apps/invidious.nix | 9 +++++++++ nixos/tests/invidious.nix | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-apps/invidious.nix b/nixos/modules/services/web-apps/invidious.nix index fc9c1ec06f65..e4fbc6fd9368 100644 --- a/nixos/modules/services/web-apps/invidious.nix +++ b/nixos/modules/services/web-apps/invidious.nix @@ -109,8 +109,16 @@ let # Default to using the local database if we create it services.invidious.database.host = lib.mkDefault null; + + # TODO(raitobezarius to maintainers of invidious): I strongly advise to clean up the kemal specific + # thing for 24.05 and use `ensureDBOwnership`. + # See https://github.com/NixOS/nixpkgs/issues/216989 + systemd.services.postgresql.postStart = lib.mkAfter '' + $PSQL -tAc 'ALTER DATABASE "${cfg.settings.db.dbname}" OWNER TO "${cfg.settings.db.user}";' + ''; services.postgresql = { enable = true; + ensureUsers = lib.singleton { name = cfg.settings.db.user; ensureDBOwnership = false; }; ensureDatabases = lib.singleton cfg.settings.db.dbname; # This is only needed because the unix user invidious isn't the same as # the database user. This tells postgres to map one to the other. @@ -130,6 +138,7 @@ let documentation = [ "https://docs.invidious.io/Database-Information-and-Maintenance.md" ]; startAt = lib.mkDefault "weekly"; path = [ config.services.postgresql.package ]; + after = [ "postgresql.service" ]; script = '' psql ${cfg.settings.db.dbname} ${cfg.settings.db.user} -c "DELETE FROM nonces * WHERE expire < current_timestamp" psql ${cfg.settings.db.dbname} ${cfg.settings.db.user} -c "TRUNCATE TABLE videos" diff --git a/nixos/tests/invidious.nix b/nixos/tests/invidious.nix index 582d1550fff1..701e8e5e7a3f 100644 --- a/nixos/tests/invidious.nix +++ b/nixos/tests/invidious.nix @@ -44,8 +44,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { enable = true; initialScript = pkgs.writeText "init-postgres-with-password" '' CREATE USER kemal WITH PASSWORD 'correct horse battery staple'; - CREATE DATABASE invidious; - GRANT ALL PRIVILEGES ON DATABASE invidious TO kemal; + CREATE DATABASE invidious OWNER kemal; ''; }; }; From 20832d59954641e608d1dc5bb51457280dc384d7 Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Fri, 17 Nov 2023 15:55:24 +0100 Subject: [PATCH 114/147] nixos/forgejo: changelog and migration instructions (#267248) * nixos/forgejo: changelog and migration instructions * nixos/forgejo/docs: clarify sentence Co-authored-by: Trolli Schmittlauch * nixos/forgejo/docs: document migration via gitea impersonation * nixos/forgejo/docs: note about url change on migration * nixos/forgejo/docs: note about migration (non-)requirement * nixos/forgejo/docs: header ids * nixos/forgejo/docs: clarify release notes entry Co-authored-by: Emily * nixos/forgejo/docs: improve manual entry Co-authored-by: Emily * nixos/forgejo/docs: move changelog line to the middle of the section as noted --------- Co-authored-by: Trolli Schmittlauch Co-authored-by: Emily --- .../manual/release-notes/rl-2311.section.md | 2 + nixos/modules/services/misc/forgejo.md | 79 +++++++++++++++++++ nixos/modules/services/misc/forgejo.nix | 1 + 3 files changed, 82 insertions(+) create mode 100644 nixos/modules/services/misc/forgejo.md diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 5cb5fec2305e..1dbc33f2373a 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -104,6 +104,8 @@ - [eris-server](https://codeberg.org/eris/eris-go). [ERIS](https://eris.codeberg.page/) is an encoding for immutable storage and this server provides block exchange as well as content decoding over HTTP and through a FUSE file-system. Available as [services.eris-server](#opt-services.eris-server.enable). +- [forgejo](https://forgejo.org/), a git forge. Previously deployed as a drop-in replacement package in the [gitea module](#opt-services.gitea.package). Available as [services.forgejo](#opt-services.forgejo.enable). See migration instructions in the [NixOS manual](#module-forgejo) on how to migrate your forgejo instance using [`services.gitea.package = pkgs.forgejo`](#opt-services.gitea.package) to [`services.forgejo`](#opt-services.forgejo.enable). + - hardware/infiniband.nix adds infiniband subnet manager support using an [opensm](https://github.com/linux-rdma/opensm) systemd-template service, instantiated on card guids. The module also adds kernel modules and cli tooling to help administrators debug and measure performance. Available as [hardware.infiniband.enable](#opt-hardware.infiniband.enable). - [zwave-js](https://github.com/zwave-js/zwave-js-server), a small server wrapper around Z-Wave JS to access it via a WebSocket. Available as [services.zwave-js](#opt-services.zwave-js.enable). diff --git a/nixos/modules/services/misc/forgejo.md b/nixos/modules/services/misc/forgejo.md new file mode 100644 index 000000000000..6a3407382085 --- /dev/null +++ b/nixos/modules/services/misc/forgejo.md @@ -0,0 +1,79 @@ +# Forgejo {#module-forgejo} + +Forgejo is a soft-fork of gitea, with strong community focus, as well +as on self-hosting and federation. [Codeberg](https://codeberg.org) is +deployed from it. + +See [upstream docs](https://forgejo.org/docs/latest/). + +The method of choice for running forgejo is using [`services.forgejo`](#opt-services.forgejo.enable). + +::: {.warning} +Running forgejo using `services.gitea.package = pkgs.forgejo` is no longer +recommended. +If you experience issues with your instance using `services.gitea`, +**DO NOT** report them to the `services.gitea` module maintainers. +**DO** report them to the `services.forgejo` module maintainers instead. +::: + +## Migration from Gitea {#module-forgejo-migration-gitea} + +::: {.note} +Migrating is, while not strictly necessary at this point, highly recommended. +Both modules and projects are likely to divide further with each release. +Which might lead to an even more involved migration. +::: + +### Full-Migration {#module-forgejo-migration-gitea-default} + +This will migrate the state directory (data), rename and chown the database and +delete the gitea user. + +::: {.note} +This will also change the git remote ssh-url user from `gitea@` to `forgejo@`, +when using the host's openssh server (default) instead of the integrated one. +::: + +Instructions for PostgreSQL (default). Adapt accordingly for other databases: + +```sh +systemctl stop gitea +mv /var/lib/gitea /var/lib/forgejo +runuser -u postgres -- psql -c ' + ALTER USER gitea RENAME TO forgejo; + ALTER DATABASE gitea RENAME TO forgejo; +' +nixos-rebuild switch +systemctl stop forgejo +chown -R forgejo:forgejo /var/lib/forgejo +systemctl restart forgejo +``` + +### Alternatively, keeping the gitea user {#module-forgejo-migration-gitea-impersonate} + +Alternatively, instead of renaming the database, copying the state folder and +changing the user, the forgejo module can be set up to re-use the old storage +locations and database, instead of having to copy or rename them. +Make sure to disable `services.gitea`, when doing this. + +```nix +services.gitea.enable = false; + +services.forgejo = { + enable = true; + user = "gitea"; + group = "gitea"; + stateDir = "/var/lib/gitea"; + database.name = "gitea"; + database.user = "gitea"; +}; + +users.users,gitea = { + home = "/var/lib/gitea"; + useDefaultShell = true; + group = "gitea"; + isSystemUser = true; +}; + +users.groups.gitea = {}; +``` diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 90b5f16f4189..e71e47b27f19 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -677,5 +677,6 @@ in }; }; + meta.doc = ./forgejo.md; meta.maintainers = with lib.maintainers; [ bendlas emilylange ]; } From 82037ad0b89db3d392c49c1fdbc6b325da5586b1 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Fri, 17 Nov 2023 15:57:19 +0100 Subject: [PATCH 115/147] rl-2311: inform about `services.postgresql.ensurePermissions` deprecation --- nixos/doc/manual/release-notes/rl-2311.section.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index d838d33e35dc..722bcb6b9088 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -141,6 +141,9 @@ ## Backward Incompatibilities {#sec-release-23.11-incompatibilities} +- `services.postgresql.ensurePermissions` has been deprecated in favor of `services.postgresql.ensureUsers.*.ensureDBOwnership` which simplifies the setup of database owned by a certain system user + in local database contexts (which make use of peer authentication via UNIX sockets), migration guidelines were provided in the NixOS manual, please refer to them if you are affected by a PostgreSQL 15 changing the way `GRANT ALL PRIVILEGES` is working. `services.postgresql.ensurePermissions` will be removed in 24.05. All NixOS modules were migrated using one of the strategy, e.g. `ensureDBOwnership` or `postStart`. More about this situation can be learnt in https://github.com/NixOS/nixpkgs/pull/266270. + - `network-online.target` has been fixed to no longer time out for systems with `networking.useDHCP = true` and `networking.useNetworkd = true`. Workarounds for this can be removed. From 00121a338be742647b45bb1f2679475a78fb92d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Nov 2023 00:14:25 +0000 Subject: [PATCH 116/147] snappymail: 2.29.1 -> 2.29.2 --- pkgs/servers/snappymail/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index 197e9b48d18b..312629fc3b62 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "snappymail"; - version = "2.29.1"; + version = "2.29.2"; src = fetchurl { url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz"; - sha256 = "sha256-ZE17VCrpHlZ4GMc7+DaUyuehKtYWMr7NJFV1hGQ+UsA="; + sha256 = "sha256-f7xjjYy7uPSgssEftXPrfEcNrU6OFlXgwoTTWXgHfUU="; }; sourceRoot = "snappymail"; From 374917faf7bc2da14318ca9ecdd57be3395343ce Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 15:08:46 +0100 Subject: [PATCH 117/147] mailcatcher: use Ruby 3.2 Ruby 3.0 will be removed. --- pkgs/development/web/mailcatcher/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/mailcatcher/default.nix b/pkgs/development/web/mailcatcher/default.nix index df6ed0a5233a..17d25378d8cd 100644 --- a/pkgs/development/web/mailcatcher/default.nix +++ b/pkgs/development/web/mailcatcher/default.nix @@ -1,10 +1,10 @@ -{ pkgs, lib, bundlerApp, bundlerUpdateScript }: +{ ruby_3_2, lib, bundlerApp, bundlerUpdateScript }: bundlerApp { pname = "mailcatcher"; gemdir = ./.; exes = [ "mailcatcher" "catchmail" ]; - ruby = pkgs.ruby_3_0; + ruby = ruby_3_2; passthru.updateScript = bundlerUpdateScript "mailcatcher"; From 2e7b72c52f89a7b66130fd81a3b31250596cbacd Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 15:10:16 +0100 Subject: [PATCH 118/147] gitlab: use Ruby 3.2 Ruby 3.0 will be removed. --- pkgs/applications/version-management/gitlab/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index bc5d3aa8b33d..c3e715ad46fe 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv -, ruby_3_0, tzdata, git, nettools, nixosTests, nodejs, openssl +, ruby_3_2, tzdata, git, nettools, nixosTests, nodejs, openssl , gitlabEnterprise ? false, callPackage, yarn , fixup_yarn_lock, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config }: @@ -17,7 +17,7 @@ let rubyEnv = bundlerEnv rec { name = "gitlab-env-${version}"; - ruby = ruby_3_0; + ruby = ruby_3_2; gemdir = ./rubyEnv; gemset = let x = import (gemdir + "/gemset.nix") src; From 0a1bc8a2d2af10ae34a9173997ac869c375ac36c Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 15:11:45 +0100 Subject: [PATCH 119/147] unit: drop Ruby 3.0 support Ruby 3.0 will be removed from nixpkgs. --- pkgs/servers/http/unit/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index 5d1da4c47060..6f75352796cd 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -5,7 +5,6 @@ , withPHP82 ? false, php82 , withPerl536 ? false, perl536 , withPerl538 ? true, perl538 -, withRuby_3_0 ? false, ruby_3_0 , withRuby_3_1 ? true, ruby_3_1 , withRuby_3_2 ? false, ruby_3_2 , withSSL ? true, openssl ? null @@ -47,7 +46,6 @@ in stdenv.mkDerivation rec { ++ optional withPHP82 php82-unit ++ optional withPerl536 perl536 ++ optional withPerl538 perl538 - ++ optional withRuby_3_0 ruby_3_0 ++ optional withRuby_3_1 ruby_3_1 ++ optional withRuby_3_2 ruby_3_2 ++ optional withSSL openssl; @@ -70,7 +68,6 @@ in stdenv.mkDerivation rec { ${optionalString withPHP82 "./configure php --module=php81 --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"} ${optionalString withPerl536 "./configure perl --module=perl536 --perl=${perl536}/bin/perl"} ${optionalString withPerl538 "./configure perl --module=perl538 --perl=${perl538}/bin/perl"} - ${optionalString withRuby_3_0 "./configure ruby --module=ruby30 --ruby=${ruby_3_0}/bin/ruby"} ${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"} ${optionalString withRuby_3_2 "./configure ruby --module=ruby32 --ruby=${ruby_3_2}/bin/ruby"} ''; From 529892d918e5165e5f13a441799e13eeeedc2519 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 15:11:24 +0100 Subject: [PATCH 120/147] ruby_3_0: drop Ruby EOL is 31 March 2024, that is, during NixOS 23.11. We drop it early now to avoid any problem during the release time. --- pkgs/development/interpreters/ruby/default.nix | 18 ------------------ pkgs/top-level/all-packages.nix | 2 -- pkgs/top-level/pkg-config/pkg-config-data.json | 5 ----- 3 files changed, 25 deletions(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 903a101aa490..3ccbe1e855a3 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -15,13 +15,6 @@ let config = import ./config.nix { inherit fetchFromSavannah; }; rubygems = import ./rubygems { inherit stdenv lib fetchurl; }; - openssl3Gem = fetchFromGitHub { - owner = "ruby"; - repo = "openssl"; - rev = "v3.0.2"; - hash = "sha256-KhuKRP1JkMJv7CagGRQ0KKGOd5Oh0FP0fbj0VZ4utGo="; - }; - # Contains the ruby version heuristics rubyVersion = import ./ruby-version.nix { inherit lib; }; @@ -156,12 +149,6 @@ let rm -rf $sourceRoot/{lib,test}/rubygems* cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib cp -r ${rubygems}/test/rubygems $sourceRoot/test - '' + opString (ver.majMin == "3.0" && opensslSupport) '' - # Replace the Gem by a OpenSSL3-compatible one. - echo "Hotpatching the OpenSSL gem with a 3.x series for OpenSSL 3 support..." - cp -vr ${openssl3Gem}/ext/openssl $sourceRoot/ext/ - cp -vr ${openssl3Gem}/lib/ $sourceRoot/ext/openssl/ - cp -vr ${openssl3Gem}/{History.md,openssl.gemspec} $sourceRoot/ext/openssl/ ''; postPatch = '' @@ -334,11 +321,6 @@ in { sha256 = "sha256-wtq2PLyPKgVSYQitQZ76Y6Z+1AdNu8+fwrHKZky0W6A="; }; - ruby_3_0 = generic { - version = rubyVersion "3" "0" "6" ""; - sha256 = "sha256-bmy9SQAw15EMD/IO3vq0KU380QRvD49H94tZeYesaD4="; - }; - ruby_3_1 = generic { version = rubyVersion "3" "1" "4" ""; sha256 = "sha256-o9VYeaDfqx1xQf3xDSKgfb+OXNxEFdob3gYSfVzDx7Y="; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index caef0bfaf5b1..c2f79cf924d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18046,7 +18046,6 @@ with pkgs; mkRubyVersion mkRuby ruby_2_7 - ruby_3_0 ruby_3_1 ruby_3_2 ruby_3_3; @@ -18055,7 +18054,6 @@ with pkgs; rubyPackages = rubyPackages_3_1; rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems; - rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems; rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems; rubyPackages_3_2 = recurseIntoAttrs ruby_3_2.gems; rubyPackages_3_3 = recurseIntoAttrs ruby_3_3.gems; diff --git a/pkgs/top-level/pkg-config/pkg-config-data.json b/pkgs/top-level/pkg-config/pkg-config-data.json index 4578b0f92b25..50eae9ac572d 100644 --- a/pkgs/top-level/pkg-config/pkg-config-data.json +++ b/pkgs/top-level/pkg-config/pkg-config-data.json @@ -773,11 +773,6 @@ "ruby_2_7" ] }, - "ruby-3.0": { - "attrPath": [ - "ruby_3_0" - ] - }, "ruby-3.1": { "attrPath": [ "ruby_3_1" From 2912f7ec10bcfd7082e0d4094f6c882237c511e4 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 14:43:25 +0100 Subject: [PATCH 121/147] nodejs_14: drop Security support EOLed 6 months ago. --- pkgs/development/web/nodejs/v14.nix | 26 -------------------------- pkgs/top-level/aliases.nix | 2 ++ pkgs/top-level/all-packages.nix | 6 ------ 3 files changed, 2 insertions(+), 32 deletions(-) delete mode 100644 pkgs/development/web/nodejs/v14.nix diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix deleted file mode 100644 index c2d5d58bea78..000000000000 --- a/pkgs/development/web/nodejs/v14.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python3, enableNpm ? true }: - -let - # Clang 16+ cannot build Node v14 due to -Wenum-constexpr-conversion errors. - # Use an older version of clang with the current libc++ for compatibility (e.g., with icu). - ensureCompatibleCC = packages: - if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16" - then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override { - inherit (packages.llvmPackages) libcxx; - extraPackages = [ packages.llvmPackages.libcxxabi ]; - }) - else packages.stdenv; - - buildNodejs = callPackage ./nodejs.nix { - inherit openssl; - stdenv = ensureCompatibleCC pkgs; - buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; }; - python = python3; - }; -in - buildNodejs { - inherit enableNpm; - version = "14.21.3"; - sha256 = "sha256-RY7AkuYK1wDdzwectj1DXBXaTHuz0/mbmo5YqZ5UB14="; - patches = lib.optional pkgs.stdenv.isDarwin ./bypass-xcodebuild.diff; - } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1363383109d3..b973af8da5fd 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -623,6 +623,8 @@ mapAliases ({ nixopsUnstable = nixops_unstable; # Added 2022-03-03 nixosTest = testers.nixosTest; # Added 2022-05-05 nmap-unfree = nmap; # Added 2021-04-06 + nodejs_14 = throw "nodejs_14 has been removed as it is EOL."; # Added 2023-10-30 + nodejs-slim_14 = throw "nodejs-slim_14 has been removed as it is EOL."; # Added 2023-10-30 nodejs-14_x = nodejs_14; # Added 2022-11-06 nodejs-slim-14_x = nodejs-slim_14; # Added 2022-11-06 nodejs-16_x = nodejs_16; # Added 2022-11-06 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0b48a1a3c71f..1ca223ba75f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10309,12 +10309,6 @@ with pkgs; nodejs-slim = nodejs-slim_18; corepack = hiPrio corepack_18; - nodejs_14 = callPackage ../development/web/nodejs/v14.nix { openssl = openssl_1_1; }; - nodejs-slim_14 = callPackage ../development/web/nodejs/v14.nix { - openssl = openssl_1_1; - enableNpm = false; - }; - nodejs_16 = callPackage ../development/web/nodejs/v16.nix { }; nodejs-slim_16 = callPackage ../development/web/nodejs/v16.nix { enableNpm = false; }; From e7c7d97167a7ca075d67ca5f1a5fab4e052a1bf8 Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Fri, 17 Nov 2023 16:06:01 +0100 Subject: [PATCH 122/147] nixos/postgresql: document psql 15 changes (#267238) * nixos/postgresql: document psql 15 changes * nixos/postgresql: manual heading ids * nixos/postgresql: reword warning against initialScript Co-authored-by: Ryan Lahfa * nixos/postgresql: wording PERMISSIONS -> PRIVILEGES Co-authored-by: Ryan Lahfa * nixos/postgresql: document intermediate oneshot / service user method * nixos/postgresql/docs: clarify security benefits of `ensureDBOwnership` * nixos/postgresql/docs: service type -> serviceConfig.Type --------- Co-authored-by: Ryan Lahfa --- .../modules/services/databases/postgresql.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/nixos/modules/services/databases/postgresql.md b/nixos/modules/services/databases/postgresql.md index d65d9616e2f2..e5e0b7efec29 100644 --- a/nixos/modules/services/databases/postgresql.md +++ b/nixos/modules/services/databases/postgresql.md @@ -39,6 +39,125 @@ By default, PostgreSQL stores its databases in {file}`/var/lib/postgresql/$psqlS services.postgresql.dataDir = "/data/postgresql"; ``` +## Initializing {#module-services-postgres-initializing} + +As of NixOS 23.11, +`services.postgresql.ensureUsers.*.ensurePermissions` has been +deprecated, after a change to default permissions in PostgreSQL 15 +invalidated most of its previous use cases: + +- In psql < 15, `ALL PRIVILEGES` used to include `CREATE TABLE`, where + in psql >= 15 that would be a separate permission +- psql >= 15 instead gives only the database owner create permissions +- Even on psql < 15 (or databases migrated to >= 15), it is + recommended to manually assign permissions along these lines + - https://www.postgresql.org/docs/release/15.0/ + - https://www.postgresql.org/docs/15/ddl-schemas.html#DDL-SCHEMAS-PRIV + +### Assigning ownership {#module-services-postgres-initializing-ownership} + +Usually, the database owner should be a database user of the same +name. This can be done with +`services.postgresql.ensureUsers.*.ensureDBOwnership = true;`. + +If the database user name equals the connecting system user name, +postgres by default will accept a passwordless connection via unix +domain socket. This makes it possible to run many postgres-backed +services without creating any database secrets at all + +### Assigning extra permissions {#module-services-postgres-initializing-extra-permissions} + +For many cases, it will be enough to have the database user be the +owner. Until `services.postgresql.ensureUsers.*.ensurePermissions` has +been re-thought, if more users need access to the database, please use +one of the following approaches: + +**WARNING:** `services.postgresql.initialScript` is not recommended +for `ensurePermissions` replacement, as that is *only run on first +start of PostgreSQL*. + +**NOTE:** all of these methods may be obsoleted, when `ensure*` is +reworked, but it is expected that they will stay viable for running +database migrations. + +**NOTE:** please make sure that any added migrations are idempotent (re-runnable). + +#### as superuser {#module-services-postgres-initializing-extra-permissions-superuser} + +**Advantage:** compatible with postgres < 15, because it's run +as the database superuser `postgres`. + +##### in database `postStart` {#module-services-postgres-initializing-extra-permissions-superuser-post-start} + +**Disadvantage:** need to take care of ordering yourself. In this +example, `mkAfter` ensures that permissions are assigned after any +databases from `ensureDatabases` and `extraUser1` from `ensureUsers` +are already created. + +```nix + systemd.services.postgresql.postStart = lib.mkAfter '' + $PSQL service1 -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' + $PSQL service1 -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"' + # .... + ''; +``` + +##### in intermediate oneshot service {#module-services-postgres-initializing-extra-permissions-superuser-oneshot} + +```nix + systemd.services."migrate-service1-db1" = { + serviceConfig.Type = "oneshot"; + requiredBy = "service1.service"; + before = "service1.service"; + after = "postgresql.service"; + serviceConfig.User = "postgres"; + environment.PSQL = "psql --port=${toString services.postgresql.port}"; + path = [ postgresql ]; + script = '' + $PSQL service1 -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' + $PSQL service1 -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"' + # .... + ''; + }; +``` + +#### as service user {#module-services-postgres-initializing-extra-permissions-service-user} + +**Advantage:** re-uses systemd's dependency ordering; + +**Disadvantage:** relies on service user having grant permission. To be combined with `ensureDBOwnership`. + +##### in service `preStart` {#module-services-postgres-initializing-extra-permissions-service-user-pre-start} + +```nix + environment.PSQL = "psql --port=${toString services.postgresql.port}"; + path = [ postgresql ]; + systemd.services."service1".preStart = '' + $PSQL -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' + $PSQL -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"' + # .... + ''; +``` + +##### in intermediate oneshot service {#module-services-postgres-initializing-extra-permissions-service-user-oneshot} + +```nix + systemd.services."migrate-service1-db1" = { + serviceConfig.Type = "oneshot"; + requiredBy = "service1.service"; + before = "service1.service"; + after = "postgresql.service"; + serviceConfig.User = "service1"; + environment.PSQL = "psql --port=${toString services.postgresql.port}"; + path = [ postgresql ]; + script = '' + $PSQL -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' + $PSQL -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"' + # .... + ''; + }; +``` + ## Upgrading {#module-services-postgres-upgrading} ::: {.note} From 46337b54a682b98f009a57cd249644442420357d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 15:11:09 +0000 Subject: [PATCH 123/147] cyme: 1.5.0 -> 1.5.2 --- pkgs/by-name/cy/cyme/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cy/cyme/package.nix b/pkgs/by-name/cy/cyme/package.nix index 3e32c22d2e41..bcb06b8ed208 100644 --- a/pkgs/by-name/cy/cyme/package.nix +++ b/pkgs/by-name/cy/cyme/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "cyme"; - version = "1.5.0"; + version = "1.5.2"; src = fetchFromGitHub { owner = "tuna-f1sh"; repo = "cyme"; rev = "v${version}"; - hash = "sha256-UXh97pHJ9wa/xSslHLB7WVDwLKJYvLPgmPX8RvKrsTI="; + hash = "sha256-Y5TcRcbqarcKRDWCI36YhbLJFU+yrpAE3vRGArbfr0U="; }; - cargoHash = "sha256-hSd53K50Y4K/fYGfsT2fHUaipVSpeYN6/EOFlv4ocuE="; + cargoHash = "sha256-ycFNNTZ7AU4WRnf1+RJB7KxQKVdJbubB28tS/GyU0bI="; nativeBuildInputs = [ pkg-config From 9866a5be7e77089ca684eaa22c553af6c468328c Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 15:16:42 +0100 Subject: [PATCH 124/147] llvmPackages_5: drop While using very old compilers is a fair usecase, it induces a maintenance churn as we collect more and more LLVM versions for the LLVM maintainers. Especially when we need to backport uniform changes to the whole tree, furthermore, it consumes and waste CI resources. --- .../llvm/5/clang/LLVMgold-path.patch | 14 - .../compilers/llvm/5/clang/default.nix | 127 ------ .../llvm/5/clang/gnu-install-dirs.patch | 242 ----------- .../compilers/llvm/5/compiler-rt/armv7l.patch | 23 -- .../llvm/5/compiler-rt/codesign.patch | 155 ------- .../5/compiler-rt/compiler-rt-5-cstddef.patch | 10 - .../compilers/llvm/5/compiler-rt/default.nix | 112 ----- .../llvm/5/compiler-rt/gnu-install-dirs.patch | 103 ----- .../llvm/5/compiler-rt/sys-ustat.patch | 58 --- pkgs/development/compilers/llvm/5/default.nix | 140 ------- .../compilers/llvm/5/libcxx/default.nix | 79 ---- .../llvm/5/libcxx/gnu-install-dirs.patch | 72 ---- .../compilers/llvm/5/libcxxabi/default.nix | 70 ---- .../llvm/5/libcxxabi/gnu-install-dirs.patch | 28 -- .../compilers/llvm/5/lld/default.nix | 46 --- .../llvm/5/lld/gnu-install-dirs.patch | 68 --- .../compilers/llvm/5/lldb/default.nix | 88 ---- .../llvm/5/lldb/gnu-install-dirs.patch | 76 ---- .../compilers/llvm/5/llvm/default.nix | 283 ------------- .../compilers/llvm/5/llvm/fix-gcc9.patch | 33 -- .../llvm/5/llvm/gnu-install-dirs-polly.patch | 106 ----- .../llvm/5/llvm/gnu-install-dirs.patch | 386 ------------------ .../compilers/llvm/5/openmp/default.nix | 37 -- pkgs/test/default.nix | 1 - pkgs/top-level/aliases.nix | 1 - pkgs/top-level/all-packages.nix | 19 +- pkgs/top-level/release.nix | 6 +- 27 files changed, 6 insertions(+), 2377 deletions(-) delete mode 100644 pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch delete mode 100644 pkgs/development/compilers/llvm/5/clang/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch delete mode 100644 pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch delete mode 100644 pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch delete mode 100644 pkgs/development/compilers/llvm/5/compiler-rt/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch delete mode 100644 pkgs/development/compilers/llvm/5/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/libcxx/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/libcxxabi/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/lld/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/lldb/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/llvm/default.nix delete mode 100644 pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch delete mode 100644 pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch delete mode 100644 pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/5/openmp/default.nix diff --git a/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch b/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch deleted file mode 100644 index 6a09c91b5132..000000000000 --- a/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp -index 00bd60bc24bb..17416b0bd3c0 100644 ---- a/lib/Driver/ToolChains/CommonArgs.cpp -+++ b/lib/Driver/ToolChains/CommonArgs.cpp -@@ -376,8 +376,7 @@ void tools::AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args, - // as gold requires -plugin to come before any -plugin-opt that -Wl might - // forward. - CmdArgs.push_back("-plugin"); -- std::string Plugin = -- ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold.so"; -+ std::string Plugin = "@libllvmLibdir@" "/LLVMgold.so"; - CmdArgs.push_back(Args.MakeArgString(Plugin)); - - // Try to pass driver level flags relevant to LTO code generation down to diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix deleted file mode 100644 index 70ffb3e0dd19..000000000000 --- a/pkgs/development/compilers/llvm/5/clang/default.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation ({ - pname = "clang"; - inherit version; - - src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s"; - - unpackPhase = '' - unpackFile $src - mv cfe-${version}* clang - sourceRoot=$PWD/clang - unpackFile ${clang-tools-extra_src} - mv clang-tools-extra-* $sourceRoot/tools/extra - ''; - - nativeBuildInputs = [ cmake python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-std=c++11" - "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - ]; - - patches = [ - ../../common/clang/5-8-purity.patch - ./gnu-install-dirs.patch - (substituteAll { - src = ./LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ - lib/Driver/ToolChains/*.cpp - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." - - mkdir -p $python/bin $python/share/{clang,scan-view} - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - mv $out/share/scan-view/*.py $python/share/scan-view - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/clang-tblgen $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ "fortify3" ]; - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - buildPhase = '' - make docs-clang-man - ''; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch deleted file mode 100644 index 7e6903222f45..000000000000 --- a/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch +++ /dev/null @@ -1,242 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2667b1d6892e..87c5ad58738f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.4.3) - if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) - project(Clang) - -+ include(GNUInstallDirs) -+ - # Rely on llvm-config. - set(CONFIG_OUTPUT) - find_program(LLVM_CONFIG "llvm-config") -@@ -344,7 +346,7 @@ include_directories(BEFORE - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/clang include/clang-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.def" - PATTERN "*.h" -@@ -353,7 +355,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "CMakeFiles" EXCLUDE - PATTERN "*.inc" -@@ -361,7 +363,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(PROGRAMS utils/bash-autocomplete.sh -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - ) - endif() - -diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake -index e657059744a4..19da44638fe6 100644 ---- a/cmake/modules/AddClang.cmake -+++ b/cmake/modules/AddClang.cmake -@@ -99,9 +99,9 @@ macro(add_clang_library name) - install(TARGETS ${name} - COMPONENT ${name} - ${export_to_clangtargets} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- RUNTIME DESTINATION bin) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) - add_custom_target(install-${name} -@@ -143,7 +143,7 @@ macro(add_clang_tool name) - - install(TARGETS ${name} - ${export_to_clangtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) -@@ -160,5 +160,5 @@ endmacro() - macro(add_clang_symlink name dest) - add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) - # Always generate install targets -- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) -+ llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) - endmacro() -diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt -index a621c02644e3..e140efc9c83c 100644 ---- a/lib/Headers/CMakeLists.txt -+++ b/lib/Headers/CMakeLists.txt -@@ -129,13 +129,13 @@ install( - FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h - COMPONENT clang-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) - - install( - FILES ${cuda_wrapper_files} - COMPONENT clang-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers) - - if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's. - add_custom_target(install-clang-headers -diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt -index ad990e010eef..92e52d05afb9 100644 ---- a/tools/c-index-test/CMakeLists.txt -+++ b/tools/c-index-test/CMakeLists.txt -@@ -48,7 +48,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH - "@executable_path/../../lib") - else() -- set(INSTALL_DESTINATION bin) -+ set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - - install(TARGETS c-index-test -diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt -index 04151a8e0331..13918d91c4ba 100644 ---- a/tools/clang-check/CMakeLists.txt -+++ b/tools/clang-check/CMakeLists.txt -@@ -19,4 +19,4 @@ target_link_libraries(clang-check - ) - - install(TARGETS clang-check -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt -index a13633eaefc4..9b0094783690 100644 ---- a/tools/clang-format/CMakeLists.txt -+++ b/tools/clang-format/CMakeLists.txt -@@ -20,20 +20,20 @@ if( LLVM_USE_SANITIZE_COVERAGE ) - endif() - - install(PROGRAMS clang-format-bbedit.applescript -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format-diff.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format-sublime.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format.el -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS git-clang-format -- DESTINATION bin -+ DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT clang-format) -diff --git a/tools/clang-offload-bundler/CMakeLists.txt b/tools/clang-offload-bundler/CMakeLists.txt -index 6161d08ae587..a003292d1676 100644 ---- a/tools/clang-offload-bundler/CMakeLists.txt -+++ b/tools/clang-offload-bundler/CMakeLists.txt -@@ -21,4 +21,4 @@ target_link_libraries(clang-offload-bundler - ${CLANG_OFFLOAD_BUNDLER_LIB_DEPS} - ) - --install(TARGETS clang-offload-bundler RUNTIME DESTINATION bin) -+install(TARGETS clang-offload-bundler RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt -index 771e3bdea6f0..d1396e62b28f 100644 ---- a/tools/clang-rename/CMakeLists.txt -+++ b/tools/clang-rename/CMakeLists.txt -@@ -14,11 +14,11 @@ target_link_libraries(clang-rename - clangToolingRefactor - ) - --install(TARGETS clang-rename RUNTIME DESTINATION bin) -+install(TARGETS clang-rename RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - install(PROGRAMS clang-rename.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-rename) - install(PROGRAMS clang-rename.el -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-rename) -diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt -index 2dd670307636..1fe576f77ddb 100644 ---- a/tools/libclang/CMakeLists.txt -+++ b/tools/libclang/CMakeLists.txt -@@ -121,7 +121,7 @@ endif() - if(INTERNAL_INSTALL_PREFIX) - set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include") - else() -- set(LIBCLANG_HEADERS_INSTALL_DESTINATION include) -+ set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - endif() - - install(DIRECTORY ../../include/clang-c -diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt -index 380379300b09..adfd58ed5f7d 100644 ---- a/tools/scan-build/CMakeLists.txt -+++ b/tools/scan-build/CMakeLists.txt -@@ -41,7 +41,7 @@ if(CLANG_INSTALL_SCANBUILD) - ${CMAKE_BINARY_DIR}/bin/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) -- install(PROGRAMS bin/${BinFile} DESTINATION bin) -+ install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR}) - endforeach() - - foreach(LibexecFile ${LibexecFiles}) -@@ -53,7 +53,7 @@ if(CLANG_INSTALL_SCANBUILD) - ${CMAKE_BINARY_DIR}/libexec/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}) -- install(PROGRAMS libexec/${LibexecFile} DESTINATION libexec) -+ install(PROGRAMS libexec/${LibexecFile} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) - endforeach() - - foreach(ManPage ${ManPages}) -@@ -77,7 +77,7 @@ if(CLANG_INSTALL_SCANBUILD) - ${CMAKE_BINARY_DIR}/share/scan-build/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}) -- install(FILES share/scan-build/${ShareFile} DESTINATION share/scan-build) -+ install(FILES share/scan-build/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build) - endforeach() - - add_custom_target(scan-build ALL DEPENDS ${Depends}) -diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt -index b305ca562a72..554bcb379061 100644 ---- a/tools/scan-view/CMakeLists.txt -+++ b/tools/scan-view/CMakeLists.txt -@@ -21,7 +21,7 @@ if(CLANG_INSTALL_SCANVIEW) - ${CMAKE_BINARY_DIR}/bin/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) -- install(PROGRAMS bin/${BinFile} DESTINATION bin) -+ install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR}) - endforeach() - - foreach(ShareFile ${ShareFiles}) -@@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW) - ${CMAKE_BINARY_DIR}/share/scan-view/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile}) -- install(FILES share/${ShareFile} DESTINATION share/scan-view) -+ install(FILES share/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view) - endforeach() - - add_custom_target(scan-view ALL DEPENDS ${Depends}) diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch deleted file mode 100644 index 77bf2640c477..000000000000 --- a/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -ur compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake ---- compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake 2017-05-25 00:53:24.000000000 +0900 -+++ compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:24:24.937433155 +0900 -@@ -24,7 +24,7 @@ - - - set(ARM64 aarch64) --set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) -+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) - set(X86 i386 i686) - set(X86_64 x86_64) - set(MIPS32 mips mipsel) -diff -ur compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt ---- compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt 2017-07-13 04:33:30.000000000 +0900 -+++ compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:24:45.945075423 +0900 -@@ -444,6 +444,7 @@ - set(armv7_SOURCES ${arm_SOURCES}) - set(armv7s_SOURCES ${arm_SOURCES}) - set(armv7k_SOURCES ${arm_SOURCES}) -+set(armv7l_SOURCES ${arm_SOURCES}) - set(arm64_SOURCES ${aarch64_SOURCES}) - - # macho_embedded archs diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch b/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch deleted file mode 100644 index 8f4c76bca1eb..000000000000 --- a/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 -From: Will Dietz -Date: Tue, 19 Sep 2017 13:13:06 -0500 -Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that - needs it - ---- - cmake/Modules/AddCompilerRT.cmake | 8 ------ - test/asan/CMakeLists.txt | 52 --------------------------------------- - test/tsan/CMakeLists.txt | 47 ----------------------------------- - 3 files changed, 107 deletions(-) - -diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake -index bc5fb9ff7..b64eb4246 100644 ---- a/cmake/Modules/AddCompilerRT.cmake -+++ b/cmake/Modules/AddCompilerRT.cmake -@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) - set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") - set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") - endif() -- if(APPLE) -- # Ad-hoc sign the dylibs -- add_custom_command(TARGET ${libname} -- POST_BUILD -- COMMAND codesign --sign - $ -- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} -- ) -- endif() - endif() - install(TARGETS ${libname} - ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} -diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt -index 8bfc15b5c..f23d0f71a 100644 ---- a/test/asan/CMakeLists.txt -+++ b/test/asan/CMakeLists.txt -@@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH}) - endif() - endforeach() - --# iOS and iOS simulator test suites --# These are not added into "check-all", in order to run these tests, use --# "check-asan-iossim-x86_64" and similar. They also require that an extra env --# variable to select which iOS device or simulator to use, e.g.: --# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" --if(APPLE) -- set(EXCLUDE_FROM_ALL ON) -- -- set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) -- set(ASAN_TEST_IOS "1") -- pythonize_bool(ASAN_TEST_IOS) -- set(ASAN_TEST_DYNAMIC True) -- -- foreach(arch ${DARWIN_iossim_ARCHS}) -- set(ASAN_TEST_IOSSIM "1") -- pythonize_bool(ASAN_TEST_IOSSIM) -- set(ASAN_TEST_TARGET_ARCH ${arch}) -- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") -- get_bits_for_arch(${arch} ASAN_TEST_BITS) -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${ASAN_TEST_DEPS}) -- endforeach() -- -- foreach (arch ${DARWIN_ios_ARCHS}) -- set(ASAN_TEST_IOSSIM "0") -- pythonize_bool(ASAN_TEST_IOSSIM) -- set(ASAN_TEST_TARGET_ARCH ${arch}) -- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios") -- get_bits_for_arch(${arch} ASAN_TEST_BITS) -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${ASAN_TEST_DEPS}) -- endforeach() -- -- set(EXCLUDE_FROM_ALL OFF) --endif() -- - # Add unit tests. - if(COMPILER_RT_INCLUDE_TESTS) - set(ASAN_TEST_DYNAMIC False) -diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt -index a68908612..cde0accb5 100644 ---- a/test/tsan/CMakeLists.txt -+++ b/test/tsan/CMakeLists.txt -@@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH}) - list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) - endforeach() - --# iOS and iOS simulator test suites --# These are not added into "check-all", in order to run these tests, use --# "check-tsan-iossim-x86_64" and similar. They also require an extra environment --# variable to select which iOS device or simulator to use, e.g.: --# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" --if(APPLE) -- set(EXCLUDE_FROM_ALL ON) -- -- set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) -- set(TSAN_TEST_IOS "1") -- pythonize_bool(TSAN_TEST_IOS) -- -- set(arch "x86_64") -- set(TSAN_TEST_IOSSIM "1") -- pythonize_bool(TSAN_TEST_IOSSIM) -- set(TSAN_TEST_TARGET_ARCH ${arch}) -- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${TSAN_TEST_DEPS}) -- -- set(arch "arm64") -- set(TSAN_TEST_IOSSIM "0") -- pythonize_bool(TSAN_TEST_IOSSIM) -- set(TSAN_TEST_TARGET_ARCH ${arch}) -- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios") -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${TSAN_TEST_DEPS}) -- -- set(EXCLUDE_FROM_ALL OFF) --endif() -- - if(COMPILER_RT_INCLUDE_TESTS) - configure_lit_site_cfg( - ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in --- -2.14.1 - diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch b/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch deleted file mode 100644 index e7abf9735b90..000000000000 --- a/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/lib/xray/xray_buffer_queue.h -+++ b/lib/xray/xray_buffer_queue.h -@@ -17,6 +17,7 @@ - - #include "sanitizer_common/sanitizer_atomic.h" - #include "sanitizer_common/sanitizer_mutex.h" -+#include - #include - #include - #include diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix deleted file mode 100644 index fede3347e42b..000000000000 --- a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - inherit (stdenv.hostPlatform) isMusl; - -in - -stdenv.mkDerivation { - pname = "compiler-rt"; - inherit version; - src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy"; - - nativeBuildInputs = [ cmake python3 libllvm.dev ]; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; - - env.NIX_CFLAGS_COMPILE = toString [ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ]; - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - "-DCMAKE_C_FLAGS=-nodefaultlibs" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - # The compiler-rt build infrastructure sniffs supported platforms on Darwin - # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails - # when it tries to use libc++ and libc++api for i386. - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory - # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce - ../../common/compiler-rt/glibc.patch - ./gnu-install-dirs.patch - - ./sys-ustat.patch - ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch - ./compiler-rt-5-cstddef.patch - ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include " "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include " "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include " "" - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/freebsd/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; - }; -} diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch deleted file mode 100644 index 618e597e96d4..000000000000 --- a/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f997c53410c1..ac079d89b57b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -12,6 +12,7 @@ cmake_minimum_required(VERSION 3.4.3) - # Check if compiler-rt is built as a standalone project. - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD) - project(CompilerRT C CXX ASM) -+ include(GNUInstallDirs) - set(COMPILER_RT_STANDALONE_BUILD TRUE) - endif() - -diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake -index bc5fb9ff722b..91fb79d1980c 100644 ---- a/cmake/Modules/AddCompilerRT.cmake -+++ b/cmake/Modules/AddCompilerRT.cmake -@@ -344,7 +344,7 @@ macro(add_compiler_rt_resource_file target_name file_name component) - add_custom_target(${target_name} DEPENDS ${dst_file}) - # Install in Clang resource directory. - install(FILES ${file_name} -- DESTINATION ${COMPILER_RT_INSTALL_PATH} -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX} - COMPONENT ${component}) - add_dependencies(${component} ${target_name}) - -@@ -361,7 +361,7 @@ macro(add_compiler_rt_script name) - add_custom_target(${name} DEPENDS ${dst}) - install(FILES ${dst} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE -- DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR}) - endmacro(add_compiler_rt_script src name) - - # Builds custom version of libc++ and installs it in . -diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake -index f646975475bb..75885bf305b8 100644 ---- a/cmake/Modules/CompilerRTDarwinUtils.cmake -+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake -@@ -391,7 +391,7 @@ macro(darwin_add_embedded_builtin_libraries) - set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR - ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded) - set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR -- ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded) -+ ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded) - - set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi") - set(CFLAGS_i386 "-march=pentium") -diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index b38c6ca96fac..a4580414cbc8 100644 ---- a/cmake/base-config-ix.cmake -+++ b/cmake/base-config-ix.cmake -@@ -43,11 +43,11 @@ if (LLVM_TREE_AVAILABLE) - else() - # Take output dir and install path from the user. - set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH -- "Path where built compiler-rt libraries should be stored.") -+ "Path where built compiler-rt build artifacts should be stored.") - set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH - "Path where built compiler-rt executables should be stored.") -- set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH -- "Path where built compiler-rt libraries should be installed.") -+ set(COMPILER_RT_INSTALL_PATH "" CACHE PATH -+ "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.") - option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF) - option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF) - # Use a host compiler to compile/link tests. -@@ -67,9 +67,9 @@ if(NOT DEFINED COMPILER_RT_OS_DIR) - string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR) - endif() - set(COMPILER_RT_LIBRARY_OUTPUT_DIR -- ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR}) -+ ${COMPILER_RT_OUTPUT_DIR}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR}) - set(COMPILER_RT_LIBRARY_INSTALL_DIR -- ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR}) -+ ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR}) - - if(APPLE) - # On Darwin if /usr/include doesn't exist, the user probably has Xcode but not -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index ec3bf40b95e6..af119f10ee2b 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -44,8 +44,8 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc") - # Install sanitizer headers. - install(FILES ${SANITIZER_HEADERS} - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer) - # Install xray headers. - install(FILES ${XRAY_HEADERS} - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray) -diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt -index 2c486bff821b..0ee715da95f8 100644 ---- a/lib/dfsan/CMakeLists.txt -+++ b/lib/dfsan/CMakeLists.txt -@@ -44,4 +44,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename} - DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt) - add_dependencies(dfsan dfsan_abilist) - install(FILES ${dfsan_abilist_filename} -- DESTINATION ${COMPILER_RT_INSTALL_PATH}) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX}) diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch b/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch deleted file mode 100644 index d9e9a10d8600..000000000000 --- a/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 521935db9de17ad08748fd050137ac83b7734835 Mon Sep 17 00:00:00 2001 -From: Craig Topper -Date: Thu, 24 May 2018 17:59:47 +0000 -Subject: [PATCH] sanitizer: Use pre-computed size of struct ustat for Linux - - has been removed from glibc 2.28 by: - -commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 -Author: Adhemerval Zanella -Date: Sun Mar 18 11:28:59 2018 +0800 - -Deprecate ustat syscall interface -This patch uses pre-computed size of struct ustat for Linux to fix - -https://bugs.llvm.org/show_bug.cgi?id=37418 - -Patch by H.J. Lu. - -Differential Revision: https://reviews.llvm.org/D47281 - -git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333213 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - .../sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -index 94b8f3f627..936d818673 100644 ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -159,7 +159,6 @@ typedef struct user_fpregs elf_fpregset_t; - # include - #endif - #include --#include - #include - #include - #include -@@ -253,7 +252,19 @@ namespace __sanitizer { - #endif // SANITIZER_LINUX || SANITIZER_FREEBSD - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned struct_ustat_sz = sizeof(struct ustat); -+ // Use pre-computed size of struct ustat to avoid which -+ // has been removed from glibc 2.28. -+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ -+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ -+ || defined(__x86_64__) -+#define SIZEOF_STRUCT_USTAT 32 -+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ -+ || defined(__powerpc__) || defined(__s390__) -+#define SIZEOF_STRUCT_USTAT 20 -+#else -+#error Unknown size of struct ustat -+#endif -+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; - unsigned struct_rlimit64_sz = sizeof(struct rlimit64); - unsigned struct_statvfs64_sz = sizeof(struct statvfs64); - #endif // SANITIZER_LINUX && !SANITIZER_ANDROID diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix deleted file mode 100644 index 70f0d2e11bb6..000000000000 --- a/pkgs/development/compilers/llvm/5/default.nix +++ /dev/null @@ -1,140 +0,0 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs -, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith -, buildLlvmTools # tools, but from the previous stage, for cross -, targetLlvmLibraries # libraries, but from the next stage, for cross -, targetLlvm -}: - -let - release_version = "5.0.2"; - version = release_version; # differentiating these is important for rc's - targetConfig = stdenv.targetPlatform.config; - - fetch = name: sha256: fetchurl { - url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; - inherit sha256; - }; - - clang-tools-extra_src = fetch "clang-tools-extra" "018b3fiwah8f8br5i26qmzh6sjvzchpn358sn8v079m49f2jldm3"; - - llvm_meta = { - license = lib.licenses.ncsa; - maintainers = lib.teams.llvm.members; - - # See llvm/cmake/config-ix.cmake. - platforms = - lib.platforms.aarch64 ++ - lib.platforms.arm ++ - lib.platforms.mips ++ - lib.platforms.power ++ - lib.platforms.s390x ++ - lib.platforms.wasi ++ - lib.platforms.x86; - }; - - tools = lib.makeExtensible (tools: let - callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); - mkExtraBuildCommands = cc: '' - rsrc="$out/resource-root" - mkdir "$rsrc" - ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc" - echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" - ''; - - in { - - libllvm = callPackage ./llvm { - inherit llvm_meta; - }; - - # `llvm` historically had the binaries. When choosing an output explicitly, - # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* - llvm = tools.libllvm; - - libllvm-polly = callPackage ./llvm { - inherit llvm_meta; - enablePolly = true; - }; - - llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; }; - - libclang = callPackage ./clang { - inherit clang-tools-extra_src llvm_meta; - }; - - clang-unwrapped = tools.libclang; - - llvm-manpages = lowPrio (tools.libllvm.override { - enableManpages = true; - python3 = pkgs.python3; # don't use python-boot - }); - - clang-manpages = lowPrio (tools.libclang.override { - enableManpages = true; - python3 = pkgs.python3; # don't use python-boot - }); - - # pick clang appropriate for package set we are targeting - clang = - /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc - else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM - else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang - else tools.libcxxClang; - - libstdcxxClang = wrapCCWith rec { - cc = tools.clang-unwrapped; - # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper. - libcxx = null; - extraPackages = [ - targetLlvmLibraries.compiler-rt - ]; - extraBuildCommands = mkExtraBuildCommands cc; - }; - - libcxxClang = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = targetLlvmLibraries.libcxx; - extraPackages = [ - libcxx.cxxabi - targetLlvmLibraries.compiler-rt - ]; - extraBuildCommands = mkExtraBuildCommands cc; - }; - - lld = callPackage ./lld { - inherit llvm_meta; - }; - - lldb = callPackage ./lldb { - inherit llvm_meta; - }; - }); - - libraries = lib.makeExtensible (libraries: let - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); - in { - - compiler-rt = callPackage ./compiler-rt { - inherit llvm_meta; - }; - - stdenv = overrideCC stdenv buildLlvmTools.clang; - - libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - - libcxx = callPackage ./libcxx { - inherit llvm_meta; - }; - - libcxxabi = callPackage ./libcxxabi { - inherit llvm_meta; - }; - - openmp = callPackage ./openmp { - inherit llvm_meta targetLlvm; - }; - }); - noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; - -in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools) diff --git a/pkgs/development/compilers/llvm/5/libcxx/default.nix b/pkgs/development/compilers/llvm/5/libcxx/default.nix deleted file mode 100644 index 073787e92db6..000000000000 --- a/pkgs/development/compilers/llvm/5/libcxx/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi -, libcxxabi, libcxxrt -}: - -assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi"; - -stdenv.mkDerivation { - pname = "libcxx"; - inherit version; - - src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf"; - - postUnpack = '' - unpackFile ${libcxxabi.src} - export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" - ''; - - outputs = [ "out" "dev" ]; - - patches = [ - ./gnu-install-dirs.patch - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - ../../libcxx-0001-musl-hacks.patch - ]; - - prePatch = '' - substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" - ''; - - preConfigure = '' - # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package - cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR") - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - nativeBuildInputs = [ cmake ] - ++ lib.optional stdenv.hostPlatform.isMusl python3 - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ cxxabi ]; - - cmakeFlags = [ - "-DLIBCXX_LIBCPPABI_VERSION=2" - "-DLIBCXX_CXX_ABI=${cxxabi.pname}" - ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1" - ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"; - - preInstall = lib.optionalString (stdenv.isDarwin) '' - for file in lib/*.dylib; do - if [ -L "$file" ]; then continue; fi - - baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1)) - installName="$out/lib/$baseName" - abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/') - - for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do - ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file - done - done - ''; - - passthru = { - isLLVM = true; - inherit cxxabi; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch deleted file mode 100644 index d9ea0dc7dfd0..000000000000 --- a/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ca5afba86d19..ed69e4043c3d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -22,6 +22,8 @@ set(CMAKE_MODULE_PATH - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - project(libcxx CXX C) - -+ include(GNUInstallDirs) -+ - set(PACKAGE_NAME libcxx) - set(PACKAGE_VERSION 5.0.0) - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake -index b1f6bee8f945..1b455fceed7f 100644 ---- a/cmake/Modules/HandleLibCXXABI.cmake -+++ b/cmake/Modules/HandleLibCXXABI.cmake -@@ -55,7 +55,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs) - ) - if (LIBCXX_INSTALL_HEADERS) - install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" -- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1/${dstdir} -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir} - COMPONENT libcxx - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - ) -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index 5a1b2ccdc426..106d3d6c1d3c 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -20,7 +20,7 @@ endif() - - if (LIBCXX_INSTALL_HEADERS) - install(DIRECTORY . -- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1 -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 - COMPONENT cxx-headers - FILES_MATCHING - ${LIBCXX_HEADER_PATTERN} -@@ -44,7 +44,7 @@ if (LIBCXX_INSTALL_HEADERS) - set(generated_config_deps generate_config_header) - # Install the generated header as __config. - install(FILES ${LIBCXX_BINARY_DIR}/__generated_config -- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1 -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - RENAME __config - COMPONENT cxx-headers) -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 578651423f3b..277befd631ac 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -355,8 +355,8 @@ if (LIBCXX_INSTALL_LIBRARY) - set(experimental_lib cxx_experimental) - endif() - install(TARGETS ${LIBCXX_TARGETS} ${experimental_lib} -- LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx -- ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx -+ LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx -+ ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx - ) - # NOTE: This install command must go after the cxx install command otherwise - # it will not be executed after the library symlinks are installed. -@@ -364,7 +364,7 @@ if (LIBCXX_INSTALL_LIBRARY) - # Replace the libc++ filename with $ - # after we required CMake 3.0. - install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" -- DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} - COMPONENT libcxx) - endif() - endif() diff --git a/pkgs/development/compilers/llvm/5/libcxxabi/default.nix b/pkgs/development/compilers/llvm/5/libcxxabi/default.nix deleted file mode 100644 index cc2ac1beaf0c..000000000000 --- a/pkgs/development/compilers/llvm/5/libcxxabi/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }: - -stdenv.mkDerivation { - pname = "libcxxabi"; - inherit version; - - src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv"; - - outputs = [ "out" "dev" ]; - - postUnpack = '' - unpackFile ${libcxx.src} - unpackFile ${llvm.src} - export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + lib.optionalString stdenv.isDarwin '' - export TRIPLE=x86_64-apple-darwin - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch} - ''; - - patches = [ - ./gnu-install-dirs.patch - ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = lib.optional (!stdenv.isDarwin) libunwind; - - preInstall = lib.optionalString stdenv.isDarwin '' - for file in lib/*.dylib; do - if [ -L "$file" ]; then continue; fi - - # Fix up the install name. Preserve the basename, just replace the path. - installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))" - - # this should be done in CMake, but having trouble figuring out - # the magic combination of necessary CMake variables - # if you fancy a try, take a look at - # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling - ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file - - # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes - # libcxxabi to sometimes link against a different version of itself. - # Here we simply make that second reference point to ourselves. - for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do - ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file - done - done - ''; - - postInstall = '' - mkdir -p "$dev/include" - install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" - ''; - - passthru = { - libName = "c++abi"; - }; - - meta = llvm_meta // { - homepage = "https://libcxxabi.llvm.org/"; - description = "Provides C++ standard library support"; - longDescription = '' - libc++abi is a new implementation of low level support for a standard C++ library. - ''; - # "All of the code in libc++abi is dual licensed under the MIT license and - # the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; - }; -} diff --git a/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch deleted file mode 100644 index 760d7194f7b9..000000000000 --- a/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4db3328deb9c..74b39acfe588 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - project(libcxxabi CXX C) - -+ include(GNUInstallDirs) -+ - set(PACKAGE_NAME libcxxabi) - set(PACKAGE_VERSION 5.0.0) - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index adcc412880c9..71758665af05 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -174,8 +174,8 @@ endif() - add_custom_target(cxxabi DEPENDS ${LIBCXXABI_TARGETS}) - - install(TARGETS ${LIBCXXABI_TARGETS} -- LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi -- ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi -+ LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi -+ ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi - ) - - if (NOT CMAKE_CONFIGURATION_TYPES) diff --git a/pkgs/development/compilers/llvm/5/lld/default.nix b/pkgs/development/compilers/llvm/5/lld/default.nix deleted file mode 100644 index d3cbede8433a..000000000000 --- a/pkgs/development/compilers/llvm/5/lld/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ lib, stdenv, llvm_meta -, buildLlvmTools -, fetch -, cmake -, libllvm -, version -}: - -stdenv.mkDerivation rec { - pname = "lld"; - inherit version; - - src = fetch "lld" "1ah75rjly6747jk1zbwca3z0svr9b09ylgxd4x9ns721xir6sia6"; - - patches = [ - ./gnu-install-dirs.patch - ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ libllvm ]; - - cmakeFlags = [ - "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - ]; - - # Musl's default stack size is too small for lld to be able to link Firefox. - LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152"; - - outputs = [ "out" "lib" "dev" ]; - - meta = llvm_meta // { - broken = stdenv.isDarwin; - homepage = "https://lld.llvm.org/"; - description = "The LLVM linker (unwrapped)"; - longDescription = '' - LLD is a linker from the LLVM project that is a drop-in replacement for - system linkers and runs much faster than them. It also provides features - that are useful for toolchain developers. - The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS) - in descending order of completeness. Internally, LLD consists - of several different linkers. - ''; - }; -} diff --git a/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch deleted file mode 100644 index ed673870dec5..000000000000 --- a/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e2ab0e35f1ab..f68e23d2a70d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(CMAKE_INCLUDE_CURRENT_DIR ON) - set(LLD_BUILT_STANDALONE TRUE) - -+ include(GNUInstallDirs) -+ - find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary") - if(NOT LLVM_CONFIG_PATH) - message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH") -@@ -203,7 +205,7 @@ include_directories(BEFORE - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE -diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake -index fd1d44199ca6..2ec1831ed8f6 100644 ---- a/cmake/modules/AddLLD.cmake -+++ b/cmake/modules/AddLLD.cmake -@@ -20,9 +20,9 @@ macro(add_lld_library name) - install(TARGETS ${name} - COMPONENT ${name} - ${export_to_lldtargets} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- RUNTIME DESTINATION bin) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) - add_custom_target(install-${name} -@@ -56,7 +56,7 @@ macro(add_lld_tool name) - - install(TARGETS ${name} - ${export_to_lldtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) -@@ -73,5 +73,5 @@ endmacro() - macro(add_lld_symlink name dest) - add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) - # Always generate install targets -- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) -+ llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) - endmacro() -diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt -index 2df10697ff66..94aa8d092220 100644 ---- a/tools/lld/CMakeLists.txt -+++ b/tools/lld/CMakeLists.txt -@@ -13,7 +13,7 @@ target_link_libraries(lld - ) - - install(TARGETS lld -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if(NOT LLD_SYMLINKS_TO_CREATE) - set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld) diff --git a/pkgs/development/compilers/llvm/5/lldb/default.nix b/pkgs/development/compilers/llvm/5/lldb/default.nix deleted file mode 100644 index 6c60a44b3d65..000000000000 --- a/pkgs/development/compilers/llvm/5/lldb/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ lib, stdenv, llvm_meta -, fetch -, fetchpatch -, cmake -, zlib -, ncurses -, swig -, which -, libedit -, libxml2 -, libllvm -, libclang -, python3 -, version -, darwin -}: - -stdenv.mkDerivation rec { - pname = "lldb"; - inherit version; - - src = fetch "lldb" "05j2a63yzln43852nng8a7y47spzlyr1cvdmgmbxgd29c8r0bfkq"; - - patches = [ - # Fix PythonString::GetString for >=python-3.7 - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/5457b426f5e15a29c0acc8af1a476132f8be2a36.patch"; - sha256 = "1zbx4m0m8kbg0wq6740jcw151vb2pb1p25p401wiq8diqqagkjps"; - stripLen = 1; - }) - ./gnu-install-dirs.patch - ]; - - postPatch = '' - # Fix up various paths that assume llvm and clang are installed in the same place - sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \ - cmake/modules/LLDBStandalone.cmake - sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \ - cmake/modules/LLDBStandalone.cmake - sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \ - cmake/modules/LLDBStandalone.cmake - ''; - - outputs = [ "out" "lib" "dev" ]; - - nativeBuildInputs = [ - cmake python3 which swig - ]; - - buildInputs = [ - ncurses zlib libedit libxml2 libllvm - ] ++ lib.optionals stdenv.isDarwin [ - darwin.libobjc - darwin.apple_sdk.libs.xpc - darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa - ]; - - CXXFLAGS = "-fno-rtti"; - hardeningDisable = [ "format" ]; - - cmakeFlags = [ - "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}" - "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic - ] ++ lib.optionals doCheck [ - "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" - "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++" - ]; - - doCheck = false; - - postInstall = '' - mkdir -p $out/share/man/man1 - cp ../docs/lldb.1 $out/share/man/man1/ - ''; - - meta = llvm_meta // { - homepage = "https://lldb.llvm.org/"; - description = "A next-generation high-performance debugger"; - longDescription = '' - LLDB is a next generation, high-performance debugger. It is built as a set - of reusable components which highly leverage existing libraries in the - larger LLVM Project, such as the Clang expression parser and LLVM - disassembler. - ''; - # never built on aarch64-darwin since first introduction in nixpkgs - broken = stdenv.isDarwin && stdenv.isAarch64; - }; -} diff --git a/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch deleted file mode 100644 index 5c6193b028fa..000000000000 --- a/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ada293811b3e..6c2149309f65 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,6 +7,8 @@ set(CMAKE_MODULE_PATH - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" - ) - -+include(GNUInstallDirs) -+ - include(LLDBStandalone) - include(LLDBConfig) - include(AddLLDB) -diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake -index 4c6f1efd673d..179a12b49cce 100644 ---- a/cmake/modules/AddLLDB.cmake -+++ b/cmake/modules/AddLLDB.cmake -@@ -54,14 +54,14 @@ function(add_lldb_library name) - endif() - install(TARGETS ${name} - COMPONENT ${name} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${out_dir} - ARCHIVE DESTINATION ${out_dir}) - else() - install(TARGETS ${name} - COMPONENT ${name} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - endif() - if (NOT CMAKE_CONFIGURATION_TYPES) - add_custom_target(install-${name} -@@ -126,7 +126,7 @@ function(add_lldb_executable name) - if(ARG_GENERATE_INSTALL AND NOT (ARG_INCLUDE_IN_FRAMEWORK AND LLDB_BUILD_FRAMEWORK )) - install(TARGETS ${name} - COMPONENT ${name} -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - if (NOT CMAKE_CONFIGURATION_TYPES) - add_custom_target(install-${name} - DEPENDS ${name} -diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake -index 726552675f47..f1f769f34446 100644 ---- a/cmake/modules/LLDBConfig.cmake -+++ b/cmake/modules/LLDBConfig.cmake -@@ -276,7 +276,7 @@ include_directories(BEFORE - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ - COMPONENT lldb_headers -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE -@@ -286,7 +286,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ - COMPONENT lldb_headers -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE -diff --git a/tools/intel-mpx/CMakeLists.txt b/tools/intel-mpx/CMakeLists.txt -index 29ba9a1cacec..30e2f9334b95 100644 ---- a/tools/intel-mpx/CMakeLists.txt -+++ b/tools/intel-mpx/CMakeLists.txt -@@ -12,4 +12,4 @@ target_link_libraries(lldb-intel-mpxtable - PUBLIC liblldb LLVMSupport) - - install(TARGETS lldb-intel-mpxtable -- LIBRARY DESTINATION bin) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/pkgs/development/compilers/llvm/5/llvm/default.nix b/pkgs/development/compilers/llvm/5/llvm/default.nix deleted file mode 100644 index 74523490244f..000000000000 --- a/pkgs/development/compilers/llvm/5/llvm/default.nix +++ /dev/null @@ -1,283 +0,0 @@ -{ lib, stdenv, llvm_meta -, pkgsBuildBuild -, fetch -, fetchpatch -, cmake -, python3 -, libffi -, enableGoldPlugin ? libbfd.hasPluginAPI -, libbfd -, libxml2 -, ncurses -, version -, release_version -, zlib -, buildLlvmTools -, debugVersion ? false -, enableManpages ? false -, enableSharedLibraries ? !enableManpages -, enablePolly ? false -}: - -let - inherit (lib) optional optionals optionalString; - - # Used when creating a versioned symlinks of libLLVM.dylib - versionSuffixes = with lib; - let parts = splitVersion release_version; in - imap (i: _: concatStringsSep "." (take i parts)) parts; -in - -stdenv.mkDerivation (rec { - pname = "llvm"; - inherit version; - - src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm"; - polly_src = fetch "polly" "1f4i1qsw7ywx25v262p8syz339zcbvfkx295xz26hmqrn944xa6x"; - - unpackPhase = '' - unpackFile $src - mv llvm-${version}* llvm - sourceRoot=$PWD/llvm - '' + optionalString enablePolly '' - unpackFile $polly_src - mv polly-* $sourceRoot/tools/polly - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - nativeBuildInputs = [ cmake python3 ] - ++ optional enableManpages python3.pkgs.sphinx; - - buildInputs = [ libxml2 libffi ]; - - propagatedBuildInputs = [ ncurses zlib ]; - - patches = [ - (fetchpatch { - url = "https://bugzilla.redhat.com/attachment.cgi?id=1389687"; - name = "llvm-gcc8-type-mismatch.patch"; - sha256 = "0ga2123aclq3x9w72d0rm0az12m8c1i4r1106vh701hf4cghgbch"; - }) - ./fix-gcc9.patch - #(fetchpatch { - # name = "llvm-fix-gcc9.patch"; - # url = "https://reviews.llvm.org/file/data/zs3ck5ryvc5n672fd2kw/PHID-FILE-byoqefzwmkd7qnlip4v2/file"; - # sha256 = "0injj1hqgrbcbihhwp2nbal88jfykad30r54f2cdcx7gws2fcy8i"; - # stripLen = 1; - #}) - - # When cross-compiling we configure llvm-config-native with an approximation - # of the flags used for the normal LLVM build. To avoid the need for building - # a native libLLVM.so (which would fail) we force llvm-config to be linked - # statically against the necessary LLVM components always. - ../../llvm-config-link-static.patch - - ./gnu-install-dirs.patch - - # Fix invalid std::string(nullptr) for GCC 12 - (fetchpatch { - name = "nvptx-gcc-12.patch"; - url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch"; - sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3"; - stripLen = 1; - }) - - ../../llvm-7-musl.patch - ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; - - postPatch = optionalString stdenv.isDarwin '' - substituteInPlace cmake/modules/AddLLVM.cmake \ - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ - --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' "" - '' + '' - # FileSystem permissions tests fail with various special bits - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" - rm unittests/Support/Path.cpp - - # llvm-5 does not support dwarf-5 style info, fails on gcc-11. - rm test/tools/llvm-symbolizer/print_context.c - '' + optionalString stdenv.isAarch64 '' - patch -p0 < ${../../aarch64.patch} - '' + optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -i ${../../TLI-musl.patch} - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "add_subdirectory(DynamicLibrary)" "" - rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp - '' + '' - # Tweak tests to ignore namespace part of type to support - # gcc-12: https://gcc.gnu.org/PR103598. - # The change below mangles strings like: - # CHECK-NEXT: Starting llvm::Function pass manager run. - # to: - # CHECK-NEXT: Starting {{.*}}Function pass manager run. - for f in \ - test/Other/new-pass-manager.ll \ - test/Other/new-pm-defaults.ll \ - test/Other/new-pm-lto-defaults.ll \ - test/Other/new-pm-thinlto-defaults.ll \ - test/Other/pass-pipeline-parsing.ll \ - test/Transforms/Inline/cgscc-incremental-invalidate.ll \ - test/Transforms/Inline/clear-analyses.ll \ - ; do - echo "PATCH: $f" - substituteInPlace $f \ - --replace 'Starting llvm::' 'Starting {{.*}}' \ - --replace 'Finished llvm::' 'Finished {{.*}}' - done - ''; - - preConfigure = '' - # Workaround for configure flags that need to have spaces - cmakeFlagsArray+=( - -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar' - ) - ''; - - # hacky fix: created binaries need to be run before installation - preBuild = '' - mkdir -p $out/ - ln -sv $PWD/lib $out - ''; - - cmakeBuildType = if debugVersion then "Debug" else "Release"; - - cmakeFlags = with stdenv; let - # These flags influence llvm-config's BuildVariables.inc in addition to the - # general build. We need to make sure these are also passed via - # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native - # will return different results from the cross llvm-config. - # - # Some flags don't need to be repassed because LLVM already does so (like - # CMAKE_BUILD_TYPE), others are irrelevant to the result. - flagsForLlvmConfig = [ - "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ optionals enableSharedLibraries [ - "-DLLVM_LINK_LLVM_DYLIB=ON" - ]; - in flagsForLlvmConfig ++ [ - "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc - "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" - "-DLLVM_ENABLE_FFI=ON" - - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" - ] - ++ lib.optionals enableManpages [ - "-DLLVM_BUILD_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (enableGoldPlugin) [ - "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ] ++ lib.optionals (isDarwin) [ - "-DLLVM_ENABLE_LIBCXX=ON" - "-DCAN_TARGET_i386=false" - ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DCMAKE_CROSSCOMPILING=True" - "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen" - ( - let - nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; - nativeBintools = nativeCC.bintools.bintools; - nativeToolchainFlags = [ - "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc" - "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++" - "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar" - "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip" - "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib" - ]; - # We need to repass the custom GNUInstallDirs values, otherwise CMake - # will choose them for us, leading to wrong results in llvm-config-native - nativeInstallFlags = [ - "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" - "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin" - "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include" - "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib" - "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec" - ]; - in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=" - + lib.concatStringsSep ";" (lib.concatLists [ - flagsForLlvmConfig - nativeToolchainFlags - nativeInstallFlags - ]) - ) - ]; - - postBuild = '' - rm -fR $out - ''; - - preCheck = '' - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib - ''; - - postInstall = '' - mkdir -p $python/share - mv $out/share/opt-viewer $python/share/opt-viewer - moveToOutput "bin/llvm-config*" "$dev" - substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ - --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \ - --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" - substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \ - --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")' - '' - + optionalString (stdenv.isDarwin && enableSharedLibraries) '' - ${lib.concatMapStringsSep "\n" (v: '' - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib - '') versionSuffixes} - '' - + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native - ''; - - doCheck = stdenv.isLinux && (!stdenv.isi686) - && (stdenv.hostPlatform == stdenv.buildPlatform); - - checkTarget = "check-all"; - - requiredSystemFeatures = [ "big-parallel" ]; - meta = llvm_meta // { - homepage = "https://llvm.org/"; - description = "A collection of modular and reusable compiler and toolchain technologies"; - longDescription = '' - The LLVM Project is a collection of modular and reusable compiler and - toolchain technologies. Despite its name, LLVM has little to do with - traditional virtual machines. The name "LLVM" itself is not an acronym; it - is the full name of the project. - LLVM began as a research project at the University of Illinois, with the - goal of providing a modern, SSA-based compilation strategy capable of - supporting both static and dynamic compilation of arbitrary programming - languages. Since then, LLVM has grown to be an umbrella project consisting - of a number of subprojects, many of which are being used in production by - a wide variety of commercial and open source projects as well as being - widely used in academic research. Code in the LLVM project is licensed - under the "Apache 2.0 License with LLVM exceptions". - ''; - }; -} // lib.optionalAttrs enableManpages { - pname = "llvm-manpages"; - - buildPhase = '' - make docs-llvm-man - ''; - - propagatedBuildInputs = []; - - installPhase = '' - make -C docs install - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man pages for LLVM ${version}"; - }; -}) diff --git a/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch b/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch deleted file mode 100644 index eaf71f1468de..000000000000 --- a/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/lib/Target/Mips/MipsFastISel.cpp b/lib/Target/Mips/MipsFastISel.cpp -index f79cb0e6..c6279046 100644 ---- a/lib/Target/Mips/MipsFastISel.cpp -+++ b/lib/Target/Mips/MipsFastISel.cpp -@@ -70,6 +70,7 @@ - #include - #include - #include -+#include - - #define DEBUG_TYPE "mips-fastisel" - -@@ -1309,13 +1310,13 @@ bool MipsFastISel::fastLowerArguments() { - return false; - } - -- const ArrayRef GPR32ArgRegs = {Mips::A0, Mips::A1, Mips::A2, -- Mips::A3}; -- const ArrayRef FGR32ArgRegs = {Mips::F12, Mips::F14}; -- const ArrayRef AFGR64ArgRegs = {Mips::D6, Mips::D7}; -- ArrayRef::iterator NextGPR32 = GPR32ArgRegs.begin(); -- ArrayRef::iterator NextFGR32 = FGR32ArgRegs.begin(); -- ArrayRef::iterator NextAFGR64 = AFGR64ArgRegs.begin(); -+ std::array GPR32ArgRegs = {{Mips::A0, Mips::A1, Mips::A2, -+ Mips::A3}}; -+ std::array FGR32ArgRegs = {{Mips::F12, Mips::F14}}; -+ std::array AFGR64ArgRegs = {{Mips::D6, Mips::D7}}; -+ auto NextGPR32 = GPR32ArgRegs.begin(); -+ auto NextFGR32 = FGR32ArgRegs.begin(); -+ auto NextAFGR64 = AFGR64ArgRegs.begin(); - - struct AllocatedReg { - const TargetRegisterClass *RC; diff --git a/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch deleted file mode 100644 index 40f6fa06036c..000000000000 --- a/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt -index 9ddc0f7ff81d..7ca45f286d47 100644 ---- a/tools/polly/CMakeLists.txt -+++ b/tools/polly/CMakeLists.txt -@@ -2,7 +2,11 @@ - if (NOT DEFINED LLVM_MAIN_SRC_DIR) - project(Polly) - cmake_minimum_required(VERSION 3.4.3) -+endif() -+ -+include(GNUInstallDirs) - -+if (NOT DEFINED LLVM_MAIN_SRC_DIR) - # Where is LLVM installed? - find_package(LLVM CONFIG REQUIRED) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) -@@ -157,14 +161,14 @@ include_directories( - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE - ) - - install(DIRECTORY ${POLLY_BINARY_DIR}/include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "CMakeFiles" EXCLUDE -diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt -index 969292cd6b00..d7aea77bdd20 100644 ---- a/tools/polly/cmake/CMakeLists.txt -+++ b/tools/polly/cmake/CMakeLists.txt -@@ -79,18 +79,18 @@ file(GENERATE - - # Generate PollyConfig.cmake for the install tree. - unset(POLLY_EXPORTS) --set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -+set(POLLY_INSTALL_PREFIX "") - set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") --set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") --set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") -+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") -+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - if (POLLY_BUNDLED_ISL) - set(POLLY_CONFIG_INCLUDE_DIRS -- "${POLLY_INSTALL_PREFIX}/include" -- "${POLLY_INSTALL_PREFIX}/include/polly" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" - ) - else() - set(POLLY_CONFIG_INCLUDE_DIRS -- "${POLLY_INSTALL_PREFIX}/include" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" - ${ISL_INCLUDE_DIRS} - ) - endif() -@@ -100,12 +100,12 @@ endif() - foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) - get_target_property(tgt_type ${tgt} TYPE) - if (tgt_type STREQUAL "EXECUTABLE") -- set(tgt_prefix "bin/") -+ set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") - else() -- set(tgt_prefix "lib/") -+ set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") - endif() - -- set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$") -+ set(tgt_path "${tgt_prefix}$") - file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) - - if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") -diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake -index 32bed50bb060..cca5bfff4970 100644 ---- a/tools/polly/cmake/polly_macros.cmake -+++ b/tools/polly/cmake/polly_macros.cmake -@@ -44,8 +44,8 @@ macro(add_polly_library name) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly") - install(TARGETS ${name} - EXPORT LLVMExports -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - endmacro(add_polly_library) -diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt -index 286c04fba287..07905e68f595 100644 ---- a/tools/polly/lib/External/CMakeLists.txt -+++ b/tools/polly/lib/External/CMakeLists.txt -@@ -268,7 +268,7 @@ if (POLLY_BUNDLED_ISL) - install(DIRECTORY - ${ISL_SOURCE_DIR}/include/ - ${ISL_BINARY_DIR}/include/ -- DESTINATION include/polly -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly - FILES_MATCHING - PATTERN "*.h" - PATTERN "CMakeFiles" EXCLUDE diff --git a/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch deleted file mode 100644 index 3f6d6acb83f7..000000000000 --- a/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch +++ /dev/null @@ -1,386 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c1e03aed4809..8b8bbb8c403e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -279,15 +279,21 @@ if (CMAKE_BUILD_TYPE AND - message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") - endif() - -+include(GNUInstallDirs) -+ - set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) - --set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") -+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING -+ "Path for binary subdirectory (defaults to 'bin')") - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) - - set(LLVM_UTILS_INSTALL_DIR "bin" CACHE STRING - "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)") - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) - -+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING -+ "Path for CMake subdirectory (defaults to lib/cmake/llvm)" ) -+ - # They are used as destination of target generators. - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) - set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) -@@ -512,9 +518,9 @@ option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OF - option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) - option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON) - --set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html" -+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html" - CACHE STRING "Doxygen-generated HTML documentation install directory") --set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html" -+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html" - CACHE STRING "OCamldoc-generated HTML documentation install directory") - - option (LLVM_BUILD_EXTERNAL_COMPILER_RT -@@ -945,7 +951,7 @@ add_subdirectory(cmake/modules) - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/llvm include/llvm-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "*.def" -@@ -957,7 +963,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "*.def" -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index 1c922651b133..d555fd627a4f 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -589,11 +589,11 @@ macro(add_llvm_library name) - else() - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR - (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM")) -- set(install_dir lib${LLVM_LIBDIR_SUFFIX}) -+ set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(ARG_SHARED OR BUILD_SHARED_LIBS) - if(WIN32 OR CYGWIN OR MINGW) - set(install_type RUNTIME) -- set(install_dir bin) -+ set(install_dir ${CMAKE_INSTALL_BINDIR}) - else() - set(install_type LIBRARY) - endif() -@@ -637,9 +637,9 @@ macro(add_llvm_loadable_module name) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - if(WIN32 OR CYGWIN) - # DLL platform -- set(dlldir "bin") -+ set(dlldir "${CMAKE_INSTALL_BINDIR}") - else() -- set(dlldir "lib${LLVM_LIBDIR_SUFFIX}") -+ set(dlldir "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - endif() - - if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR -@@ -651,7 +651,7 @@ macro(add_llvm_loadable_module name) - install(TARGETS ${name} - ${export_to_llvmexports} - LIBRARY DESTINATION ${dlldir} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - endif() -@@ -864,7 +864,7 @@ macro(add_llvm_example name) - endif() - add_llvm_executable(${name} ${ARGN}) - if( LLVM_BUILD_EXAMPLES ) -- install(TARGETS ${name} RUNTIME DESTINATION examples) -+ install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) - endif() - set_target_properties(${name} PROPERTIES FOLDER "Examples") - endmacro(add_llvm_example name) -@@ -1275,7 +1275,7 @@ function(llvm_install_library_symlink name dest type) - set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) - set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) - -- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) -+ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(WIN32 AND "${type}" STREQUAL "SHARED") - set(output_dir bin) - endif() -@@ -1293,7 +1293,7 @@ function(llvm_install_library_symlink name dest type) - endif() - endfunction() - --function(llvm_install_symlink name dest) -+function(llvm_install_symlink name dest output_dir) - cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN}) - foreach(path ${CMAKE_MODULE_PATH}) - if(EXISTS ${path}/LLVMInstallSymlink.cmake) -@@ -1316,7 +1316,7 @@ function(llvm_install_symlink name dest) - set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) - - install(SCRIPT ${INSTALL_SYMLINK} -- CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" -+ CODE "install_symlink(${full_name} ${full_dest} ${output_dir})" - COMPONENT ${component}) - - if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE) -@@ -1400,7 +1400,8 @@ function(add_llvm_tool_symlink link_name target) - endif() - - if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS) -- llvm_install_symlink(${link_name} ${target}) -+ GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR) -+ llvm_install_symlink(${link_name} ${target} ${output_dir}) - endif() - endif() - endfunction() -@@ -1452,9 +1453,9 @@ function(llvm_setup_rpath name) - - if (APPLE) - set(_install_name_dir INSTALL_NAME_DIR "@rpath") -- set(_install_rpath "@loader_path/../lib" ${extra_libdir}) -+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir}) - elseif(UNIX) -- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) - if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") - set_property(TARGET ${name} APPEND_STRING PROPERTY - LINK_FLAGS " -Wl,-z,origin ") -diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake -index 1d8094cc505f..afdbe6e6d19c 100644 ---- a/cmake/modules/AddOCaml.cmake -+++ b/cmake/modules/AddOCaml.cmake -@@ -140,9 +140,9 @@ function(add_ocaml_library name) - endforeach() - - if( APPLE ) -- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - elseif( UNIX ) -- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - endif() - list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") - -diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake -index 4540c5c36c8e..4cefb17fbd55 100644 ---- a/cmake/modules/AddSphinxTarget.cmake -+++ b/cmake/modules/AddSphinxTarget.cmake -@@ -73,7 +73,7 @@ function (add_sphinx_target builder project) - - elseif (builder STREQUAL html) - string(TOUPPER "${project}" project_upper) -- set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html" -+ set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html" - CACHE STRING "HTML documentation install directory for ${project}") - - # '/.' indicates: copy the contents of the directory directly into -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index ac4b0b7c0304..21a6a3da8667 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -1,4 +1,4 @@ --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')") - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - # First for users who use an installed LLVM, create the LLVMExports.cmake file. -@@ -84,11 +84,11 @@ foreach(p ${_count}) - set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE} - get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)") - endforeach(p) --set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include") --set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}") -+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") -+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") - set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") - set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") --set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") -+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") - set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") - set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") - configure_file( -diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake -index 482697b06baf..af2ac1e6c979 100644 ---- a/cmake/modules/LLVMInstallSymlink.cmake -+++ b/cmake/modules/LLVMInstallSymlink.cmake -@@ -10,7 +10,7 @@ function(install_symlink name target outdir) - set(LINK_OR_COPY copy) - endif() - -- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/") -+ set(bindir "${DESTDIR}${outdir}/") - - message("Creating ${name}") - -diff --git a/docs/CMake.rst b/docs/CMake.rst -index b6ebf37adc92..34c73d2869e0 100644 ---- a/docs/CMake.rst -+++ b/docs/CMake.rst -@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``. - **LLVM_LIBDIR_SUFFIX**:STRING - Extra suffix to append to the directory where libraries are to be - installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` -- to install libraries to ``/usr/lib64``. -+ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``. - - **CMAKE_C_FLAGS**:STRING - Extra flags to use when compiling C source files. -@@ -461,8 +461,8 @@ LLVM-specific variables - - **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING - The path to install Doxygen-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/doxygen-html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`. - - **LLVM_ENABLE_SPHINX**:BOOL - If specified, CMake will search for the ``sphinx-build`` executable and will make -@@ -493,13 +493,33 @@ LLVM-specific variables - - **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING - The path to install Sphinx-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/html`. - - **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING - The path to install OCamldoc-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/ocaml-html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`. -+ -+**CMAKE_INSTALL_BINDIR**:STRING -+ The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `bin`. -+ -+**CMAKE_INSTALL_LIBDIR**:STRING -+ The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `lib`. -+ -+**CMAKE_INSTALL_INCLUDEDIR**:STRING -+ The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `include`. -+ -+**CMAKE_INSTALL_DOCDIR**:STRING -+ The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `share/doc`. -+ -+**CMAKE_INSTALL_MANDIR**:STRING -+ The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `share/man`. - - **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL - OS X Only: If enabled CMake will generate a target named -@@ -651,9 +671,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``). - - This file is available in two different locations. - --* ``/lib/cmake/llvm/LLVMConfig.cmake`` where -- ```` is the install prefix of an installed version of LLVM. -- On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. -+* ``LLVMConfig.cmake`` where -+ ```` is the location where LLVM CMake modules are -+ installed as part of an installed version of LLVM. This is typically -+ ``cmake/llvm/`` within the lib directory. On Linux, this is typically -+ ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. - - * ``/lib/cmake/llvm/LLVMConfig.cmake`` where - ```` is the root of the LLVM build tree. **Note: this is only -diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt -index 1d5ca3ba92b0..026f5453c1da 100644 ---- a/include/llvm/CMakeLists.txt -+++ b/include/llvm/CMakeLists.txt -@@ -4,5 +4,5 @@ add_subdirectory(Support) - # If we're doing an out-of-tree build, copy a module map for generated - # header files into the build area. - if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -- configure_file(module.modulemap.build module.modulemap COPYONLY) -+ configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY) - endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in -index f201e1f7bff0..4582ed556a02 100644 ---- a/tools/llvm-config/BuildVariables.inc.in -+++ b/tools/llvm-config/BuildVariables.inc.in -@@ -24,6 +24,10 @@ - #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" - #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" -+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@" -+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" -+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" -+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@" - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" - #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" - #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@" -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 08b096afb052..2deae0dcfacc 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -332,12 +332,26 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -- ActiveIncludeDir = ActivePrefix + "/include"; -- SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); -- sys::fs::make_absolute(ActivePrefix, path); -- ActiveBinDir = path.str(); -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveIncludeDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveBinDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveLibDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveCMakeDir = std::string(path.str()); -+ } - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - -diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt -index 6e913519a809..85641eef721f 100644 ---- a/tools/lto/CMakeLists.txt -+++ b/tools/lto/CMakeLists.txt -@@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports) - add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen) - - install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h -- DESTINATION include/llvm-c -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c - COMPONENT LTO) - - if (APPLE) -diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt -index 19b606933082..27b9f71b3d79 100644 ---- a/tools/opt-viewer/CMakeLists.txt -+++ b/tools/opt-viewer/CMakeLists.txt -@@ -8,6 +8,6 @@ set (files - - foreach (file ${files}) - install(PROGRAMS ${file} -- DESTINATION share/opt-viewer -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer - COMPONENT opt-viewer) - endforeach (file) diff --git a/pkgs/development/compilers/llvm/5/openmp/default.nix b/pkgs/development/compilers/llvm/5/openmp/default.nix deleted file mode 100644 index 900e920173fb..000000000000 --- a/pkgs/development/compilers/llvm/5/openmp/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, stdenv -, llvm_meta -, fetch -, cmake -, llvm -, targetLlvm -, perl -, version -}: - -stdenv.mkDerivation { - pname = "openmp"; - inherit version; - - src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ - (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm) - ]; - - meta = llvm_meta // { - homepage = "https://openmp.llvm.org/"; - description = "Support for the OpenMP language"; - longDescription = '' - The OpenMP subproject of LLVM contains the components required to build an - executable OpenMP program that are outside the compiler itself. - Contains the code for the runtime library against which code compiled by - "clang -fopenmp" must be linked before it can run and the library that - supports offload to target devices. - ''; - # "All of the code is dual licensed under the MIT license and the UIUC - # License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index d8c5f3208bca..9543e165a805 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -67,7 +67,6 @@ with pkgs; # libcxx does not build for some reason on aarch64-linux (filterAttrs (n: _: n != "llvmPackages_7")) ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - (filterAttrs (n: _: n != "llvmPackages_5")) (filterAttrs (n: _: n != "llvmPackages_6")) (filterAttrs (n: _: n != "llvmPackages_7")) (filterAttrs (n: _: n != "llvmPackages_8")) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1363383109d3..5b096430c1e5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -161,7 +161,6 @@ mapAliases ({ cvs_fast_export = cvs-fast-export; # Added 2021-06-10 # these are for convenience, not for backward compat and shouldn't expire - clang5Stdenv = lowPrio llvmPackages_5.stdenv; clang6Stdenv = lowPrio llvmPackages_6.stdenv; clang7Stdenv = lowPrio llvmPackages_7.stdenv; clang8Stdenv = lowPrio llvmPackages_8.stdenv; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0b48a1a3c71f..bcd4278f3650 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15644,7 +15644,6 @@ with pkgs; }; clang = llvmPackages.clang; - clang_5 = llvmPackages_5.clang; clang_6 = llvmPackages_6.clang; clang_7 = llvmPackages_7.clang; clang_8 = llvmPackages_8.clang; @@ -15661,10 +15660,6 @@ with pkgs; llvmPackages = llvmPackages_14; }; - clang-tools_5 = callPackage ../development/tools/clang-tools { - llvmPackages = llvmPackages_5; - }; - clang-tools_6 = callPackage ../development/tools/clang-tools { llvmPackages = llvmPackages_6; }; @@ -16597,7 +16592,6 @@ with pkgs; }; lld = llvmPackages.lld; - lld_5 = llvmPackages_5.lld; lld_6 = llvmPackages_6.lld; lld_7 = llvmPackages_7.lld; lld_8 = llvmPackages_8.lld; @@ -16611,7 +16605,6 @@ with pkgs; lld_16 = llvmPackages_16.lld; lldb = lldb_14; - lldb_5 = llvmPackages_5.lldb; lldb_6 = llvmPackages_6.lldb; lldb_7 = llvmPackages_7.lldb; lldb_8 = llvmPackages_8.lldb; @@ -16625,7 +16618,6 @@ with pkgs; lldb_16 = llvmPackages_16.lldb; llvm = llvmPackages.llvm; - llvm_5 = llvmPackages_5.llvm; llvm_6 = llvmPackages_6.llvm; llvm_7 = llvmPackages_7.llvm; llvm_8 = llvmPackages_8.llvm; @@ -16658,13 +16650,6 @@ with pkgs; stdenv.targetPlatform)); in pkgs.${"llvmPackages_${minSupported}"}; - llvmPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/llvm/5 { - inherit (stdenvAdapters) overrideCC; - buildLlvmTools = buildPackages.llvmPackages_5.tools; - targetLlvm = targetPackages.llvmPackages_5.llvm or llvmPackages_5.llvm; - targetLlvmLibraries = targetPackages.llvmPackages_5.libraries or llvmPackages_5.libraries; - }); - llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 { inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_6.tools; @@ -17758,7 +17743,7 @@ with pkgs; ### End of CuboCore maude = callPackage ../development/interpreters/maude { - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; + stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv; }; me_cleaner = callPackage ../tools/misc/me_cleaner { }; @@ -40028,7 +40013,7 @@ with pkgs; root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix { inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; + stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv; }); rinetd = callPackage ../servers/rinetd { }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 63679dd28f04..a8e9f397c0bf 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -143,10 +143,12 @@ let jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-linux jobs.tests.cc-wrapper.llvmPackages.libcxx.x86_64-linux - jobs.tests.cc-wrapper.llvmPackages_5.clang.x86_64-linux - jobs.tests.cc-wrapper.llvmPackages_5.libcxx.x86_64-linux jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-linux jobs.tests.cc-wrapper.llvmPackages_6.libcxx.x86_64-linux + jobs.tests.cc-wrapper.llvmPackages_7.clang.x86_64-linux + jobs.tests.cc-wrapper.llvmPackages_7.libcxx.x86_64-linux + jobs.tests.cc-wrapper.llvmPackages_7.clang.x86_64-linux + jobs.tests.cc-wrapper.llvmPackages_7.libcxx.x86_64-linux jobs.tests.cc-multilib-gcc.x86_64-linux jobs.tests.cc-multilib-clang.x86_64-linux jobs.tests.stdenv-inputs.x86_64-linux From da817841490fadbbd14c87bb08ed49199bbb457c Mon Sep 17 00:00:00 2001 From: Madoura Date: Mon, 13 Nov 2023 06:58:12 -0600 Subject: [PATCH 125/147] openai-triton-llvm: fix aarch64 and cross-compilation Cross-compilation code taken/modified from LLVM 16 derivation --- .../by-name/op/openai-triton-llvm/package.nix | 127 ++++++++++++------ 1 file changed, 89 insertions(+), 38 deletions(-) diff --git a/pkgs/by-name/op/openai-triton-llvm/package.nix b/pkgs/by-name/op/openai-triton-llvm/package.nix index 2fb56d0a6352..5744cfa10c11 100644 --- a/pkgs/by-name/op/openai-triton-llvm/package.nix +++ b/pkgs/by-name/op/openai-triton-llvm/package.nix @@ -1,27 +1,49 @@ -{ config -, lib +{ lib , stdenv , fetchFromGitHub +, pkgsBuildBuild , pkg-config , cmake , ninja , git -, doxygen -, sphinx , libxml2 , libxcrypt , libedit , libffi +, libpfm , mpfr , zlib , ncurses +, doxygen +, sphinx +, which +, sysctl , python3Packages , buildDocs ? true , buildMan ? true , buildTests ? true +, llvmTargetsToBuild ? [ "NATIVE" ] # "NATIVE" resolves into x86 or aarch64 depending on stdenv +, llvmProjectsToBuild ? [ "llvm" "mlir" ] }: -stdenv.mkDerivation (finalAttrs: { +let + llvmNativeTarget = + if stdenv.hostPlatform.isx86_64 then "X86" + else if stdenv.hostPlatform.isAarch64 then "AArch64" + else throw "Currently unsupported LLVM platform '${stdenv.hostPlatform.config}'"; + + inferNativeTarget = t: if t == "NATIVE" then llvmNativeTarget else t; + llvmTargetsToBuild' = [ "AMDGPU" "NVPTX" ] ++ builtins.map inferNativeTarget llvmTargetsToBuild; + + # This LLVM version can't seem to find pygments/pyyaml, + # but a later update will likely fix this (openai-triton-2.1.0) + python = + if buildTests + then python3Packages.python.withPackages (p: with p; [ psutil pygments pyyaml ]) + else python3Packages.python; + + isNative = stdenv.hostPlatform == stdenv.buildPlatform; +in stdenv.mkDerivation (finalAttrs: { pname = "openai-triton-llvm"; version = "14.0.6-f28c006a5895"; @@ -33,7 +55,8 @@ stdenv.mkDerivation (finalAttrs: { "man" ]; - # See https://github.com/openai/triton/blob/main/python/setup.py and https://github.com/ptillet/triton-llvm-releases/releases + # See https://github.com/openai/triton/blob/main/python/setup.py + # and https://github.com/ptillet/triton-llvm-releases/releases src = fetchFromGitHub { owner = "llvm"; repo = "llvm-project"; @@ -46,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: { cmake ninja git - python3Packages.python + python ] ++ lib.optionals (buildDocs || buildMan) [ doxygen sphinx @@ -58,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: { libxcrypt libedit libffi + libpfm mpfr ]; @@ -69,37 +93,55 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/llvm"; cmakeFlags = [ - "-DLLVM_TARGETS_TO_BUILD=${ - let - # Targets can be found in - # https://github.com/llvm/llvm-project/tree/f28c006a5895fc0e329fe15fead81e37457cb1d1/clang/lib/Basic/Targets - # NOTE: Unsure of how "host" would function, especially given that we might be cross-compiling. - llvmTargets = [ "AMDGPU" "NVPTX" ] - ++ lib.optionals stdenv.isAarch64 [ "AArch64" ] - ++ lib.optionals stdenv.isx86_64 [ "X86" ]; - in - lib.concatStringsSep ";" llvmTargets - }" - "-DLLVM_ENABLE_PROJECTS=llvm;mlir" - "-DLLVM_INSTALL_UTILS=ON" - ] ++ lib.optionals (buildDocs || buildMan) [ - "-DLLVM_INCLUDE_DOCS=ON" - "-DMLIR_INCLUDE_DOCS=ON" - "-DLLVM_BUILD_DOCS=ON" - # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_HTML=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals buildTests [ - "-DLLVM_INCLUDE_TESTS=ON" - "-DMLIR_INCLUDE_TESTS=ON" - "-DLLVM_BUILD_TESTS=ON" - ]; + (lib.cmakeFeature "LLVM_TARGETS_TO_BUILD" (lib.concatStringsSep ";" llvmTargetsToBuild')) + (lib.cmakeFeature "LLVM_ENABLE_PROJECTS" (lib.concatStringsSep ";" llvmProjectsToBuild)) + (lib.cmakeFeature "LLVM_HOST_TRIPLE" stdenv.hostPlatform.config) + (lib.cmakeFeature "LLVM_DEFAULT_TARGET_TRIPLE" stdenv.hostPlatform.config) + (lib.cmakeBool "LLVM_INSTALL_UTILS" true) + (lib.cmakeBool "LLVM_INCLUDE_DOCS" (buildDocs || buildMan)) + (lib.cmakeBool "MLIR_INCLUDE_DOCS" (buildDocs || buildMan)) + (lib.cmakeBool "LLVM_BUILD_DOCS" (buildDocs || buildMan)) + # Way too slow, only uses one core + # (lib.cmakeBool "LLVM_ENABLE_DOXYGEN" (buildDocs || buildMan)) + (lib.cmakeBool "LLVM_ENABLE_SPHINX" (buildDocs || buildMan)) + (lib.cmakeBool "SPHINX_OUTPUT_HTML" buildDocs) + (lib.cmakeBool "SPHINX_OUTPUT_MAN" buildMan) + (lib.cmakeBool "SPHINX_WARNINGS_AS_ERRORS" false) + (lib.cmakeBool "LLVM_INCLUDE_TESTS" buildTests) + (lib.cmakeBool "MLIR_INCLUDE_TESTS" buildTests) + (lib.cmakeBool "LLVM_BUILD_TESTS" buildTests) + # Cross compilation code taken/modified from LLVM 16 derivation + ] ++ lib.optionals (!isNative) (let + nativeToolchainFlags = let + nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; + nativeBintools = nativeCC.bintools.bintools; + in [ + (lib.cmakeFeature "CMAKE_C_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}cc") + (lib.cmakeFeature "CMAKE_CXX_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}c++") + (lib.cmakeFeature "CMAKE_AR" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ar") + (lib.cmakeFeature "CMAKE_STRIP" "${nativeBintools}/bin/${nativeBintools.targetPrefix}strip") + (lib.cmakeFeature "CMAKE_RANLIB" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib") + ]; + + # We need to repass the custom GNUInstallDirs values, otherwise CMake + # will choose them for us, leading to wrong results in llvm-config-native + nativeInstallFlags = [ + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "out")) + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "${placeholder "out"}/bin") + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "${placeholder "out"}/include") + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_LIBEXECDIR" "${placeholder "out"}/libexec") + ]; + in [ + (lib.cmakeBool "CMAKE_CROSSCOMPILING" true) + (lib.cmakeFeature "CROSS_TOOLCHAIN_FLAGS_NATIVE" (lib.concatStringsSep ";" + (lib.concatLists [ nativeToolchainFlags nativeInstallFlags ]))) + ]); postPatch = '' # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied` chmod +w -R ../mlir + patchShebangs ../mlir/test/mlir-reduce # FileSystem permissions tests fail with various special bits rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test @@ -107,9 +149,21 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace unittests/Support/CMakeLists.txt \ --replace "Path.cpp" "" + '' + lib.optionalString stdenv.isAarch64 '' + # Not sure why this fails + rm test/tools/llvm-exegesis/AArch64/latency-by-opcode-name.s + ''; + + postInstall = lib.optionalString (!isNative) '' + cp -a NATIVE/bin/llvm-config $out/bin/llvm-config-native ''; doCheck = buildTests; + + nativeCheckInputs = [ which ] + ++ lib.optionals stdenv.isDarwin [ sysctl ]; + + checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; meta = with lib; { @@ -117,9 +171,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/llvm/llvm-project"; license = with licenses; [ ncsa ]; maintainers = with maintainers; [ SomeoneSerge Madouura ]; - platforms = platforms.linux; - # Consider the derivation broken if we're not building for CUDA or ROCm, or if we're building for aarch64 - # and ROCm is enabled. See https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344. - broken = stdenv.isAarch64 && !config.cudaSupport; + platforms = with platforms; aarch64 ++ x86; }; }) From 534cc954e5fccc8b975fed7325d1bd9863ac0c6d Mon Sep 17 00:00:00 2001 From: Madoura Date: Mon, 13 Nov 2023 09:09:03 -0600 Subject: [PATCH 126/147] python3Packages.torch: Add 'tritonSupport' option Guard this option against 'stdenv.isDarwin', which currently is unknown whether it works or not. --- pkgs/development/python-modules/torch/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index 4217b87e81e7..95d2486bfbb2 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -16,9 +16,10 @@ filelock, jinja2, networkx, - openai-triton, sympy, numpy, pyyaml, cffi, click, typing-extensions, + # ROCm build and `torch.compile` requires `openai-triton` + tritonSupport ? (!stdenv.isDarwin), openai-triton, # Unit tests hypothesis, psutil, @@ -377,12 +378,10 @@ in buildPythonPackage rec { # the following are required for tensorboard support pillow six future tensorboard protobuf - # ROCm build and `torch.compile` requires openai-triton - openai-triton - # torch/csrc requires `pybind11` at runtime pybind11 ] + ++ lib.optionals tritonSupport [ openai-triton ] ++ lib.optionals MPISupport [ mpi ] ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]; From 740d990ce774872d9280bc4850da67a1c9b4d83c Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Fri, 17 Nov 2023 17:42:34 +0800 Subject: [PATCH 127/147] skhd: silence implicit-function-declaration warning on Darwin --- pkgs/os-specific/darwin/skhd/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/darwin/skhd/default.nix b/pkgs/os-specific/darwin/skhd/default.nix index fa6e1aa01e9f..f979f7ec020e 100644 --- a/pkgs/os-specific/darwin/skhd/default.nix +++ b/pkgs/os-specific/darwin/skhd/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation (finalAttrs: { "BUILD_PATH=$(out)/bin" ]; + env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + postInstall = '' mkdir -p $out/Library/LaunchDaemons cp ${./org.nixos.skhd.plist} $out/Library/LaunchDaemons/org.nixos.skhd.plist From bfcc17927387d14a1f20ef3c194ba1b2cf327b47 Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Fri, 17 Nov 2023 17:37:10 +0800 Subject: [PATCH 128/147] blisp: silence implicit-function-declaration on Darwin --- pkgs/development/embedded/blisp/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/embedded/blisp/default.nix b/pkgs/development/embedded/blisp/default.nix index 093e0ef195ca..027ca82324f8 100644 --- a/pkgs/development/embedded/blisp/default.nix +++ b/pkgs/development/embedded/blisp/default.nix @@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: { "-DBLISP_USE_SYSTEM_LIBRARIES=ON" ]; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=implicit-function-declaration"; + passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; version = "v${finalAttrs.version}"; @@ -42,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.mit; mainProgram = "blisp"; homepage = "https://github.com/pine64/blisp"; + platforms = platforms.unix; maintainers = [ maintainers.bdd ]; }; }) From e3d4beac9df5b05d7b5edfcc74f02b49dc862145 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 17 Nov 2023 16:45:11 +0100 Subject: [PATCH 129/147] python311Packages.pytorch: mark some flags as gcc-only --- pkgs/development/python-modules/torch/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index 95d2486bfbb2..f89fed489f84 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -304,12 +304,13 @@ in buildPythonPackage rec { "-Wno-pass-failed" ] ++ [ "-Wno-unused-command-line-argument" - "-Wno-maybe-uninitialized" "-Wno-uninitialized" "-Wno-array-bounds" - "-Wno-stringop-overflow" "-Wno-free-nonheap-object" "-Wno-unused-result" + ] ++ lib.optionals stdenv.cc.isGNU [ + "-Wno-maybe-uninitialized" + "-Wno-stringop-overflow" ])); nativeBuildInputs = [ From 198106a3d78ceae9d097bbcd0aceb4852e839e15 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 14 Nov 2023 12:29:01 +0100 Subject: [PATCH 130/147] wordlists: refactor - Remove version tag - Filter out non-wordlist content from wordlist packages - Split up the derivation into several logical parts - Reorder package inputs to be in the order which they are used - Add h7x4 as maintainer Co-authored-by: Peder Bergebakken Sundt Co-authored-by: Janik H. --- pkgs/by-name/wo/wordlists/package.nix | 59 ++++++++++++++------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/pkgs/by-name/wo/wordlists/package.nix b/pkgs/by-name/wo/wordlists/package.nix index 16106707fd96..5edd1f5ece4e 100644 --- a/pkgs/by-name/wo/wordlists/package.nix +++ b/pkgs/by-name/wo/wordlists/package.nix @@ -1,11 +1,8 @@ { lib -, callPackage +, symlinkJoin , nmap , rockyou -, runtimeShell , seclists -, symlinkJoin -, tree , wfuzz , lists ? [ nmap @@ -13,33 +10,39 @@ seclists wfuzz ] +, writeShellScriptBin +, tree }: +let + wordlistsCollection = symlinkJoin { + name = "wordlists-collection"; + paths = lists; -symlinkJoin rec { - pname = "wordlists"; - version = "unstable-2023-10-10"; + postBuild = '' + shopt -s extglob + rm -rf $out/!(share) + rm -rf $out/share/!(wordlists) + shopt -u extglob + ''; + }; - name = "${pname}-${version}"; - paths = lists; - - postBuild = '' - mkdir -p $out/bin - - # Create a command to show the location of the links. - cat >> $out/bin/wordlists << __EOF__ - #!${runtimeShell} - ${tree}/bin/tree ${placeholder "out"}/share/wordlists - __EOF__ - chmod +x $out/bin/wordlists - - # Create a handy command for easy access to the wordlists. - # e.g.: `cat "$(wordlists_path)/rockyou.txt"`, or `ls "$(wordlists_path)/dirbuster"` - cat >> $out/bin/wordlists_path << __EOF__ - #!${runtimeShell} - printf "${placeholder "out"}/share/wordlists\n" - __EOF__ - chmod +x $out/bin/wordlists_path + # A command to show the location of the links. + wordlistsBin = writeShellScriptBin "wordlists" '' + ${lib.getExe tree} ${wordlistsCollection}/share/wordlists ''; + # A command for easy access to the wordlists. + wordlistsPathBin = writeShellScriptBin "wordlists_path" '' + printf "${wordlistsCollection}/share/wordlists\n" + ''; + +in symlinkJoin { + name = "wordlists"; + + paths = [ + wordlistsCollection + wordlistsBin + wordlistsPathBin + ]; meta = with lib; { description = "A collection of wordlists useful for security testing"; @@ -65,6 +68,6 @@ symlinkJoin rec { If you want to add a new package that provides wordlist/s the convention is to copy it to {file}`$out/share/wordlists/myNewWordlist`. ''; - maintainers = with maintainers; [ janik pamplemousse ]; + maintainers = with maintainers; [ janik pamplemousse h7x4 ]; }; } From 3aebc44be1cab5d5ae184f6315f23e48d4148ab0 Mon Sep 17 00:00:00 2001 From: iliayar Date: Fri, 17 Nov 2023 20:40:15 +0300 Subject: [PATCH 131/147] pyprland: 1.5.3 -> 1.6.0 --- pkgs/by-name/py/pyprland/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/py/pyprland/package.nix b/pkgs/by-name/py/pyprland/package.nix index 751dbbd61e05..51bf39609590 100644 --- a/pkgs/by-name/py/pyprland/package.nix +++ b/pkgs/by-name/py/pyprland/package.nix @@ -2,7 +2,7 @@ python3Packages.buildPythonApplication rec { pname = "pyprland"; - version = "1.5.3"; + version = "1.6.0"; format = "pyproject"; disabled = python3Packages.pythonOlder "3.10"; @@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec { owner = "hyprland-community"; repo = "pyprland"; rev = version; - hash = "sha256-PmE52pbEhc4+SkuyEeVUZoMVcbgK6CYA8HNwYPpgaIw="; + hash = "sha256-QbbBpaBIlU4IoU/NM7igDap8TxOKePQ8JI3ZlH944Bs="; }; nativeBuildInputs = with python3Packages; [ poetry-core ]; From c7eeda7413eabc79191719a97ec54601888009c8 Mon Sep 17 00:00:00 2001 From: Aldo Borrero <82811+aldoborrero@users.noreply.github.com> Date: Sun, 29 Oct 2023 12:50:47 +0100 Subject: [PATCH 132/147] python311Packages.llm: init at version 0.12 --- ...1-disable-install-uninstall-commands.patch | 34 ++++++ .../python-modules/llm/default.nix | 107 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 4 files changed, 145 insertions(+) create mode 100644 pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch create mode 100644 pkgs/development/python-modules/llm/default.nix diff --git a/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch b/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch new file mode 100644 index 000000000000..cef7fba13343 --- /dev/null +++ b/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch @@ -0,0 +1,34 @@ +diff --git a/llm/cli.py b/llm/cli.py +index af37feb..18b078a 100644 +--- a/llm/cli.py ++++ b/llm/cli.py +@@ -1014,18 +1014,7 @@ def templates_path(): + ) + def install(packages, upgrade, editable, force_reinstall, no_cache_dir): + """Install packages from PyPI into the same environment as LLM""" +- args = ["pip", "install"] +- if upgrade: +- args += ["--upgrade"] +- if editable: +- args += ["--editable", editable] +- if force_reinstall: +- args += ["--force-reinstall"] +- if no_cache_dir: +- args += ["--no-cache-dir"] +- args += list(packages) +- sys.argv = args +- run_module("pip", run_name="__main__") ++ click.echo("Install command has been disabled for Nix. If you want to install extra llm plugins, use llm.withPlugins([]) expression.") + + + @cli.command() +@@ -1033,8 +1022,7 @@ def install(packages, upgrade, editable, force_reinstall, no_cache_dir): + @click.option("-y", "--yes", is_flag=True, help="Don't ask for confirmation") + def uninstall(packages, yes): + """Uninstall Python packages from the LLM environment""" +- sys.argv = ["pip", "uninstall"] + list(packages) + (["-y"] if yes else []) +- run_module("pip", run_name="__main__") ++ click.echo("Uninstall command has been disabled for Nix. If you want to uninstall extra llm plugins, just remove them from llm.withPlugins([]) list expression.") + + + @cli.command() diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix new file mode 100644 index 000000000000..318f67353308 --- /dev/null +++ b/pkgs/development/python-modules/llm/default.nix @@ -0,0 +1,107 @@ +{ + buildPythonApplication, + buildPythonPackage, + fetchFromGitHub, + lib, + makeWrapper, + pytestCheckHook, + python3, + pythonOlder, + ruff, + setuptools, +}: let + llm = buildPythonPackage rec { + pname = "llm"; + version = "0.12"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "simonw"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-aCqdw2co/cXrBwVY/k/aSLl3C22nlH5LvU2yir1/NnQ="; + }; + + patches = [ + ./001-disable-install-uninstall-commands.patch + ]; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = with python3.pkgs; [ + click-default-group + numpy + openai + pluggy + pydantic + python-ulid + pyyaml + setuptools # for pkg_resources + sqlite-migrate + sqlite-utils + ]; + + nativeCheckInputs = with python3.pkgs; [ + cogapp + numpy + pytestCheckHook + requests-mock + ]; + + doCheck = true; + + pytestFlagsArray = [ + "-svv" + "tests/" + ]; + + pythonImportsCheck = [ + "llm" + ]; + + passthru = {inherit withPlugins;}; + + meta = with lib; { + homepage = "https://github.com/simonw/llm"; + description = "Access large language models from the command-line"; + changelog = "https://github.com/simonw/llm/releases/tag/${version}"; + license = licenses.asl20; + mainProgram = "llm"; + maintainers = with maintainers; [aldoborrero]; + }; + }; + + withPlugins = plugins: buildPythonApplication { + inherit (llm) pname version; + format = "other"; + + disabled = pythonOlder "3.8"; + + dontUnpack = true; + dontBuild = true; + doCheck = false; + + nativeBuildInputs = [ + makeWrapper + ]; + + installPhase = '' + makeWrapper ${llm}/bin/llm $out/bin/llm \ + --prefix PYTHONPATH : "${llm}/${python3.sitePackages}:$PYTHONPATH" + ln -sfv ${llm}/lib $out/lib + ''; + + propagatedBuildInputs = llm.propagatedBuildInputs ++ plugins; + + passthru = llm.passthru // { + withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); + }; + + inherit (llm) meta; + }; +in + llm diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0b48a1a3c71f..0f319e308f9b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9990,6 +9990,8 @@ with pkgs; lldpd = callPackage ../tools/networking/lldpd { }; + llm = with python3Packages; toPythonApplication llm; + lnav = callPackage ../tools/misc/lnav { }; lnch = callPackage ../tools/misc/lnch { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f21dc11dd49c..0a2f0fea4627 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6390,6 +6390,8 @@ self: super: with self; { inherit (pkgs) fuse; }; + llm = callPackage ../development/python-modules/llm { }; + llvmlite = callPackage ../development/python-modules/llvmlite { # llvmlite always requires a specific version of llvm. llvm = pkgs.llvm_14; From ca52ee59feef0e009ed771dc1ca584bda85b899b Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Fri, 17 Nov 2023 20:10:14 +0100 Subject: [PATCH 133/147] shapelib: add geospatial team to maintainers --- pkgs/development/libraries/shapelib/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/shapelib/default.nix b/pkgs/development/libraries/shapelib/default.nix index f0afda7a9001..fe17da91e581 100644 --- a/pkgs/development/libraries/shapelib/default.nix +++ b/pkgs/development/libraries/shapelib/default.nix @@ -30,6 +30,6 @@ stdenv.mkDerivation rec { description = "C Library for reading, writing and updating ESRI Shapefiles"; homepage = "http://shapelib.maptools.org/"; license = licenses.gpl2; - maintainers = [ maintainers.ehmry ]; + maintainers = with maintainers; teams.geospatial.members ++ [ ehmry ]; }; } From b013b3ee50cace81104bc29b8fc4496a3093b5cd Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 14:43:52 +0100 Subject: [PATCH 134/147] nodejs_16: drop Security support EOLed 1 month ago. --- pkgs/development/web/nodejs/v16.nix | 35 ----------------------------- pkgs/top-level/aliases.nix | 2 ++ pkgs/top-level/all-packages.nix | 3 --- 3 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 pkgs/development/web/nodejs/v16.nix diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix deleted file mode 100644 index 930b648ca559..000000000000 --- a/pkgs/development/web/nodejs/v16.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python3, fetchpatch, enableNpm ? true }: - -let - # Clang 16+ cannot build Node v14 due to -Wenum-constexpr-conversion errors. - # Use an older version of clang with the current libc++ for compatibility (e.g., with icu). - ensureCompatibleCC = packages: - if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16" - then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override { - inherit (packages.llvmPackages) libcxx; - extraPackages = [ packages.llvmPackages.libcxxabi ]; - }) - else packages.stdenv; - - buildNodejs = callPackage ./nodejs.nix { - inherit openssl; - stdenv = ensureCompatibleCC pkgs; - buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; }; - python = python3; - }; - - npmPatches = callPackage ./npm-patches.nix { }; -in - buildNodejs { - inherit enableNpm; - # If you do upgrade here, please update in pkgs/top-level/release.nix - # the permitted insecure version to ensure it gets cached for our users - # and backport this to stable release (23.05). - version = "16.20.2"; - sha256 = "sha256-V28aA8RV5JGo0TK1h+trO4RlH8iXS7NjhDPdRNIsj0k="; - patches = [ - ./disable-darwin-v8-system-instrumentation.patch - ./bypass-darwin-xcrun-node16.patch - ./node-npm-build-npm-package-logic-node16.patch - ] ++ npmPatches; - } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index b973af8da5fd..f3db0c7c7913 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -627,8 +627,10 @@ mapAliases ({ nodejs-slim_14 = throw "nodejs-slim_14 has been removed as it is EOL."; # Added 2023-10-30 nodejs-14_x = nodejs_14; # Added 2022-11-06 nodejs-slim-14_x = nodejs-slim_14; # Added 2022-11-06 + nodejs_16 = throw "nodejs_16 has been removed as it is EOL."; # Added 2023-10-30 nodejs-16_x = nodejs_16; # Added 2022-11-06 nodejs-16_x-openssl_1_1 = throw "nodejs-16_x-openssl_1_1 has been removed."; # Added 2023-02-04 + nodejs-slim_16 = throw "nodejs-slim_16 has been removed as it is EOL."; # Added 2022-11-06 nodejs-slim-16_x = nodejs-slim_16; # Added 2022-11-06 nodejs-18_x = nodejs_18; # Added 2022-11-06 nodejs-slim-18_x = nodejs-slim_18; # Added 2022-11-06 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1ca223ba75f0..a7716efbab3d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10309,9 +10309,6 @@ with pkgs; nodejs-slim = nodejs-slim_18; corepack = hiPrio corepack_18; - nodejs_16 = callPackage ../development/web/nodejs/v16.nix { }; - nodejs-slim_16 = callPackage ../development/web/nodejs/v16.nix { enableNpm = false; }; - nodejs_18 = callPackage ../development/web/nodejs/v18.nix { }; nodejs-slim_18 = callPackage ../development/web/nodejs/v18.nix { enableNpm = false; }; corepack_18 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_18; }); From 022ee4d701878c185785ce72dd436639dd687199 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 14:50:40 +0100 Subject: [PATCH 135/147] kibana7: drop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Depends on EOL software and no maintenance has been attempted to change this after a ping (https://github.com/NixOS/nixpkgs/issues/259178) Feel free to adopt and re-introduce if you care about this software. This will probably seriously hamper ELK usability in nixpkgs, but as it receives no maintenance… --- nixos/modules/module-list.nix | 1 - nixos/modules/services/search/kibana.nix | 213 ------------------ nixos/tests/elk.nix | 14 -- pkgs/development/tools/misc/kibana/7.x.nix | 60 ----- .../disable-nodejs-version-check-7.patch | 19 -- pkgs/top-level/aliases.nix | 2 + pkgs/top-level/all-packages.nix | 3 - 7 files changed, 2 insertions(+), 310 deletions(-) delete mode 100644 nixos/modules/services/search/kibana.nix delete mode 100644 pkgs/development/tools/misc/kibana/7.x.nix delete mode 100644 pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 00da63992951..2e5b1ce90af0 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1147,7 +1147,6 @@ ./services/search/elasticsearch-curator.nix ./services/search/elasticsearch.nix ./services/search/hound.nix - ./services/search/kibana.nix ./services/search/meilisearch.nix ./services/search/opensearch.nix ./services/search/qdrant.nix diff --git a/nixos/modules/services/search/kibana.nix b/nixos/modules/services/search/kibana.nix deleted file mode 100644 index a5e132d5c38d..000000000000 --- a/nixos/modules/services/search/kibana.nix +++ /dev/null @@ -1,213 +0,0 @@ -{ config, lib, options, pkgs, ... }: - -with lib; - -let - cfg = config.services.kibana; - opt = options.services.kibana; - - ge7 = builtins.compareVersions cfg.package.version "7" >= 0; - lt6_6 = builtins.compareVersions cfg.package.version "6.6" < 0; - - cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON ( - (filterAttrsRecursive (n: v: v != null && v != []) ({ - server.host = cfg.listenAddress; - server.port = cfg.port; - server.ssl.certificate = cfg.cert; - server.ssl.key = cfg.key; - - kibana.index = cfg.index; - kibana.defaultAppId = cfg.defaultAppId; - - elasticsearch.url = cfg.elasticsearch.url; - elasticsearch.hosts = cfg.elasticsearch.hosts; - elasticsearch.username = cfg.elasticsearch.username; - elasticsearch.password = cfg.elasticsearch.password; - - elasticsearch.ssl.certificate = cfg.elasticsearch.cert; - elasticsearch.ssl.key = cfg.elasticsearch.key; - elasticsearch.ssl.certificateAuthorities = cfg.elasticsearch.certificateAuthorities; - } // cfg.extraConf) - ))); - -in { - options.services.kibana = { - enable = mkEnableOption (lib.mdDoc "kibana service"); - - listenAddress = mkOption { - description = lib.mdDoc "Kibana listening host"; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = lib.mdDoc "Kibana listening port"; - default = 5601; - type = types.port; - }; - - cert = mkOption { - description = lib.mdDoc "Kibana ssl certificate."; - default = null; - type = types.nullOr types.path; - }; - - key = mkOption { - description = lib.mdDoc "Kibana ssl key."; - default = null; - type = types.nullOr types.path; - }; - - index = mkOption { - description = lib.mdDoc "Elasticsearch index to use for saving kibana config."; - default = ".kibana"; - type = types.str; - }; - - defaultAppId = mkOption { - description = lib.mdDoc "Elasticsearch default application id."; - default = "discover"; - type = types.str; - }; - - elasticsearch = { - url = mkOption { - description = lib.mdDoc '' - Elasticsearch url. - - Defaults to `"http://localhost:9200"`. - - Don't set this when using Kibana >= 7.0.0 because it will result in a - configuration error. Use {option}`services.kibana.elasticsearch.hosts` - instead. - ''; - default = null; - type = types.nullOr types.str; - }; - - hosts = mkOption { - description = lib.mdDoc '' - The URLs of the Elasticsearch instances to use for all your queries. - All nodes listed here must be on the same cluster. - - Defaults to `[ "http://localhost:9200" ]`. - - This option is only valid when using kibana >= 6.6. - ''; - default = null; - type = types.nullOr (types.listOf types.str); - }; - - username = mkOption { - description = lib.mdDoc "Username for elasticsearch basic auth."; - default = null; - type = types.nullOr types.str; - }; - - password = mkOption { - description = lib.mdDoc "Password for elasticsearch basic auth."; - default = null; - type = types.nullOr types.str; - }; - - ca = mkOption { - description = lib.mdDoc '' - CA file to auth against elasticsearch. - - It's recommended to use the {option}`certificateAuthorities` option - when using kibana-5.4 or newer. - ''; - default = null; - type = types.nullOr types.path; - }; - - certificateAuthorities = mkOption { - description = lib.mdDoc '' - CA files to auth against elasticsearch. - - Please use the {option}`ca` option when using kibana \< 5.4 - because those old versions don't support setting multiple CA's. - - This defaults to the singleton list [ca] when the {option}`ca` option is defined. - ''; - default = lib.optional (cfg.elasticsearch.ca != null) ca; - defaultText = literalExpression '' - lib.optional (config.${opt.elasticsearch.ca} != null) ca - ''; - type = types.listOf types.path; - }; - - cert = mkOption { - description = lib.mdDoc "Certificate file to auth against elasticsearch."; - default = null; - type = types.nullOr types.path; - }; - - key = mkOption { - description = lib.mdDoc "Key file to auth against elasticsearch."; - default = null; - type = types.nullOr types.path; - }; - }; - - package = mkOption { - description = lib.mdDoc "Kibana package to use"; - default = pkgs.kibana; - defaultText = literalExpression "pkgs.kibana"; - type = types.package; - }; - - dataDir = mkOption { - description = lib.mdDoc "Kibana data directory"; - default = "/var/lib/kibana"; - type = types.path; - }; - - extraConf = mkOption { - description = lib.mdDoc "Kibana extra configuration"; - default = {}; - type = types.attrs; - }; - }; - - config = mkIf (cfg.enable) { - assertions = [ - { - assertion = ge7 -> cfg.elasticsearch.url == null; - message = - "The option services.kibana.elasticsearch.url has been removed when using kibana >= 7.0.0. " + - "Please use option services.kibana.elasticsearch.hosts instead."; - } - { - assertion = lt6_6 -> cfg.elasticsearch.hosts == null; - message = - "The option services.kibana.elasticsearch.hosts is only valid for kibana >= 6.6."; - } - ]; - systemd.services.kibana = { - description = "Kibana Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "elasticsearch.service" ]; - environment = { BABEL_CACHE_PATH = "${cfg.dataDir}/.babelcache.json"; }; - serviceConfig = { - ExecStart = - "${cfg.package}/bin/kibana" + - " --config ${cfgFile}" + - " --path.data ${cfg.dataDir}"; - User = "kibana"; - WorkingDirectory = cfg.dataDir; - }; - }; - - environment.systemPackages = [ cfg.package ]; - - users.users.kibana = { - isSystemUser = true; - description = "Kibana service user"; - home = cfg.dataDir; - createHome = true; - group = "kibana"; - }; - users.groups.kibana = {}; - }; -} diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix index 0122bc440361..900ea6320100 100644 --- a/nixos/tests/elk.nix +++ b/nixos/tests/elk.nix @@ -119,11 +119,6 @@ let package = elk.elasticsearch; }; - kibana = { - enable = true; - package = elk.kibana; - }; - elasticsearch-curator = { enable = true; actionYAML = '' @@ -217,13 +212,6 @@ let one.wait_until_succeeds("cat /tmp/logstash.out | grep flowers") one.wait_until_succeeds("cat /tmp/logstash.out | grep -v dragons") - with subtest("Kibana is healthy"): - one.wait_for_unit("kibana.service") - one.wait_until_succeeds( - "curl --silent --show-error --fail-with-body 'http://localhost:5601/api/status'" - + " | jq -es 'if . == [] then null else .[] | .status.overall.state == \"green\" end'" - ) - with subtest("Metricbeat is running"): one.wait_for_unit("metricbeat.service") @@ -274,7 +262,6 @@ in { # name = "elk-7"; # elasticsearch = pkgs.elasticsearch7-oss; # logstash = pkgs.logstash7-oss; - # kibana = pkgs.kibana7-oss; # filebeat = pkgs.filebeat7; # metricbeat = pkgs.metricbeat7; # }; @@ -282,7 +269,6 @@ in { ELK-7 = mkElkTest "elk-7" { elasticsearch = pkgs.elasticsearch7; logstash = pkgs.logstash7; - kibana = pkgs.kibana7; filebeat = pkgs.filebeat7; metricbeat = pkgs.metricbeat7; }; diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix deleted file mode 100644 index a4faa31a4214..000000000000 --- a/pkgs/development/tools/misc/kibana/7.x.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ elk7Version -, enableUnfree ? true -, lib -, stdenv -, makeWrapper -, fetchurl -, nodejs_16 -, coreutils -, which -}: - -let - nodejs = nodejs_16; - inherit (builtins) elemAt; - info = lib.splitString "-" stdenv.hostPlatform.system; - arch = elemAt info 0; - plat = elemAt info 1; - hashes = - { - x86_64-linux = "sha512-09XokG5krjxGnk34DhxpLOGRLjb2jd82uZtwGfrzSuuqMpBhkEptK2oySGxuGdHF8uowwlR5p5YO2TvBwMsWkQ=="; - x86_64-darwin = "sha512-cqRJnvu730Jfkr6vwbHUFuZube1g522cmvnDwTzhGGK6VN/7+9XL3vavqtUPDVdTLTUk+DrNiIQK7MaJH3SHMg=="; - aarch64-linux = "sha512-zhtYThz5j4+w5gI1JWSnHv709Tk23eegVsrtYmdaYhZiTw2yvCTYI5uNAfBjBr8XPdp6CKF4e6Bh2wHKDYg1mg=="; - aarch64-darwin = "sha512-cqRJnvu730Jfkr6vwbHUFuZube1g522cmvnDwTzhGGK6VN/7+9XL3vavqtUPDVdTLTUk+DrNiIQK7MaJH3SHMg=="; - }; - -in stdenv.mkDerivation rec { - pname = "kibana"; - version = elk7Version; - - src = fetchurl { - url = "https://artifacts.elastic.co/downloads/kibana/${pname}-${version}-${plat}-${arch}.tar.gz"; - hash = hashes.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); - }; - - patches = [ - # Kibana specifies it specifically needs nodejs 10.15.2 but nodejs in nixpkgs is at 10.15.3. - # The test succeeds with this newer version so lets just - # disable the version check. - ./disable-nodejs-version-check-7.patch - ]; - - nativeBuildInputs = [ makeWrapper ]; - - installPhase = '' - mkdir -p $out/libexec/kibana $out/bin - mv * $out/libexec/kibana/ - rm -r $out/libexec/kibana/node - makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \ - --prefix PATH : "${lib.makeBinPath [ nodejs coreutils which ]}" - sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana - ''; - - meta = with lib; { - description = "Visualize logs and time-stamped data"; - homepage = "http://www.elasticsearch.org/overview/kibana"; - license = licenses.elastic20; - maintainers = with maintainers; [ offline basvandijk ]; - platforms = with platforms; unix; - }; -} diff --git a/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch b/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch deleted file mode 100644 index ef4c207764c1..000000000000 --- a/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/src/setup_node_env/node_version_validator.js b/src/setup_node_env/node_version_validator.js -index 3f611e5a..f5c60c85 100644 ---- a/src/setup_node_env/node_version_validator.js -+++ b/src/setup_node_env/node_version_validator.js -@@ -25,11 +25,11 @@ var pkg = require('../../package.json'); // Note: This is written in ES5 so we c - var currentVersion = process && process.version || null; - var rawRequiredVersion = pkg && pkg.engines && pkg.engines.node || null; - var requiredVersion = rawRequiredVersion ? 'v' + rawRequiredVersion : rawRequiredVersion; --var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion === requiredVersion; // Validates current the NodeJS version compatibility when Kibana starts. -+var isVersionValid = !!currentVersion && !!requiredVersion; // Validates current the NodeJS version compatibility when Kibana starts. - - if (!isVersionValid) { - var errorMessage = 'Kibana does not support the current Node.js version ' + currentVersion + '. Please use Node.js ' + requiredVersion + '.'; // Actions to apply when validation fails: error report + exit. - - console.error(errorMessage); - process.exit(1); --} -\ No newline at end of file -+} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index f3db0c7c7913..ef11a1267624 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -428,6 +428,8 @@ mapAliases ({ keysmith = libsForQt5.kdeGear.keysmith; # Added 2021-07-14 kfctl = throw "kfctl is broken and has been archived by upstream" ; # Added 2023-08-21 kgx = gnome-console; # Added 2022-02-19 + kibana7 = throw "Kibana 7.x has been removed from nixpkgs as it depends on an end of life Node.js version and received no maintenance in time."; # Added 2023-30-10 + kibana = kibana7; kicad-with-packages3d = throw "'kicad-with-packages3d' has been renamed to/replaced by 'kicad'"; # Converted to throw 2023-09-10 kio-admin = libsForQt5.kdeGear.kio-admin; # Added 2023-03-18 kodiGBM = kodi-gbm; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a7716efbab3d..963f4bfdaa78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9830,9 +9830,6 @@ with pkgs; kluctl = callPackage ../applications/networking/cluster/kluctl { }; - kibana7 = callPackage ../development/tools/misc/kibana/7.x.nix { }; - kibana = kibana7; - kibi = callPackage ../applications/editors/kibi { }; kio-fuse = libsForQt5.callPackage ../tools/filesystems/kio-fuse { }; From ad11438d0913939b07ac95e6871d76b3e83ff713 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 14:58:57 +0100 Subject: [PATCH 136/147] treewide: cleanup references to nodejs_14 Those packages didn't use Node.js 14 in practice, but Node.js 18 or more. --- pkgs/development/compilers/elm/packages/node-composition.nix | 2 +- pkgs/development/web/playwright-test/default.nix | 2 +- pkgs/servers/mx-puppet-discord/node-composition.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/elm/packages/node-composition.nix b/pkgs/development/compilers/elm/packages/node-composition.nix index b6110ac4db99..c825c6c66349 100644 --- a/pkgs/development/compilers/elm/packages/node-composition.nix +++ b/pkgs/development/compilers/elm/packages/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: let nodeEnv = import ../../../node-packages/node-env.nix { diff --git a/pkgs/development/web/playwright-test/default.nix b/pkgs/development/web/playwright-test/default.nix index b795f708f189..d9c0daef7834 100644 --- a/pkgs/development/web/playwright-test/default.nix +++ b/pkgs/development/web/playwright-test/default.nix @@ -2,7 +2,7 @@ {pkgs ? import { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/servers/mx-puppet-discord/node-composition.nix b/pkgs/servers/mx-puppet-discord/node-composition.nix index 2042629fe9f5..bd96f550554b 100644 --- a/pkgs/servers/mx-puppet-discord/node-composition.nix +++ b/pkgs/servers/mx-puppet-discord/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import ../../.. { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: let nodeEnv = import ../../development/node-packages/node-env.nix { From a2976db919afc97b69ce3b7699a1a44ce61bbe5f Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 30 Oct 2023 15:00:22 +0100 Subject: [PATCH 137/147] github-runner: drop Node.js 16-related code As Node.js 16 is dropped from nixpkgs, we don't need support code for Node.js 16 anymore. --- .../tools/continuous-integration/github-runner/default.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix index 57a78dbb3101..c0c15a121738 100644 --- a/pkgs/development/tools/continuous-integration/github-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -15,12 +15,11 @@ , runtimeShell # List of Node.js runtimes the package should support , nodeRuntimes ? [ "node20" ] -, nodejs_16 , nodejs_20 }: # Node.js runtimes supported by upstream -assert builtins.all (x: builtins.elem x [ "node16" "node20" ]) nodeRuntimes; +assert builtins.all (x: builtins.elem x [ "node20" ]) nodeRuntimes; buildDotnetModule rec { pname = "github-runner"; @@ -210,8 +209,6 @@ buildDotnetModule rec { preCheck = '' mkdir -p _layout/externals - '' + lib.optionalString (lib.elem "node16" nodeRuntimes) '' - ln -s ${nodejs_16} _layout/externals/node16 '' + lib.optionalString (lib.elem "node20" nodeRuntimes) '' ln -s ${nodejs_20} _layout/externals/node20 ''; @@ -250,8 +247,6 @@ buildDotnetModule rec { # externals/node$version. As opposed to the official releases, we don't # link the Alpine Node flavors. mkdir -p $out/lib/externals - '' + lib.optionalString (lib.elem "node16" nodeRuntimes) '' - ln -s ${nodejs_16} $out/lib/externals/node16 '' + lib.optionalString (lib.elem "node20" nodeRuntimes) '' ln -s ${nodejs_20} $out/lib/externals/node20 '' + '' From 72911a99d34a4d290671728d40016ba5254f72fe Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 8 Nov 2023 16:38:01 +0100 Subject: [PATCH 138/147] code-server: drop Depends on Node.js 16 and cannot be trivially upgraded to Node.js 18. --- nixos/modules/module-list.nix | 1 - .../modules/services/web-apps/code-server.nix | 259 -------------- nixos/tests/all-tests.nix | 1 - nixos/tests/code-server.nix | 22 -- .../code-server/build-vscode-nogit.patch | 20 -- pkgs/servers/code-server/default.nix | 327 ------------------ pkgs/servers/code-server/playwright.patch | 10 - .../code-server/remove-node-download.patch | 28 -- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 7 - 10 files changed, 1 insertion(+), 675 deletions(-) delete mode 100644 nixos/modules/services/web-apps/code-server.nix delete mode 100644 nixos/tests/code-server.nix delete mode 100644 pkgs/servers/code-server/build-vscode-nogit.patch delete mode 100644 pkgs/servers/code-server/default.nix delete mode 100644 pkgs/servers/code-server/playwright.patch delete mode 100644 pkgs/servers/code-server/remove-node-download.patch diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2e5b1ce90af0..d02c5b593b35 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1240,7 +1240,6 @@ ./services/web-apps/changedetection-io.nix ./services/web-apps/chatgpt-retrieval-plugin.nix ./services/web-apps/cloudlog.nix - ./services/web-apps/code-server.nix ./services/web-apps/convos.nix ./services/web-apps/dex.nix ./services/web-apps/discourse.nix diff --git a/nixos/modules/services/web-apps/code-server.nix b/nixos/modules/services/web-apps/code-server.nix deleted file mode 100644 index 11601f6c3044..000000000000 --- a/nixos/modules/services/web-apps/code-server.nix +++ /dev/null @@ -1,259 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.services.code-server; - defaultUser = "code-server"; - defaultGroup = defaultUser; -in { - options = { - services.code-server = { - enable = lib.mkEnableOption (lib.mdDoc "code-server"); - - package = lib.mkPackageOptionMD pkgs "code-server" { - example = '' - pkgs.vscode-with-extensions.override { - vscode = pkgs.code-server; - vscodeExtensions = with pkgs.vscode-extensions; [ - bbenoist.nix - dracula-theme.theme-dracula - ]; - } - ''; - }; - - extraPackages = lib.mkOption { - default = [ ]; - description = lib.mdDoc '' - Additional packages to add to the code-server {env}`PATH`. - ''; - example = lib.literalExpression "[ pkgs.go ]"; - type = lib.types.listOf lib.types.package; - }; - - extraEnvironment = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - description = lib.mdDoc '' - Additional environment variables to pass to code-server. - ''; - default = { }; - example = { PKG_CONFIG_PATH = "/run/current-system/sw/lib/pkgconfig"; }; - }; - - extraArguments = lib.mkOption { - default = [ ]; - description = lib.mdDoc '' - Additional arguments to pass to code-server. - ''; - example = lib.literalExpression ''[ "--log=info" ]''; - type = lib.types.listOf lib.types.str; - }; - - host = lib.mkOption { - default = "localhost"; - description = lib.mdDoc '' - The host name or IP address the server should listen to. - ''; - type = lib.types.str; - }; - - port = lib.mkOption { - default = 4444; - description = lib.mdDoc '' - The port the server should listen to. - ''; - type = lib.types.port; - }; - - auth = lib.mkOption { - default = "password"; - description = lib.mdDoc '' - The type of authentication to use. - ''; - type = lib.types.enum [ "none" "password" ]; - }; - - hashedPassword = lib.mkOption { - default = ""; - description = lib.mdDoc '' - Create the password with: `echo -n 'thisismypassword' | npx argon2-cli -e`. - ''; - type = lib.types.str; - }; - - user = lib.mkOption { - default = defaultUser; - example = "yourUser"; - description = lib.mdDoc '' - The user to run code-server as. - By default, a user named `${defaultUser}` will be created. - ''; - type = lib.types.str; - }; - - group = lib.mkOption { - default = defaultGroup; - example = "yourGroup"; - description = lib.mdDoc '' - The group to run code-server under. - By default, a group named `${defaultGroup}` will be created. - ''; - type = lib.types.str; - }; - - extraGroups = lib.mkOption { - default = [ ]; - description = lib.mdDoc '' - An array of additional groups for the `${defaultUser}` user. - ''; - example = [ "docker" ]; - type = lib.types.listOf lib.types.str; - }; - - socket = lib.mkOption { - default = null; - example = "/run/code-server/socket"; - description = lib.mdDoc '' - Path to a socket (bind-addr will be ignored). - ''; - type = lib.types.nullOr lib.types.str; - }; - - socketMode = lib.mkOption { - default = null; - description = lib.mdDoc '' - File mode of the socket. - ''; - type = lib.types.nullOr lib.types.str; - }; - - userDataDir = lib.mkOption { - default = null; - description = lib.mdDoc '' - Path to the user data directory. - ''; - type = lib.types.nullOr lib.types.str; - }; - - extensionsDir = lib.mkOption { - default = null; - description = lib.mdDoc '' - Path to the extensions directory. - ''; - type = lib.types.nullOr lib.types.str; - }; - - proxyDomain = lib.mkOption { - default = null; - example = "code-server.lan"; - description = lib.mdDoc '' - Domain used for proxying ports. - ''; - type = lib.types.nullOr lib.types.str; - }; - - disableTelemetry = lib.mkOption { - default = false; - example = true; - description = lib.mdDoc '' - Disable telemetry. - ''; - type = lib.types.bool; - }; - - disableUpdateCheck = lib.mkOption { - default = false; - example = true; - description = lib.mdDoc '' - Disable update check. - Without this flag, code-server checks every 6 hours against the latest github release and - then notifies you once every week that a new release is available. - ''; - type = lib.types.bool; - }; - - disableFileDownloads = lib.mkOption { - default = false; - example = true; - description = lib.mdDoc '' - Disable file downloads from Code. - ''; - type = lib.types.bool; - }; - - disableWorkspaceTrust = lib.mkOption { - default = false; - example = true; - description = lib.mdDoc '' - Disable Workspace Trust feature. - ''; - type = lib.types.bool; - }; - - disableGettingStartedOverride = lib.mkOption { - default = false; - example = true; - description = lib.mdDoc '' - Disable the coder/coder override in the Help: Getting Started page. - ''; - type = lib.types.bool; - }; - - }; - }; - - config = lib.mkIf cfg.enable { - systemd.services.code-server = { - description = "Code server"; - wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" ]; - path = cfg.extraPackages; - environment = { - HASHED_PASSWORD = cfg.hashedPassword; - } // cfg.extraEnvironment; - serviceConfig = { - ExecStart = '' - ${lib.getExe cfg.package} \ - --auth=${cfg.auth} \ - --bind-addr=${cfg.host}:${toString cfg.port} \ - '' + lib.optionalString (cfg.socket != null) '' - --socket=${cfg.socket} \ - '' + lib.optionalString (cfg.userDataDir != null) '' - --user-data-dir=${cfg.userDataDir} \ - '' + lib.optionalString (cfg.extensionsDir != null) '' - --extensions-dir=${cfg.extensionsDir} \ - '' + lib.optionalString (cfg.disableTelemetry == true) '' - --disable-telemetry \ - '' + lib.optionalString (cfg.disableUpdateCheck == true) '' - --disable-update-check \ - '' + lib.optionalString (cfg.disableFileDownloads == true) '' - --disable-file-downloads \ - '' + lib.optionalString (cfg.disableWorkspaceTrust == true) '' - --disable-workspace-trust \ - '' + lib.optionalString (cfg.disableGettingStartedOverride == true) '' - --disable-getting-started-override \ - '' + lib.escapeShellArgs cfg.extraArguments; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - RuntimeDirectory = cfg.user; - User = cfg.user; - Group = cfg.group; - Restart = "on-failure"; - }; - }; - - users.users."${cfg.user}" = lib.mkMerge [ - (lib.mkIf (cfg.user == defaultUser) { - isNormalUser = true; - description = "code-server user"; - inherit (cfg) group; - }) - { - packages = cfg.extraPackages; - inherit (cfg) extraGroups; - } - ]; - - users.groups."${defaultGroup}" = lib.mkIf (cfg.group == defaultGroup) { }; - }; - - meta.maintainers = [ lib.maintainers.stackshadow ]; -} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 6c127efa4cea..6a654b00d76c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -192,7 +192,6 @@ in { cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {}; cockpit = handleTest ./cockpit.nix {}; cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {}; - code-server = handleTest ./code-server.nix {}; coder = handleTest ./coder.nix {}; collectd = handleTest ./collectd.nix {}; connman = handleTest ./connman.nix {}; diff --git a/nixos/tests/code-server.nix b/nixos/tests/code-server.nix deleted file mode 100644 index 7d523dfc617e..000000000000 --- a/nixos/tests/code-server.nix +++ /dev/null @@ -1,22 +0,0 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -{ - name = "code-server"; - - nodes = { - machine = {pkgs, ...}: { - services.code-server = { - enable = true; - auth = "none"; - }; - }; - }; - - testScript = '' - start_all() - machine.wait_for_unit("code-server.service") - machine.wait_for_open_port(4444) - machine.succeed("curl -k --fail http://localhost:4444", timeout=10) - ''; - - meta.maintainers = [ lib.maintainers.drupol ]; -}) diff --git a/pkgs/servers/code-server/build-vscode-nogit.patch b/pkgs/servers/code-server/build-vscode-nogit.patch deleted file mode 100644 index ec726c68d438..000000000000 --- a/pkgs/servers/code-server/build-vscode-nogit.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh -index a72549fb..3aed1ad5 100755 ---- a/ci/build/build-vscode.sh -+++ b/ci/build/build-vscode.sh -@@ -58,7 +58,6 @@ main() { - # telemetry available; telemetry can still be disabled by flag or setting). - # This needs to be done before building as Code will read this file and embed - # it into the client-side code. -- git checkout product.json # Reset in case the script exited early. - cp product.json product.original.json # Since jq has no inline edit. - jq --slurp '.[0] * .[1]' product.original.json <( - cat << EOF -@@ -105,7 +104,6 @@ EOF - # Reset so if you develop after building you will not be stuck with the wrong - # commit (the dev client will use `oss-dev` but the dev server will still use - # product.json which will have `stable-$commit`). -- git checkout product.json - - popd - diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix deleted file mode 100644 index 0c5cb2310852..000000000000 --- a/pkgs/servers/code-server/default.nix +++ /dev/null @@ -1,327 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildGoModule -, makeWrapper -, cacert -, moreutils -, jq -, git -, rsync -, pkg-config -, yarn -, python3 -, esbuild -, nodejs -, node-gyp -, libsecret -, xorg -, ripgrep -, AppKit -, Cocoa -, CoreServices -, Security -, cctools -, xcbuild -, quilt -, nixosTests -}: - -let - system = stdenv.hostPlatform.system; - - python = python3; - yarn' = yarn.override { inherit nodejs; }; - defaultYarnOpts = [ ]; - - esbuild' = esbuild.override { - buildGoModule = args: buildGoModule (args // rec { - version = "0.16.17"; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); - }; - - # replaces esbuild's download script with a binary from nixpkgs - patchEsbuild = path: version: '' - mkdir -p ${path}/node_modules/esbuild/bin - jq "del(.scripts.postinstall)" ${path}/node_modules/esbuild/package.json | sponge ${path}/node_modules/esbuild/package.json - sed -i 's/${version}/${esbuild'.version}/g' ${path}/node_modules/esbuild/lib/main.js - ln -s -f ${esbuild'}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild - ''; - - # Comment from @code-asher, the code-server maintainer - # See https://github.com/NixOS/nixpkgs/pull/240001#discussion_r1244303617 - # - # If the commit is missing it will break display languages (Japanese, Spanish, - # etc). For some reason VS Code has a hard dependency on the commit being set - # for that functionality. - # The commit is also used in cache busting. Without the commit you could run - # into issues where the browser is loading old versions of assets from the - # cache. - # Lastly, it can be helpful for the commit to be accurate in bug reports - # especially when they are built outside of our CI as sometimes the version - # numbers can be unreliable (since they are arbitrarily provided). - # - # To compute the commit when upgrading this derivation, do: - # `$ git rev-parse ` where is the git revision of the `src` - # Example: `$ git rev-parse v4.16.1` - commit = "94ef3776ad7bebfb5780dfc9632e04d20d5c9a6c"; -in -stdenv.mkDerivation (finalAttrs: { - pname = "code-server"; - version = "4.16.1"; - - src = fetchFromGitHub { - owner = "coder"; - repo = "code-server"; - rev = "v${finalAttrs.version}"; - fetchSubmodules = true; - hash = "sha256-h4AooHHKV/EfN2S1z7CQKqnYW3uA3sKhSW4senlzjxI="; - }; - - yarnCache = stdenv.mkDerivation { - name = "${finalAttrs.pname}-${finalAttrs.version}-${system}-yarn-cache"; - inherit (finalAttrs) src; - - nativeBuildInputs = [ yarn' git cacert ]; - - buildPhase = '' - runHook preBuild - - export HOME=$PWD - export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt" - - yarn --cwd "./vendor" install --modules-folder modules --ignore-scripts --frozen-lockfile - - yarn config set yarn-offline-mirror $out - find "$PWD" -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} yarn --cwd {} \ - --frozen-lockfile --ignore-scripts --ignore-platform \ - --ignore-engines --no-progress --non-interactive - - find ./lib/vscode -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} yarn --cwd {} \ - --ignore-scripts --ignore-engines - - runHook postBuild - ''; - - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = "sha256-vkju+oxEYrEXFAnjz/Mf1g0ZhxBALLAaRuWE0swSWwM="; - }; - - nativeBuildInputs = [ - nodejs - yarn' - python - pkg-config - makeWrapper - git - rsync - jq - moreutils - quilt - ]; - - buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ] - ++ (with xorg; [ libX11 libxkbfile ]) - ++ lib.optionals stdenv.isDarwin [ - AppKit - Cocoa - CoreServices - Security - cctools - xcbuild - ]; - - patches = [ - # Remove all git calls from the VS Code build script except `git rev-parse - # HEAD` which is replaced in postPatch with the commit. - ./build-vscode-nogit.patch - ]; - - postPatch = '' - export HOME=$PWD - - patchShebangs ./ci - - # inject git commit - substituteInPlace ./ci/build/build-vscode.sh \ - --replace '$(git rev-parse HEAD)' "${commit}" - substituteInPlace ./ci/build/build-release.sh \ - --replace '$(git rev-parse HEAD)' "${commit}" - ''; - - configurePhase = '' - runHook preConfigure - - # run yarn offline by default - echo '--install.offline true' >> .yarnrc - - # set default yarn opts - ${lib.concatMapStrings (option: '' - yarn --offline config set ${option} - '') defaultYarnOpts} - - # set offline mirror to yarn cache we created in previous steps - yarn --offline config set yarn-offline-mirror "${finalAttrs.yarnCache}" - - # skip unnecessary electron download - export ELECTRON_SKIP_BINARY_DOWNLOAD=1 - - # set nodedir to prevent node-gyp from downloading headers - # taken from https://nixos.org/manual/nixpkgs/stable/#javascript-tool-specific - mkdir -p $HOME/.node-gyp/${nodejs.version} - echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion - ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version} - export npm_config_nodedir=${nodejs} - - # use updated node-gyp. fixes the following error on Darwin: - # PermissionError: [Errno 1] Operation not permitted: '/usr/sbin/pkgutil' - export npm_config_node_gyp=${node-gyp}/lib/node_modules/node-gyp/bin/node-gyp.js - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - # install code-server dependencies - yarn --offline --ignore-scripts - - # apply patches - quilt push -a - - # patch shebangs of everything to allow binary packages to build - patchShebangs . - - export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 - export SKIP_SUBMODULE_DEPS=1 - export NODE_OPTIONS=--openssl-legacy-provider - - # rebuild binary packages now that scripts have been patched - echo "----- NPM rebuild" - npm rebuild --prefer-offline - - # Replicate ci/dev/postinstall.sh - echo "----- Replicate ci/dev/postinstall.sh" - yarn --cwd "./vendor" install --modules-folder modules --offline --ignore-scripts --frozen-lockfile - - # remove all built-in extensions, as these are 3rd party extensions that - # get downloaded from vscode marketplace - jq --slurp '.[0] * .[1]' "./lib/vscode/product.json" <( - cat << EOF - { - "builtInExtensions": [] - } - EOF - ) | sponge ./lib/vscode/product.json - - # disable automatic updates - sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \ - lib/vscode/src/vs/platform/update/common/update.config.contribution.ts - - # Patch out remote download of nodejs from build script - patch -p1 -i ${./remove-node-download.patch} - - # Fetch packages for vscode - find ./lib/vscode -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} yarn --cwd {} \ - --frozen-lockfile --ignore-scripts --ignore-engines - - # patch shebangs of everything to allow binary packages to build - patchShebangs . - - ${patchEsbuild "./lib/vscode/build" "0.12.6"} - ${patchEsbuild "./lib/vscode/extensions" "0.11.23"} - '' + lib.optionalString stdenv.isDarwin '' - # use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+ - # (see issue #101229) - pushd ./lib/vscode/remote/node_modules/@parcel/watcher - mkdir -p ./build/Release - mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node - jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json - popd - '' + '' - - # put ripgrep binary into bin, so postinstall does not try to download it - find -name ripgrep -type d \ - -execdir mkdir -p {}/bin \; \ - -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \; - - # run postinstall scripts after patching - find ./lib/vscode \( -path "*/node_modules/*" -or -path "*/extensions/*" \) \ - -and -type f -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true' - - # build code-server - yarn build - - # build vscode - VERSION=${finalAttrs.version} yarn build:vscode - - # inject version into package.json - jq --slurp '.[0] * .[1]' ./package.json <( - cat << EOF - { - "version": "${finalAttrs.version}" - } - EOF - ) | sponge ./package.json - - # create release - yarn release - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/libexec/code-server $out/bin - - # copy release to libexec path - cp -R -T release "$out/libexec/code-server" - - # install only production dependencies - yarn --offline --cwd "$out/libexec/code-server" --production - - # create wrapper - makeWrapper "${nodejs}/bin/node" "$out/bin/code-server" \ - --add-flags "$out/libexec/code-server/out/node/entry.js" - - runHook postInstall - ''; - - passthru = { - prefetchYarnCache = lib.overrideDerivation finalAttrs.yarnCache (d: { - outputHash = lib.fakeSha256; - }); - tests = { - inherit (nixosTests) code-server; - }; - # vscode-with-extensions compatibility - executableName = "code-server"; - longName = "Visual Studio Code Server"; - }; - - meta = { - description = "Run VS Code on a remote server"; - longDescription = '' - code-server is VS Code running on a remote server, accessible through the - browser. - ''; - homepage = "https://github.com/coder/code-server"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ offline henkery code-asher ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; - mainProgram = "code-server"; - }; -}) diff --git a/pkgs/servers/code-server/playwright.patch b/pkgs/servers/code-server/playwright.patch deleted file mode 100644 index 95a74748189d..000000000000 --- a/pkgs/servers/code-server/playwright.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ./vendor/modules/code-oss-dev/node_modules/playwright/install.js -+++ ./vendor/modules/code-oss-dev/node_modules/playwright/install.js -@@ -14,6 +14,4 @@ - * limitations under the License. - */ - --const { installDefaultBrowsersForNpmInstall } = require('playwright-core/lib/utils/registry'); -- --installDefaultBrowsersForNpmInstall(); -+process.stdout.write('Browser install disabled by Nix build script\n'); diff --git a/pkgs/servers/code-server/remove-node-download.patch b/pkgs/servers/code-server/remove-node-download.patch deleted file mode 100644 index d19d4a2b5bf7..000000000000 --- a/pkgs/servers/code-server/remove-node-download.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- ./lib/vscode/build/gulpfile.reh.js -+++ ./lib/vscode/build/gulpfile.reh.js -@@ -268,9 +268,6 @@ - .pipe(util.stripSourceMappingURL()) - .pipe(jsFilter.restore); - -- const nodePath = `.build/node/v${nodeVersion}/${platform}-${arch}`; -- const node = gulp.src(`${nodePath}/**`, { base: nodePath, dot: true }); -- - let web = []; - if (type === 'reh-web') { - web = [ -@@ -287,7 +284,6 @@ - license, - sources, - deps, -- node, - ...web - ); - -@@ -385,7 +381,6 @@ - const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`; - - const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series( -- gulp.task(`node-${platform}-${arch}`), - util.rimraf(path.join(BUILD_ROOT, destinationFolderName)), - packageTask(type, platform, arch, sourceFolderName, destinationFolderName) - )); diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ef11a1267624..22d68425f928 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -152,6 +152,7 @@ mapAliases ({ clasp = clingo; # added 2022-12-22 claws-mail-gtk3 = claws-mail; # Added 2021-07-10 cntk = throw "'cntk' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-10-09 + code-server = throw "'code-server' has been removed from nixpkgs, as it was depending on EOL Node.js and is unmaintained."; # Added 2023-10-30 codimd = hedgedoc; # Added 2020-11-29 inherit (libsForQt5.mauiPackages) communicator; # added 2022-05-17 compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 963f4bfdaa78..e9db16541597 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36345,13 +36345,6 @@ with pkgs; inherit (nodePackages) node-gyp; }; - code-server = callPackage ../servers/code-server { - nodejs = nodejs_16; - inherit (darwin.apple_sdk.frameworks) AppKit Cocoa CoreServices Security; - inherit (darwin) cctools; - inherit (nodePackages) node-gyp; - }; - vue = callPackage ../applications/misc/vue { }; vuze = callPackage ../applications/networking/p2p/vuze { From 7d0e6984c6f8aac8360e1778d39ea2877278a7b4 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Sat, 4 Nov 2023 18:20:16 +0100 Subject: [PATCH 139/147] rl-2311: explain how dependent packages were removed due to Node.js drop --- nixos/doc/manual/release-notes/rl-2311.section.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 1dbc33f2373a..c00f60107fc7 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -547,6 +547,10 @@ The module update takes care of the new config syntax and the data itself (user ## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals} +- Node.js v14, v16 has been removed as they were end of life. Any dependent packages that contributors were not able to reasonably upgrade were dropped after a month of notice to their maintainers, were **removed**. + - This includes VSCode Server. + - This includes Kibana 7 as the ELK stack is unmaintained in nixpkgs and is marked for slow removal. + - The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and similar lines in package derivations using the default `unpackPhase` is deprecated as it requires `unpackPhase` to always produce a directory named "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`, or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead. - The `django` alias in the python package set was upgraded to Django 4.x. From 9e635a13ab0d03438a139ad7c5fc81396c52855b Mon Sep 17 00:00:00 2001 From: Mynacol Date: Fri, 17 Nov 2023 20:47:43 +0100 Subject: [PATCH 140/147] nextcloudPackages: Add cookbook, music and update I added "cookbook" and "music" to `nextcloud-apps.json` and ran `./generate.sh`. This also updated the already existing app's metadata. --- pkgs/servers/nextcloud/packages/26.json | 78 ++++++++++++------- pkgs/servers/nextcloud/packages/27.json | 78 ++++++++++++------- .../nextcloud/packages/nextcloud-apps.json | 2 + 3 files changed, 100 insertions(+), 58 deletions(-) diff --git a/pkgs/servers/nextcloud/packages/26.json b/pkgs/servers/nextcloud/packages/26.json index 10146a318324..82d03843ad9a 100644 --- a/pkgs/servers/nextcloud/packages/26.json +++ b/pkgs/servers/nextcloud/packages/26.json @@ -10,9 +10,9 @@ ] }, "calendar": { - "sha256": "1827l5hxsvfnyc2m78rs95cnb2fwi14nl7ricpl25ndh1j0a7ccz", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.2/calendar-v4.5.2.tar.gz", - "version": "4.5.2", + "sha256": "1iq8np72pjw2bn4zmbp2rmrh12n4z62rwrz2bb94xjza1fws7b2v", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.3/calendar-v4.5.3.tar.gz", + "version": "4.5.3", "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* πŸ™‹ **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* πŸ” Search! Find your events at ease\n* β˜‘οΈ Tasks! See tasks with a due date directly in the calendar\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -29,6 +29,16 @@ "agpl" ] }, + "cookbook": { + "sha256": "18rzvdqd99nlkk3p0y9y8b17ihw5c4c9wsx8psq6xadspm97002y", + "url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz", + "version": "0.10.2", + "description": "A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings.", + "homepage": "", + "licenses": [ + "agpl" + ] + }, "cospend": { "sha256": "1rg9k33yapbl8chpxx3bjyzc9h4krjavksbxsvw14kpm01rss3j9", "url": "https://github.com/julien-nc/cospend-nc/releases/download/v1.5.10/cospend-1.5.10.tar.gz", @@ -40,9 +50,9 @@ ] }, "deck": { - "sha256": "0j228lbf0zrm2sq45f9abgkln1qzgrkw8ac5r6fhyi0qfxcpmm0m", - "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.9.3/deck-v1.9.3.tar.gz", - "version": "1.9.3", + "sha256": "15hir3fssvzyysazbaad8qiz0bv00x73c2wfdj5aviz9h0gp4x4v", + "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.9.4/deck-v1.9.4.tar.gz", + "version": "1.9.4", "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- πŸ“₯ Add your tasks to cards and put them in order\n- πŸ“„ Write down additional notes in Markdown\n- πŸ”– Assign labels for even better organization\n- πŸ‘₯ Share with your team, friends or family\n- πŸ“Ž Attach files and embed them in your Markdown description\n- πŸ’¬ Discuss with your team using comments\n- ⚑ Keep track of changes in the activity stream\n- πŸš€ Get your project organized", "homepage": "https://github.com/nextcloud/deck", "licenses": [ @@ -93,7 +103,7 @@ "sha256": "0imddmyg9s1v3d20spr26g7mbyz2mwl3v2l1a4nz5kaxl3a6fsr2", "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.13.1/impersonate-v1.13.1.tar.gz", "version": "1.13.1", - "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.", + "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.\n- You can limit which users/groups can use impersonation in Administration settings > Additional settings.", "homepage": "https://github.com/nextcloud/impersonate", "licenses": [ "agpl" @@ -110,10 +120,10 @@ ] }, "mail": { - "sha256": "0mr3npd48j444lalkph1z8rsz5jllpgdrcqsjdrqgmf70y0g55mh", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.3/mail-v3.4.3.tar.gz", - "version": "3.4.3", - "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!", + "sha256": "0ascail3vfkv3mm5s4s3ma74d6qxai76kdqxknmljnw56xb19qfv", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.4/mail-v3.4.4.tar.gz", + "version": "3.4.4", + "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ "agpl" @@ -130,15 +140,25 @@ ] }, "memories": { - "sha256": "0i146mlg27phs407clclksn1wjkyl0c5fb2zw0npbx5dvqnpglcd", - "url": "https://github.com/pulsejet/memories/releases/download/v6.0.1/memories.tar.gz", - "version": "6.0.1", + "sha256": "1yn1wkv4jxpc8faf4rl46yfddyplnryrkws3jz0x1wcr9zlxdkng", + "url": "https://github.com/pulsejet/memories/releases/download/v6.1.0/memories.tar.gz", + "version": "6.1.0", "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **πŸ“Έ Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **βͺ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **πŸ€– AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **πŸ–ΌοΈ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **πŸ«±πŸ»β€πŸ«²πŸ» External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **πŸ“± Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **πŸ“¦ Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **πŸ“Ή Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **πŸ—ΊοΈ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **πŸ“¦ Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚑️ Performance**: Do all this very fast.\n\n## πŸš€ Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the πŸ“· Memories app in Nextcloud and set the directory containing your photos.", "homepage": "https://memories.gallery", "licenses": [ "agpl" ] }, + "music": { + "sha256": "06w82v34csx4scl5n4k4fpdxiivrzjb3yvj3hh4bc15gdz68cis9", + "url": "https://github.com/owncloud/music/releases/download/v1.9.1/music_1.9.1_for_nextcloud.tar.gz", + "version": "1.9.1", + "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone", + "homepage": "https://github.com/owncloud/music", + "licenses": [ + "agpl" + ] + }, "news": { "sha256": "1bkh73h0ibxyjpy3cmvhnlr7isvgqkcxdw2dw15mxksj2cln9wki", "url": "https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz", @@ -160,9 +180,9 @@ ] }, "notify_push": { - "sha256": "0hdxnkar2ibis5p0gp3yr1i6894la9wxq4pzrbqdrq2cgvsj6a18", - "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.3/notify_push-v0.6.3.tar.gz", - "version": "0.6.3", + "sha256": "0lwyy1pnyfw464vab1v5k8q0rgarrj5w12cf1nsywjaafb8y1ym0", + "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.5/notify_push-v0.6.5.tar.gz", + "version": "0.6.5", "description": "Push update support for desktop app.\n\nOnce the app is installed, the push binary needs to be setup. You can either use the setup wizard with `occ notify_push:setup` or see the [README](http://github.com/nextcloud/notify_push) for detailed setup instructions", "homepage": "", "licenses": [ @@ -180,9 +200,9 @@ ] }, "polls": { - "sha256": "1v5zb164f60qskfiv02l9x2v0d4rayacg5qivd70dawmyqnz4vmd", - "url": "https://github.com/nextcloud/polls/releases/download/v5.3.2/polls.tar.gz", - "version": "5.3.2", + "sha256": "1dmws4ybv3pzxz5g9c7ghblx0nfal2ssmsg7hjcs1n4xcjc6585p", + "url": "https://github.com/nextcloud/polls/releases/download/v5.4.2/polls.tar.gz", + "version": "5.4.2", "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).", "homepage": "https://github.com/nextcloud/polls", "licenses": [ @@ -240,9 +260,9 @@ ] }, "twofactor_nextcloud_notification": { - "sha256": "03fp8wcwhyp8ivrcf20klgg17sxc9fia5sa44rbrv3cicmwmw50b", - "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.7.0/twofactor_nextcloud_notification-v3.7.0.tar.gz", - "version": "3.7.0", + "sha256": "0gaqgzbryim580dxarak7p4g3wd8wp3w6lw9jhl84jh46wrsbrj8", + "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.8.0/twofactor_nextcloud_notification-v3.8.0.tar.gz", + "version": "3.8.0", "description": "Allows using any of your logged in devices as second factor", "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification", "licenses": [ @@ -250,9 +270,9 @@ ] }, "twofactor_webauthn": { - "sha256": "1lqcw74rsnl8c4sirw9208ra3c8zl8zp93scs7y8fv2n4n60l465", - "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.2.0/twofactor_webauthn-v1.2.0.tar.gz", - "version": "1.2.0", + "sha256": "0z6m2chq5kxc8f10g6n1lh51yi10svy2qp5gp0v8xs71apqcc2wx", + "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.3.0/twofactor_webauthn-v1.3.0.tar.gz", + "version": "1.3.0", "description": "A two-factor provider for WebAuthn devices", "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme", "licenses": [ @@ -270,9 +290,9 @@ ] }, "user_saml": { - "sha256": "1gsq5mcn5nnxd56jlp4j2610gqq2gk3ma9yvhgy74wl0sqil98jd", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.2/user_saml-v5.2.2.tar.gz", - "version": "5.2.2", + "sha256": "04ivgqdls72p6x5yrh5p5ycbbfmxhzd0dqin1grblm6cbl7b4s2k", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.4/user_saml-v5.2.4.tar.gz", + "version": "5.2.4", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/27.json b/pkgs/servers/nextcloud/packages/27.json index 257a773ecb76..6ecb1f3f522b 100644 --- a/pkgs/servers/nextcloud/packages/27.json +++ b/pkgs/servers/nextcloud/packages/27.json @@ -10,9 +10,9 @@ ] }, "calendar": { - "sha256": "1827l5hxsvfnyc2m78rs95cnb2fwi14nl7ricpl25ndh1j0a7ccz", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.2/calendar-v4.5.2.tar.gz", - "version": "4.5.2", + "sha256": "1iq8np72pjw2bn4zmbp2rmrh12n4z62rwrz2bb94xjza1fws7b2v", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.3/calendar-v4.5.3.tar.gz", + "version": "4.5.3", "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* πŸ™‹ **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* πŸ” Search! Find your events at ease\n* β˜‘οΈ Tasks! See tasks with a due date directly in the calendar\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -29,6 +29,16 @@ "agpl" ] }, + "cookbook": { + "sha256": "18rzvdqd99nlkk3p0y9y8b17ihw5c4c9wsx8psq6xadspm97002y", + "url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz", + "version": "0.10.2", + "description": "A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings.", + "homepage": "", + "licenses": [ + "agpl" + ] + }, "cospend": { "sha256": "1rg9k33yapbl8chpxx3bjyzc9h4krjavksbxsvw14kpm01rss3j9", "url": "https://github.com/julien-nc/cospend-nc/releases/download/v1.5.10/cospend-1.5.10.tar.gz", @@ -40,9 +50,9 @@ ] }, "deck": { - "sha256": "060im5zlj7w6x9d5jpxsziqc8ym6fk573dynvdz231jx360s52g6", - "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.11.0/deck-v1.11.0.tar.gz", - "version": "1.11.0", + "sha256": "18gscc95zay7nrzdm1h5b52r4bpmpzc1h1xb00214qnb59mydiwr", + "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.11.1/deck-v1.11.1.tar.gz", + "version": "1.11.1", "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- πŸ“₯ Add your tasks to cards and put them in order\n- πŸ“„ Write down additional notes in Markdown\n- πŸ”– Assign labels for even better organization\n- πŸ‘₯ Share with your team, friends or family\n- πŸ“Ž Attach files and embed them in your Markdown description\n- πŸ’¬ Discuss with your team using comments\n- ⚑ Keep track of changes in the activity stream\n- πŸš€ Get your project organized", "homepage": "https://github.com/nextcloud/deck", "licenses": [ @@ -93,7 +103,7 @@ "sha256": "1rpqi7yqzhmdqfl2hq326zv91gn246bgqjzcimsiap20f22z169j", "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.14.0/impersonate-v1.14.0.tar.gz", "version": "1.14.0", - "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.", + "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.\n- You can limit which users/groups can use impersonation in Administration settings > Additional settings.", "homepage": "https://github.com/nextcloud/impersonate", "licenses": [ "agpl" @@ -110,10 +120,10 @@ ] }, "mail": { - "sha256": "0mr3npd48j444lalkph1z8rsz5jllpgdrcqsjdrqgmf70y0g55mh", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.3/mail-v3.4.3.tar.gz", - "version": "3.4.3", - "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!", + "sha256": "0ascail3vfkv3mm5s4s3ma74d6qxai76kdqxknmljnw56xb19qfv", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.4/mail-v3.4.4.tar.gz", + "version": "3.4.4", + "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ "agpl" @@ -130,15 +140,25 @@ ] }, "memories": { - "sha256": "0i146mlg27phs407clclksn1wjkyl0c5fb2zw0npbx5dvqnpglcd", - "url": "https://github.com/pulsejet/memories/releases/download/v6.0.1/memories.tar.gz", - "version": "6.0.1", + "sha256": "1yn1wkv4jxpc8faf4rl46yfddyplnryrkws3jz0x1wcr9zlxdkng", + "url": "https://github.com/pulsejet/memories/releases/download/v6.1.0/memories.tar.gz", + "version": "6.1.0", "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **πŸ“Έ Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **βͺ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **πŸ€– AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **πŸ–ΌοΈ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **πŸ«±πŸ»β€πŸ«²πŸ» External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **πŸ“± Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **πŸ“¦ Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **πŸ“Ή Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **πŸ—ΊοΈ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **πŸ“¦ Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚑️ Performance**: Do all this very fast.\n\n## πŸš€ Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the πŸ“· Memories app in Nextcloud and set the directory containing your photos.", "homepage": "https://memories.gallery", "licenses": [ "agpl" ] }, + "music": { + "sha256": "06w82v34csx4scl5n4k4fpdxiivrzjb3yvj3hh4bc15gdz68cis9", + "url": "https://github.com/owncloud/music/releases/download/v1.9.1/music_1.9.1_for_nextcloud.tar.gz", + "version": "1.9.1", + "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone", + "homepage": "https://github.com/owncloud/music", + "licenses": [ + "agpl" + ] + }, "news": { "sha256": "1bkh73h0ibxyjpy3cmvhnlr7isvgqkcxdw2dw15mxksj2cln9wki", "url": "https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz", @@ -160,9 +180,9 @@ ] }, "notify_push": { - "sha256": "0hdxnkar2ibis5p0gp3yr1i6894la9wxq4pzrbqdrq2cgvsj6a18", - "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.3/notify_push-v0.6.3.tar.gz", - "version": "0.6.3", + "sha256": "0lwyy1pnyfw464vab1v5k8q0rgarrj5w12cf1nsywjaafb8y1ym0", + "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.5/notify_push-v0.6.5.tar.gz", + "version": "0.6.5", "description": "Push update support for desktop app.\n\nOnce the app is installed, the push binary needs to be setup. You can either use the setup wizard with `occ notify_push:setup` or see the [README](http://github.com/nextcloud/notify_push) for detailed setup instructions", "homepage": "", "licenses": [ @@ -180,9 +200,9 @@ ] }, "polls": { - "sha256": "1v5zb164f60qskfiv02l9x2v0d4rayacg5qivd70dawmyqnz4vmd", - "url": "https://github.com/nextcloud/polls/releases/download/v5.3.2/polls.tar.gz", - "version": "5.3.2", + "sha256": "1dmws4ybv3pzxz5g9c7ghblx0nfal2ssmsg7hjcs1n4xcjc6585p", + "url": "https://github.com/nextcloud/polls/releases/download/v5.4.2/polls.tar.gz", + "version": "5.4.2", "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).", "homepage": "https://github.com/nextcloud/polls", "licenses": [ @@ -240,9 +260,9 @@ ] }, "twofactor_nextcloud_notification": { - "sha256": "03fp8wcwhyp8ivrcf20klgg17sxc9fia5sa44rbrv3cicmwmw50b", - "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.7.0/twofactor_nextcloud_notification-v3.7.0.tar.gz", - "version": "3.7.0", + "sha256": "0gaqgzbryim580dxarak7p4g3wd8wp3w6lw9jhl84jh46wrsbrj8", + "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.8.0/twofactor_nextcloud_notification-v3.8.0.tar.gz", + "version": "3.8.0", "description": "Allows using any of your logged in devices as second factor", "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification", "licenses": [ @@ -250,9 +270,9 @@ ] }, "twofactor_webauthn": { - "sha256": "1lqcw74rsnl8c4sirw9208ra3c8zl8zp93scs7y8fv2n4n60l465", - "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.2.0/twofactor_webauthn-v1.2.0.tar.gz", - "version": "1.2.0", + "sha256": "0z6m2chq5kxc8f10g6n1lh51yi10svy2qp5gp0v8xs71apqcc2wx", + "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.3.0/twofactor_webauthn-v1.3.0.tar.gz", + "version": "1.3.0", "description": "A two-factor provider for WebAuthn devices", "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme", "licenses": [ @@ -270,9 +290,9 @@ ] }, "user_saml": { - "sha256": "1gsq5mcn5nnxd56jlp4j2610gqq2gk3ma9yvhgy74wl0sqil98jd", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.2/user_saml-v5.2.2.tar.gz", - "version": "5.2.2", + "sha256": "04ivgqdls72p6x5yrh5p5ycbbfmxhzd0dqin1grblm6cbl7b4s2k", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.4/user_saml-v5.2.4.tar.gz", + "version": "5.2.4", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json index bbbe556f6cbe..8b6f49c524c5 100644 --- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json +++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json @@ -2,6 +2,7 @@ "bookmarks": "agpl3Plus" , "calendar": "agpl3Plus" , "contacts": "agpl3Plus" +, "cookbook": "agpl3Plus" , "cospend": "agpl3Plus" , "deck": "agpl3Plus" , "files_texteditor": "agpl3Plus" @@ -13,6 +14,7 @@ , "mail": "agpl3Plus" , "maps": "agpl3Plus" , "memories": "agpl3Plus" +, "music": "agpl3Plus" , "news": "agpl3Plus" , "notes": "agpl3Plus" , "notify_push": "agpl3Plus" From c7aba8ab6069c4dbd9af39657fe4a7fc6645e477 Mon Sep 17 00:00:00 2001 From: Dominic Shelton Date: Wed, 15 Nov 2023 01:54:21 +1100 Subject: [PATCH 141/147] libusbsio: Add darwin support --- .../libraries/libusbsio/default.nix | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libusbsio/default.nix b/pkgs/development/libraries/libusbsio/default.nix index 1982311919ba..090683898a16 100644 --- a/pkgs/development/libraries/libusbsio/default.nix +++ b/pkgs/development/libraries/libusbsio/default.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchzip, pkg-config, libusb1, systemdMinimal }: -let - binDirPrefix = if stdenv.isDarwin then "osx_" else "linux_"; -in +{ lib +, stdenv +, fetchzip +, pkg-config +, fixDarwinDylibNames +, libusb1 +, systemdMinimal +, darwin +}: + stdenv.mkDerivation rec { pname = "libusbsio"; version = "2.1.11"; @@ -15,15 +21,30 @@ stdenv.mkDerivation rec { rm -r bin/* ''; - nativeBuildInputs = [ pkg-config ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "BINDIR=" + ]; + + nativeBuildInputs = [ + pkg-config + ] ++ lib.optionals stdenv.isDarwin [ + fixDarwinDylibNames + ]; + buildInputs = [ libusb1 + ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + AppKit + CoreFoundation + IOKit + ]) ++ lib.optionals stdenv.isLinux [ systemdMinimal # libudev ]; installPhase = '' runHook preInstall - install -D bin/${binDirPrefix}${stdenv.hostPlatform.parsed.cpu.name}/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary} + install -D bin/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary} runHook postInstall ''; From 31a8e9236733e939eb9482fb57d1e4e2cb6a784d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 17 Nov 2023 22:24:53 +0100 Subject: [PATCH 142/147] python311Packages.python-ldap: 3.4.3 -> 3.4.4 https://github.com/python-ldap/python-ldap/releases/tag/python-ldap-3.4.4 --- .../python-modules/python-ldap/default.nix | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/python-ldap/default.nix b/pkgs/development/python-modules/python-ldap/default.nix index db9565607a66..5bc9f3fecfcc 100644 --- a/pkgs/development/python-modules/python-ldap/default.nix +++ b/pkgs/development/python-modules/python-ldap/default.nix @@ -2,27 +2,41 @@ , stdenv , buildPythonPackage , fetchFromGitHub -, pyasn1 -, pyasn1-modules -, pythonAtLeast , pythonOlder -, pytestCheckHook + +# build-system +, setuptools + +# native dependencies , openldap , cyrus_sasl + +# dependencies +, pyasn1 +, pyasn1-modules + +# tests +, pytestCheckHook }: buildPythonPackage rec { pname = "python-ldap"; - version = "3.4.3"; + version = "3.4.4"; + pyproject = true; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = "python-ldap"; + repo = "python-ldap"; rev = "refs/tags/python-ldap-${version}"; - hash = "sha256-/ehvSs2qjuTPhaaOP0agPbWyyRugBpUlPq/Ny9t2C58="; + hash = "sha256-v1cWoRGxbvvFnHqnwoIfmiQQcxfaA8Bf3+M5bE5PtuU="; }; + nativeBuildInputs = [ + setuptools + ]; + buildInputs = [ openldap cyrus_sasl @@ -53,7 +67,9 @@ buildPythonPackage rec { doCheck = !stdenv.isDarwin; meta = with lib; { + changelog = "https://github.com/python-ldap/python-ldap/releases/tag/python-ldap-${version}"; description = "Python modules for implementing LDAP clients"; + downloadPage = "https://github.com/python-ldap/python-ldap"; homepage = "https://www.python-ldap.org/"; license = licenses.psfl; }; From 1558b0d69858cc6cdd7bc8579ffdddc4da8cc9d5 Mon Sep 17 00:00:00 2001 From: Madoura Date: Fri, 17 Nov 2023 06:10:49 -0600 Subject: [PATCH 143/147] bcachefs-tools: use finalAttrs --- pkgs/tools/filesystems/bcachefs-tools/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index e6263ca62c67..baa0049a439f 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -20,18 +20,16 @@ , makeWrapper , fuseSupport ? false }: -let - version = "1.3.3"; -in -stdenv.mkDerivation { + +stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - inherit version; + version = "1.3.3"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-73vgwgBqyRLQ/Tts7bl6DhZMOs8ndIOiCke5tN89Wps="; }; @@ -71,7 +69,7 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=${placeholder "out"}" - "VERSION=${version}" + "VERSION=${finalAttrs.version}" "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ]; @@ -93,4 +91,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ davidak Madouura ]; platforms = platforms.linux; }; -} +}) From 64782b0571238f00df529af417da354ab157c9be Mon Sep 17 00:00:00 2001 From: Madoura Date: Fri, 17 Nov 2023 06:11:13 -0600 Subject: [PATCH 144/147] bcachefs-tools: add update script --- .../filesystems/bcachefs-tools/default.nix | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index baa0049a439f..918f0bd841d7 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -18,6 +18,7 @@ , rustc , rustPlatform , makeWrapper +, writeScript , fuseSupport ? false }: @@ -77,9 +78,24 @@ stdenv.mkDerivation (finalAttrs: { rm tests/test_fuse.py ''; - passthru.tests = { - smoke-test = nixosTests.bcachefs; - inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; + passthru = { + tests = { + smoke-test = nixosTests.bcachefs; + inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; + }; + + updateScript = writeScript "update-bcachefs-tools-and-cargo-lock.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl jq common-updater-scripts + res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ + -sL "https://api.github.com/repos/${finalAttrs.src.owner}/${finalAttrs.src.repo}/tags?per_page=1")" + + version="$(echo $res | jq '.[0].name | split("v") | .[1]' --raw-output)" + update-source-version ${finalAttrs.pname} "$version" --ignore-same-hash + + curl "https://raw.githubusercontent.com/${finalAttrs.src.owner}/${finalAttrs.src.repo}/v$version/rust-src/Cargo.lock" > \ + "$(git rev-parse --show-toplevel)/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock" + ''; }; enableParallelBuilding = true; From 869fb5679742ba24ca8ec00a255aefc8762bfef2 Mon Sep 17 00:00:00 2001 From: William McKinnon Date: Tue, 31 Oct 2023 11:43:16 -0400 Subject: [PATCH 145/147] nixos/syncthing: respect the dataDir option The previous -home argument worked as such: "Set common configuration and data directory. The default configuration directory is $HOME/.config/syncthing (Unix-like), $HOME/Library/Application Support/Syncthing (Mac) and %LOCALAPPDATA%\Syncthing (Windows)" This resulted in syncthing not respecting different home and data dirs declared in its config. The default behaviour will remain the same, as we set the datadir default value to homeDir + .config/syncthing. --- nixos/modules/services/networking/syncthing.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index bdcdaf056d03..6d9af6141f12 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -666,7 +666,9 @@ in { ${cfg.package}/bin/syncthing \ -no-browser \ -gui-address=${if isUnixGui then "unix://" else ""}${cfg.guiAddress} \ - -home=${cfg.configDir} ${escapeShellArgs cfg.extraFlags} + -config=${cfg.configDir} \ + -data=${cfg.dataDir} \ + ${escapeShellArgs cfg.extraFlags} ''; MemoryDenyWriteExecute = true; NoNewPrivileges = true; From c3094f371b98163abeba48e1acc5f32155ba1f61 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Nov 2023 19:44:05 +0000 Subject: [PATCH 146/147] erigon: 2.53.1 -> 2.54.0 --- pkgs/applications/blockchains/erigon/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/blockchains/erigon/default.nix b/pkgs/applications/blockchains/erigon/default.nix index 86c0d53fcf82..d73a916b0de3 100644 --- a/pkgs/applications/blockchains/erigon/default.nix +++ b/pkgs/applications/blockchains/erigon/default.nix @@ -2,7 +2,7 @@ let pname = "erigon"; - version = "2.53.1"; + version = "2.54.0"; in buildGoModule { inherit pname version; @@ -11,11 +11,11 @@ buildGoModule { owner = "ledgerwatch"; repo = pname; rev = "v${version}"; - hash = "sha256-Gsrt/+6fhpwg3DzPtXPj9T9VPaMIaRcYBdWuFOotsbA="; + hash = "sha256-1kgbIg/3SvVT83UfwAYUixs1RQk4PP1quiOcI1mzbZ0="; fetchSubmodules = true; }; - vendorHash = "sha256-zsLPqcLCZSnhlFWvNXZJwlfS+NsaTS07TmWd+x4ZPXA="; + vendorHash = "sha256-Gr9mrME8/ZDxp2ORKessNhfguklDf+jC4RSpzLOSBhQ="; proxyVendor = true; # Build errors in mdbx when format hardening is enabled: From 19d0ca53672257a200861f8684fa3ff316f096dd Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 16 Nov 2023 09:15:32 +0100 Subject: [PATCH 147/147] vimPlugins.neotest: add dependencies --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index ea1e3f8da7bd..a27f8650f425 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -847,6 +847,10 @@ self: super: { dependencies = with self; [ plenary-nvim ]; }; + neotest = super.neorg.overrideAttrs { + dependencies = with self; [ plenary-nvim ]; + }; + neo-tree-nvim = super.neo-tree-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim nui-nvim ]; };