diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 98d84131085b..4889d6a4b226 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8654,6 +8654,12 @@ githubId = 2179419; name = "Arseniy Seroka"; }; + jakedevs = { + email = "work@jakedevs.net"; + github = "jakedevs"; + githubId = 153585330; + name = "Jacob Levi"; + }; jakehamilton = { name = "Jake Hamilton"; email = "jake.hamilton@hey.com"; @@ -15046,6 +15052,12 @@ github = "pennae"; githubId = 82953136; }; + perchun = { + name = "Perchun Pak"; + email = "nixpkgs@perchun.it"; + github = "PerchunPak"; + githubId = 68118654; + }; peret = { name = "Peter Retzlaff"; github = "peret"; @@ -16722,6 +16734,15 @@ githubId = 1312525; name = "Rongcui Dong"; }; + rookeur = { + email = "adrien.langou@hotmail.com"; + github = "Rookeur"; + githubId = 57438432; + name = "Adrien Langou"; + keys = [{ + fingerprint = "3B8F FC41 0094 2CB4 5A2A 7DF2 5A44 DA8F 9071 91B0"; + }]; + }; roosemberth = { email = "roosembert.palacios+nixpkgs@posteo.ch"; matrix = "@roosemberth:orbstheorem.ch"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index c19c6b4dce03..f1d15a51ceb3 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -157,6 +157,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `idris2` was updated to v0.7.0. This version introduces breaking changes. Check out the [changelog](https://github.com/idris-lang/Idris2/blob/v0.7.0/CHANGELOG.md#v070) for details. +- `nvtop` family of packages was reorganized into nested attrset. `nvtop` has been renamed to `nvtopPackages.full`, and all `nvtop-{amd,nvidia,intel,msm}` packages are now named as `nvtopPackages.{amd,nvidia,intel,msm}` + - `neo4j` has been updated to 5, you may want to read the [release notes for Neo4j 5](https://neo4j.com/release-notes/database/neo4j-5/) - `services.neo4j.allowUpgrade` was removed and no longer has any effect. Neo4j 5 supports automatic rolling upgrades. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2ccaea466c6a..13e9868eab70 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1034,6 +1034,7 @@ ./services/networking/multipath.nix ./services/networking/murmur.nix ./services/networking/mxisd.nix + ./services/networking/mycelium.nix ./services/networking/namecoind.nix ./services/networking/nar-serve.nix ./services/networking/nat.nix diff --git a/nixos/modules/programs/starship.nix b/nixos/modules/programs/starship.nix index 34f6f0882c61..7f8d9eb3363d 100644 --- a/nixos/modules/programs/starship.nix +++ b/nixos/modules/programs/starship.nix @@ -12,7 +12,7 @@ let nativeBuildInputs = [ pkgs.yq ]; } '' tomlq -s -t 'reduce .[] as $item ({}; . * $item)' \ - ${lib.concatStringsSep " " (map (f: "${pkgs.starship}/share/starship/presets/${f}.toml") cfg.presets)} \ + ${lib.concatStringsSep " " (map (f: "${cfg.package}/share/starship/presets/${f}.toml") cfg.presets)} \ ${userSettingsFile} \ > $out ''; @@ -26,23 +26,20 @@ let in { options.programs.starship = { - enable = lib.mkEnableOption (lib.mdDoc "the Starship shell prompt"); + enable = lib.mkEnableOption "the Starship shell prompt"; - interactiveOnly = lib.mkOption { - default = true; - example = false; - type = lib.types.bool; - description = lib.mdDoc '' - Whether to enable starship only when the shell is interactive. - Some plugins require this to be set to false to function correctly. - ''; - }; + package = lib.mkPackageOption pkgs "starship" { }; + + interactiveOnly = lib.mkEnableOption '' + starship only when the shell is interactive. + Some plugins require this to be set to false to function correctly + '' // { default = true; }; presets = lib.mkOption { default = [ ]; example = [ "nerd-font-symbols" ]; type = with lib.types; listOf str; - description = lib.mdDoc '' + description = '' Presets files to be merged with settings in order. ''; }; @@ -50,7 +47,7 @@ in settings = lib.mkOption { inherit (settingsFormat) type; default = { }; - description = lib.mdDoc '' + description = '' Configuration included in `starship.toml`. See https://starship.rs/config/#prompt for documentation. @@ -68,7 +65,7 @@ in if [[ ! -f "$HOME/.config/starship.toml" ]]; then export STARSHIP_CONFIG=${settingsFile} fi - eval "$(${pkgs.starship}/bin/starship init bash)" + eval "$(${cfg.package}/bin/starship init bash)" fi ''; @@ -81,7 +78,7 @@ in if not test -f "$HOME/.config/starship.toml"; set -x STARSHIP_CONFIG ${settingsFile} end - eval (${pkgs.starship}/bin/starship init fish) + eval (${cfg.package}/bin/starship init fish) end ''; @@ -94,7 +91,7 @@ in if [[ ! -f "$HOME/.config/starship.toml" ]]; then export STARSHIP_CONFIG=${settingsFile} fi - eval "$(${pkgs.starship}/bin/starship init zsh)" + eval "$(${cfg.package}/bin/starship init zsh)" fi ''; }; diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index 1cb7a7ea778b..611998768824 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -252,6 +252,7 @@ in { services.xserver.displayManager.sddm = { package = kdePackages.sddm; theme = mkDefault "breeze"; + wayland.compositor = "kwin"; extraPackages = with kdePackages; [ breeze-icons kirigami diff --git a/nixos/modules/services/misc/etebase-server.nix b/nixos/modules/services/misc/etebase-server.nix index 546d52b1a3b5..6ec3807f0fb2 100644 --- a/nixos/modules/services/misc/etebase-server.nix +++ b/nixos/modules/services/misc/etebase-server.nix @@ -177,6 +177,7 @@ in systemd.tmpfiles.rules = [ "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" + ] ++ lib.optionals (cfg.unixSocket != null) [ "d '${builtins.dirOf cfg.unixSocket}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" ]; diff --git a/nixos/modules/services/networking/mycelium.nix b/nixos/modules/services/networking/mycelium.nix new file mode 100644 index 000000000000..71ff8d1dd9af --- /dev/null +++ b/nixos/modules/services/networking/mycelium.nix @@ -0,0 +1,126 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.services.mycelium; +in +{ + options.services.mycelium = { + enable = lib.mkEnableOption "mycelium network"; + peers = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = '' + List of peers to connect to in the format quic://1.2.3.4:9651. + If addHostedPublicNodes is set to true, the hosted public nodes will be added to this list. + ''; + default = []; + }; + keyFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + optional path to a keyFile, if unset the default location (/var/lib/mycelium/key) will be used + If this key does not exist, it will be generated + ''; + }; + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Open the firewall for mycelium"; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.mycelium; + defaultText = lib.literalExpression ''"''${pkgs.mycelium}"''; + description = "The mycelium package to use"; + }; + addHostedPublicNodes = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + add the hosted peers from https://github.com/threefoldtech/mycelium#hosted-public-nodes + ''; + }; + }; + config = lib.mkIf cfg.enable { + networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ 9651 ]; + networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 9650 9651 ]; + + systemd.services.mycelium = { + description = "Mycelium network"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ + cfg.keyFile + ]; + + unitConfig.Documentation = "https://github.com/threefoldtech/mycelium"; + + serviceConfig = { + User = "mycelium"; + DynamicUser = true; + StateDirectory = "mycelium"; + ProtectHome = true; + ProtectSystem = true; + LoadCredential = lib.mkIf (cfg.keyFile != null) "keyfile:${cfg.keyFile}"; + SyslogIdentifier = "mycelium"; + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + MemoryDenyWriteExecute = true; + ProtectControlGroups = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK"; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged @keyring" ]; + ExecStart = lib.concatStringsSep " " ([ + (lib.getExe cfg.package) + (if (cfg.keyFile != null) then + "--key-file \${CREDENTIALS_DIRECTORY}/keyfile" else + "--key-file %S/mycelium/key.bin" + ) + "--tun-name" "mycelium" + ] ++ + (lib.optional (cfg.addHostedPublicNodes || cfg.peers != []) "--peers") + ++ cfg.peers ++ (lib.optionals cfg.addHostedPublicNodes [ + "tcp://188.40.132.242:9651" # DE 01 + "tcp://[2a01:4f8:221:1e0b::2]:9651" + "quic://188.40.132.242:9651" + "quic://[2a01:4f8:221:1e0b::2]:9651" + + "tcp://136.243.47.186:9651" # DE 02 + "tcp://[2a01:4f8:212:fa6::2]:9651" + "quic://136.243.47.186:9651" + "quic://[2a01:4f8:212:fa6::2]:9651" + + "tcp://185.69.166.7:9651" # BE 03 + "tcp://[2a02:1802:5e:0:8478:51ff:fee2:3331]:9651" + "quic://185.69.166.7:9651" + "quic://[2a02:1802:5e:0:8478:51ff:fee2:3331]:9651" + + "tcp://185.69.166.8:9651" # BE 04 + "tcp://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" + "quic://185.69.166.8:9651" + "quic://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" + + "tcp://65.21.231.58:9651" # FI 05 + "tcp://[2a01:4f9:6a:1dc5::2]:9651" + "quic://65.21.231.58:9651" + "quic://[2a01:4f9:6a:1dc5::2]:9651" + + "tcp://65.109.18.113:9651" # FI 06 + "tcp://[2a01:4f9:5a:1042::2]:9651" + "quic://65.109.18.113:9651" + "quic://[2a01:4f9:5a:1042::2]:9651" + ])); + Restart = "always"; + RestartSec = 5; + TimeoutStopSec = 5; + }; + }; + }; + meta = { + maintainers = with lib.maintainers; [ flokli lassulus ]; + }; +} + diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 5b7f4bc58d80..a315a3ebf322 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -1,19 +1,24 @@ { config, lib, pkgs, ... }: -with lib; let xcfg = config.services.xserver; dmcfg = xcfg.displayManager; cfg = dmcfg.sddm; xEnv = config.systemd.services.display-manager.environment; - sddm = cfg.package.override(old: { + sddm = cfg.package.override (old: { withWayland = cfg.wayland.enable; - extraPackages = old.extraPackages or [] ++ cfg.extraPackages; + extraPackages = old.extraPackages or [ ] ++ cfg.extraPackages; }); iniFmt = pkgs.formats.ini { }; + inherit (lib) + concatMapStrings concatStringsSep getExe + attrNames getAttr optionalAttrs optionalString + mkRemovedOptionModule mkRenamedOptionModule mkIf mkEnableOption mkOption mkPackageOption types + ; + xserverWrapper = pkgs.writeShellScript "xserver-wrapper" '' ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} exec systemd-cat -t xserver-wrapper ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@" @@ -38,12 +43,21 @@ let DefaultSession = optionalString (dmcfg.defaultSession != null) "${dmcfg.defaultSession}.desktop"; DisplayServer = if cfg.wayland.enable then "wayland" else "x11"; + } // optionalAttrs (cfg.wayland.compositor == "kwin") { + GreeterEnvironment = concatStringsSep " " [ + "LANG=C.UTF-8" + "QT_WAYLAND_SHELL_INTEGRATION=layer-shell" + ]; + InputMethod = ""; # needed if we are using --inputmethod with kwin }; Theme = { Current = cfg.theme; ThemeDir = "/run/current-system/sw/share/sddm/themes"; FacesDir = "/run/current-system/sw/share/sddm/faces"; + } // optionalAttrs (cfg.theme == "breeze") { + CursorTheme = "breeze_cursors"; + CursorSize = 24; }; Users = { @@ -69,7 +83,7 @@ let SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions"; CompositorCommand = lib.optionalString cfg.wayland.enable cfg.wayland.compositorCommand; }; - } // lib.optionalAttrs dmcfg.autoLogin.enable { + } // optionalAttrs dmcfg.autoLogin.enable { Autologin = { User = dmcfg.autoLogin.user; Session = autoLoginSessionName; @@ -83,6 +97,34 @@ let autoLoginSessionName = "${dmcfg.sessionData.autologinSession}.desktop"; + compositorCmds = { + kwin = concatStringsSep " " [ + "${lib.getBin pkgs.kdePackages.kwin}/bin/kwin_wayland" + "--no-global-shortcuts" + "--no-kactivities" + "--no-lockscreen" + "--locale1" + ]; + # This is basically the upstream default, but with Weston referenced by full path + # and the configuration generated from NixOS options. + weston = + let + westonIni = (pkgs.formats.ini { }).generate "weston.ini" { + libinput = { + enable-tap = xcfg.libinput.mouse.tapping; + left-handed = xcfg.libinput.mouse.leftHanded; + }; + keyboard = { + keymap_model = xcfg.xkb.model; + keymap_layout = xcfg.xkb.layout; + keymap_variant = xcfg.xkb.variant; + keymap_options = xcfg.xkb.options; + }; + }; + in + "${getExe pkgs.weston} --shell=kiosk -c ${westonIni}"; + }; + in { imports = [ @@ -111,7 +153,7 @@ in ''; }; - package = mkPackageOption pkgs [ "plasma5Packages" "sddm" ] {}; + package = mkPackageOption pkgs [ "plasma5Packages" "sddm" ] { }; enableHidpi = mkOption { type = types.bool; @@ -145,7 +187,7 @@ in extraPackages = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; defaultText = "[]"; description = lib.mdDoc '' Extra Qt plugins / QML libraries to add to the environment. @@ -206,24 +248,16 @@ in wayland = { enable = mkEnableOption "experimental Wayland support"; + compositor = mkOption { + description = lib.mdDoc "The compositor to use: ${lib.concatStringsSep ", " (builtins.attrNames compositorCmds)}"; + type = types.enum (builtins.attrNames compositorCmds); + default = "weston"; + }; + compositorCommand = mkOption { type = types.str; internal = true; - - # This is basically the upstream default, but with Weston referenced by full path - # and the configuration generated from NixOS options. - default = let westonIni = (pkgs.formats.ini {}).generate "weston.ini" { - libinput = { - enable-tap = xcfg.libinput.mouse.tapping; - left-handed = xcfg.libinput.mouse.leftHanded; - }; - keyboard = { - keymap_model = xcfg.xkb.model; - keymap_layout = xcfg.xkb.layout; - keymap_variant = xcfg.xkb.variant; - keymap_options = xcfg.xkb.options; - }; - }; in "${pkgs.weston}/bin/weston --shell=kiosk -c ${westonIni}"; + default = compositorCmds.${cfg.wayland.compositor}; description = lib.mdDoc "Command used to start the selected compositor"; }; }; @@ -247,8 +281,6 @@ in } ]; - services.xserver.displayManager.job.execCmd = "exec /run/current-system/sw/bin/sddm"; - security.pam.services = { sddm.text = '' auth substack login @@ -293,30 +325,41 @@ in uid = config.ids.uids.sddm; }; - environment.etc."sddm.conf".source = cfgFile; - environment.pathsToLink = [ - "/share/sddm" - ]; + environment = { + etc."sddm.conf".source = cfgFile; + pathsToLink = [ + "/share/sddm" + ]; + systemPackages = [ sddm ]; + }; users.groups.sddm.gid = config.ids.gids.sddm; - environment.systemPackages = [ sddm ]; - services.dbus.packages = [ sddm ]; - systemd.tmpfiles.packages = [ sddm ]; + services = { + dbus.packages = [ sddm ]; + xserver = { + displayManager.job.execCmd = "exec /run/current-system/sw/bin/sddm"; + # To enable user switching, allow sddm to allocate TTYs/displays dynamically. + tty = null; + display = null; + }; + }; - # We're not using the upstream unit, so copy these: https://github.com/sddm/sddm/blob/develop/services/sddm.service.in - systemd.services.display-manager.after = [ - "systemd-user-sessions.service" - "getty@tty7.service" - "plymouth-quit.service" - "systemd-logind.service" - ]; - systemd.services.display-manager.conflicts = [ - "getty@tty7.service" - ]; + systemd = { + tmpfiles.packages = [ sddm ]; - # To enable user switching, allow sddm to allocate TTYs/displays dynamically. - services.xserver.tty = null; - services.xserver.display = null; + # We're not using the upstream unit, so copy these: https://github.com/sddm/sddm/blob/develop/services/sddm.service.in + services.display-manager = { + after = [ + "systemd-user-sessions.service" + "getty@tty7.service" + "plymouth-quit.service" + "systemd-logind.service" + ]; + conflicts = [ + "getty@tty7.service" + ]; + }; + }; }; } diff --git a/nixos/modules/system/boot/uki.nix b/nixos/modules/system/boot/uki.nix index 0965b887c12e..c8d3c2f6605f 100644 --- a/nixos/modules/system/boot/uki.nix +++ b/nixos/modules/system/boot/uki.nix @@ -7,8 +7,6 @@ let inherit (pkgs.stdenv.hostPlatform) efiArch; format = pkgs.formats.ini { }; - ukifyConfig = format.generate "ukify.conf" cfg.settings; - in { @@ -48,6 +46,15 @@ in contains and how it is built. ''; }; + + configFile = lib.mkOption { + type = lib.types.path; + description = lib.mdDoc '' + The configuration file passed to {manpage}`ukify(1)` to create the UKI. + + By default this configuration file is created from {option}`boot.uki.settings`. + ''; + }; }; system.boot.loader.ukiFile = lib.mkOption { @@ -80,6 +87,8 @@ in }; }; + boot.uki.configFile = lib.mkOptionDefault (format.generate "ukify.conf" cfg.settings); + system.boot.loader.ukiFile = let name = config.boot.uki.name; @@ -92,7 +101,7 @@ in system.build.uki = pkgs.runCommand config.system.boot.loader.ukiFile { } '' mkdir -p $out ${pkgs.buildPackages.systemdUkify}/lib/systemd/ukify build \ - --config=${ukifyConfig} \ + --config=${cfg.configFile} \ --output="$out/${config.system.boot.loader.ukiFile}" ''; diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index d4fa707b2dd5..5db3a336f85d 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -509,6 +509,12 @@ in for details). ''; } + { + assertion = !lib.strings.hasInfix "_" name; + message = '' + Names containing underscores are not allowed in nixos-containers. Please rename the container '${name}' + ''; + } ]; }; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index dd6c744a79ce..faff759f76c0 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -561,6 +561,7 @@ in { munin = handleTest ./munin.nix {}; mutableUsers = handleTest ./mutable-users.nix {}; mxisd = handleTest ./mxisd.nix {}; + mycelium = handleTest ./mycelium {}; mympd = handleTest ./mympd.nix {}; mysql = handleTest ./mysql/mysql.nix {}; mysql-autobackup = handleTest ./mysql/mysql-autobackup.nix {}; diff --git a/nixos/tests/mycelium/default.nix b/nixos/tests/mycelium/default.nix new file mode 100644 index 000000000000..f0d72436843c --- /dev/null +++ b/nixos/tests/mycelium/default.nix @@ -0,0 +1,57 @@ +import ../make-test-python.nix ({ lib, ... }: let + peer1-ip = "531:c350:28c1:dfde:ea6d:77d1:a60b:7209"; + peer2-ip = "49f:3942:3a55:d100:4c78:c558:c4f:695b"; +in + { + name = "mycelium"; + meta.maintainers = with lib.maintainers; [ lassulus ]; + + nodes = { + + peer1 = { config, pkgs, ... }: { + virtualisation.vlans = [ 1 ]; + networking.interfaces.eth1.ipv4.addresses = [{ + address = "192.168.1.11"; + prefixLength = 24; + }]; + + services.mycelium = { + enable = true; + addHostedPublicNodes = false; + openFirewall = true; + keyFile = ./peer1.key; + peers = [ + "quic://192.168.1.12:9651" + "tcp://192.168.1.12:9651" + ]; + }; + }; + + peer2 = { config, pkgs, ... }: { + virtualisation.vlans = [ 1 ]; + networking.interfaces.eth1.ipv4.addresses = [{ + address = "192.168.1.12"; + prefixLength = 24; + }]; + + services.mycelium = { + enable = true; + addHostedPublicNodes = false; + openFirewall = true; + keyFile = ./peer2.key; + }; + }; + }; + + testScript = '' + start_all() + + peer1.wait_for_unit("network-online.target") + peer2.wait_for_unit("network-online.target") + peer1.wait_for_unit("mycelium.service") + peer2.wait_for_unit("mycelium.service") + + peer1.succeed("ping -c5 ${peer2-ip}") + peer2.succeed("ping -c5 ${peer1-ip}") + ''; + }) diff --git a/nixos/tests/mycelium/peer1.key b/nixos/tests/mycelium/peer1.key new file mode 100644 index 000000000000..db1cf9e72fe4 --- /dev/null +++ b/nixos/tests/mycelium/peer1.key @@ -0,0 +1 @@ +s B0dRH5u?^ \ No newline at end of file diff --git a/nixos/tests/mycelium/peer2.key b/nixos/tests/mycelium/peer2.key new file mode 100644 index 000000000000..7e757de48efb --- /dev/null +++ b/nixos/tests/mycelium/peer2.key @@ -0,0 +1 @@ +X1yGՅSAMe 7] \ No newline at end of file diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix index d4da27dd3639..c68d14b28f99 100644 --- a/pkgs/applications/audio/monkeys-audio/default.nix +++ b/pkgs/applications/audio/monkeys-audio/default.nix @@ -5,13 +5,13 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "10.52"; + version = "10.60"; pname = "monkeys-audio"; src = fetchzip { url = "https://monkeysaudio.com/files/MAC_${ builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip"; - hash = "sha256-n+bQzvuCTt7dnqkPO592KKZeShmMlbp/KAXK0F2dlTg="; + hash = "sha256-llOo9G65UDDCzaSahq5qssw6SmOJ5C9qS2bdXB/pKF0="; stripRoot = false; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix index 0ec47ceb9566..afcc62a28999 100644 --- a/pkgs/applications/editors/bluefish/default.nix +++ b/pkgs/applications/editors/bluefish/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "bluefish"; - version = "2.2.14"; + version = "2.2.15"; src = fetchurl { url = "mirror://sourceforge/bluefish/bluefish-${version}.tar.bz2"; - sha256 = "sha256-IszfnOTlyWIQY+bPfXOr+wc2q3pyvOCG0Gxc9e4SXt4="; + sha256 = "sha256-YUPlHGtVedWW86moXg8NhYDJ9Y+ChXWxGYgODKHZQbw="; }; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; diff --git a/pkgs/applications/misc/kuro/default.nix b/pkgs/applications/misc/kuro/default.nix index 50a773b5c518..55a2e04c9326 100644 --- a/pkgs/applications/misc/kuro/default.nix +++ b/pkgs/applications/misc/kuro/default.nix @@ -5,18 +5,21 @@ , makeDesktopItem , copyDesktopItems , mkYarnPackage -, electron +, electron_29 }: +let + electron = electron_29; +in mkYarnPackage rec { pname = "kuro"; version = "9.0.0"; src = fetchFromGitHub { owner = "davidsmorais"; - repo = pname; + repo = "kuro"; rev = "v${version}"; - sha256 = "sha256-9Z/r5T5ZI5aBghHmwiJcft/x/wTRzDlbIupujN2RFfU="; + hash = "sha256-9Z/r5T5ZI5aBghHmwiJcft/x/wTRzDlbIupujN2RFfU="; }; packageJSON = ./package.json; @@ -26,7 +29,7 @@ mkYarnPackage rec { hash = "sha256-GTiNv7u1QK/wjQgpka7REuoLn2wjZG59kYJQaZZPycI="; }; - ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; nativeBuildInputs = [ makeWrapper @@ -68,21 +71,23 @@ mkYarnPackage rec { desktopItems = [ (makeDesktopItem { - name = pname; - exec = pname; - icon = pname; + name = "kuro"; + exec = "kuro"; + icon = "kuro"; desktopName = "Kuro"; genericName = "Microsoft To-Do Client"; comment = meta.description; categories = [ "Office" ]; - startupWMClass = pname; + startupWMClass = "kuro"; }) ]; meta = with lib; { + changelog = "https://github.com/davidsmorais/kuro/releases/tag/${src.rev}"; description = "An unofficial, featureful, open source, community-driven, free Microsoft To-Do app"; homepage = "https://github.com/davidsmorais/kuro"; license = licenses.mit; + mainProgram = "kuro"; maintainers = with maintainers; [ ChaosAttractor ]; inherit (electron.meta) platforms; }; diff --git a/pkgs/applications/misc/passky-desktop/default.nix b/pkgs/applications/misc/passky-desktop/default.nix index 927035ed8167..ec45bc3efaea 100644 --- a/pkgs/applications/misc/passky-desktop/default.nix +++ b/pkgs/applications/misc/passky-desktop/default.nix @@ -1,12 +1,15 @@ { lib , stdenv , fetchFromGitHub -, electron_22 +, electron_29 , makeWrapper , makeDesktopItem , copyDesktopItems }: +let + electron = electron_29; +in stdenv.mkDerivation rec { pname = "passky-desktop"; version = "8.1.1"; @@ -18,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "1ma8s1bngjdzclcc4m5pcmavk38sidaskmz7dgfnv84y35si18dr"; }; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; installPhase = '' runHook preInstall @@ -35,7 +41,7 @@ stdenv.mkDerivation rec { done mkdir "$out/share/applications" - makeWrapper ${electron_22}/bin/electron "$out/bin/passky" \ + makeWrapper ${electron}/bin/electron "$out/bin/passky" \ --add-flags "$out/share/passky/electron/" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" @@ -45,12 +51,13 @@ stdenv.mkDerivation rec { desktopItems = [ ( makeDesktopItem { - name = "Passky"; + name = "passky"; type = "Application"; - desktopName = "passky"; + desktopName = "Passky"; comment = "Simple, modern, open source and secure password manager."; icon = "passky"; exec = "passky %U"; + terminal = false; categories = [ "Utility" ]; startupWMClass = "Passky"; } diff --git a/pkgs/applications/misc/waycorner/default.nix b/pkgs/applications/misc/waycorner/default.nix index 01b1b80277cb..2cffde8cfc37 100644 --- a/pkgs/applications/misc/waycorner/default.nix +++ b/pkgs/applications/misc/waycorner/default.nix @@ -8,14 +8,14 @@ }: rustPlatform.buildRustPackage rec { pname = "waycorner"; - version = "0.2.1"; + version = "0.2.2"; src = fetchFromGitHub { owner = "AndreasBackx"; repo = "waycorner"; rev = version; - hash = "sha256-xvmvtn6dMqt8kUwvn5d5Nl1V84kz1eWa9BSIN/ONkSQ="; + hash = "sha256-b0wGqtCvWzCV9mj2eZ0SXzxM02fbyQ+OfKcbZ2MhLOE="; }; - cargoHash = "sha256-Dl+GhJywWhaC4QMS70klazPsFipGVRW+6jrXH2XsEAI="; + cargoHash = "sha256-Xl2nBBcfWjULKG2L+qX4ruw7gux6+qfFg/dTAarqgAU="; buildInputs = [ wayland ]; diff --git a/pkgs/applications/networking/browsers/mullvad-browser/default.nix b/pkgs/applications/networking/browsers/mullvad-browser/default.nix index 9bb6fe779832..a016ce839ed6 100644 --- a/pkgs/applications/networking/browsers/mullvad-browser/default.nix +++ b/pkgs/applications/networking/browsers/mullvad-browser/default.nix @@ -90,7 +90,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg ] ); - version = "13.0.10"; + version = "13.0.12"; sources = { x86_64-linux = fetchurl { @@ -102,7 +102,7 @@ let "https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-+8b3K3XLSPlndR12KNUH0lsPquhTupxQrLBuSEGac7Y="; + hash = "sha256-qqz3tdic2muBQI6JXc0/uxBeenWFYHN43K7qJee9q78="; }; }; diff --git a/pkgs/applications/networking/browsers/tor-browser/default.nix b/pkgs/applications/networking/browsers/tor-browser/default.nix index 5e150662274b..79d21a0cbc76 100644 --- a/pkgs/applications/networking/browsers/tor-browser/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser/default.nix @@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null) ++ lib.optionals mediaSupport [ ffmpeg ] ); - version = "13.0.11"; + version = "13.0.12"; sources = { x86_64-linux = fetchurl { @@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null) "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-a8BAesBp85oaHJrkQYcYufH9cy7OrFrfnljZZrFPlGE="; + hash = "sha256-2AzcDYngLr+J+s12tAMdB9SjDzOWPnQY9WL7/3+N0FA="; }; i686-linux = fetchurl { @@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null) "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" ]; - hash = "sha256-cyZnLcJmXNjBJhBLwBoW09K6dsT6Og+h0ufc4/6zxac="; + hash = "sha256-ect++2xZe00Hlikz6eMNMiiHnVoETSvjD0Cf1oBgj9E="; }; }; diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix index 85b97faabd3d..27e527b97066 100644 --- a/pkgs/applications/networking/cluster/werf/default.nix +++ b/pkgs/applications/networking/cluster/werf/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "werf"; - version = "1.2.296"; + version = "1.2.297"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; rev = "v${version}"; - hash = "sha256-D0bWva6Y0x9uMdKMONsiGC3SV2ktGPzfMq9BELqgk3E="; + hash = "sha256-AFuEpMSsfwjqoiLCiSyXecIe/UA72BEHs+kUaUtZU2U="; }; - vendorHash = "sha256-6q13vMxu0iQgaXS+Z6V0jjSIhxMscw6sLANzK07gAlI="; + vendorHash = "sha256-mOHrNXaLnTt0WRVJI8GD48pxLvbSa6oWoxa4YFaIA6Y="; proxyVendor = true; diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix index 11ac39c32f80..adacea2d019a 100644 --- a/pkgs/applications/networking/instant-messengers/chatty/default.nix +++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix @@ -15,6 +15,7 @@ , gnome-desktop , gspell , gtk4 +, gst_all_1 , json-glib , libgcrypt , libadwaita @@ -29,7 +30,7 @@ stdenv.mkDerivation rec { pname = "chatty"; - version = "0.8.1"; + version = "0.8.2"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -37,7 +38,7 @@ stdenv.mkDerivation rec { repo = "Chatty"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-5IkQnXAKl0duy/B6+z7PXYv5zxakxJCgQhWBw5wioWg="; + hash = "sha256-7SdoN9JjGwELOdISJwS1Afcydp/rE2uq/tHO/UrFKNU="; }; nativeBuildInputs = [ @@ -58,6 +59,7 @@ stdenv.mkDerivation rec { gnome-desktop gspell gtk4 + gst_all_1.gstreamer json-glib libgcrypt libadwaita diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix index 1414543d4cc4..add40cac8f18 100644 --- a/pkgs/applications/networking/protonmail-bridge/default.nix +++ b/pkgs/applications/networking/protonmail-bridge/default.nix @@ -37,17 +37,14 @@ buildGoModule rec { postInstall = '' mv $out/bin/Desktop-Bridge $out/bin/protonmail-bridge # The cli is named like that in other distro packages - install -Dm444 dist/proton-bridge.desktop -t $out/share/applications - install -Dm444 dist/bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge.svg ''; - meta = with lib; { - homepage = "https://github.com/ProtonMail/proton-bridge"; + meta = { changelog = "https://github.com/ProtonMail/proton-bridge/blob/${src.rev}/Changelog.md"; - downloadPage = "https://github.com/ProtonMail/proton-bridge/releases"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ mrfreezeex ]; description = "Use your ProtonMail account with your local e-mail client"; + downloadPage = "https://github.com/ProtonMail/proton-bridge/releases"; + homepage = "https://github.com/ProtonMail/proton-bridge"; + license = lib.licenses.gpl3Plus; longDescription = '' An application that runs on your computer in the background and seamlessly encrypts and decrypts your mail as it enters and leaves your computer. @@ -55,5 +52,6 @@ buildGoModule rec { To work, use secret-service freedesktop.org API (e.g. Gnome keyring) or pass. ''; mainProgram = "protonmail-bridge"; + maintainers = with lib.maintainers; [ mrfreezeex daniel-fahey ]; }; } diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix index 272c4d1f1fdf..4509242a239c 100644 --- a/pkgs/applications/office/qownnotes/default.nix +++ b/pkgs/applications/office/qownnotes/default.nix @@ -19,14 +19,14 @@ let pname = "qownnotes"; appname = "QOwnNotes"; - version = "24.3.3"; + version = "24.3.4"; in stdenv.mkDerivation { inherit pname version; src = fetchurl { url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz"; - hash = "sha256-1PnGccbEKkFZGE7mxMD8onMkFd/f9qyvERSu+VL3yUE="; + hash = "sha256-PQoZKb0kf/tMQBJ5OpL9XqXv7fAftGTVsg3tZYe3j5c="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/vdr/markad/default.nix b/pkgs/applications/video/vdr/markad/default.nix index db273ba4ff04..28dad0200270 100644 --- a/pkgs/applications/video/vdr/markad/default.nix +++ b/pkgs/applications/video/vdr/markad/default.nix @@ -19,12 +19,12 @@ }: stdenv.mkDerivation rec { pname = "vdr-markad"; - version = "3.4.12"; + version = "3.4.13"; src = fetchFromGitHub { repo = "vdr-plugin-markad"; owner = "kfb77"; - sha256 = "sha256-yc/zWMGzsfZl3n+Qt5Se2duo3jwntCWaYq1yACsrPzM="; + sha256 = "sha256-pDnziIWX6deBXuVIN7w6F6TdYDCcEO6MSaUIMB63uAg="; rev = "V${version}"; }; diff --git a/pkgs/by-name/as/asciiquarium-transparent/package.nix b/pkgs/by-name/as/asciiquarium-transparent/package.nix index 2472d5015daf..b0b476e12bd9 100644 --- a/pkgs/by-name/as/asciiquarium-transparent/package.nix +++ b/pkgs/by-name/as/asciiquarium-transparent/package.nix @@ -3,32 +3,35 @@ stdenv, fetchFromGitHub, makeWrapper, - perlPackages, + perl, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "asciiquarium-transparent"; - version = "unstable-2023-02-19"; + version = "1.3"; + src = fetchFromGitHub { owner = "nothub"; repo = "asciiquarium"; - rev = "653cd99a611080c776d18fc7991ae5dd924c72ce"; - hash = "sha256-72LRFydbObFDXJllmlRjr5O8qjDqtlp3JunE3kwb5aU="; + rev = "${finalAttrs.version}"; + hash = "sha256-zQyVIfwmhF3WsCeIZLwjDufvKzAfjLxaK2s7WTedqCg="; }; - nativeBuildInputs = [makeWrapper]; - buildInputs = [perlPackages.perl]; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perl ]; installPhase = '' runHook preInstall - mkdir -p $out/bin - cp asciiquarium $out/bin/asciiquarium - wrapProgram $out/bin/asciiquarium --set PERL5LIB ${perlPackages.makeFullPerlPath [perlPackages.TermAnimation]} + install -Dm555 asciiquarium -t $out/bin + wrapProgram $out/bin/asciiquarium \ + --set PERL5LIB ${with perl.pkgs; makeFullPerlPath [ TermAnimation ]} runHook postInstall ''; - meta = with lib; { + + meta = { description = "An aquarium/sea animation in ASCII art (with option of transparent background)"; - mainProgram = "asciiquarium"; homepage = "https://github.com/nothub/asciiquarium"; - license = with licenses; [gpl2Only]; - platforms = platforms.unix; - maintainers = with maintainers; [quantenzitrone]; + license = lib.licenses.gpl2Only; + mainProgram = "asciiquarium"; + maintainers = with lib.maintainers; [ quantenzitrone ]; + platforms = perl.meta.platforms; }; -} +}) diff --git a/pkgs/by-name/ca/cargo-pgo/package.nix b/pkgs/by-name/ca/cargo-pgo/package.nix new file mode 100644 index 000000000000..1850fb2d85d6 --- /dev/null +++ b/pkgs/by-name/ca/cargo-pgo/package.nix @@ -0,0 +1,29 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-pgo"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "kobzol"; + repo = pname; + rev = "v${version}"; + hash = "sha256-u3kWYPLJYarwwudRpeBdJglP9kNbLRTYgEvZT2pBBoY="; + }; + + cargoHash = "sha256-Peicupa2vFDzPCH0OQYk7plkWIn82o45oGutOyMlI2s="; + + # Integration tests do not run in Nix build environment due to needing to + # create and build Cargo workspaces. + doCheck = false; + + meta = with lib; { + description = "Cargo subcommand for optimizing Rust binaries/libraries with PGO and BOLT"; + homepage = "https://github.com/kobzol/cargo-pgo"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ dannixon ]; + }; +} diff --git a/pkgs/by-name/ce/cert-viewer/package.nix b/pkgs/by-name/ce/cert-viewer/package.nix new file mode 100644 index 000000000000..6fcead475a36 --- /dev/null +++ b/pkgs/by-name/ce/cert-viewer/package.nix @@ -0,0 +1,26 @@ +{ buildGoModule +, fetchFromGitHub +, lib +}: + +buildGoModule rec { + pname = "cert-viewer"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "mgit-at"; + repo = "cert-viewer"; + rev = "refs/tags/v${version}"; + hash = "sha256-q4FLKH0ZA/79zLo7dt+CSOjfKyygTiQKSuungQTtue0="; + }; + + vendorHash = "sha256-55zDUAe5s+03/OnDcK1DqmMUpFO2sBaVjEk6vbrHgzY="; + + meta = { + description = "Admin tool to view and inspect multiple x509 Certificates"; + homepage = "https://github.com/mgit-at/cert-viewer"; + license = lib.licenses.apsl20; + maintainers = [ lib.maintainers.mkg20001 ]; + mainProgram = "cert-viewer"; + }; +} diff --git a/pkgs/applications/graphics/displaycal/default.nix b/pkgs/by-name/di/displaycal/package.nix similarity index 94% rename from pkgs/applications/graphics/displaycal/default.nix rename to pkgs/by-name/di/displaycal/package.nix index 0eef148398cb..a48355fbb825 100644 --- a/pkgs/applications/graphics/displaycal/default.nix +++ b/pkgs/by-name/di/displaycal/package.nix @@ -10,13 +10,13 @@ python3.pkgs.buildPythonApplication rec { pname = "displaycal"; - version = "3.9.11"; + version = "3.9.12"; format = "setuptools"; src = fetchPypi { pname = "DisplayCAL"; inherit version; - hash = "sha256-zAZW2eMjwRYevlz8KEzTxzGO8vx5AydfY3vGTapNo1c="; + hash = "sha256-0NZ+fr3ilnyWE6+Xa8xqpccNe7WVvvQfQEYvdQ8rf/Q="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/gh/gh-copilot/package.nix b/pkgs/by-name/gh/gh-copilot/package.nix new file mode 100644 index 000000000000..42f0f489bdda --- /dev/null +++ b/pkgs/by-name/gh/gh-copilot/package.nix @@ -0,0 +1,59 @@ +{ stdenv +, lib +, fetchurl +}: +let + inherit (stdenv.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + systemToPlatform = { + "x86_64-linux" = { + name = "linux-amd64"; + hash = "sha256-FKzvERcVYkyy1aNYHZIftC2WvSHRxFqSG/g7gpTTvoo="; + }; + "aarch64-linux" = { + name = "linux-arm64"; + hash = "sha256-4vX9On0upgfjM/IL/UzQj5ioeVnSsd2rUgIz6w4szZM="; + }; + "x86_64-darwin" = { + name = "darwin-amd64"; + hash = "sha256-W4ElKXsMo47dVRNJEnLzH2rpvkua56lj/NkJd3R8CCE="; + }; + "aarch64-darwin" = { + name = "darwin-arm64"; + hash = "sha256-F2OA66h/ptkjLZ2oQgkbZlDo31YDZzhk5Pre36TkHvI="; + }; + }; + platform = systemToPlatform.${system} or throwSystem; +in +stdenv.mkDerivation (finalAttrs: { + pname = "gh-copilot"; + version = "0.5.4-beta"; + + src = fetchurl { + name = "gh-copilot"; + url = "https://github.com/github/gh-copilot/releases/download/v${finalAttrs.version}/${platform.name}"; + hash = platform.hash; + }; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + install -m755 -D $src $out/bin/gh-copilot + + runHook postInstall + ''; + + meta = { + changelog = "https://github.com/github/gh-copilot/releases/tag/v${finalAttrs.version}"; + description = "Ask for assistance right in your terminal."; + homepage = "https://github.com/github/gh-copilot"; + license = lib.licenses.unfree; + mainProgram = "gh-copilot"; + maintainers = with lib.maintainers; [ perchun ]; + platforms = lib.attrNames systemToPlatform; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +}) diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix index 2bee53688dbf..f58be650c845 100644 --- a/pkgs/by-name/ho/home-manager/package.nix +++ b/pkgs/by-name/ho/home-manager/package.nix @@ -16,14 +16,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "home-manager"; - version = "unstable-2024-03-15"; + version = "unstable-2024-03-19"; src = fetchFromGitHub { name = "home-manager-source"; owner = "nix-community"; repo = "home-manager"; - rev = "206f457fffdb9a73596a4cb2211a471bd305243d"; - hash = "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY="; + rev = "022464438a85450abb23d93b91aa82e0addd71fb"; + hash = "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ja/jan/package.nix b/pkgs/by-name/ja/jan/package.nix index 181a7006c24c..76daa73b20e6 100644 --- a/pkgs/by-name/ja/jan/package.nix +++ b/pkgs/by-name/ja/jan/package.nix @@ -5,10 +5,10 @@ let pname = "jan"; - version = "0.4.8"; + version = "0.4.9"; src = fetchurl { url = "https://github.com/janhq/jan/releases/download/v${version}/jan-linux-x86_64-${version}.AppImage"; - hash = "sha256-8Vi2KK+5Wk/K+RJZ0/cbRUb8L25WEiLdo5ay8+ichdw="; + hash = "sha256-6XnDrr+AkZH69zXf0OKdi8R6LoRWWMZNqWilZhLGynk="; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; diff --git a/pkgs/by-name/me/mercure/package.nix b/pkgs/by-name/me/mercure/package.nix index dc4c67c4362b..bd4bdd231a2b 100644 --- a/pkgs/by-name/me/mercure/package.nix +++ b/pkgs/by-name/me/mercure/package.nix @@ -8,18 +8,18 @@ buildGoModule rec { pname = "mercure"; - version = "0.15.9"; + version = "0.15.10"; src = fetchFromGitHub { owner = "dunglas"; repo = "mercure"; rev = "v${version}"; - hash = "sha256-4Y+yZSZrBDLPbQXaOCSKk/EY20Ka8CS4ivUg1TEaqXo="; + hash = "sha256-ot4Gb2Zg4VaF/ip9cLJYP69WGmKw/+WQSf20o1aQtpM="; }; sourceRoot = "${src.name}/caddy"; - vendorHash = "sha256-N0RmvhBlTiWmBb4TzLmaThD9jVkKgcIO9vPWxJAvLRQ="; + vendorHash = "sha256-K+9LQ9wI0ltZI7N2mshiDsjEMc2FzenqSGP00fEWuMQ="; subPackages = [ "mercure" ]; excludedPackages = [ "../cmd/mercure" ]; diff --git a/pkgs/by-name/oc/octorpki/package.nix b/pkgs/by-name/oc/octorpki/package.nix deleted file mode 100644 index 1f710d134228..000000000000 --- a/pkgs/by-name/oc/octorpki/package.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -}: - -buildGoModule rec { - pname = "octorpki"; - version = "1.5.10"; - - src = fetchFromGitHub { - owner = "cloudflare"; - repo = "cfrpki"; - rev = "v${version}"; - hash = "sha256-eqIAauwFh1Zbv3Jkk8plz1OR3ZW8fs0ugNwwTnSHSFM="; - }; - - patches = [ - # https://github.com/cloudflare/cfrpki/pull/150 - (fetchpatch { - url = "https://github.com/cloudflare/cfrpki/commit/fd0c4e95b880c463430c91ce1f86205b9309399b.patch"; - hash = "sha256-cJ0mWkjtGvgTIH5eEum8h2Gy2PqR+nPto+mj5m/I/d4="; - }) - ]; - - ldflags = [ - "-X main.version=v${version}" - "-X main.talpath=${placeholder "out"}/share/tals" - ]; - - subPackages = [ - "cmd/octorpki" - ]; - - postInstall = '' - mkdir -p $out/share - cp -R cmd/octorpki/tals $out/share/tals - ''; - - vendorHash = null; - - meta = with lib; { - homepage = "https://github.com/cloudflare/cfrpki#octorpki"; - changelog = "https://github.com/cloudflare/cfrpki/releases/tag/v${version}"; - description = "A software used to download RPKI (RFC 6480) certificates and validate them"; - mainProgram = "octorpki"; - license = licenses.bsd3; - platforms = platforms.all; - maintainers = teams.wdz.members; - }; -} diff --git a/pkgs/by-name/ol/olvid/package.nix b/pkgs/by-name/ol/olvid/package.nix new file mode 100644 index 000000000000..813d4ae4052e --- /dev/null +++ b/pkgs/by-name/ol/olvid/package.nix @@ -0,0 +1,108 @@ +{ stdenv +, lib +, fetchurl +, zlib +, libXext +, libX11 +, libXrender +, libXtst +, libXi +, freetype +, alsa-lib +, jdk21 +, openjfx21 +, autoPatchelfHook +, makeBinaryWrapper +, wrapGAppsHook +}: + +let + repo = "olvid"; + + javafxModules = [ "swing" "controls" "media" "fxml" "graphics" "base" ]; + + classpath = + lib.concatMap (mod: [ + "${openjfx21}/modules_src/javafx.${mod}/module-info.java" + "${openjfx21}/modules/javafx.${mod}" + "${openjfx21}/modules_libs/javafx.${mod}" + ]) javafxModules ++ + [ "$out/share/${repo}/*" ]; + + jvmArgs = [ + "-cp" (lib.concatStringsSep ":" classpath) + "-Djpackage.app-version=$version" + "-Dolvid.sqlcipher=true" + "-Dolvid.dev=false" + "-Dolvid.packaged=true" + "-Dolvid.multiuser=false" + "-Dolvid.debug=false" + "-Dolvid.version=$version" + "-Djava.net.useSystemProxies=true" + "-Djava.library.path=$out/lib/" + "-Xss8M" + "-XX:+ShowCodeDetailsInExceptionMessages" + "--add-opens=java.desktop/java.awt=ALL-UNNAMED" + "--add-opens=java.desktop/java.awt.geom=ALL-UNNAMED" + "--add-opens=java.desktop/sun.awt.geom=ALL-UNNAMED" + "--add-opens=java.base/java.util=ALL-UNNAMED" + "--add-opens=java.desktop/javax.swing=ALL-UNNAMED" + "--add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED" + ]; +in + +stdenv.mkDerivation (finalAttrs: { + pname = "olvid"; + version = "1.5.0"; + + dontUnpack = true; + dontWrapGApps = true; + + src = fetchurl { + url = "https://static.olvid.io/linux/${repo}-${finalAttrs.version}.tar.gz"; + hash = "sha256-iiMc9mM+uUVeS1i1gzXMZaMwSChdz7vNrL9uqJlR8NU="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + makeBinaryWrapper + wrapGAppsHook + ]; + + buildInputs = [ + zlib + libXext + libX11 + libXrender + libXtst + libXi + freetype + alsa-lib + ]; + + installPhase = '' + runHook preInstall + + install -dm755 "$out/share/${repo}" + tar -xf "$src" -C "$out/share/${repo}" --wildcards --strip-components 3 olvid/lib/app/'*.jar' + + install -dm755 "$out/lib" + tar -xf "$src" -C "$out/lib" --strip-components 4 olvid/lib/runtime/lib/ + + install -dm755 "$out/bin" + makeBinaryWrapper ${jdk21}/bin/java $out/bin/${repo} \ + "''${gappsWrapperArgs[@]}" \ + --add-flags "${lib.concatStringsSep " " jvmArgs} io.olvid.windows.messenger.start_up.Launcher" + + runHook postInstall + ''; + + meta = with lib; { + description = "The secure french messenger"; + homepage = "https://www.olvid.io"; + license = licenses.agpl3; + mainProgram = "olvid"; + maintainers = with maintainers; [ rookeur ]; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/by-name/pr/protonmail-bridge-gui/package.nix b/pkgs/by-name/pr/protonmail-bridge-gui/package.nix new file mode 100644 index 000000000000..2b15e67908d4 --- /dev/null +++ b/pkgs/by-name/pr/protonmail-bridge-gui/package.nix @@ -0,0 +1,113 @@ +{ lib +, stdenv +, pkg-config +, libsecret +, cmake +, ninja +, qt6 +, grpc +, protobuf +, zlib +, gtest +, sentry-native +, protonmail-bridge +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "protonmail-bridge-gui"; + + inherit (protonmail-bridge) version src; + + patches = [ + # Use `gtest` from Nixpkgs to allow an offline build + ./use-nix-googletest.patch + ]; + + nativeBuildInputs = [ + pkg-config + cmake + ninja + qt6.qtbase + qt6.qtdeclarative + qt6.qtwayland + qt6.qtsvg + qt6.wrapQtAppsHook + ]; + + buildInputs = [ + libsecret + grpc + protobuf + zlib + gtest + sentry-native + ]; + + sourceRoot = "${finalAttrs.src.name}/internal/frontend/bridge-gui"; + + postPatch = '' + # Bypass `vcpkg` by deleting lines that `include` BridgeSetup.cmake + find . -type f -name "CMakeLists.txt" -exec sed -i "/BridgeSetup\\.cmake/d" {} \; + + # Use the available ICU version + sed -i "s/libicu\(i18n\|uc\|data\)\.so\.56/libicu\1.so/g" bridge-gui/DeployLinux.cmake + + # Create a Desktop Entry that uses a `protonmail-bridge-gui` binary without upstream's launcher + sed "s/^\(Icon\|Exec\)=.*$/\1=protonmail-bridge-gui/" ../../../dist/proton-bridge.desktop > proton-bridge-gui.desktop + + # Also update `StartupWMClass` to match the GUI binary's `wmclass` (Wayland app id) + sed -i "s/^\(StartupWMClass=\)Proton Mail Bridge$/\1ch.proton.bridge-gui/" proton-bridge-gui.desktop + + # Don't build `bridge-gui-tester` + sed -i "/add_subdirectory(bridge-gui-tester)/d" CMakeLists.txt + ''; + + preConfigure = '' + cmakeFlagsArray+=( + "-DCMAKE_BUILD_TYPE=Release" + "-DBRIDGE_APP_FULL_NAME=Proton Mail Bridge" + "-DBRIDGE_VENDOR=Proton AG" + "-DBRIDGE_REVISION=${finalAttrs.src.rev}" + "-DBRIDGE_TAG=${finalAttrs.version}" + "-DBRIDGE_BUILD_ENV=Nix" + "-DBRIDGE_APP_VERSION=${finalAttrs.version}" + ) + ''; + + installPhase = '' + runHook preInstall + + # Install the GUI binary + install -Dm755 bridge-gui/bridge-gui $out/lib/bridge-gui + + # Symlink the backend binary from the protonmail-bridge (CLI) package + ln -s ${protonmail-bridge}/bin/protonmail-bridge $out/lib/bridge + + # Symlink the GUI binary + mkdir -p $out/bin + ln -s $out/lib/bridge-gui $out/bin/protonmail-bridge-gui + + # Install desktop assets + install -Dm644 ../proton-bridge-gui.desktop -t $out/share/applications + install -Dm644 ../../../../dist/bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge-gui.svg + + runHook postInstall + ''; + + meta = { + changelog = "https://github.com/ProtonMail/proton-bridge/blob/${finalAttrs.src.rev}/Changelog.md"; + description = "Qt-based GUI to use your ProtonMail account with your local e-mail client"; + downloadPage = "https://github.com/ProtonMail/proton-bridge/releases"; + homepage = "https://github.com/ProtonMail/proton-bridge"; + license = lib.licenses.gpl3Plus; + longDescription = '' + Provides a GUI application that runs in the background and seamlessly encrypts + and decrypts your mail as it enters and leaves your computer. + + To work, use secret-service freedesktop.org API (e.g. Gnome keyring) or pass. + ''; + mainProgram = "protonmail-bridge-gui"; + maintainers = with lib.maintainers; [ daniel-fahey ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/pr/protonmail-bridge-gui/use-nix-googletest.patch b/pkgs/by-name/pr/protonmail-bridge-gui/use-nix-googletest.patch new file mode 100644 index 000000000000..fc1ad2b3ab16 --- /dev/null +++ b/pkgs/by-name/pr/protonmail-bridge-gui/use-nix-googletest.patch @@ -0,0 +1,23 @@ +diff --git a/bridgepp/CMakeLists.txt b/bridgepp/CMakeLists.txt +index f4a0a553..02d631dc 100644 +--- a/bridgepp/CMakeLists.txt ++++ b/bridgepp/CMakeLists.txt +@@ -172,16 +172,8 @@ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0") + cmake_policy(SET CMP0135 NEW) # avoid warning DOWNLOAD_EXTRACT_TIMESTAMP + endif () + +-include(FetchContent) +-FetchContent_Declare( +- googletest +- URL https://github.com/google/googletest/archive/b796f7d44681514f58a683a3a71ff17c94edb0c1.zip +-) +- +-# For Windows: Prevent overriding the parent project's compiler/linker settings +-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +- +-FetchContent_MakeAvailable(googletest) ++# Use find_package to use the gtest package provided by Nix ++find_package(GTest REQUIRED) + + enable_testing() + diff --git a/pkgs/by-name/xd/xdg-terminal-exec/package.nix b/pkgs/by-name/xd/xdg-terminal-exec/package.nix index 1dd07bd22396..461b7f58ee33 100644 --- a/pkgs/by-name/xd/xdg-terminal-exec/package.nix +++ b/pkgs/by-name/xd/xdg-terminal-exec/package.nix @@ -2,16 +2,17 @@ lib, stdenvNoCC, fetchFromGitHub, + dash, }: -stdenvNoCC.mkDerivation { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "xdg-terminal-exec"; - version = "unstable-2023-12-08"; + version = "0.9.0"; src = fetchFromGitHub { owner = "Vladimir-csp"; repo = "xdg-terminal-exec"; - rev = "04f37d4337b6ce157d4a7338dd600a32deb43a28"; - hash = "sha256-QIPdF+/dMUEVcz5j9o+wQ4dnw2yWwz7slnLdMNETkGs="; + rev = "v${finalAttrs.version}"; + hash = "sha256-uLUHvSjxIjmy0ejqLfliB6gHFRwyTWNH1RL5kTXebUM="; }; dontBuild = true; @@ -21,6 +22,12 @@ stdenvNoCC.mkDerivation { runHook postInstall ''; + dontPatchShebangs = true; + postFixup = '' + substituteInPlace $out/bin/xdg-terminal-exec \ + --replace-fail '#!/bin/sh' '#!${lib.getExe dash}' + ''; + meta = { description = "Proposal for XDG terminal execution utility"; homepage = "https://github.com/Vladimir-csp/xdg-terminal-exec"; @@ -29,4 +36,4 @@ stdenvNoCC.mkDerivation { maintainers = with lib.maintainers; [quantenzitrone]; platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/data/themes/andromeda-gtk-theme/default.nix b/pkgs/data/themes/andromeda-gtk-theme/default.nix new file mode 100644 index 000000000000..ae42843d7afa --- /dev/null +++ b/pkgs/data/themes/andromeda-gtk-theme/default.nix @@ -0,0 +1,60 @@ +{ lib, stdenvNoCC, fetchFromGitHub, gtk-engine-murrine }: + +stdenvNoCC.mkDerivation { + pname = "andromeda-gtk-theme"; + version = "0-unstable-2024-03-04"; + + srcs = [ + (fetchFromGitHub { + owner = "EliverLara"; + repo = "Andromeda-gtk"; + rev = "250751a546dd0fa2e67eef86d957fbf993b61dfe"; + hash = "sha256-exr9j/jW2P9cBhKUPQy3AtK5Vgav5vOyWInXUyVhBk0="; + name = "Andromeda-gtk"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = "Andromeda-gtk"; + rev = "11a6194d19cb846447db048455a5e782ec830ae1"; + hash = "sha256-Yy3mih0nyA+ahLqj2D99EKqtmWYJRsvQMkmlLfUPcqQ="; + name = "Andromeda-gtk-standard-buttons"; + }) + ]; + + sourceRoot = "."; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + cp -a Andromeda* $out/share/themes + + # remove uneeded files, which are not distributed in https://www.gnome-look.org/p/2039961/ + rm -rf $out/share/themes/*/Art + rm -rf $out/share/themes/*/LICENSE + rm -rf $out/share/themes/*/README.md + rm -rf $out/share/themes/*/{package.json,package-lock.json,Gulpfile.js} + rm -rf $out/share/themes/*/src + rm -rf $out/share/themes/*/cinnamon/*.scss + rm -rf $out/share/themes/*/gnome-shell/{earlier-versions,extensions,*.scss} + rm -rf $out/share/themes/*/gtk-2.0/{assets.svg,assets.txt,links.fish,render-assets.sh} + rm -rf $out/share/themes/*/gtk-3.0/{apps,widgets,*.scss} + rm -rf $out/share/themes/*/gtk-4.0/{apps,widgets,*.scss} + rm -rf $out/share/themes/*/xfwm4/{assets,render_assets.fish} + + runHook postInstall + ''; + + meta = with lib; { + description = "An elegant dark theme for gnome, mate, budgie, cinnamon, xfce"; + homepage = "https://github.com/EliverLara/Andromeda-gtk"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ jakedevs ]; + }; +} diff --git a/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix b/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix index cb99111d1fff..03f5075a791f 100644 --- a/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix @@ -5,7 +5,7 @@ , poetry-core , colorama , packaging -, pydantic_1 +, pydantic , requests , pygobject3 , tqdm @@ -38,7 +38,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ colorama packaging - pydantic_1 + pydantic requests pygobject3 tqdm diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix index 48b9a153f5b3..73f7c0aaccd2 100644 --- a/pkgs/development/ocaml-modules/eliom/default.nix +++ b/pkgs/development/ocaml-modules/eliom/default.nix @@ -1,6 +1,7 @@ { buildDunePackage , lib , fetchFromGitHub +, fetchpatch , which , ocsigen_server , lwt_react @@ -26,6 +27,12 @@ buildDunePackage rec { hash = "sha256-REOyxwnQqWOKywVYwN/WP22cNKZv5Nv0OpFVbNBPJN8="; }; + # Compatibility with tyxml 4.6.x + patches = fetchpatch { + url = "https://github.com/ocsigen/eliom/commit/9a6adcce3959a37b971890999331335d07f4f732.patch"; + hash = "sha256-rgsqohSAHHljvag3c+HNGEgW9qwmqPq8qfTpX6vVKtg="; + }; + nativeBuildInputs = [ which ]; diff --git a/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix b/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix index 0832847be3d6..0aad68fa5a0b 100644 --- a/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix +++ b/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix @@ -1,12 +1,17 @@ -{ lib, fetchurl, buildDunePackage, js_of_ocaml, js_of_ocaml-ppx, lwd, tyxml }: +{ lib, fetchurl, fetchpatch, buildDunePackage, js_of_ocaml, js_of_ocaml-ppx, lwd, tyxml }: buildDunePackage { pname = "tyxml-lwd"; inherit (lwd) version src; + # Compatibility with latest Tyxml (4.6.x) + patches = fetchpatch { + url = "https://github.com/let-def/lwd/commit/7f3364ec593b5ccf0d0294b97bcd1e28e4164691.patch"; + hash = "sha256-W1HjExZxDKRwsrB9ZTkvHTMKO0K5iZl+FrNqPs6BPGU="; + }; + minimalOCamlVersion = "4.08"; - duneVersion = "3"; buildInputs = [ js_of_ocaml-ppx ]; propagatedBuildInputs = [ js_of_ocaml lwd tyxml ]; diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix index 3b26c28f5341..e9af3a27a756 100644 --- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocsigen-toolkit, pgocaml_ppx, safepass, yojson +{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, ocsigen-toolkit, pgocaml_ppx, safepass, yojson , cohttp-lwt-unix, eliom , resource-pooling , ocsigen-ppx-rpc @@ -14,7 +14,13 @@ stdenv.mkDerivation rec { strictDeps = true; - patches = [ ./templates-dir.patch ]; + patches = [ ./templates-dir.patch + # Compatibility with tyxml 4.6.x + (fetchpatch { + url = "https://github.com/ocsigen/ocsigen-start/commit/0b70506f94fcb2e06cb65ce0d6a28b9b84c695f3.patch"; + hash = "sha256-p/VvIu9reI8lc9lxWiTrjZvn46vuF00QInYuWPtRVyk="; + }) + ]; src = fetchFromGitHub { owner = "ocsigen"; diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix index c49327d7d338..4cc5aa4cc42d 100644 --- a/pkgs/development/ocaml-modules/tyxml/default.nix +++ b/pkgs/development/ocaml-modules/tyxml/default.nix @@ -2,13 +2,11 @@ buildDunePackage rec { pname = "tyxml"; - version = "4.5.0"; - - useDune2 = true; + version = "4.6.0"; src = fetchurl { url = "https://github.com/ocsigen/tyxml/releases/download/${version}/tyxml-${version}.tbz"; - sha256 = "0s30f72m457c3gbdmdwbx7ls9zg806nvm83aiz9qkpglbppwr6n6"; + hash = "sha256-v+tnPGtOEgpOykxIRIrdR9w/jQLCtA9j/9zMTpHJAt0="; }; propagatedBuildInputs = [ uutf re ]; diff --git a/pkgs/development/python-modules/aws-encryption-sdk/default.nix b/pkgs/development/python-modules/aws-encryption-sdk/default.nix index 6de03b1ca3fc..c525d79e4b6d 100644 --- a/pkgs/development/python-modules/aws-encryption-sdk/default.nix +++ b/pkgs/development/python-modules/aws-encryption-sdk/default.nix @@ -7,7 +7,6 @@ , mock , pytest-mock , pytestCheckHook -, pythonAtLeast , pythonOlder , setuptools , wrapt @@ -15,14 +14,14 @@ buildPythonPackage rec { pname = "aws-encryption-sdk"; - version = "3.1.1"; + version = "3.2.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-jV+/AY/GjWscrL5N0Df9gFKWx3Nqn+RX62hNBT9/lWM="; + hash = "sha256-QwT8+M4qo/qYsaz/ejvzzQUowynAxDe1Xg9Fa79iNH4="; }; nativeBuildInputs = [ @@ -52,9 +51,8 @@ buildPythonPackage rec { "test/integration" ]; - disabledTests = lib.optionals (pythonAtLeast "3.12") [ - # AssertionError: Regex pattern did not match, https://github.com/aws/aws-encryption-sdk-python/issues/644 - "test_abstracts" + pythonImportsCheck = [ + "aws_encryption_sdk" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/bip32/default.nix b/pkgs/development/python-modules/bip32/default.nix index 96f37498c93b..165cf6231eea 100644 --- a/pkgs/development/python-modules/bip32/default.nix +++ b/pkgs/development/python-modules/bip32/default.nix @@ -23,6 +23,12 @@ buildPythonPackage rec { hash = "sha256-o8UKR17XDWp1wTWYeDL0DJY+D11YI4mg0UuGEAPkHxE="; }; + # https://github.com/darosior/python-bip32/pull/40/files + postPatch = '' + substituteInPlace requirements.txt \ + --replace-fail 'coincurve>=15.0,<19' 'coincurve>=15.0,<20' + ''; + nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index d6c1756f275d..18648dbeb815 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -365,14 +365,14 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.34.65"; + version = "1.34.66"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-EF2koE3LXk3ckPIauLJKNCPs+stHdbjM04eVdOXc41g="; + hash = "sha256-oFemuSAJwZ/qDZvQFY1JQ9TB9IL/T62dDejLRJ9E5vc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index 0eb05bbae616..c0de8899a4b3 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "botocore-stubs"; - version = "1.34.65"; + version = "1.34.66"; pyproject = true; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-fFEK2yxv/uLipfGYwQMLuO3/ITbuVuRnKcAuo3skJKU="; + hash = "sha256-paoSQMPIzMYtQ5FjlZQ4lq+oE5ncXUIDEnzA/7og+Zk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/datadog/default.nix b/pkgs/development/python-modules/datadog/default.nix index c700bdd82b39..8b0b0956b89d 100644 --- a/pkgs/development/python-modules/datadog/default.nix +++ b/pkgs/development/python-modules/datadog/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "datadog"; - version = "0.49.0"; + version = "0.49.1"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-rcHH/a6ntmQZvyDqsg2eWcMQbKouauHsUvJtECQPsiw="; + hash = "sha256-TLenmRr2ytuGj+RQzUVkc+ZfEfxni3189hBE/xxgdNg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/django-anymail/default.nix b/pkgs/development/python-modules/django-anymail/default.nix index 799881ebee35..1e619035bd05 100644 --- a/pkgs/development/python-modules/django-anymail/default.nix +++ b/pkgs/development/python-modules/django-anymail/default.nix @@ -1,25 +1,29 @@ { lib -, buildPythonPackage -, fetchFromGitHub -, requests -, django , boto3 +, buildPythonPackage +, django +, fetchFromGitHub , hatchling -, python , mock +, python +, pythonOlder +, requests , responses +, urllib3 }: buildPythonPackage rec { pname = "django-anymail"; - version = "10.2"; + version = "10.3"; pyproject = true; + disabled = pythonOlder "3.7"; + src = fetchFromGitHub { owner = "anymail"; - repo = pname; + repo = "django-anymail"; rev = "refs/tags/v${version}"; - hash = "sha256-k4C82OYm2SdjxeLScrkkitumjYgWkMNFlNeGW+C1Z8o="; + hash = "sha256-5uSpPeXpMkpuzMXzsGE6uQJWP/Dt/oqakB8Xb5G1eZY="; }; nativeBuildInputs = [ @@ -27,8 +31,9 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ - requests django + requests + urllib3 ]; nativeCheckInputs = [ @@ -37,7 +42,9 @@ buildPythonPackage rec { ] ++ passthru.optional-dependencies.amazon-ses; passthru.optional-dependencies = { - amazon-ses = [ boto3 ]; + amazon-ses = [ + boto3 + ]; }; checkPhase = '' @@ -46,11 +53,14 @@ buildPythonPackage rec { runHook postCheck ''; - pythonImportsCheck = [ "anymail" ]; + pythonImportsCheck = [ + "anymail" + ]; meta = with lib; { description = "Django email backends and webhooks for Mailgun"; homepage = "https://github.com/anymail/django-anymail"; + changelog = "https://github.com/anymail/django-anymail/blob/v${version}/CHANGELOG.rst"; license = licenses.bsd3; maintainers = with maintainers; [ onny ]; }; diff --git a/pkgs/development/python-modules/etils/default.nix b/pkgs/development/python-modules/etils/default.nix index b6990e50330f..fd1d034138e9 100644 --- a/pkgs/development/python-modules/etils/default.nix +++ b/pkgs/development/python-modules/etils/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "etils"; - version = "1.7.0"; + version = "1.8.0"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchPypi { inherit pname version; - hash = "sha256-l7aP0l4YVoMhUobvOlTjgZm2JF9f6L5r7cEYm+QlY1A="; + hash = "sha256-+0ePV/7CAuJg5UyRkrMXaS/WPbLRHZk+cLzf+inMzVg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/firebase-messaging/default.nix b/pkgs/development/python-modules/firebase-messaging/default.nix index bc5a4d1dbdf7..5acd1ff48022 100644 --- a/pkgs/development/python-modules/firebase-messaging/default.nix +++ b/pkgs/development/python-modules/firebase-messaging/default.nix @@ -1,40 +1,35 @@ { lib -, buildPythonPackage -, fetchFromGitHub - -# build-system -, poetry-core - -# dependencies -, cryptography -, http-ece -, protobuf -, requests - -# docs -, sphinx -, sphinxHook -, sphinx-autodoc-typehints -, sphinx-rtd-theme - -# tests , async-timeout -, requests-mock +, buildPythonPackage +, cryptography +, fetchFromGitHub +, http-ece +, poetry-core +, protobuf , pytest-asyncio , pytest-mock , pytestCheckHook +, pythonOlder +, requests +, requests-mock +, sphinx +, sphinx-autodoc-typehints +, sphinx-rtd-theme +, sphinxHook }: buildPythonPackage rec { pname = "firebase-messaging"; - version = "0.2.0"; + version = "0.2.1"; pyproject = true; + disabled = pythonOlder "3.8"; + src = fetchFromGitHub { owner = "sdb9696"; repo = "firebase-messaging"; - rev = version; - hash = "sha256-e3Ny3pnAfOpNERvvtE/jqSDIsM+YwLq/hbw753QpJ6o="; + rev = "refs/tags/${version}"; + hash = "sha256-8e+S12ZMqAmK7OR7O45QsRa0UKQq6cngeaqz2ugi6iY="; }; outputs = [ @@ -75,9 +70,9 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "A library to subscribe to GCM/FCM and receive notifications within a python application"; + description = "Library to subscribe to GCM/FCM and receive notifications within a python application"; homepage = "https://github.com/sdb9696/firebase-messaging"; - changelog = "https://github.com/sdb9696/firebase-messaging/blob/${src.rev}/CHANGELOG.rst"; + changelog = "https://github.com/sdb9696/firebase-messaging/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ ]; }; diff --git a/pkgs/development/python-modules/garminconnect/default.nix b/pkgs/development/python-modules/garminconnect/default.nix index 861e2e788994..3e039ec5aac9 100644 --- a/pkgs/development/python-modules/garminconnect/default.nix +++ b/pkgs/development/python-modules/garminconnect/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "garminconnect"; - version = "0.2.14"; + version = "0.2.15"; pyproject = true; disabled = pythonOlder "3.10"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "cyberjunky"; repo = "python-garminconnect"; rev = "refs/tags/${version}"; - hash = "sha256-FytgckIu99ZKfmxJ0KU+fpbBEgszdp8iwK3SFCL9Ejs="; + hash = "sha256-N6PJLsT8BnjGaOLeohDo3ACOyVb/iOCw3LAXZMjwoyw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-logging/default.nix b/pkgs/development/python-modules/google-cloud-logging/default.nix index c6d253d9cb07..546ab8cb544e 100644 --- a/pkgs/development/python-modules/google-cloud-logging/default.nix +++ b/pkgs/development/python-modules/google-cloud-logging/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "google-cloud-logging"; - version = "3.9.0"; + version = "3.10.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-TeyxsL7UoOPA5Yo3ZkbmAC1r58rQOeNGaCLoZlBy6jM="; + hash = "sha256-2T00c1EkDdsUz+IBmHotMs+df0eLiy+r7TAVtCWzJ08="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix index d0d8275392c1..0ae203f6331f 100644 --- a/pkgs/development/python-modules/griffe/default.nix +++ b/pkgs/development/python-modules/griffe/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "griffe"; - version = "0.42.0"; + version = "0.42.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "mkdocstrings"; repo = "griffe"; rev = "refs/tags/${version}"; - hash = "sha256-gleVVwi2exSHz+u8zHhH3nF1duz7qDOpiZBm228ZsSs="; + hash = "sha256-KaD3j96FJJx43m/nfHa4kAft4FcDOdq+2dsiaMY7PPY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix index 797f24eee83a..6df7a76dadd5 100644 --- a/pkgs/development/python-modules/internetarchive/default.nix +++ b/pkgs/development/python-modules/internetarchive/default.nix @@ -11,32 +11,36 @@ , tqdm , urllib3 , pythonOlder +, importlib-metadata }: buildPythonPackage rec { pname = "internetarchive"; - version = "3.6.0"; + version = "3.7.0"; + pyproject = true; - format = "pyproject"; + disabled = pythonOlder "3.8"; - disabled = pythonOlder "3.7"; - - # no tests data included in PyPI tarball src = fetchFromGitHub { owner = "jjjake"; repo = "internetarchive"; - rev = "v${version}"; - hash = "sha256-hy5e6DEAwLKn0l2nJD7fyW5r4ZZiH+fuTEDLQen+dNk="; + rev = "refs/tags/v${version}"; + hash = "sha256-krMOjXzI9tmLGLEswXLLqc8J68Gwnl1VrRO2fLbDv0o="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ tqdm docopt requests jsonpatch schema - setuptools # needs pkg_resources at runtime urllib3 + ] ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata ]; nativeCheckInputs = [ @@ -67,7 +71,7 @@ buildPythonPackage rec { meta = with lib; { description = "A Python and Command-Line Interface to Archive.org"; homepage = "https://github.com/jjjake/internetarchive"; - changelog = "https://github.com/jjjake/internetarchive/raw/v${version}/HISTORY.rst"; + changelog = "https://github.com/jjjake/internetarchive/blob/v${version}/HISTORY.rst"; license = licenses.agpl3Plus; maintainers = [ maintainers.marsam ]; mainProgram = "ia"; diff --git a/pkgs/development/python-modules/k5test/default.nix b/pkgs/development/python-modules/k5test/default.nix index aa7d1c172c67..dbab01e01a54 100644 --- a/pkgs/development/python-modules/k5test/default.nix +++ b/pkgs/development/python-modules/k5test/default.nix @@ -1,23 +1,24 @@ { lib +, stdenv , buildPythonPackage , pythonOlder , fetchPypi , substituteAll , findutils , krb5 -, stdenv +, setuptools }: buildPythonPackage rec { pname = "k5test"; - version = "0.10.3"; - format = "setuptools"; + version = "0.10.4"; + pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-nJ3uvK1joxXoGDPUXp/RK/IBZmQ7iry5/29NaxhMVx8="; + hash = "sha256-4VJJHmYC9qk7PVM9OHvUWQ8kdgk7aEIXD/C5PeZL7zA="; }; patches = [ @@ -29,16 +30,23 @@ buildPythonPackage rec { }) ]; + nativeBuildInputs = [ + setuptools + ]; + # No tests doCheck = false; - pythonImportsCheck = [ "k5test" ]; + pythonImportsCheck = [ + "k5test" + ]; meta = with lib; { - broken = stdenv.isDarwin; description = "Library for setting up self-contained Kerberos 5 environment"; homepage = "https://github.com/pythongssapi/k5test"; + changelog = "https://github.com/pythongssapi/k5test/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ ]; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix index 4988a3d25674..a17f4e829cae 100644 --- a/pkgs/development/python-modules/license-expression/default.nix +++ b/pkgs/development/python-modules/license-expression/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "license-expression"; - version = "30.2.0"; + version = "30.3.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "nexB"; repo = "license-expression"; rev = "refs/tags/v${version}"; - hash = "sha256-vsQsHi2jdB0OiV6stm1APjQvr+238UoKgaaeXVx/isI="; + hash = "sha256-nHqfnetVyz4W2Q6onH0mU/4x9e/vD4rbl9DF4TYqWzs="; }; dontConfigure = true; diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix index c3ffb1c8bf14..3650ab3731bc 100644 --- a/pkgs/development/python-modules/litellm/default.nix +++ b/pkgs/development/python-modules/litellm/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "litellm"; - version = "1.32.1"; + version = "1.32.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -42,7 +42,7 @@ buildPythonPackage rec { owner = "BerriAI"; repo = "litellm"; rev = "refs/tags/v${version}"; - hash = "sha256-qIEAtgfzTiUK+HzsocIH3L7z0Wfah3C4GByaA89wvso="; + hash = "sha256-rAHh4oCOfK4uS1GY8TXOxGwe/kRJKIBh/O6kLxYm8Qs="; }; postPatch = '' diff --git a/pkgs/development/python-modules/llama-index-core/default.nix b/pkgs/development/python-modules/llama-index-core/default.nix index 8a71591eb27d..df6e3b92e289 100644 --- a/pkgs/development/python-modules/llama-index-core/default.nix +++ b/pkgs/development/python-modules/llama-index-core/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "llama-index-core"; - version = "0.10.18"; + version = "0.10.20"; pyproject = true; disabled = pythonOlder "3.8"; @@ -39,7 +39,7 @@ buildPythonPackage rec { owner = "run-llama"; repo = "llama_index"; rev = "refs/tags/v${version}"; - hash = "sha256-xNPvaXODY159x8Fl3HRdYCdYeFNIieX5TsLTfup8Dtg="; + hash = "sha256-F7k5gtmhFdn369Ws5PSJ/xTid6ONstoWPotk+DmDtLw="; }; sourceRoot = "${src.name}/${pname}"; diff --git a/pkgs/development/python-modules/lnkparse3/default.nix b/pkgs/development/python-modules/lnkparse3/default.nix index 255466a22b7c..94fd7aaee190 100644 --- a/pkgs/development/python-modules/lnkparse3/default.nix +++ b/pkgs/development/python-modules/lnkparse3/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "lnkparse3"; - version = "1.3.3"; + version = "1.4.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "Matmaus"; repo = "LnkParse3"; rev = "refs/tags/v${version}"; - hash = "sha256-Ej2Tv1RViHqm2z1EG/cAkImcvtJcwSc3I0DxIL/q8FI="; + hash = "sha256-aWMkLFbmikdj4mlAPpo0qrxfE8zgRcSV83aiws03XsQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/managesieve/default.nix b/pkgs/development/python-modules/managesieve/default.nix index e1bd11c70688..1f0c911d5df8 100644 --- a/pkgs/development/python-modules/managesieve/default.nix +++ b/pkgs/development/python-modules/managesieve/default.nix @@ -2,26 +2,40 @@ , buildPythonPackage , fetchPypi , pytestCheckHook +, pythonOlder +, setuptools }: buildPythonPackage rec { pname = "managesieve"; - version = "0.7.1"; - format = "setuptools"; + version = "0.8"; + pyproject = true; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "44930a3b48332d23b35a5305ae7ba47904d4485ed1b7a22208b7d5ad9d60427a"; + hash = "sha256-2CCb6h69H58YT1byj/fkrfzGsMUbr0GHpJLcMpsSE/M="; }; - nativeCheckInputs = [ pytestCheckHook ]; + nativeBuildInputs = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "managesieve" + ]; meta = with lib; { description = "ManageSieve client library for remotely managing Sieve scripts"; - mainProgram = "sieveshell"; homepage = "https://managesieve.readthedocs.io/"; # PSFL for the python module, GPLv3 only for sieveshell license = with licenses; [ gpl3Only psfl ]; maintainers = with maintainers; [ dadada ]; + mainProgram = "sieveshell"; }; } diff --git a/pkgs/development/python-modules/optuna/default.nix b/pkgs/development/python-modules/optuna/default.nix index 4ad97d65d4e6..dd423b87a226 100644 --- a/pkgs/development/python-modules/optuna/default.nix +++ b/pkgs/development/python-modules/optuna/default.nix @@ -43,8 +43,8 @@ buildPythonPackage rec { pname = "optuna"; - version = "3.5.0"; - format = "pyproject"; + version = "3.6.0"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -52,7 +52,7 @@ buildPythonPackage rec { owner = "optuna"; repo = "optuna"; rev = "refs/tags/v${version}"; - hash = "sha256-lNurMkZZKpKXXQoqhuRUv8LCbdSi1ryj3kYYioYZPF0="; + hash = "sha256-KYSefIVGBUsN+A7nOWPBJyD4a+Wa+pO9WLyTpg8Cuy4="; }; nativeBuildInputs = [ @@ -134,10 +134,10 @@ buildPythonPackage rec { meta = with lib; { description = "A hyperparameter optimization framework"; - mainProgram = "optuna"; homepage = "https://optuna.org/"; - changelog = "https://github.com/optuna/optuna/releases/tag/${src.rev}"; + changelog = "https://github.com/optuna/optuna/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ natsukium ]; + mainProgram = "optuna"; }; } diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix index f1477f5b2424..8716316d5779 100644 --- a/pkgs/development/python-modules/pontos/default.nix +++ b/pkgs/development/python-modules/pontos/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "pontos"; - version = "24.3.1"; + version = "24.3.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "greenbone"; repo = "pontos"; rev = "refs/tags/v${version}"; - hash = "sha256-EYfhbIFD2p6ZZ4i6NCA22LS6mAZoJCJSYlTmRExWgw4="; + hash = "sha256-DXZDXipYBClqSdlTJsaPWaKr3qTiJ3osm3hHPp/MPow="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pvlib/default.nix b/pkgs/development/python-modules/pvlib/default.nix index 2c8894cbb11f..986fd4ed8b4d 100644 --- a/pkgs/development/python-modules/pvlib/default.nix +++ b/pkgs/development/python-modules/pvlib/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "pvlib"; - version = "0.10.3"; - format = "pyproject"; + version = "0.10.4"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi{ inherit pname version; - hash = "sha256-AkobUj1zpjMyNhLn8xWhcJzwbR/UP/CCGQH2akBostk="; + hash = "sha256-DF+ov+ixSjmjC/7+WmzwFksuvYKikSbbPZBqhNk5+HI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix index f5e6029e8560..5e4e971432ed 100644 --- a/pkgs/development/python-modules/pychromecast/default.nix +++ b/pkgs/development/python-modules/pychromecast/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pychromecast"; - version = "14.0.0"; + version = "14.0.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "PyChromecast"; inherit version; - hash = "sha256-3E+LBS52CpeNqbJWi3kCDLea9gigJkZfB1RM/+Q5c88="; + hash = "sha256-4W4Kf5SIMZGRuLT6IcoL60vxLu2lyb9kAkEYjyvqCj4="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyformlang/default.nix b/pkgs/development/python-modules/pyformlang/default.nix index 9a76ec2a1dfa..ce3923e0f8a6 100644 --- a/pkgs/development/python-modules/pyformlang/default.nix +++ b/pkgs/development/python-modules/pyformlang/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "pyformlang"; - version = "1.0.7"; + version = "1.0.9"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-i4ib18Ktyc9pRu4P+tQIHoZ/IbAOk8Dn0MXJoxw8gAA="; + hash = "sha256-oCwYM4yQ1KYZpC7vVpeHSIDH2Q930JAuTDq9mds9zoc="; }; nativeBuildInputs = [ @@ -34,11 +34,13 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "pyformlang" ]; + pythonImportsCheck = [ + "pyformlang" + ]; meta = with lib; { description = "A python framework for formal grammars"; - homepage = "https://pypi.org/project/pyformlang/"; + homepage = "https://github.com/Aunsiels/pyformlang"; license = licenses.mit; maintainers = with maintainers; [ natsukium ]; }; diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix index 2810332d42bb..0bf5ef3de39f 100644 --- a/pkgs/development/python-modules/pytenable/default.nix +++ b/pkgs/development/python-modules/pytenable/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "pytenable"; - version = "1.4.20"; + version = "1.4.21"; pyproject = true; disabled = pythonOlder "3.7"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "tenable"; repo = "pyTenable"; rev = "refs/tags/${version}"; - hash = "sha256-NiAv0zNITpKIQ2TarNoU4HwKuHm22LTu8pJUi0SDlfE="; + hash = "sha256-+P+6EmKpR+qlvLMgeg6iIxSx7jtC995v2eijkjJdc70="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/python-fsutil/default.nix b/pkgs/development/python-modules/python-fsutil/default.nix index 5a347071f620..c1c433ddd2db 100644 --- a/pkgs/development/python-modules/python-fsutil/default.nix +++ b/pkgs/development/python-modules/python-fsutil/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "python-fsutil"; - version = "0.13.1"; + version = "0.14.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "fabiocaccamo"; repo = "python-fsutil"; rev = "refs/tags/${version}"; - hash = "sha256-yY8hhw6uNKqrcj0geoQeGN/JCDJVja7pCPUHwoViL64="; + hash = "sha256-Cs78zpf3W5UZJkkUBEP6l6fi2J4OtJXGvqqQ8PWKx+8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index f15096a8e430..f225853368b5 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { pname = "sentry-sdk"; - version = "1.41.0"; + version = "1.42.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -47,7 +47,7 @@ buildPythonPackage rec { owner = "getsentry"; repo = "sentry-python"; rev = "refs/tags/${version}"; - hash = "sha256-eoHoUW3cXxdGeWpo/0kBIfVkLECrnKA2wtobe3GeU2Q="; + hash = "sha256-LZn7oWwKdHi/KScitFnNDX7pI92mNkC6niGP+BixjtA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/toml-adapt/default.nix b/pkgs/development/python-modules/toml-adapt/default.nix index 4ae78a71ea07..6af7f0940ed2 100644 --- a/pkgs/development/python-modules/toml-adapt/default.nix +++ b/pkgs/development/python-modules/toml-adapt/default.nix @@ -10,16 +10,16 @@ buildPythonPackage rec { pname = "toml-adapt"; - version = "0.3.2"; - format = "pyproject"; + version = "0.3.3"; + pyproject = true; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "firefly-cpp"; - repo = pname; + repo = "toml-adapt"; rev = "refs/tags/${version}"; - hash = "sha256-Za2v1Mon6e0mmGGTNXf1bCV5CIL8hrl7jGz4Lk3N8xc="; + hash = "sha256-KD5dTr/wxFbDg3AbfE0jUbgNjvxqDmbHwjY5Dmp6JFI="; }; nativeBuildInputs = [ @@ -41,9 +41,10 @@ buildPythonPackage rec { meta = with lib; { description = "A simple Command-line interface for manipulating toml files"; - mainProgram = "toml-adapt"; homepage = "https://github.com/firefly-cpp/toml-adapt"; + changelog = "https://github.com/firefly-cpp/toml-adapt/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ firefly-cpp ]; + mainProgram = "toml-adapt"; }; } diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix index 7b9da3aed9d7..881db628ede5 100644 --- a/pkgs/development/python-modules/types-setuptools/default.nix +++ b/pkgs/development/python-modules/types-setuptools/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "types-setuptools"; - version = "69.1.0.20240308"; + version = "69.1.0.20240310"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-rU9eUSUe7cvkqo2whEr2ZUBUqvycD20/H6APcHPBd2c="; + hash = "sha256-/A4QgvVcl0YRvOhEseW+stGolVAfSkZOSDBVkqQmgQA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/whoosh/default.nix b/pkgs/development/python-modules/whoosh/default.nix index 10053bc27918..52831486f2b7 100644 --- a/pkgs/development/python-modules/whoosh/default.nix +++ b/pkgs/development/python-modules/whoosh/default.nix @@ -1,30 +1,51 @@ -{ lib, buildPythonPackage, fetchPypi, pytest }: +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, pythonOlder +, setuptools +}: buildPythonPackage rec { - pname = "Whoosh"; + pname = "whoosh"; version = "2.7.4"; + pyproject = true; + + disabled = pythonOlder "3.7"; + src = fetchPypi { - inherit pname version; - sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw"; + pname = "Whoosh"; + inherit version; + hash = "sha256-fKVjPb+p4OD6QA0xUaigxL7FO9Ls7cCmdwWxdWXDGoM="; }; - nativeCheckInputs = [ pytest ]; + nativeBuildInputs = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; # Wrong encoding postPatch = '' rm tests/test_reading.py - substituteInPlace setup.cfg --replace "[pytest]" "[tool:pytest]" - ''; - checkPhase = '' - # FIXME: test_minimize_dfa fails on python 3.6 - py.test -k "not test_timelimit and not test_minimize_dfa" + substituteInPlace setup.cfg \ + --replace-fail "[pytest]" "[tool:pytest]" ''; + pythonImportsCheck = [ + "whoosh" + ]; + + disabledTests = [ + "test_minimize_dfa" + ]; + meta = with lib; { - description = "Fast, pure-Python full text indexing, search, and spell -checking library."; - homepage = "https://bitbucket.org/mchaput/whoosh"; - license = licenses.bsd2; + description = "Fast, pure-Python full text indexing, search, and spell checking library"; + homepage = "https://github.com/mchaput/whoosh"; + license = licenses.bsd2; maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 9001eef50f1a..916895a64735 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,12 +1,12 @@ { lib, stdenvNoCC, fetchurl, makeBinaryWrapper, jre }: stdenvNoCC.mkDerivation rec { - version = "10.14.1"; + version = "10.14.2"; pname = "checkstyle"; src = fetchurl { url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar"; - sha256 = "sha256-XgA8qzLBmvhbYq6c6WB8Yj9yudtKrFS3whbmobVAs2A="; + sha256 = "sha256-5OR/HJ0DqquvhWcB35TsKueGUfo7cM3b9mNszMJAz2o="; }; nativeBuildInputs = [ makeBinaryWrapper ]; diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix index 395303c57861..666416ad03e4 100644 --- a/pkgs/development/tools/golangci-lint/default.nix +++ b/pkgs/development/tools/golangci-lint/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "golangci-lint"; - version = "1.56.2"; + version = "1.57.0"; src = fetchFromGitHub { owner = "golangci"; repo = "golangci-lint"; rev = "v${version}"; - hash = "sha256-P1bgyYJCzHWWcmAHmBAyghFzKCwiQW3KNkbk5gogpn8="; + hash = "sha256-mBdK6HhoTVTRTU8agKETTZTR7NAH2cBQ/YQpbI2tyN0="; }; - vendorHash = "sha256-9M9BPLEtNlhmZbS/Kn9yh2att2oIgF+smP7y1XCvrjI="; + vendorHash = "sha256-wTx4XbFKvpcZXQrloDWALf3yId1ANCBCvv0k3VwVoiM="; subPackages = [ "cmd/golangci-lint" ]; diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix index 956e1f0c6072..894b83a72f8c 100644 --- a/pkgs/development/tools/language-servers/metals/default.nix +++ b/pkgs/development/tools/language-servers/metals/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "metals"; - version = "1.2.1"; + version = "1.2.2"; deps = stdenv.mkDerivation { name = "${pname}-deps-${version}"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { ''; outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "sha256-L/ltoLlr4TdsDYwYtaCs6+Q2yTiyzoa2GQ3VK28AlzE="; + outputHash = "sha256-xk2ionn/lBV8AR7n7OR03UuRCoP1/K6KuohhpRwFock="; }; nativeBuildInputs = [ makeWrapper setJavaClassPath ]; diff --git a/pkgs/development/tools/templ/default.nix b/pkgs/development/tools/templ/default.nix index 63dd98bd54ab..f3eda5a55975 100644 --- a/pkgs/development/tools/templ/default.nix +++ b/pkgs/development/tools/templ/default.nix @@ -5,7 +5,7 @@ buildGoModule rec { pname = "templ"; - version = "0.2.598"; + version = "0.2.639"; subPackages = [ "cmd/templ" ]; @@ -21,7 +21,7 @@ buildGoModule rec { owner = "a-h"; repo = "templ"; rev = "refs/tags/v${version}"; - hash = "sha256-jMoAocMDq8U1JsYoH3PFzZbnjSAzhifLwNZoKY+ambA="; + hash = "sha256-W1efknPo45mmKYuiFakJ0AigmfQqlfQ/u+de0zTRwwY="; }; vendorHash = "sha256-Upd5Wq4ajsyOMDiAWS2g2iNO1sm1XJc43AFQLIo5eDM="; diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e19f33c7c6af..1e50fc3dfa15 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -62,10 +62,26 @@ let SUNRPC_DEBUG = yes; # Provide access to tunables like sched_migration_cost_ns SCHED_DEBUG = yes; + + # Count IRQ and steal CPU time separately + IRQ_TIME_ACCOUNTING = yes; + PARAVIRT_TIME_ACCOUNTING = yes; + + # Enable CPU lockup detection + LOCKUP_DETECTOR = yes; + SOFTLOCKUP_DETECTOR = yes; + HARDLOCKUP_DETECTOR = yes; + + # Enable streaming logs to a remote device over a network + NETCONSOLE = module; + NETCONSOLE_DYNAMIC = yes; + + # Export known printks in debugfs + PRINTK_INDEX = whenAtLeast "5.15" yes; }; power-management = { - CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes; + CPU_FREQ_DEFAULT_GOV_SCHEDUTIL = yes; CPU_FREQ_GOV_SCHEDUTIL = yes; PM_ADVANCED_DEBUG = yes; PM_WAKELOCKS = yes; @@ -85,6 +101,30 @@ let # depends on HAVE_VIRT_CPU_ACCOUNTING_GEN depends on 64BIT, # so we can't force-enable this RCU_LAZY = whenAtLeast "6.2" (option yes); + + # Auto suspend Bluetooth devices at idle + BT_HCIBTUSB_AUTOSUSPEND = yes; + + # Expose cpufreq stats in sysfs + CPU_FREQ_STAT = yes; + + # Enable CPU energy model for scheduling + ENERGY_MODEL = whenAtLeast "5.0" yes; + + # Enable scheduling stats collection + SCHEDSTATS = yes; + + # Enable thermal interface netlink API + THERMAL_NETLINK = whenAtLeast "5.9" yes; + + # Prefer power-efficient workqueue implementation to per-CPU workqueues, + # which is slightly slower, but improves battery life. + # This is opt-in per workqueue, and can be disabled globally with a kernel command line option. + WQ_POWER_EFFICIENT_DEFAULT = yes; + + # Default SATA link power management to "medium with device initiated PM" + # for some extra power savings. + SATA_MOBILE_LPM_POLICY = whenAtLeast "5.18" (freeform "3"); } // optionalAttrs (stdenv.hostPlatform.isx86) { INTEL_IDLE = yes; INTEL_RAPL = whenAtLeast "5.3" module; @@ -109,6 +149,9 @@ let CHT_DC_TI_PMIC_OPREGION = whenAtLeast "5.10" yes; MFD_TPS68470 = whenBetween "5.10" "5.13" yes; TPS68470_PMIC_OPREGION = whenAtLeast "5.10" yes; + + # Enable Intel thermal hardware feedback + INTEL_HFI_THERMAL = whenAtLeast "5.18" yes; }; external-firmware = { @@ -136,6 +179,16 @@ let DAMON_DBGFS = whenAtLeast "5.15" yes; DAMON_RECLAIM = whenAtLeast "5.16" yes; DAMON_LRU_SORT = whenAtLeast "6.0" yes; + # Support recovering from memory failures on systems with ECC and MCA recovery. + MEMORY_FAILURE = yes; + + # Collect ECC errors and retire pages that fail too often + RAS_CEC = yes; + } // optionalAttrs (stdenv.is32bit) { + # Enable access to the full memory range (aka PAE) on 32-bit architectures + # This check isn't super accurate but it's close enough + HIGHMEM = option yes; + BOUNCE = option yes; }; memtest = { @@ -154,6 +207,9 @@ let BFQ_GROUP_IOSCHED = yes; MQ_IOSCHED_KYBER = yes; IOSCHED_BFQ = module; + # Enable CPU utilization clamping for RT tasks + UCLAMP_TASK = whenAtLeast "5.3" yes; + UCLAMP_TASK_GROUP = whenAtLeast "5.4" yes; }; @@ -166,6 +222,7 @@ let # Enable NUMA. numa = { NUMA = option yes; + NUMA_BALANCING = option yes; }; networking = { @@ -250,6 +307,9 @@ let # Bridge Netfilter Configuration NF_TABLES_BRIDGE = mkMerge [ (whenOlder "5.3" yes) (whenAtLeast "5.3" module) ]; + # Expose some debug info + NF_CONNTRACK_PROCFS = yes; + NF_FLOW_TABLE_PROCFS = whenAtLeast "6.0" yes; # needed for `dropwatch` # Builtin-only since https://github.com/torvalds/linux/commit/f4b6bcc7002f0e3a3428bac33cf1945abff95450 @@ -276,6 +336,10 @@ let INFINIBAND = module; INFINIBAND_IPOIB = module; INFINIBAND_IPOIB_CM = yes; + + # Enable debugfs for wireless drivers + CFG80211_DEBUGFS = yes; + MAC80211_DEBUGFS = yes; } // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") { # Not enabled by default, hides modules behind it NET_VENDOR_MEDIATEK = yes; @@ -288,8 +352,8 @@ let CFG80211_WEXT = option yes; # Without it, ipw2200 drivers don't build IPW2100_MONITOR = option yes; # support promiscuous mode IPW2200_MONITOR = option yes; # support promiscuous mode - HOSTAP_FIRMWARE = option yes; # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM = option yes; + HOSTAP_FIRMWARE = whenOlder "6.8" (option yes); # Support downloading firmware images with Host AP driver + HOSTAP_FIRMWARE_NVRAM = whenOlder "6.8" (option yes); MAC80211_MESH = option yes; # Enable 802.11s (mesh networking) support ATH9K_PCI = option yes; # Detect Atheros AR9xxx cards on PCI(e) bus ATH9K_AHB = option yes; # Ditto, AHB bus @@ -345,8 +409,12 @@ let FONT_TER16x32 = whenAtLeast "5.0" yes; }; - video = { + video = let + whenHasDevicePrivate = mkIf (!stdenv.isx86_32 && versionAtLeast version "5.1"); + in { DRM_LEGACY = whenOlder "6.8" no; + DRM_SIMPLEDRM = yes; + NOUVEAU_LEGACY_CTX_SUPPORT = whenBetween "5.2" "6.3" no; # Allow specifying custom EDID on the kernel command line @@ -371,8 +439,25 @@ let DRM_AMD_DC_FP = whenAtLeast "6.4" yes; DRM_AMD_DC_HDCP = whenBetween "5.5" "6.4" yes; DRM_AMD_DC_SI = whenAtLeast "5.10" yes; + + # Enable AMD Audio Coprocessor support for HDMI outputs + DRM_AMD_ACP = yes; + + # Enable AMD secure display when available + DRM_AMD_SECURE_DISPLAY = whenAtLeast "5.13" yes; + # Enable new firmware (and by extension NVK) for compatible hardware on Nouveau DRM_NOUVEAU_GSP_DEFAULT = whenAtLeast "6.8" yes; + + # Enable Nouveau shared virtual memory (used by OpenCL) + DEVICE_PRIVATE = whenHasDevicePrivate yes; + DRM_NOUVEAU_SVM = whenHasDevicePrivate yes; + + # Enable HDMI-CEC receiver support + MEDIA_CEC_RC = whenAtLeast "5.10" yes; + + # Enable CEC over DisplayPort + DRM_DP_CEC = yes; } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { # Intel GVT-g graphics virtualization supports 64-bit only DRM_I915_GVT = yes; @@ -409,6 +494,7 @@ let SND_HDA_CODEC_CA0132_DSP = whenOlder "5.7" yes; # Enable DSP firmware loading on Creative Soundblaster Z/Zx/ZxR/Recon SND_OSSEMUL = yes; SND_USB_CAIAQ_INPUT = yes; + SND_USB_AUDIO_MIDI_V2 = whenAtLeast "6.5" yes; # Enable Sound Open Firmware support } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" && versionAtLeast version "5.5") { @@ -445,14 +531,23 @@ let SND_SOC_SOF_TIGERLAKE_SUPPORT = whenOlder "5.12" yes; }; - usb-serial = { - USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver - }; - usb = { + USB = yes; # compile USB core into kernel, so we can use USB_SERIAL_CONSOLE before modules + USB_EHCI_ROOT_HUB_TT = yes; # Root Hub Transaction Translators USB_EHCI_TT_NEWSCHED = yes; # Improved transaction translator scheduling USB_HIDDEV = yes; # USB Raw HID Devices (like monitor controls and Uninterruptable Power Supplies) + + # default to dual role mode + USB_DWC2_DUAL_ROLE = yes; + USB_DWC3_DUAL_ROLE = yes; + }; + + usb-serial = { + USB_SERIAL = yes; + USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver + USB_SERIAL_CONSOLE = yes; # Allow using USB serial adapter as console + U_SERIAL_CONSOLE = whenAtLeast "5.10" yes; # Allow using USB gadget as console }; # Filesystem options - in particular, enable extended attributes and @@ -533,6 +628,7 @@ let SQUASHFS_FILE_DIRECT = yes; SQUASHFS_DECOMP_MULTI_PERCPU = whenOlder "6.2" yes; + SQUASHFS_CHOICE_DECOMP_BY_MOUNT = whenAtLeast "6.2" yes; SQUASHFS_XATTR = yes; SQUASHFS_ZLIB = yes; SQUASHFS_LZO = yes; @@ -598,6 +694,16 @@ let CRYPTO_DRBG_HASH = yes; CRYPTO_DRBG_CTR = yes; + # Enable KFENCE + # See: https://docs.kernel.org/dev-tools/kfence.html + KFENCE = whenAtLeast "5.12" yes; + + # Enable support for page poisoning. Still needs to be enabled on the command line to actually work. + PAGE_POISONING = yes; + + # Enable stack smashing protections in schedule() + # See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.8&id=0d9e26329b0c9263d4d9e0422d80a0e73268c52f + SCHED_STACK_END_CHECK = yes; } // optionalAttrs stdenv.hostPlatform.isx86_64 { # Enable Intel SGX X86_SGX = whenAtLeast "5.11" yes; @@ -614,6 +720,9 @@ let SEV_GUEST = whenAtLeast "5.19" module; # Shadow stacks X86_USER_SHADOW_STACK = whenAtLeast "6.6" yes; + + # Mitigate straight line speculation at the cost of some file size + SLS = whenAtLeast "5.17" yes; }; microcode = { @@ -791,6 +900,10 @@ let # Unconditionally enabled, because it is required for CRIU and # it provides the kcmp() system call that Mesa depends on. CHECKPOINT_RESTORE = yes; + + # Allows soft-dirty tracking on pages, used by CRIU. + # See https://docs.kernel.org/admin-guide/mm/soft-dirty.html + MEM_SOFT_DIRTY = mkIf (!stdenv.isx86_32) yes; }; misc = let @@ -805,6 +918,9 @@ let # enabled by default in x86_64 but not arm64, so we do that here HIDRAW = yes; + # Enable loading HID fixups as eBPF from userspace + HID_BPF = whenAtLeast "6.3" yes; + HID_ACRUX_FF = yes; DRAGONRISE_FF = yes; GREENASIA_FF = yes; @@ -832,7 +948,10 @@ let # Enable initrd support. BLK_DEV_INITRD = yes; - PM_TRACE_RTC = no; # Disable some expensive (?) features. + # Allows debugging systems that get stuck during suspend/resume + PM_TRACE = yes; + PM_TRACE_RTC = yes; + ACCESSIBILITY = yes; # Accessibility support AUXDISPLAY = yes; # Auxiliary Display support HIPPI = yes; @@ -857,6 +976,11 @@ let BLK_SED_OPAL = yes; + # Enable support for block layer inline encryption + BLK_INLINE_ENCRYPTION = whenAtLeast "5.8" yes; + # ...but fall back to CPU encryption if unavailable + BLK_INLINE_ENCRYPTION_FALLBACK = whenAtLeast "5.8" yes; + BSD_PROCESS_ACCT_V3 = yes; SERIAL_DEV_BUS = yes; # enables support for serial devices @@ -971,7 +1095,7 @@ let # Disable the firmware helper fallback, udev doesn't implement it any more FW_LOADER_USER_HELPER_FALLBACK = option no; - FW_LOADER_COMPRESS = option yes; + FW_LOADER_COMPRESS = whenAtLeast "5.3" yes; HOTPLUG_PCI_ACPI = yes; # PCI hotplug using ACPI HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support @@ -1018,6 +1142,13 @@ let # Set system time from RTC on startup and resume RTC_HCTOSYS = option yes; + + # Expose watchdog information in sysfs + WATCHDOG_SYSFS = yes; + + # Enable generic kernel watch queues + # See https://docs.kernel.org/core-api/watch_queue.html + WATCH_QUEUE = whenAtLeast "5.8" yes; } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") { # Enable CPU/memory hotplug support # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot @@ -1048,6 +1179,10 @@ let # https://github.com/torvalds/linux/blob/856deb866d16e29bd65952e0289066f6078af773/kernel/dma/contiguous.c#L35-L44 CMA_SIZE_MBYTES = freeform "32"; + # Add debug interfaces for CMA + CMA_DEBUGFS = yes; + CMA_SYSFS = yes; + # Many ARM SBCs hand off a pre-configured framebuffer. # This always can can be replaced by the actual native driver. # Keeping it a built-in ensures it will be used if possible. @@ -1093,6 +1228,24 @@ let } // optionalAttrs (versionAtLeast version "5.4" && stdenv.hostPlatform.system == "x86_64-linux") { CHROMEOS_LAPTOP = module; CHROMEOS_PSTORE = module; + } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { + # Enable x86 resource control + X86_CPU_RESCTRL = whenAtLeast "5.0" yes; + + # Enable TSX on CPUs where it's not vulnerable + X86_INTEL_TSX_MODE_AUTO = yes; + + # Enable AMD Wi-Fi RF band mitigations + # See https://cateee.net/lkddb/web-lkddb/AMD_WBRF.html + AMD_WBRF = whenAtLeast "6.8" yes; + + # Enable Intel Turbo Boost Max 3.0 + INTEL_TURBO_MAX_3 = yes; + }; + + accel = { + # Build DRM accelerator devices + DRM_ACCEL = whenAtLeast "6.2" yes; }; }; in diff --git a/pkgs/os-specific/linux/rtl8814au/default.nix b/pkgs/os-specific/linux/rtl8814au/default.nix index 0b1522c96972..bef60b52814d 100644 --- a/pkgs/os-specific/linux/rtl8814au/default.nix +++ b/pkgs/os-specific/linux/rtl8814au/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "rtl8814au"; - version = "${kernel.version}-unstable-2023-03-21"; + version = "${kernel.version}-unstable-2024-03-19"; src = fetchFromGitHub { owner = "morrownr"; repo = "8814au"; - rev = "6f80699e68fd2a9f2bba3f1a56ca06d1b7992bd8"; - hash = "sha256-7dv+8vNI1OLLA4SdZQPL87pTS9HR6mGijzWo9WL7vc0="; + rev = "d7945c1e0244c83cbbad4da331648246f12eaee9"; + hash = "sha256-idjHlvyFpQgLGfNAPpZKRnLdXnAogUW3qGHC1WzGVmA="; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/shells/fish/plugins/puffer.nix b/pkgs/shells/fish/plugins/puffer.nix index 0365c55e5351..107191ca52e6 100644 --- a/pkgs/shells/fish/plugins/puffer.nix +++ b/pkgs/shells/fish/plugins/puffer.nix @@ -1,20 +1,24 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "puffer"; - version = "unstable-2022-10-07"; + version = "1.0.0"; src = fetchFromGitHub { owner = "nickeb96"; repo = "puffer-fish"; - rev = "fd0a9c95da59512beffddb3df95e64221f894631"; - hash = "sha256-aij48yQHeAKCoAD43rGhqW8X/qmEGGkg8B4jSeqjVU0="; + rev = "v${version}"; + hash = "sha256-2niYj0NLfmVIQguuGTA7RrPIcorJEPkxhH6Dhcy+6Bk="; }; - meta = with lib; { + meta = { description = "Text Expansions for Fish"; homepage = "https://github.com/nickeb96/puffer-fish"; - license = licenses.mit; - maintainers = with maintainers; [ quantenzitrone ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ quantenzitrone ]; }; } diff --git a/pkgs/tools/misc/mise/default.nix b/pkgs/tools/misc/mise/default.nix index f720edd67db6..b57d4a7797b6 100644 --- a/pkgs/tools/misc/mise/default.nix +++ b/pkgs/tools/misc/mise/default.nix @@ -17,16 +17,16 @@ rustPlatform.buildRustPackage rec { pname = "mise"; - version = "2024.3.2"; + version = "2024.3.6"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; rev = "v${version}"; - hash = "sha256-o8oYfah5Vveup9qdxl+Uzl+j4Sqoj+C6BA3c5kpofXo="; + hash = "sha256-jTfr4lJ/N3jFmeR0sqNr+V8IxOx7t7YyrDVkFDJSQnI="; }; - cargoHash = "sha256-c6hN9JuMuUp1jl5wXf4N5S3hzyQeeLKAb56H9cLBAIY="; + cargoHash = "sha256-kfoTmXvGpXGTU7G7xEZmSgS721g0KM8hRZZnLg3XErM="; nativeBuildInputs = [ installShellFiles pkg-config ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix index 9114c52a052a..e01d1155a980 100644 --- a/pkgs/tools/security/cnspec/default.nix +++ b/pkgs/tools/security/cnspec/default.nix @@ -5,18 +5,18 @@ buildGoModule rec { pname = "cnspec"; - version = "10.8.0"; + version = "10.8.2"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnspec"; rev = "refs/tags/v${version}"; - hash = "sha256-EfVbYIGkjH0tHaMgnoyAGw7ZlAPVBlhbKTjryFRBF1A="; + hash = "sha256-F38qymDYAV2hc1jKrnyot6rk/vDPAvH+DP/JhucmZkE="; }; proxyVendor = true; - vendorHash = "sha256-xrWGILBxZEoNi4PHG1vixLpOVaW0LRKkTkJsx5mWBns="; + vendorHash = "sha256-w8iGRPnYbyNeHZ+cOA6K4GJdsIyES5zC3A70r9BEFuY="; subPackages = [ "apps/cnspec" diff --git a/pkgs/tools/security/dontgo403/default.nix b/pkgs/tools/security/dontgo403/default.nix index 19bc78f2206c..7fab0dac0425 100644 --- a/pkgs/tools/security/dontgo403/default.nix +++ b/pkgs/tools/security/dontgo403/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "dontgo403"; - version = "1.0.0"; + version = "1.0.2"; src = fetchFromGitHub { owner = "devploit"; repo = "dontgo403"; rev = "refs/tags/${version}"; - hash = "sha256-znmPXue+pzv7vAKnIYsjJQQGMeBETH+ekyVKGz9wRik="; + hash = "sha256-qA1i8l2oBQQ5IF8ho3K2k+TAndUTFGwb2NfhyFqfKzU="; }; vendorHash = "sha256-IGnTbuaQH8A6aKyahHMd2RyFRh4WxZ3Vx/A9V3uelRg="; diff --git a/pkgs/tools/security/gotestwaf/default.nix b/pkgs/tools/security/gotestwaf/default.nix index 5a807b0a08c7..b710d209244c 100644 --- a/pkgs/tools/security/gotestwaf/default.nix +++ b/pkgs/tools/security/gotestwaf/default.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "gotestwaf"; - version = "0.4.15"; + version = "0.4.16"; src = fetchFromGitHub { owner = "wallarm"; repo = "gotestwaf"; rev = "refs/tags/v${version}"; - hash = "sha256-C5lDiHDSSweUZh83AOv5WIQ4JuC9OiCvpHshgius51k="; + hash = "sha256-fMSXnA8ZuyfOQINkWiYwX7NSffsHbdlfDcpfo/hahMY="; }; vendorHash = null; diff --git a/pkgs/tools/system/nvtop/build-nvtop.nix b/pkgs/tools/system/nvtop/build-nvtop.nix new file mode 100644 index 000000000000..a72ab1ce0dfd --- /dev/null +++ b/pkgs/tools/system/nvtop/build-nvtop.nix @@ -0,0 +1,90 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, gtest +, cudatoolkit +, libdrm +, ncurses +, testers +, udev +, addOpenGLRunpath +, amd ? false +, intel ? false +, msm ? false +, nvidia ? false +, apple ? false +, panfrost ? false +, panthor ? false +, ascend ? false +}: + +let + drm-postFixup = '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${lib.makeLibraryPath [ libdrm ncurses udev ]}" \ + $out/bin/nvtop + ''; + needDrm = (amd || msm || panfrost || panthor); +in +stdenv.mkDerivation (finalAttrs: { + pname = "nvtop"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "Syllo"; + repo = "nvtop"; + rev = finalAttrs.version; + hash = "sha256-MkkBY2PR6FZnmRMqv9MWqwPWRgixfkUQW5TWJtHEzwA="; + }; + + cmakeFlags = with lib.strings; [ + (cmakeBool "BUILD_TESTING" true) + (cmakeBool "USE_LIBUDEV_OVER_LIBSYSTEMD" true) + (cmakeBool "AMDGPU_SUPPORT" amd) + (cmakeBool "NVIDIA_SUPPORT" nvidia) + (cmakeBool "INTEL_SUPPORT" intel) + (cmakeBool "APPLE_SUPPORT" apple) + (cmakeBool "MSM_SUPPORT" msm) + (cmakeBool "PANFROST_SUPPORT" panfrost) + (cmakeBool "PANTHOR_SUPPORT" panthor) + (cmakeBool "ASCEND_SUPPORT" ascend) + ]; + nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath; + + buildInputs = with lib; [ ncurses udev ] + ++ optional nvidia cudatoolkit + ++ optional needDrm libdrm + ; + + # this helps cmake to find + env.NIX_CFLAGS_COMPILE = lib.optionalString needDrm "-isystem ${lib.getDev libdrm}/include/libdrm"; + + # ordering of fixups is important + postFixup = (lib.optionalString needDrm drm-postFixup) + (lib.optionalString nvidia "addOpenGLRunpath $out/bin/nvtop"); + + doCheck = true; + + passthru = { + tests.version = testers.testVersion { + inherit (finalAttrs) version; + package = finalAttrs.finalPackage; + command = "nvtop --version"; + }; + }; + + meta = with lib; { + description = "A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs"; + longDescription = '' + Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs. + It can handle multiple GPUs and print information about them in a htop familiar way. + ''; + homepage = "https://github.com/Syllo/nvtop"; + changelog = "https://github.com/Syllo/nvtop/releases/tag/${finalAttrs.version}"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ willibutz gbtb anthonyroussel ]; + mainProgram = "nvtop"; + }; +}) diff --git a/pkgs/tools/system/nvtop/default.nix b/pkgs/tools/system/nvtop/default.nix index e47291207f08..f6e679b6ffef 100644 --- a/pkgs/tools/system/nvtop/default.nix +++ b/pkgs/tools/system/nvtop/default.nix @@ -1,83 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest -, cudatoolkit -, libdrm -, ncurses -, nvtop -, testers -, udev -, addOpenGLRunpath -, amd ? true -, intel ? true -, msm ? true -, nvidia ? true -}: - +{ callPackage }: let - nvidia-postFixup = "addOpenGLRunpath $out/bin/nvtop"; - libPath = lib.makeLibraryPath [ libdrm ncurses udev ]; - drm-postFixup = '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}" \ - $out/bin/nvtop - ''; + # this GPU families are supported "by-default" upstream (see https://github.com/Syllo/nvtop/blob/3a69c2d060298cd6f92cb09db944eded98be1c23/CMakeLists.txt#L81) + # coincidentally, these families are also easy to build in nixpkgs at the moment + defaultGPUFamilies = [ "amd" "intel" "msm" "nvidia" "panfrost" "panthor" ]; + # these GPU families are partially supported upstream, they are also tricky to build in nixpkgs + # volunteers with specific hardware needed to build and test these package variants + additionalGPUFamilies = [ "apple" "ascend" ]; + defaultSupport = builtins.listToAttrs (builtins.map (gpu: { name = gpu; value = true; }) defaultGPUFamilies); in -stdenv.mkDerivation rec { - pname = "nvtop"; - version = "3.0.2"; - - src = fetchFromGitHub { - owner = "Syllo"; - repo = "nvtop"; - rev = version; - hash = "sha256-SHKdjzbc3ZZfOW2p8RLFRKKBfLnO+Z8/bKVxcdLLqxw="; - }; - - cmakeFlags = with lib; [ - "-DBUILD_TESTING=ON" - "-DUSE_LIBUDEV_OVER_LIBSYSTEMD=ON" - ] ++ optional nvidia "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include" - ++ optional nvidia "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so" - ++ optional (!amd) "-DAMDGPU_SUPPORT=OFF" - ++ optional (!intel) "-DINTEL_SUPPORT=OFF" - ++ optional (!msm) "-DMSM_SUPPORT=OFF" - ++ optional (!nvidia) "-DNVIDIA_SUPPORT=OFF" - ++ optional (amd || msm) "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2" - ; - nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath; - buildInputs = with lib; [ ncurses udev ] - ++ optional nvidia cudatoolkit - ++ optional (amd || msm) libdrm - ; - - # ordering of fixups is important - postFixup = (lib.optionalString (amd || msm) drm-postFixup) + (lib.optionalString nvidia nvidia-postFixup); - - doCheck = true; - - passthru = { - tests.version = testers.testVersion { - inherit version; - package = nvtop; - command = "nvtop --version"; - }; - }; - - meta = with lib; { - description = "A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs"; - longDescription = '' - Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs. - It can handle multiple GPUs and print information about them in a htop familiar way. - ''; - homepage = "https://github.com/Syllo/nvtop"; - changelog = "https://github.com/Syllo/nvtop/releases/tag/${version}"; - license = licenses.gpl3Only; - platforms = platforms.linux; - maintainers = with maintainers; [ willibutz gbtb anthonyroussel ]; - mainProgram = "nvtop"; - }; +{ + full = callPackage ./build-nvtop.nix defaultSupport; #this package supports all default GPU families } +# additional packages with only one specific GPU family support +// builtins.listToAttrs (builtins.map (gpu: { name = gpu; value = (callPackage ./build-nvtop.nix { "${gpu}" = true; }); }) defaultGPUFamilies) + + + diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9c305b95d940..d132b5c7247f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -836,6 +836,11 @@ mapAliases ({ noto-fonts-extra = noto-fonts; # Added 2023-04-08 NSPlist = nsplist; # Added 2024-01-05 nvidia-thrust = throw "nvidia-thrust has been removed because the project was deprecated; use cudaPackages.cuda_cccl"; + nvtop = lib.warn "nvtop has been renamed to nvtopPackages.full" nvtopPackages.full; # Added 2024-02-25 + nvtop-amd = lib.warn "nvtop-amd has been renamed to nvtopPackages.amd" nvtopPackages.amd; # Added 2024-02-25 + nvtop-nvidia = lib.warn "nvtop-nvidia has been renamed to nvtopPackages.nvidia" nvtopPackages.nvidia; # Added 2024-02-25 + nvtop-intel = lib.warn "nvtop-intel has been renamed to nvtopPackages.intel" nvtopPackages.intel; # Added 2024-02-25 + nvtop-msm = lib.warn "nvtop-msm has been renamed to nvtopPackages.msm" nvtopPackages.msm; # Added 2024-02-25 ### O ### @@ -844,6 +849,7 @@ mapAliases ({ oauth2_proxy = oauth2-proxy; # Added 2021-04-18 octant = throw "octant has been dropped due to being archived and vulnerable"; # Added 2023-09-29 octant-desktop = throw "octant-desktop has been dropped due to being archived and vulnerable"; # Added 2023-09-29 + octorpki = throw "octorpki has been removed, upstream says to use rpki-client instead"; # Added 2024-03-19 ogre1_9 = throw "ogre1_9 has been removed, use ogre instead"; # Added 2023-03-22 ogre1_10 = throw "ogre1_10 has been removed, use ogre instead"; # Added 2023-07-20 opa = throw "opa has been removed from nixpkgs as upstream has abandoned the project"; # Added 2023-03-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 80592e292ade..9bd074c2ed96 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23843,31 +23843,7 @@ with pkgs; nvitop = callPackage ../tools/system/nvitop { }; - nvtop = callPackage ../tools/system/nvtop { }; - nvtop-amd = (callPackage ../tools/system/nvtop { - amd = true; - intel = false; - msm = false; - nvidia = false; - }).overrideAttrs { pname = "nvtop-amd"; }; - nvtop-intel = (callPackage ../tools/system/nvtop { - amd = false; - intel = true; - msm = false; - nvidia = false; - }).overrideAttrs { pname = "nvtop-intel"; }; - nvtop-msm = (callPackage ../tools/system/nvtop { - amd = false; - intel = false; - msm = true; - nvidia = false; - }).overrideAttrs { pname = "nvtop-msm"; }; - nvtop-nvidia = (callPackage ../tools/system/nvtop { - amd = false; - intel = false; - msm = false; - nvidia = true; - }).overrideAttrs { pname = "nvtop-nvidia"; }; + nvtopPackages = recurseIntoAttrs (import ../tools/system/nvtop { inherit callPackage; }); ocl-icd = callPackage ../development/libraries/ocl-icd { }; @@ -27327,8 +27303,6 @@ with pkgs; disk_indicator = callPackage ../os-specific/linux/disk-indicator { }; - displaycal = callPackage ../applications/graphics/displaycal { }; - displaylink = callPackage ../os-specific/linux/displaylink { inherit (linuxPackages) evdi; }; @@ -28604,6 +28578,8 @@ with pkgs; android-udev-rules = callPackage ../os-specific/linux/android-udev-rules { }; + andromeda-gtk-theme = libsForQt5.callPackage ../data/themes/andromeda-gtk-theme { }; + ankacoder = callPackage ../data/fonts/ankacoder { }; ankacoder-condensed = callPackage ../data/fonts/ankacoder/condensed.nix { }; @@ -32742,9 +32718,7 @@ with pkgs; kupfer = callPackage ../applications/misc/kupfer { }; - kuro = callPackage ../applications/misc/kuro { - electron = electron_22; - }; + kuro = callPackage ../applications/misc/kuro { }; timoni = callPackage ../applications/networking/cluster/timoni { };