diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2f21f2192741..287a20b2f048 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2089,12 +2089,6 @@ githubId = 18648043; name = "Daniel Cartwright"; }; - chiiruno = { - email = "okinan@protonmail.com"; - github = "chiiruno"; - githubId = 30435868; - name = "Okina Matara"; - }; Chili-Man = { email = "dr.elhombrechile@gmail.com"; name = "Diego Rodriguez"; @@ -14234,6 +14228,12 @@ github = "zbioe"; githubId = 7332055; }; + zendo = { + name = "zendo"; + email = "linzway@qq.com"; + github = "zendo"; + githubId = 348013; + }; zenithal = { name = "zenithal"; email = "i@zenithal.me"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index be38e3fb389a..730efa16e8c3 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -462,6 +462,44 @@ kernel messages is handled by systemd since Linux 3.5. + + + pkgs.ssmtp has been dropped due to the + program being unmaintained. pkgs.msmtp can + be used instead as a substitute sendmail + implementation. The corresponding options + services.ssmtp.* have been removed as well. + programs.msmtp.* can be used instead for an + equivalent setup. For example: + + +{ + # Original ssmtp configuration: + services.ssmtp = { + enable = true; + useTLS = true; + useSTARTTLS = true; + hostName = "smtp.example:587"; + authUser = "someone"; + authPassFile = "/secrets/password.txt"; + }; + + # Equivalent msmtp configuration: + programs.msmtp = { + enable = true; + accounts.default = { + tls = true; + tls_starttls = true; + auth = true; + host = "smtp.example"; + port = 587; + user = "someone"; + passwordeval = "cat /secrets/password.txt"; + }; + }; +} + + services.kubernetes.addons.dashboard was @@ -598,6 +636,13 @@ work. + + + hbase version 0.98.24 has been removed. The + package now defaults to version 2.4.11. Versions 1.7.1 and + 3.0.0-alpha-2 are also available. + + services.paperless-ng was renamed to @@ -1807,6 +1852,29 @@ configuration. + + + The option + services.xserver.desktopManager.runXdgAutostartIfNone + was added in order to automatically run XDG autostart files + for sessions without a desktop manager. This replaces helpers + like the dex package. + + + + + When setting + i18n.inputMethod.enabled + to fcitx5, it no longer creates + corresponding systemd user services. It now relies on XDG + autostart files to start and work properly in your desktop + sessions. If you are using only a window manager without a + desktop manager, you need to enable + services.xserver.desktopManager.runXdgAutostartIfNone + or using the dex package to make + fcitx5 work. + + A new module was added for the Envoy reverse proxy, providing diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 4fddd34d447c..13c73c4e8096 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -150,6 +150,39 @@ In addition to numerous new and upgraded packages, this release has the followin - `security.klogd` was removed. Logging of kernel messages is handled by systemd since Linux 3.5. +- `pkgs.ssmtp` has been dropped due to the program being unmaintained. + `pkgs.msmtp` can be used instead as a substitute `sendmail` implementation. + The corresponding options `services.ssmtp.*` have been removed as well. + `programs.msmtp.*` can be used instead for an equivalent setup. For example: + + ```nix + { + # Original ssmtp configuration: + services.ssmtp = { + enable = true; + useTLS = true; + useSTARTTLS = true; + hostName = "smtp.example:587"; + authUser = "someone"; + authPassFile = "/secrets/password.txt"; + }; + + # Equivalent msmtp configuration: + programs.msmtp = { + enable = true; + accounts.default = { + tls = true; + tls_starttls = true; + auth = true; + host = "smtp.example"; + port = 587; + user = "someone"; + passwordeval = "cat /secrets/password.txt"; + }; + }; + } + ``` + - `services.kubernetes.addons.dashboard` was removed due to it being an outdated version. - `services.kubernetes.scheduler.{port,address}` now set `--secure-port` and `--bind-address` instead of `--port` and `--address`, since the former have been deprecated and are no longer functional in kubernetes>=1.23. Ensure that you are not relying on the insecure behaviour before upgrading. @@ -194,6 +227,8 @@ In addition to numerous new and upgraded packages, this release has the followin - `services.ipfs.extraFlags` is now escaped with `utils.escapeSystemdExecArgs`. If you rely on systemd interpolating `extraFlags` in the service `ExecStart`, this will no longer work. +- `hbase` version 0.98.24 has been removed. The package now defaults to version 2.4.11. Versions 1.7.1 and 3.0.0-alpha-2 are also available. + - `services.paperless-ng` was renamed to `services.paperless`. Accordingly, the `paperless-ng-manage` script (located in `dataDir`) was renamed to `paperless-manage`. `services.paperless` now uses `paperless-ngx`. - The `matrix-synapse` service (`services.matrix-synapse`) has been converted to use the `settings` option defined in RFC42. @@ -658,6 +693,17 @@ In addition to numerous new and upgraded packages, this release has the followin - The `services.stubby` module was converted to a [settings-style](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration. +- The option + [services.xserver.desktopManager.runXdgAutostartIfNone](#opt-services.xserver.desktopManager.runXdgAutostartIfNone) + was added in order to automatically run XDG autostart files for sessions without a desktop manager. + This replaces helpers like the `dex` package. + +- When setting [i18n.inputMethod.enabled](#opt-i18n.inputMethod.enabled) to `fcitx5`, + it no longer creates corresponding systemd user services. + It now relies on XDG autostart files to start and work properly in your desktop sessions. + If you are using only a window manager without a desktop manager, you need to enable + `services.xserver.desktopManager.runXdgAutostartIfNone` or using the `dex` package to make `fcitx5` work. + - A new module was added for the Envoy reverse proxy, providing the options `services.envoy.enable` and `services.envoy.settings`. - The option `services.duplicati.dataDir` has been added to allow changing the location of duplicati's files. diff --git a/nixos/modules/i18n/input-method/fcitx5.nix b/nixos/modules/i18n/input-method/fcitx5.nix index 414aabbbaa73..6fea28e22345 100644 --- a/nixos/modules/i18n/input-method/fcitx5.nix +++ b/nixos/modules/i18n/input-method/fcitx5.nix @@ -28,11 +28,5 @@ in { QT_IM_MODULE = "fcitx"; XMODIFIERS = "@im=fcitx"; }; - - systemd.user.services.fcitx5-daemon = { - enable = true; - script = "${fcitx5Package}/bin/fcitx5"; - wantedBy = [ "graphical-session.target" ]; - }; }; } diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 4c882707c5f8..c6008864e8b8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -205,7 +205,6 @@ ./programs/spacefm.nix ./programs/singularity.nix ./programs/ssh.nix - ./programs/ssmtp.nix ./programs/sysdig.nix ./programs/systemtap.nix ./programs/starship.nix diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix deleted file mode 100644 index b454bf35229e..000000000000 --- a/nixos/modules/programs/ssmtp.nix +++ /dev/null @@ -1,190 +0,0 @@ -# Configuration for `ssmtp', a trivial mail transfer agent that can -# replace sendmail/postfix on simple systems. It delivers email -# directly to an SMTP server defined in its configuration file, without -# queueing mail locally. - -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.ssmtp; - -in -{ - - imports = [ - (mkRenamedOptionModule [ "networking" "defaultMailServer" "directDelivery" ] [ "services" "ssmtp" "enable" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "hostName" ] [ "services" "ssmtp" "hostName" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "domain" ] [ "services" "ssmtp" "domain" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "root" ] [ "services" "ssmtp" "root" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "useTLS" ] [ "services" "ssmtp" "useTLS" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "useSTARTTLS" ] [ "services" "ssmtp" "useSTARTTLS" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "authUser" ] [ "services" "ssmtp" "authUser" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "authPassFile" ] [ "services" "ssmtp" "authPassFile" ]) - (mkRenamedOptionModule [ "networking" "defaultMailServer" "setSendmail" ] [ "services" "ssmtp" "setSendmail" ]) - - (mkRemovedOptionModule [ "networking" "defaultMailServer" "authPass" ] "authPass has been removed since it leaks the clear-text password into the world-readable store. Use authPassFile instead and make sure it's not a store path") - (mkRemovedOptionModule [ "services" "ssmtp" "authPass" ] "authPass has been removed since it leaks the clear-text password into the world-readable store. Use authPassFile instead and make sure it's not a store path") - ]; - - options = { - - services.ssmtp = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Use the trivial Mail Transfer Agent (MTA) - ssmtp package to allow programs to send - e-mail. If you don't want to run a “real” MTA like - sendmail or postfix on - your machine, set this option to true, and - set the option - to the - host name of your preferred mail server. - ''; - }; - - settings = mkOption { - type = with types; attrsOf (oneOf [ bool str ]); - default = {}; - description = '' - ssmtp5 configuration. Refer - to for details on supported values. - ''; - example = literalExpression '' - { - Debug = true; - FromLineOverride = false; - } - ''; - }; - - hostName = mkOption { - type = types.str; - example = "mail.example.org"; - description = '' - The host name of the default mail server to use to deliver - e-mail. Can also contain a port number (ex: mail.example.org:587), - defaults to port 25 if no port is given. - ''; - }; - - root = mkOption { - type = types.str; - default = ""; - example = "root@example.org"; - description = '' - The e-mail to which mail for users with UID < 1000 is forwarded. - ''; - }; - - domain = mkOption { - type = types.str; - default = ""; - example = "example.org"; - description = '' - The domain from which mail will appear to be sent. - ''; - }; - - useTLS = mkOption { - type = types.bool; - default = false; - description = '' - Whether TLS should be used to connect to the default mail - server. - ''; - }; - - useSTARTTLS = mkOption { - type = types.bool; - default = false; - description = '' - Whether the STARTTLS should be used to connect to the default - mail server. (This is needed for TLS-capable mail servers - running on the default SMTP port 25.) - ''; - }; - - authUser = mkOption { - type = types.str; - default = ""; - example = "foo@example.org"; - description = '' - Username used for SMTP auth. Leave blank to disable. - ''; - }; - - authPassFile = mkOption { - type = types.nullOr types.str; - default = null; - example = "/run/keys/ssmtp-authpass"; - description = '' - Path to a file that contains the password used for SMTP auth. The file - should not contain a trailing newline, if the password does not contain one - (e.g. use echo -n "password" > file). - This file should be readable by the users that need to execute ssmtp. - ''; - }; - - setSendmail = mkOption { - type = types.bool; - default = true; - description = "Whether to set the system sendmail to ssmtp's."; - }; - - }; - - }; - - - config = mkIf cfg.enable { - - assertions = [ - { - assertion = cfg.useSTARTTLS -> cfg.useTLS; - message = "services.ssmtp.useSTARTTLS has no effect without services.ssmtp.useTLS"; - } - ]; - - services.ssmtp.settings = mkMerge [ - ({ - MailHub = cfg.hostName; - FromLineOverride = mkDefault true; - UseTLS = cfg.useTLS; - UseSTARTTLS = cfg.useSTARTTLS; - }) - (mkIf (cfg.root != "") { root = cfg.root; }) - (mkIf (cfg.domain != "") { rewriteDomain = cfg.domain; }) - (mkIf (cfg.authUser != "") { AuthUser = cfg.authUser; }) - (mkIf (cfg.authPassFile != null) { AuthPassFile = cfg.authPassFile; }) - ]; - - # careful here: ssmtp REQUIRES all config lines to end with a newline char! - environment.etc."ssmtp/ssmtp.conf".text = with generators; toKeyValue { - mkKeyValue = mkKeyValueDefault { - mkValueString = value: - if value == true then "YES" - else if value == false then "NO" - else mkValueStringDefault {} value - ; - } "="; - } cfg.settings; - - environment.systemPackages = [pkgs.ssmtp]; - - services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail { - program = "sendmail"; - source = "${pkgs.ssmtp}/bin/sendmail"; - setuid = false; - setgid = false; - owner = "root"; - group = "root"; - }; - - }; - -} diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 72395b2ee869..1d2262764930 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -69,6 +69,11 @@ with lib; '') (mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs") (mkRemovedOptionModule [ "services" "seeks" ] "") + (mkRemovedOptionModule [ "services" "ssmtp" ] '' + The ssmtp package and the corresponding module have been removed due to + the program being unmaintained. The options `programs.msmtp.*` can be + used instead. + '') (mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces..wakeOnLan") (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.") diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix index 2c7f0ed19668..69173ce4e44e 100644 --- a/nixos/modules/services/monitoring/nagios.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -102,8 +102,8 @@ in plugins = mkOption { type = types.listOf types.package; - default = with pkgs; [ monitoring-plugins ssmtp mailutils ]; - defaultText = literalExpression "[pkgs.monitoring-plugins pkgs.ssmtp pkgs.mailutils]"; + default = with pkgs; [ monitoring-plugins msmtp mailutils ]; + defaultText = literalExpression "[pkgs.monitoring-plugins pkgs.msmtp pkgs.mailutils]"; description = " Packages to be added to the Nagios PATH. Typically used to add plugins, but can be anything. diff --git a/nixos/modules/services/networking/headscale.nix b/nixos/modules/services/networking/headscale.nix index 091d2a938cd4..5b07beadb45f 100644 --- a/nixos/modules/services/networking/headscale.nix +++ b/nixos/modules/services/networking/headscale.nix @@ -479,7 +479,7 @@ in NoNewPrivileges = true; LockPersonality = true; RestrictRealtime = true; - SystemCallFilter = [ "@system-service" "~@priviledged" "@chown" ]; + SystemCallFilter = [ "@system-service" "~@privileged" "@chown" ]; SystemCallArchitectures = "native"; RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; }; diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix index 3f41646bf01e..1f64113950a7 100644 --- a/nixos/modules/services/networking/tailscale.nix +++ b/nixos/modules/services/networking/tailscale.nix @@ -21,6 +21,12 @@ in { description = ''The interface name for tunnel traffic. Use "userspace-networking" (beta) to not use TUN.''; }; + permitCertUid = mkOption { + type = types.nullOr types.nonEmptyStr; + default = null; + description = "Username or user ID of the user allowed to to fetch Tailscale TLS certificates for the node."; + }; + package = mkOption { type = types.package; default = pkgs.tailscale; @@ -38,7 +44,9 @@ in { serviceConfig.Environment = [ "PORT=${toString cfg.port}" ''"FLAGS=--tun ${lib.escapeShellArg cfg.interfaceName}"'' - ]; + ] ++ (lib.optionals (cfg.permitCertUid != null) [ + "TS_PERMIT_CERT_UID=${cfg.permitCertUid}" + ]); }; }; } diff --git a/nixos/modules/services/networking/zeronet.nix b/nixos/modules/services/networking/zeronet.nix index 3370390a4c62..dd83b7facc11 100644 --- a/nixos/modules/services/networking/zeronet.nix +++ b/nixos/modules/services/networking/zeronet.nix @@ -90,5 +90,5 @@ in with lib; { (mkRemovedOptionModule [ "services" "zeronet" "logDir" ] "Zeronet will log by default in /var/lib/zeronet") ]; - meta.maintainers = with maintainers; [ chiiruno ]; + meta.maintainers = with maintainers; [ Madouura ]; } diff --git a/nixos/modules/services/web-servers/hydron.nix b/nixos/modules/services/web-servers/hydron.nix index a4a5a435b2e6..46f62a9119f0 100644 --- a/nixos/modules/services/web-servers/hydron.nix +++ b/nixos/modules/services/web-servers/hydron.nix @@ -161,5 +161,5 @@ in with lib; { (mkRenamedOptionModule [ "services" "hydron" "baseDir" ] [ "services" "hydron" "dataDir" ]) ]; - meta.maintainers = with maintainers; [ chiiruno ]; + meta.maintainers = with maintainers; [ Madouura ]; } diff --git a/nixos/modules/services/x11/desktop-managers/none.nix b/nixos/modules/services/x11/desktop-managers/none.nix index af7a376ae029..b5e498b67a01 100644 --- a/nixos/modules/services/x11/desktop-managers/none.nix +++ b/nixos/modules/services/x11/desktop-managers/none.nix @@ -1,7 +1,46 @@ +{ config, lib, pkgs, ... }: +with lib; +let + runXdgAutostart = config.services.xserver.desktopManager.runXdgAutostartIfNone; +in { - services.xserver.desktopManager.session = - [ { name = "none"; - start = ""; - } - ]; + options = { + services.xserver.desktopManager.runXdgAutostartIfNone = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run XDG autostart files for sessions without a desktop manager + (with only a window manager), these sessions usually don't handle XDG + autostart files by default. + + Some services like and + use XDG autostart files to start. + If this option is not set to true and you are using + a window manager without a desktop manager, you need to manually start + them or running dex somewhere. + ''; + }; + }; + + config = mkMerge [ + { + services.xserver.desktopManager.session = [ + { + name = "none"; + start = optionalString runXdgAutostart '' + /run/current-system/systemd/bin/systemctl --user start xdg-autostart-if-no-desktop-manager.target + ''; + } + ]; + } + (mkIf runXdgAutostart { + systemd.user.targets.xdg-autostart-if-no-desktop-manager = { + description = "Run XDG autostart files"; + # From `plasma-workspace`, `share/systemd/user/plasma-workspace@.target`. + requires = [ "xdg-desktop-autostart.target" "graphical-session.target" ]; + before = [ "xdg-desktop-autostart.target" "graphical-session.target" ]; + bindsTo = [ "graphical-session.target" ]; + }; + }) + ]; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index cb68ef685300..50672a27b385 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -199,6 +199,9 @@ in haste-server = handleTest ./haste-server.nix {}; haproxy = handleTest ./haproxy.nix {}; hardened = handleTest ./hardened.nix {}; + hbase1 = handleTest ./hbase.nix { package=pkgs.hbase1; }; + hbase2 = handleTest ./hbase.nix { package=pkgs.hbase2; }; + hbase3 = handleTest ./hbase.nix { package=pkgs.hbase3; }; hedgedoc = handleTest ./hedgedoc.nix {}; herbstluftwm = handleTest ./herbstluftwm.nix {}; installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {}); @@ -591,6 +594,7 @@ in xautolock = handleTest ./xautolock.nix {}; xfce = handleTest ./xfce.nix {}; xmonad = handleTest ./xmonad.nix {}; + xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {}; xrdp = handleTest ./xrdp.nix {}; xss-lock = handleTest ./xss-lock.nix {}; xterm = handleTest ./xterm.nix {}; diff --git a/nixos/tests/bcachefs.nix b/nixos/tests/bcachefs.nix index 832cc9c38f01..68ac49d0a6a6 100644 --- a/nixos/tests/bcachefs.nix +++ b/nixos/tests/bcachefs.nix @@ -1,6 +1,6 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "bcachefs"; - meta.maintainers = with pkgs.lib.maintainers; [ chiiruno ]; + meta.maintainers = with pkgs.lib.maintainers; [ Madouura ]; nodes.machine = { pkgs, ... }: { virtualisation.emptyDiskImages = [ 4096 ]; diff --git a/nixos/tests/hbase.nix b/nixos/tests/hbase.nix new file mode 100644 index 000000000000..a449d24dd6fd --- /dev/null +++ b/nixos/tests/hbase.nix @@ -0,0 +1,30 @@ +import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.hbase, ... }: +{ + name = "hbase"; + + meta = with lib.maintainers; { + maintainers = [ illustris ]; + }; + + nodes = { + hbase = { pkgs, ... }: { + services.hbase = { + enable = true; + inherit package; + # Needed for standalone mode in hbase 2+ + # This setting and standalone mode are not suitable for production + settings."hbase.unsafe.stream.capability.enforce" = "false"; + }; + environment.systemPackages = with pkgs; [ + package + ]; + }; + }; + + testScript = '' + start_all() + hbase.wait_for_unit("hbase.service") + hbase.wait_until_succeeds("echo \"create 't1','f1'\" | sudo -u hbase hbase shell -n") + assert "NAME => 'f1'" in hbase.succeed("echo \"describe 't1'\" | sudo -u hbase hbase shell -n") + ''; +}) diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix index d7858ab354bd..f23b749a021e 100644 --- a/nixos/tests/mailcatcher.nix +++ b/nixos/tests/mailcatcher.nix @@ -9,8 +9,13 @@ import ./make-test-python.nix ({ lib, ... }: { services.mailcatcher.enable = true; - services.ssmtp.enable = true; - services.ssmtp.hostName = "localhost:1025"; + programs.msmtp = { + enable = true; + accounts.default = { + host = "localhost"; + port = 1025; + }; + }; environment.systemPackages = [ pkgs.mailutils ]; }; diff --git a/nixos/tests/xmonad-xdg-autostart.nix b/nixos/tests/xmonad-xdg-autostart.nix new file mode 100644 index 000000000000..2577a9ce2ea1 --- /dev/null +++ b/nixos/tests/xmonad-xdg-autostart.nix @@ -0,0 +1,35 @@ +import ./make-test-python.nix ({ lib, ... }: { + name = "xmonad-xdg-autostart"; + meta.maintainers = with lib.maintainers; [ oxalica ]; + + nodes.machine = { pkgs, config, ... }: { + imports = [ ./common/x11.nix ./common/user-account.nix ]; + test-support.displayManager.auto.user = "alice"; + services.xserver.displayManager.defaultSession = "none+xmonad"; + services.xserver.windowManager.xmonad.enable = true; + services.xserver.desktopManager.runXdgAutostartIfNone = true; + + environment.systemPackages = [ + (pkgs.writeTextFile { + name = "test-xdg-autostart"; + destination = "/etc/xdg/autostart/test-xdg-autostart.desktop"; + text = '' + [Desktop Entry] + Name=test-xdg-autoatart + Type=Application + Terminal=false + Exec=${pkgs.coreutils}/bin/touch ${config.users.users.alice.home}/xdg-autostart-executed + ''; + }) + ]; + }; + + testScript = { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + machine.wait_for_x() + machine.wait_for_file("${user.home}/xdg-autostart-executed") + ''; +}) diff --git a/pkgs/applications/graphics/openboard/default.nix b/pkgs/applications/graphics/openboard/default.nix index 084787d6315b..0725acd2379d 100644 --- a/pkgs/applications/graphics/openboard/default.nix +++ b/pkgs/applications/graphics/openboard/default.nix @@ -33,11 +33,10 @@ in mkDerivation rec { }; patches = [ - # Poppler requires at least C++17 + # Fix build with poppler >= 22.01 (fetchpatch { - name = "use-c-17-for-pdf-on-linux-builds"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/use-c-17-for-pdf-on-linux-builds.patch?h=openboard"; - sha256 = "sha256-M6HigpOo8ul7qaub4cd7/ATUc85HezEyKyDuzsrZvC8="; + url = "https://github.com/OpenBoard-org/OpenBoard/commit/3a9b043e0fafec08e4123f362dcb7750f7476b59.patch"; + sha256 = "sha256-yD163FK79HBU1W7m6sLxhfsRo4r/38zYTFWgeyqwU1o="; }) ]; diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index 413e16718216..2379962bb55f 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -59,6 +59,10 @@ mkDerivation rec { enableParallelBuilding = true; + preBuild = '' + make objects/parser.cxx + ''; + postInstall = lib.optionalString stdenv.isDarwin '' mkdir $out/Applications mv $out/bin/*.app $out/Applications diff --git a/pkgs/applications/misc/keylight-controller-mschneider82/default.nix b/pkgs/applications/misc/keylight-controller-mschneider82/default.nix new file mode 100644 index 000000000000..e019e9f1b986 --- /dev/null +++ b/pkgs/applications/misc/keylight-controller-mschneider82/default.nix @@ -0,0 +1,53 @@ +{ buildGoModule, fetchFromGitHub, lib, libGL, nssmdns, pkg-config, xorg }: + +buildGoModule rec { + pname = "keylight-controller-mschneider82"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "mschneider82"; + repo = "keylight-control"; + rev = "v${version}"; + sha256 = "sha256-UZfbGihCgFBQE1oExuzCexoNgpVGwNoA9orjZ9fh4gA="; + }; + + vendorSha256 = "sha256-nFttVJbEAAGsrAglMphuw0wJ2Kf8sWB4HrpVqfHO76o="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libGL + nssmdns + ] ++ (with xorg; [ + libX11 + libX11.dev + libXcursor + libXext + libXi + libXinerama + libXrandr + libXxf86vm + xinput + ]); + + meta = with lib; { + description = "A desktop application to control Elgato Keylights"; + longDescription = '' + Requires having: + * Elgato's Keylight paired to local wifi network. + * Service avahi with nssmdns enabled. + ''; + license = licenses.mit; + homepage = "https://github.com/mschneider82/keylight-control"; + maintainers = with maintainers; [ superherointj ]; + }; +} + +# Note: Application errors on first executions but works on re-runs. + +# Troubleshooting +# 1. Keylight lists at: `avahi-browse --all --resolve --ignore-local` +# 2. Ping Keylight's IP +# 3. Resolve Keylight's hostname: `getent hosts elgato-key-light-XXXX.local` diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index 0446c694fe0d..c8490f0d80ac 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -148,7 +148,7 @@ buildPythonApplication rec { homepage = "https://lutris.net"; description = "Open Source gaming platform for GNU/Linux"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/ydict/default.nix b/pkgs/applications/misc/ydict/default.nix new file mode 100644 index 000000000000..49370870f692 --- /dev/null +++ b/pkgs/applications/misc/ydict/default.nix @@ -0,0 +1,28 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "ydict"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "TimothyYe"; + repo = "ydict"; + rev = "v${version}"; + sha256 = "sha256-zhjsXZsRk0UNijjqjGjZh4TiPxAM5p+ic3JMx2wrPeY="; + }; + + vendorSha256 = "sha256-O6czDfKD18rGVMIZv6II09oQu1w0ijQRuZRGt2gj9Cs="; + + ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + + # has no tests + doCheck = false; + + meta = with lib; { + description = "A command-line Chinese dictionary"; + homepage = "https://github.com/TimothyYe/ydict"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ zendo ]; + }; +} diff --git a/pkgs/applications/networking/browsers/qtchan/default.nix b/pkgs/applications/networking/browsers/qtchan/default.nix index 9786fad2fdc6..8ad81139fbe9 100644 --- a/pkgs/applications/networking/browsers/qtchan/default.nix +++ b/pkgs/applications/networking/browsers/qtchan/default.nix @@ -24,7 +24,7 @@ mkDerivation rec { description = "4chan browser in qt5"; homepage = "https://github.com/siavash119/qtchan"; license = licenses.mit; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix index adb46540cba7..202b9fd5e68d 100644 --- a/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/pkgs/applications/networking/cluster/hadoop/default.nix @@ -17,6 +17,8 @@ , openssl , glibc , nixosTests +, sparkSupport ? true +, spark }: with lib; @@ -52,6 +54,9 @@ let --prefix PATH : "${makeBinPath [ bash coreutils which]}"\ --prefix JAVA_LIBRARY_PATH : "${makeLibraryPath buildInputs}" done + '' + optionalString sparkSupport '' + # Add the spark shuffle service jar to YARN + cp ${spark.src}/yarn/spark-${spark.version}-yarn-shuffle.jar $out/lib/${untarDir}/share/hadoop/yarn/ '' + libPatches; passthru = { inherit tests; }; diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 057be75aeb34..a3ca42dff342 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -6,6 +6,7 @@ , python3Packages , extraPythonPackages ? [ ] , coreutils +, hadoopSupport ? true , hadoop , RSupport ? true , R @@ -17,12 +18,13 @@ let spark = { pname, version, sha256, extraMeta ? {} }: stdenv.mkDerivation rec { inherit pname version; + jdk = if hadoopSupport then hadoop.jdk else jdk8; src = fetchzip { url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; sha256 = sha256; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ jdk8 python3Packages.python ] + buildInputs = [ jdk python3Packages.python ] ++ extraPythonPackages ++ optional RSupport R; @@ -34,9 +36,11 @@ let cp $out/lib/${untarDir}/conf/log4j.properties{.template,} cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF - export JAVA_HOME="${jdk8}" + export JAVA_HOME="${jdk}" export SPARK_HOME="$out/lib/${untarDir}" + '' + optionalString hadoopSupport '' export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath) + '' + '' export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}" export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" ${optionalString RSupport '' diff --git a/pkgs/applications/networking/ping/default.nix b/pkgs/applications/networking/ping/default.nix deleted file mode 100644 index 6074b1a51ccb..000000000000 --- a/pkgs/applications/networking/ping/default.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, vala -, pkg-config -, pantheon -, python3 -, glib -, gtk3 -, gtksourceview -, json-glib -, libsoup -, libgee -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "ping"; - version = "0.6.0"; - - src = fetchFromGitHub { - owner = "jeremyvaartjes"; - repo = "ping"; - rev = version; - sha256 = "1h9cdy2jxa2ffykjg89j21hazls32z9yyv3g0x07x3vizzl5xcij"; - }; - - nativeBuildInputs = [ - meson - ninja - vala - pkg-config - python3 - wrapGAppsHook - ]; - - buildInputs = [ - glib - gtk3 - gtksourceview - json-glib - libgee - libsoup - pantheon.granite - ]; - - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - ''; - - passthru = { - updateScript = nix-update-script { - attrPath = pname; - }; - }; - - meta = with lib; { - description = "A helpful tool that lets you debug what part of your API is causing you issues"; - homepage = "https://github.com/jeremyvaartjes/ping"; - maintainers = with maintainers; [ xiorcale ] ++ teams.pantheon.members; - platforms = platforms.linux; - license = licenses.gpl3; - mainProgram = "com.github.jeremyvaartjes.ping"; - # Does not build with vala 0.48 or later - # ../src/Application.vala:696.46-696.57: error: Assignment: Cannot convert from - # `GLib.HashTable' to `GLib.HashTable?' - # HashTable tempDataList = Soup.Form.decode(testObjs[id].data); - # ^^^^^^^^^^^^ - # Upstream has no activity since 28 Dec 2020 - broken = true; - }; -} diff --git a/pkgs/applications/networking/synology-drive-client/default.nix b/pkgs/applications/networking/synology-drive-client/default.nix index 459e38970ddd..3184c192b127 100644 --- a/pkgs/applications/networking/synology-drive-client/default.nix +++ b/pkgs/applications/networking/synology-drive-client/default.nix @@ -1,9 +1,9 @@ { stdenv, lib, qt5, fetchurl, autoPatchelfHook, dpkg, glibc, cpio, xar, undmg, gtk3, pango }: let pname = "synology-drive-client"; - buildNumber = "12682"; - version = "3.0.2"; baseUrl = "https://global.download.synology.com/download/Utility/SynologyDriveClient"; + buildNumber = "12920"; + version = "3.1.0"; meta = with lib; { description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server."; homepage = "https://www.synology.com/en-global/dsm/feature/drive"; @@ -17,7 +17,7 @@ let src = fetchurl { url = "${baseUrl}/${version}-${buildNumber}/Ubuntu/Installer/x86_64/synology-drive-client-${buildNumber}.x86_64.deb"; - sha256 = "19fd2r39lb7bb6vkxfxyq0gp3l7pk5wy9fl0r7qwhym2jpi8yv6l"; + sha256 = "sha256-UAO/LwqPchIMhjdQP4METjVorMJsbvIDRkp4JxtZgOs="; }; nativeBuildInputs = [ autoPatchelfHook dpkg ]; @@ -47,7 +47,7 @@ let src = fetchurl { url = "${baseUrl}/${version}-${buildNumber}/Mac/Installer/synology-drive-client-${buildNumber}.dmg"; - sha256 = "1mlv8gxzivgxm59mw1pd63yq9d7as79ihm7166qyy0h0b0m04q2m"; + sha256 = "15wici8ycil1mfh5cf89rfan4kb93wfkdsd4kmpvzjj4bnddwlxa"; }; nativeBuildInputs = [ cpio xar undmg ]; diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 2aa61d6d2f62..207908fb606f 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -135,9 +135,14 @@ runCommand ''} } + siteAutoloads="$out/share/emacs/site-lisp/nix-generated-autoload.el" + touch $siteAutoloads + # Iterate over the array of inputs (avoiding nix's own interpolation) for pkg in "''${requires[@]}"; do linkEmacsPackage $pkg + find $pkg -name "*-autoloads.el" \ + -exec echo \(load \"{}\" \'noerror \'nomessage\) \; >> $siteAutoloads done siteStart="$out/share/emacs/site-lisp/site-start.el" @@ -174,12 +179,12 @@ runCommand > "$subdirs" # Byte-compiling improves start-up time only slightly, but costs nothing. - $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs" + $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs" "$siteAutoloads" ${optionalString nativeComp '' $emacs/bin/emacs --batch \ --eval "(add-to-list 'native-comp-eln-load-path \"$out/share/emacs/native-lisp/\")" \ - -f batch-native-compile "$siteStart" "$subdirs" + -f batch-native-compile "$siteStart" "$subdirs" "$siteAutoloads" ''} ''; diff --git a/pkgs/build-support/emacs/wrapper.sh b/pkgs/build-support/emacs/wrapper.sh index e8eecb8c8696..6c5a5aee2a8f 100644 --- a/pkgs/build-support/emacs/wrapper.sh +++ b/pkgs/build-support/emacs/wrapper.sh @@ -44,4 +44,4 @@ export emacsWithPackages_siteLisp=@wrapperSiteLisp@ export EMACSNATIVELOADPATH="${newNativeLoadPath[*]}" export emacsWithPackages_siteLispNative=@wrapperSiteLispNative@ -exec @prog@ "$@" +exec @prog@ -l cl-loaddefs -l nix-generated-autoload "$@" diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index 954c88d1bafa..2c6ba2b02448 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -18,6 +18,7 @@ # Apache apache = [ + "https://dlcdn.apache.org/" "https://www-eu.apache.org/dist/" "https://ftp.wayne.edu/apache/" "https://www.apache.org/dist/" diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 124ade8cfa0d..1f9543f808e6 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -814,7 +814,11 @@ rec { command ? "${package.meta.mainProgram or package.pname or package.name} --version", version ? package.version, }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } '' - ${command} |& grep -Fw ${version} - touch $out + if output=$(${command} 2>&1); then + grep -Fw "${version}" - <<< "$output" + touch $out + else + echo "$output" >&2 && exit 1 + fi ''; } diff --git a/pkgs/development/compilers/tinygo/default.nix b/pkgs/development/compilers/tinygo/default.nix index 218b207f2435..935260dbcab9 100644 --- a/pkgs/development/compilers/tinygo/default.nix +++ b/pkgs/development/compilers/tinygo/default.nix @@ -59,6 +59,6 @@ buildGoModule rec { homepage = "https://tinygo.org/"; description = "Go compiler for small places"; license = licenses.bsd3; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix index 1786c54ac7ef..0c24e67123c6 100644 --- a/pkgs/development/compilers/vlang/default.nix +++ b/pkgs/development/compilers/vlang/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { homepage = "https://vlang.io/"; description = "Simple, fast, safe, compiled language for developing maintainable software"; license = licenses.mit; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; platforms = platforms.all; }; } diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix index a360959a9a73..8ebed55e1bc7 100644 --- a/pkgs/development/python-modules/aenum/default.nix +++ b/pkgs/development/python-modules/aenum/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "aenum"; - version = "3.1.8"; + version = "3.1.11"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "8dbe15f446eb8264b788dfeca163fb0a043d408d212152397dc11377b851e4ae"; + sha256 = "sha256-rtLCc1R65yoNXuhpcZwCpkPaFr9QfICVj6rcfgOOP3M="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix index 3d00805537fe..bb6ce96ea588 100644 --- a/pkgs/development/python-modules/asyncssh/default.nix +++ b/pkgs/development/python-modules/asyncssh/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "asyncssh"; - version = "2.10.0"; + version = "2.10.1"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-WF5JmDzHlXFB4D7p9IvRU2pepXFdCqHOnM4Ecobmaws="; + sha256 = "sha256-SZuDbPWKnxknrStaQMPL0N042+CNLfj6is1TjCj8j6k="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix index 12ea06a5c4f7..433b7644e7a8 100644 --- a/pkgs/development/python-modules/casbin/default.nix +++ b/pkgs/development/python-modules/casbin/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "casbin"; - version = "1.15.4"; + version = "1.15.5"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -17,8 +17,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = pname; repo = "pycasbin"; - rev = "v${version}"; - sha256 = "0vczml14dvvrj401r08d6b0rfn5p5kfm1wr0vrfi8rqk2z5x1w0g"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-7q9zTuqdIUAiipA5kh8CwQa/TeiXGsKuGGvYYwTjObw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix index 43566843ab64..e4e9139216e1 100644 --- a/pkgs/development/python-modules/jax/default.nix +++ b/pkgs/development/python-modules/jax/default.nix @@ -3,6 +3,7 @@ , blas , buildPythonPackage , fetchFromGitHub +, fetchpatch , jaxlib , lapack , numpy @@ -19,7 +20,7 @@ let in buildPythonPackage rec { pname = "jax"; - version = "0.3.5"; + version = "0.3.6"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -28,12 +29,18 @@ buildPythonPackage rec { owner = "google"; repo = pname; rev = "jax-v${version}"; - hash = "sha256-c+5r0Xvd2zrIVF9VG+yve5QDvCcfMiOYp6JqaabowhA="; + hash = "sha256-eGdAEZFHadNTHgciP4KMYHdwksz9g6un0Ar+A/KV5TE="; }; patches = [ # See https://github.com/google/jax/issues/7944 ./cache-fix.patch + + # See https://github.com/google/jax/issues/10292 + (fetchpatch { + url = "https://github.com/google/jax/commit/cadc8046d56e0c1433cf48a2f106947d5f4ecbfd.patch"; + hash = "sha256-jrpIqt4LzWAswt/Cpwtfa5d1Yn31HcXkVH3ETmaigA0="; + }) ]; # jaxlib is _not_ included in propagatedBuildInputs because there are diff --git a/pkgs/development/python-modules/lxmf/default.nix b/pkgs/development/python-modules/lxmf/default.nix index 9650c5d89572..c6044844a62f 100644 --- a/pkgs/development/python-modules/lxmf/default.nix +++ b/pkgs/development/python-modules/lxmf/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "lxmf"; - version = "0.1.4"; + version = "0.1.5"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,8 +15,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "markqvist"; repo = "lxmf"; - rev = version; - hash = "sha256-kWawKlEAnn/uNjM2TT2aVW2V4M0+S/1Ysrw/muJhC0s="; + rev = "refs/tags/${version}"; + hash = "sha256-9JG/EnL7vW4P7QiT6Xa0GLfmu1JeM0dlFSp3VRE47NI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix index c877f528ac97..61e4c3d21f07 100644 --- a/pkgs/development/python-modules/mailchecker/default.nix +++ b/pkgs/development/python-modules/mailchecker/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "mailchecker"; - version = "4.1.14"; + version = "4.1.15"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-58LwaVwYzjYlIB3sAkMDat1FX8wA7IiAYBwPZ0hMOdE="; + hash = "sha256-DOtLJKNvmj5dlveZX9sScfJZa3SY7GH7xfZHhIsybVQ="; }; # Module has no tests diff --git a/pkgs/development/python-modules/merkletools/default.nix b/pkgs/development/python-modules/merkletools/default.nix index 92acdaf58ed4..a57f926a615f 100644 --- a/pkgs/development/python-modules/merkletools/default.nix +++ b/pkgs/development/python-modules/merkletools/default.nix @@ -15,6 +15,6 @@ buildPythonPackage rec { description = "Python tools for creating Merkle trees, generating Merkle proofs, and verification of Merkle proofs"; homepage = "https://github.com/Tierion/pymerkletools"; license = licenses.mit; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/development/python-modules/policyuniverse/default.nix b/pkgs/development/python-modules/policyuniverse/default.nix index 79459070b31c..77b38f7a3180 100644 --- a/pkgs/development/python-modules/policyuniverse/default.nix +++ b/pkgs/development/python-modules/policyuniverse/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "policyuniverse"; - version = "1.5.0.20220414"; + version = "1.5.0.20220416"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-BtNxU5NdOJfJejN4RpsUJJytWkQxJxbNjnY8hLPb3q0="; + sha256 = "sha256-RGXOqhXPsEQR5wcXDWz00J6KcdJOY5ZXSLVXT18wDDk="; }; # Tests are not shipped and there are no GitHub tags diff --git a/pkgs/development/python-modules/pytomorrowio/default.nix b/pkgs/development/python-modules/pytomorrowio/default.nix new file mode 100644 index 000000000000..2c695fc7e05a --- /dev/null +++ b/pkgs/development/python-modules/pytomorrowio/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, aiohttp +, pytest-asyncio +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pytomorrowio"; + version = "0.2.1"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "aabb41436fb5834b687d73b334d95be07a18d5943d27a1fd06271b749558ba0e"; + }; + + propagatedBuildInputs = [ + aiohttp + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ "pytomorrowio" ]; + + meta = { + description = "Async Python package to access the Tomorrow.io API"; + homepage = "https://github.com/raman325/pytomorrowio"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/stookalert/default.nix b/pkgs/development/python-modules/stookalert/default.nix new file mode 100644 index 000000000000..82552ca44bb3 --- /dev/null +++ b/pkgs/development/python-modules/stookalert/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, requests +}: + +buildPythonPackage rec { + pname = "stookalert"; + version = "0.1.4"; + + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "38c479e2fb7668f9b37aff0f9ffdd7bfd1ee9393528f2d3d36b5911b40da70a1"; + }; + + propagatedBuildInputs = [ + requests + ]; + + # upstream has no tests + doCheck = false; + + pythonImportsCheck = [ "stookalert" ]; + + meta = { + description = "Python package for the RIVM Stookalert"; + homepage = "https://github.com/fwestenberg/stookalert"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/types-cryptography/default.nix b/pkgs/development/python-modules/types-cryptography/default.nix index 508824720366..449ab50117cc 100644 --- a/pkgs/development/python-modules/types-cryptography/default.nix +++ b/pkgs/development/python-modules/types-cryptography/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "types-cryptography"; - version = "3.3.19"; + version = "3.3.20"; src = fetchPypi { inherit pname version; - sha256 = "sha256-+VcTjwczMrnAfq2wgx76pXj9tgTlU6w41yxGeutLfCM="; + sha256 = "sha256-u+9bZpcllvPNYbMJFxn8k14IHzu6h+zqVhvA27Fnh1M="; }; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix index 4cefc57ed594..39fb824bdcdc 100644 --- a/pkgs/development/python-modules/types-dateutil/default.nix +++ b/pkgs/development/python-modules/types-dateutil/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-python-dateutil"; - version = "2.8.10"; + version = "2.8.11"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-a886rnJC5Xk7r9eyvPtOJV63srMUSs0N8OGC3OWMytM="; + sha256 = "sha256-7cBdC5MgGSirC1/ysxRBPdPSsk6xLEcCl++Sned8k+8="; }; pythonImportsCheck = [ "dateutil-stubs" ]; diff --git a/pkgs/development/python-modules/types-decorator/default.nix b/pkgs/development/python-modules/types-decorator/default.nix index f8dc74c00f98..8d6d2038b3b2 100644 --- a/pkgs/development/python-modules/types-decorator/default.nix +++ b/pkgs/development/python-modules/types-decorator/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-decorator"; - version = "5.1.4"; + version = "5.1.5"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "463c04b192108e2b3f409df8a3eaaf8d44e3e98965c11e473ed2a97da591798b"; + sha256 = "sha256-CrPgAZyBGRIrXzD0IlUkcbkc8xOLPI69krQb1d3h3QI="; }; # Modules doesn't have tests diff --git a/pkgs/development/python-modules/types-paramiko/default.nix b/pkgs/development/python-modules/types-paramiko/default.nix index 5b87e8079a5e..4405a02770a2 100644 --- a/pkgs/development/python-modules/types-paramiko/default.nix +++ b/pkgs/development/python-modules/types-paramiko/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "types-paramiko"; - version = "2.8.17"; + version = "2.8.19"; src = fetchPypi { inherit pname version; - sha256 = "sha256-1toFPkau9cYpvE6lvatWZwhlNerg/P2N6EBpQ7g00uY="; + sha256 = "sha256-UhkthDZk73wfh7n+Bpe7u1qPgS5DAWlEz+q+x93spCM="; }; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix index b29a0792ae8f..deda83411fed 100644 --- a/pkgs/development/python-modules/types-requests/default.nix +++ b/pkgs/development/python-modules/types-requests/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "types-requests"; - version = "2.27.16"; + version = "2.27.19"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-yAEMGLKRp++2CxRS2+ElMLwlaT3WV+cMYoA/zcS//ps="; + sha256 = "sha256-eV43gRcIjR5L9BosAaFTtz1upAqp18CsdTq96EwNOo8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/types-tabulate/default.nix b/pkgs/development/python-modules/types-tabulate/default.nix index 6d7ceade85c9..1fc11aeede94 100644 --- a/pkgs/development/python-modules/types-tabulate/default.nix +++ b/pkgs/development/python-modules/types-tabulate/default.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { pname = "types-tabulate"; - version = "0.8.6"; + version = "0.8.7"; src = fetchPypi { inherit pname version; - hash = "sha256-P037eVRJwheO1cIU7FEUwESx7t1xrQoQA7xnDwnYcQo="; + hash = "sha256-Cs0ClYZuXy3i6Qc4/wvBIBdR4d0Ci9MMv6Qap6Zpkp4="; }; # Module doesn't have tests diff --git a/pkgs/development/python-modules/types-urllib3/default.nix b/pkgs/development/python-modules/types-urllib3/default.nix index 235535ce9716..45b6dd97c2d8 100644 --- a/pkgs/development/python-modules/types-urllib3/default.nix +++ b/pkgs/development/python-modules/types-urllib3/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-urllib3"; - version = "1.26.11"; + version = "1.26.13"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-JNZORBFohR6wXx0CLeGK4xVY9WScjxEX44TC6F4xMVs="; + hash = "sha256-QPj7XozX1X6K797j/dXpMKoaG7QXnNrdVSJs6liK95A="; }; # Module doesn't have tests diff --git a/pkgs/development/tools/easyjson/default.nix b/pkgs/development/tools/easyjson/default.nix index 75bfc1d4c14f..270d63ed2a76 100644 --- a/pkgs/development/tools/easyjson/default.nix +++ b/pkgs/development/tools/easyjson/default.nix @@ -1,21 +1,22 @@ { lib, buildGoPackage, fetchFromGitHub }: -buildGoPackage { +buildGoPackage rec { pname = "easyjson"; - version = "unstable-2019-06-26"; + version = "0.7.7"; goPackagePath = "github.com/mailru/easyjson"; + goDeps = ./deps.nix; src = fetchFromGitHub { owner = "mailru"; repo = "easyjson"; - rev = "b2ccc519800e761ac8000b95e5d57c80a897ff9e"; - sha256 = "0q85h383mhbkcjm2vqm72bi8n2252fv3c56q3lclzb8n2crnjcdk"; + rev = "v${version}"; + sha256 = "0clifkvvy8f45rv3cdyv58dglzagyvfcqb63wl6rij30c5j2pzc1"; }; meta = with lib; { homepage = "https://github.com/mailru/easyjson"; description = "Fast JSON serializer for golang"; license = licenses.mit; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/development/tools/easyjson/deps.nix b/pkgs/development/tools/easyjson/deps.nix new file mode 100644 index 000000000000..d5d7e1f15bc9 --- /dev/null +++ b/pkgs/development/tools/easyjson/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "github.com/josharian/intern"; + fetch = { + type = "git"; + url = "https://github.com/josharian/intern"; + rev = "8e6ff32b3e7c0b018c43953085fe2ac330fe9acd"; + sha256 = "1za48ppvwd5vg8vv25ldmwz1biwpb3p6qhf8vazhsfdg9m07951c"; + }; + } +] diff --git a/pkgs/development/tools/quicktemplate/default.nix b/pkgs/development/tools/quicktemplate/default.nix index 747a82740f46..2086464d7b3a 100644 --- a/pkgs/development/tools/quicktemplate/default.nix +++ b/pkgs/development/tools/quicktemplate/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "quicktemplate"; - version = "1.6.3"; + version = "1.7.0"; src = fetchFromGitHub { owner = "valyala"; repo = "quicktemplate"; rev = "v${version}"; - sha256 = "mQhrQcKRDtcXha7FIwCIUwWfoPGIJ5YLbA4HdatIdn8="; + sha256 = "0xzsvhpllmzmyfg8sj1dpp02826j1plmyrdvqbwryzhf2ci33nqr"; }; vendorSha256 = null; @@ -17,7 +17,7 @@ buildGoModule rec { homepage = "https://github.com/valyala/quicktemplate"; description = "Fast, powerful, yet easy to use template engine for Go"; license = licenses.mit; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; mainProgram = "qtc"; }; } diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix index f6717b36b203..3fd4f7683845 100644 --- a/pkgs/development/tools/rust/racer/default.nix +++ b/pkgs/development/tools/rust/racer/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "racer"; - version = "2.1.48"; + version = "2.2.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-lat5s9+AMFI3VXiWqjLESZrtq3IwOZhlt+5BhYoonfA="; + sha256 = "sha256-uAVtJwOyhe1lPz+MUUFCgHJPVGuIk/lNUkQWiNdOZ5Y="; }; - cargoSha256 = "sha256-jGsvCmrPGVzWdx7V3J4bBK+SF2o+icORmVKuwqYxdh4="; + cargoSha256 = "sha256-U2mI1y6t8CwxW/iPcPzxAafu61GNm/XLCKVGuyybV/4="; nativeBuildInputs = [ makeWrapper ]; buildInputs = lib.optional stdenv.isDarwin Security; @@ -32,6 +32,10 @@ rustPlatform.buildRustPackage rec { "--skip test_resolve_global_path_in_modules" ]; + # [2022-04-06] Its test suite contains two function calls with the + # wrong number of arguments, breaking its build. + doCheck = false; + doInstallCheck = true; installCheckPhase = '' $out/bin/racer --version @@ -42,7 +46,5 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/racer-rust/racer"; license = licenses.mit; maintainers = with maintainers; [ jagajaga ]; - # error[E0199]: implementing the trait `Step` is not unsafe - broken = true; }; } diff --git a/pkgs/development/tools/statik/default.nix b/pkgs/development/tools/statik/default.nix index 48ceea24b70c..6befb42c24d3 100644 --- a/pkgs/development/tools/statik/default.nix +++ b/pkgs/development/tools/statik/default.nix @@ -24,6 +24,6 @@ buildGoModule rec { homepage = "https://github.com/rakyll/statik"; description = "Embed files into a Go executable "; license = licenses.asl20; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/misc/dumb/default.nix b/pkgs/misc/dumb/default.nix index 9b733e00f69c..2a554d99b287 100644 --- a/pkgs/misc/dumb/default.nix +++ b/pkgs/misc/dumb/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/kode54/dumb"; description = "Module/tracker based music format parser and player library"; license = licenses.free; # Derivative of GPL - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; platforms = platforms.all; }; } diff --git a/pkgs/misc/sndio/default.nix b/pkgs/misc/sndio/default.nix index 786c3c3a40a4..7b5774d8054c 100644 --- a/pkgs/misc/sndio/default.nix +++ b/pkgs/misc/sndio/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { homepage = "https://www.sndio.org"; description = "Small audio and MIDI framework part of the OpenBSD project"; license = licenses.isc; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; platforms = platforms.all; }; } diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix index 32d2c09de97f..46521da88539 100644 --- a/pkgs/servers/hbase/default.nix +++ b/pkgs/servers/hbase/default.nix @@ -1,22 +1,55 @@ -{ lib, stdenv, fetchurl, makeWrapper }: -stdenv.mkDerivation rec { - pname = "hbase"; - version = "0.98.24"; +{ lib +, stdenv +, fetchurl +, makeWrapper +, jdk8_headless +, jdk11_headless +, nixosTests +}: - src = fetchurl { - url = "mirror://apache/hbase/${version}/hbase-${version}-hadoop2-bin.tar.gz"; - sha256 = "0kz72wqsii09v9hxkw10mzyvjhji5sx3l6aijjalgbybavpcxglb"; +let common = { version, hash, jdk ? jdk11_headless, tests }: + stdenv.mkDerivation rec { + pname = "hbase"; + inherit version; + + src = fetchurl { + url = "mirror://apache/hbase/${version}/hbase-${version}-bin.tar.gz"; + inherit hash; + }; + + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out + cp -R * $out + wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} + ''; + + passthru = { inherit tests; }; + + meta = with lib; { + description = "A distributed, scalable, big data store"; + homepage = "https://hbase.apache.org"; + license = licenses.asl20; + maintainers = with lib.maintainers; [ illustris ]; + platforms = lib.platforms.linux; + }; }; - - nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out - cp -R * $out - ''; - meta = with lib; { - description = "A distributed, scalable, big data store"; - homepage = "https://hbase.apache.org"; - license = licenses.asl20; - platforms = lib.platforms.linux; +in +{ + hbase_1_7 = common { + version = "1.7.1"; + hash = "sha256-DrH2G79QLT8L0YTTmAGC9pUWU8semSaTOsrsQRCI2rY="; + jdk = jdk8_headless; + tests.standalone = nixosTests.hbase1; + }; + hbase_2_4 = common { + version = "2.4.11"; + hash = "sha256-m0vjUtPaj8czHHh+rQNJJgrFAM744cHd06KE0ut7QeU="; + tests.standalone = nixosTests.hbase2; + }; + hbase_3_0 = common { + version = "3.0.0-alpha-2"; + hash = "sha256-QPvgO1BeFWvMT5PdUm/SL92ZgvSvYIuJbzolbBTenz4="; + tests.standalone = nixosTests.hbase3; }; } diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 3088fd368c28..e486efad5b41 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -382,7 +382,8 @@ ]; "climacell" = ps: with ps; [ pyclimacell - ]; # missing inputs: pytomorrowio + pytomorrowio + ]; "climate" = ps: with ps; [ ]; "cloud" = ps: with ps; [ @@ -2518,7 +2519,8 @@ pymodbus ]; # missing inputs: pystiebeleltron "stookalert" = ps: with ps; [ - ]; # missing inputs: stookalert + stookalert + ]; "stream" = ps: with ps; [ pyturbojpeg aiohttp-cors @@ -2696,7 +2698,8 @@ "tomato" = ps: with ps; [ ]; "tomorrowio" = ps: with ps; [ - ]; # missing inputs: pytomorrowio + pytomorrowio + ]; "toon" = ps: with ps; [ pyturbojpeg aiohttp-cors @@ -3191,6 +3194,7 @@ "canary" "cast" "cert_expiry" + "climacell" "climate" "cloud" "cloudflare" @@ -3607,6 +3611,7 @@ "statistics" "statsd" "steamist" + "stookalert" "stream" "stt" "subaru" @@ -3642,6 +3647,7 @@ "todoist" "tolo" "tomato" + "tomorrowio" "toon" "totalconnect" "tplink" diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 00b2e7fbac07..26f67e69a546 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -14,6 +14,7 @@ let lovelace = [ PyChromecast ]; nest = [ av ]; onboarding = [ pymetno radios rpi-bad-power ]; + tomorrowio = [ pyclimacell ]; version = [ aioaseko ]; voicerss = [ mutagen ]; yandextts = [ mutagen ]; diff --git a/pkgs/servers/hydron/default.nix b/pkgs/servers/hydron/default.nix index ba163a719b10..03236b410824 100644 --- a/pkgs/servers/hydron/default.nix +++ b/pkgs/servers/hydron/default.nix @@ -2,26 +2,24 @@ buildGoModule rec { pname = "hydron"; - version = "3.0.4"; + version = "3.3.5"; src = fetchFromGitHub { owner = "bakape"; repo = "hydron"; rev = "v${version}"; - sha256 = "BfMkKwz7ITEnAIMGUHlBH/Dn9yLjWKoqFWupPo1s2cs="; + sha256 = "0c958dsw5pq9z8n1b9q9j8y6vgiqf6mmlsf77ncb7yrlilhbrz6s"; }; - nativeBuildInputs = [ pkg-config ]; - - vendorSha256 = "sha256-hvmIOCqVZTfV7EnkDUWiChynGkwTpHClMbW4LpbdAgo="; + vendorSha256 = "0cc8ar8p7lgg6rj76vhfp6bzrxyn5yaqjwj8i1bn0zp6sj6zcfam"; proxyVendor = true; - + nativeBuildInputs = [ pkg-config ]; buildInputs = [ ffmpeg ]; meta = with lib; { homepage = "https://github.com/bakape/hydron"; description = "High performance media tagger and organizer"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix index e407a5f99070..7753818fb1f5 100644 --- a/pkgs/tools/audio/spotdl/default.nix +++ b/pkgs/tools/audio/spotdl/default.nix @@ -6,13 +6,13 @@ python3.pkgs.buildPythonApplication rec { pname = "spotdl"; - version = "3.9.4"; + version = "3.9.5"; src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; rev = "v${version}"; - sha256 = "sha256-PJ9m+697bdrhHZ80wJvL6V366Vn3tmPfioK1sZAyB/Q="; + hash = "sha256-Zdm+OVcFgOO8kbJDNQSVDLnIHzhvm9EPbcG95mNrnTk="; }; propagatedBuildInputs = with python3.pkgs; [ @@ -22,10 +22,11 @@ python3.pkgs.buildPythonApplication rec { rapidfuzz mutagen ytmusicapi + yt-dlp beautifulsoup4 requests unidecode - yt-dlp + setuptools ]; checkInputs = with python3.pkgs; [ diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix index 00ce6af1d593..e7db524e729a 100644 --- a/pkgs/tools/compression/advancecomp/default.nix +++ b/pkgs/tools/compression/advancecomp/default.nix @@ -1,40 +1,23 @@ { lib, stdenv , fetchFromGitHub -, fetchpatch , autoreconfHook , zlib }: stdenv.mkDerivation rec { pname = "advancecomp"; - version = "2.1"; + version = "2.3"; src = fetchFromGitHub { owner = "amadvance"; repo = "advancecomp"; rev = "v${version}"; - sha256 = "1pd6czamamrd0ppk5a3a65hcgdlqwja98aandhqiajhnibwldv8x"; + hash = "sha256-klyTqqZs5TwadgDP8LJ1wUhXlO+/kQPM6qhiSki31Q8="; }; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ zlib ]; - patches = [ - (fetchpatch { - name = "CVE-2019-9210.patch"; - url = "https://github.com/amadvance/advancecomp/commit/fcf71a89265c78fc26243574dda3a872574a5c02.patch"; - sha256 = "0cdv9g87c1y8zwhqkd9ba2zjw4slcvg7yzcqv43idvnwb5fl29n7"; - excludes = [ "doc/history.d" ]; - }) - - # Pull upstream fix for gcc-11: - (fetchpatch { - name = "gcc-11.patch"; - url = "https://github.com/amadvance/advancecomp/commit/7b08f7a2af3f66ab95437e4490499cebb20e5e41.patch"; - sha256 = "0gpppq6b760m1429g7d808ipdgb4lrqc1b6xk2457y66pbaiwc9s"; - }) - ]; - # autover.sh relies on 'git describe', which obviously doesn't work as we're not cloning # the full git repo. so we have to put the version number in `.version`, otherwise # the binaries get built reporting "none" as their version number. diff --git a/pkgs/tools/misc/edid-decode/default.nix b/pkgs/tools/misc/edid-decode/default.nix index f39fc1b55243..2e8af7bcd9c4 100644 --- a/pkgs/tools/misc/edid-decode/default.nix +++ b/pkgs/tools/misc/edid-decode/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { cp edid-decode $out/bin ''; - meta = { + meta = with lib; { description = "EDID decoder and conformance tester"; homepage = "https://cgit.freedesktop.org/xorg/app/edid-decode/"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.chiiruno ]; + license = licenses.mit; + maintainers = with maintainers; [ Madouura ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/tools/misc/tewisay/default.nix b/pkgs/tools/misc/tewisay/default.nix index 3434ac110b35..3ff7259b9e0a 100644 --- a/pkgs/tools/misc/tewisay/default.nix +++ b/pkgs/tools/misc/tewisay/default.nix @@ -26,10 +26,10 @@ buildGoPackage rec { --prefix COWPATH : $out/share/tewisay/cows ''; - meta = { + meta = with lib; { homepage = "https://github.com/lucy/tewisay"; description = "Cowsay replacement with unicode and partial ansi escape support"; - license = lib.licenses.cc0; - maintainers = [ lib.maintainers.chiiruno ]; + license = licenses.cc0; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index a7cac48d52d7..7c7f301552e7 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -110,7 +110,8 @@ stdenv.mkDerivation rec { "--disable-manual" # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback # to nss-cacert from the default profile. - "--without-ca-bundle" + # https://github.com/curl/curl/issues/8696 - fallback is not supported by HTTP3 + (if http3Support then "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" else "--without-ca-bundle") "--without-ca-path" (lib.enableFeature c-aresSupport "ares") (lib.enableFeature ldapSupport "ldap") diff --git a/pkgs/tools/networking/ssmtp/default.nix b/pkgs/tools/networking/ssmtp/default.nix deleted file mode 100644 index ec309a4a2ce0..000000000000 --- a/pkgs/tools/networking/ssmtp/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ lib, stdenv, fetchurl, tlsSupport ? true, openssl }: - -stdenv.mkDerivation rec { - pname = "ssmtp"; - version = "2.64"; - - src = fetchurl { - url = "mirror://debian/pool/main/s/ssmtp/ssmtp_${version}.orig.tar.bz2"; - sha256 = "0dps8s87ag4g3jr6dk88hs9zl46h3790marc5c2qw7l71k4pvhr2"; - }; - - # A request has been made to merge this patch into ssmtp. - # See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858781 - patches = [ ./ssmtp_support_AuthPassFile_parameter.patch ]; - - configureFlags = [ - "--sysconfdir=/etc" - (lib.enableFeature tlsSupport "ssl") - ]; - - postConfigure = '' - # Don't run the script that interactively generates a config file. - # Also don't install the broken, cyclic symlink /lib/sendmail. - sed -e '/INSTALLED_CONFIGURATION_FILE/d' \ - -e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \ - -i Makefile - substituteInPlace Makefile \ - --replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)' - ''; - - installFlags = [ "etcdir=$(out)/etc" ]; - - installTargets = [ "install" "install-sendmail" ]; - - buildInputs = lib.optional tlsSupport openssl; - - NIX_LDFLAGS = lib.optionalString tlsSupport "-lcrypto"; - - meta = with lib; { - description = "simple MTA to deliver mail from a computer to a mail hub"; - platforms = platforms.linux; - license = licenses.gpl2; - maintainers = with maintainers; [ basvandijk ]; - }; -} diff --git a/pkgs/tools/networking/ssmtp/ssmtp_support_AuthPassFile_parameter.patch b/pkgs/tools/networking/ssmtp/ssmtp_support_AuthPassFile_parameter.patch deleted file mode 100644 index 371c0f6de2b3..000000000000 --- a/pkgs/tools/networking/ssmtp/ssmtp_support_AuthPassFile_parameter.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -Naurb a/ssmtp.c b/ssmtp.c ---- a/ssmtp.c 2009-11-23 10:55:11.000000000 +0100 -+++ b/ssmtp.c 2017-03-25 03:00:26.508283016 +0100 -@@ -57,6 +57,7 @@ - char arpadate[ARPADATE_LENGTH]; - char *auth_user = (char)NULL; - char *auth_pass = (char)NULL; -+char *auth_passfile = (char)NULL; - char *auth_method = (char)NULL; /* Mechanism for SMTP authentication */ - char *mail_domain = (char)NULL; - char *from = (char)NULL; /* Use this as the From: address */ -@@ -1053,6 +1054,15 @@ - log_event(LOG_INFO, "Set AuthPass=\"%s\"\n", auth_pass); - } - } -+ else if(strcasecmp(p, "AuthPassFile") == 0 && !auth_passfile) { -+ if((auth_passfile = strdup(q)) == (char *)NULL) { -+ die("parse_config() -- strdup() failed"); -+ } -+ -+ if(log_level > 0) { -+ log_event(LOG_INFO, "Set AuthPassFile=\"%s\"\n", auth_passfile); -+ } -+ } - else if(strcasecmp(p, "AuthMethod") == 0 && !auth_method) { - if((auth_method = strdup(q)) == (char *)NULL) { - die("parse_config() -- strdup() failed"); -@@ -1415,6 +1425,8 @@ - struct passwd *pw; - int i, sock; - uid_t uid; -+ FILE *fp; -+ char pass_buf[BUF_SZ+1]; - bool_t minus_v_save, leadingdot, linestart = True; - int timeout = 0; - int bufsize = sizeof(b)-1; -@@ -1433,6 +1445,17 @@ - log_event(LOG_INFO, "%s not found", config_file); - } - -+ if(auth_passfile != (char *)NULL) { -+ if((fp = fopen(auth_passfile, "r")) == (FILE *)NULL) { -+ die("Could not open the AuthPassFile %s", auth_passfile); -+ } -+ if (fgets(pass_buf, BUF_SZ, fp) == NULL) { -+ die("Error while reading a line from the AuthPassFile %s, or it is empty", auth_passfile); -+ } -+ fclose(fp); -+ auth_pass = strdup(pass_buf); -+ } -+ - if((p = strtok(pw->pw_gecos, ";,"))) { - if((gecos = strdup(p)) == (char *)NULL) { - die("ssmtp() -- strdup() failed"); -diff -Naurb a/ssmtp.conf.5 b/ssmtp.conf.5 ---- a/ssmtp.conf.5 2008-02-29 03:50:15.000000000 +0100 -+++ b/ssmtp.conf.5 2017-03-25 01:45:52.890165426 +0100 -@@ -61,6 +61,11 @@ - .Pp - .It Cm AuthPass - The password to use for SMTP AUTH. -+It is recommended to use AuthPassFile which also takes precedence over AuthPass. -+.Pp -+.It Cm AuthPassFile -+A file that should contain the password to use for SMTP AUTH. -+This takes precedence over AuthPass. - .Pp - .It Cm AuthMethod - The authorization method to use. diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix index ac0d3fe196f3..80ef87217d83 100644 --- a/pkgs/tools/package-management/home-manager/default.nix +++ b/pkgs/tools/package-management/home-manager/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "home-manager"; - version = "2021-12-25"; + version = "2022-04-17"; src = fetchFromGitHub { owner = "nix-community"; repo = "home-manager"; - rev = "48f2b381dd397ec88040d3354ac9c036739ba139"; - sha256 = "1i9v94brh9vhyhzcqyfj64nzhaibdj0sw74pxgk4bcsp0hqawgcd"; + rev = "620ed197f3624dafa5f42e61d5c043f39b8df366"; + sha256 = "sha256-BoBvGT71yOfrNDTZQs7+FX0zb4yjMBETgIjtTsdJw+o="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix index 05e9f1ef384a..57e420f86699 100644 --- a/pkgs/tools/security/cryptomator/default.nix +++ b/pkgs/tools/security/cryptomator/default.nix @@ -6,13 +6,13 @@ let pname = "cryptomator"; - version = "1.6.7"; + version = "1.6.8"; src = fetchFromGitHub { owner = "cryptomator"; repo = "cryptomator"; rev = version; - sha256 = "sha256-hOILOdVYBnS9XuEXaIJcf2bPF72Lcr7IBX4CFCIsC8k="; + sha256 = "sha256-2bvIjfutxfTPBtYiSXpgdEh63Eg74uqSf8CDo/Oma0U="; }; # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB) @@ -37,7 +37,7 @@ let outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "sha256-XFqXjNjPN2vwA3jay7TS79S4FHksjjrODdD/p4oTvpg="; + outputHash = "sha256-quYUJX/JErtWuUQBYXXee/uZGkO0UBr4qxcGticxGUc="; doCheck = false; }; @@ -46,9 +46,14 @@ in stdenv.mkDerivation rec { inherit pname version src; buildPhase = '' + VERSION=${version} + SEMVER_STR=${version} + mvn -Plinux package --offline -Dmaven.test.skip=true -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 ''; + + # This is based on the instructins in https://github.com/cryptomator/cryptomator/blob/develop/dist/linux/appimage/build.sh installPhase = '' mkdir -p $out/bin/ $out/share/cryptomator/libs/ $out/share/cryptomator/mods/ @@ -63,10 +68,14 @@ in stdenv.mkDerivation rec { makeWrapper ${jre}/bin/java $out/bin/cryptomator \ --add-flags "--class-path '$out/share/cryptomator/libs/*'" \ --add-flags "--module-path '$out/share/cryptomator/mods'" \ + --add-flags "-Dcryptomator.logDir='~/.local/share/Cryptomator/logs'" \ + --add-flags "-Dcryptomator.pluginDir='~/.local/share/Cryptomator/plugins'" \ --add-flags "-Dcryptomator.settingsPath='~/.config/Cryptomator/settings.json'" \ --add-flags "-Dcryptomator.ipcSocketPath='~/.config/Cryptomator/ipc.socket'" \ - --add-flags "-Dcryptomator.logDir='~/.local/share/Cryptomator/logs'" \ --add-flags "-Dcryptomator.mountPointsDir='~/.local/share/Cryptomator/mnt'" \ + --add-flags "-Dcryptomator.showTrayIcon=false" \ + --add-flags "-Dcryptomator.buildNumber='nix'" \ + --add-flags "-Dcryptomator.appVersion='${version}'" \ --add-flags "-Djdk.gtk.version=3" \ --add-flags "-Xss20m" \ --add-flags "-Xmx512m" \ @@ -79,6 +88,14 @@ in stdenv.mkDerivation rec { # install desktop entry and icons cp -r ${src}/dist/linux/appimage/resources/AppDir/usr/* $out/ + # The directory is read only when copied, enable read to install additional files + chmod +w -R $out/ + cp ${src}/dist/linux/common/org.cryptomator.Cryptomator256.png $out/share/icons/hicolor/256x256/apps/org.cryptomator.Cryptomator.png + cp ${src}/dist/linux/common/org.cryptomator.Cryptomator512.png $out/share/icons/hicolor/512x512/apps/org.cryptomator.Cryptomator.png + cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.svg $out/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg + cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.desktop $out/share/applications/org.cryptomator.Cryptomator.desktop + cp ${src}/dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml $out/share/metainfo/org.cryptomator.Cryptomator.metainfo.xml + cp ${src}/dist/linux/common/application-vnd.cryptomator.vault.xml $out/share/mime/packages/application-vnd.cryptomator.vault.xml ''; nativeBuildInputs = [ autoPatchelfHook maven makeWrapper wrapGAppsHook jdk ]; diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix index 149f2fe6c3a2..cc24c3114af8 100644 --- a/pkgs/tools/security/nuclei/default.nix +++ b/pkgs/tools/security/nuclei/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "nuclei"; - version = "2.6.7"; + version = "2.6.8"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = pname; rev = "v${version}"; - sha256 = "sha256-lW9QTk9TBXf/W483hGny9p2isoiDl3z0+UecDm9VLOs="; + sha256 = "sha256-XVABgsmPRNseWN+iNfbjicoNuHyZSrrlVOV3YEX7DPU="; }; - vendorSha256 = "sha256-oiRpxCAdxDjlUUHqRmpAHypmESQJpziOmBtTwKig7nk="; + vendorSha256 = "sha256-Mibn93EviweuEsMF2d1kQAJtss/ELlJQIZTM7To2dkg="; modRoot = "./v2"; subPackages = [ diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix index 469f76fdc2b2..3c45f2608ebf 100644 --- a/pkgs/tools/video/svt-av1/default.nix +++ b/pkgs/tools/video/svt-av1/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { ]; platforms = platforms.unix; broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init' - maintainers = with maintainers; [ chiiruno ]; + maintainers = with maintainers; [ Madouura ]; }; } diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix index c1d674898297..02907ba8d237 100644 --- a/pkgs/tools/wayland/wl-mirror/default.nix +++ b/pkgs/tools/wayland/wl-mirror/default.nix @@ -26,16 +26,17 @@ in stdenv.mkDerivation rec { pname = "wl-mirror"; - version = "0.10.0"; + version = "0.11.2"; src = fetchFromGitHub { owner = "Ferdi265"; repo = "wl-mirror"; rev = "v${version}"; - hash = "sha256-ygzSLbzn4P/BdYbqUDduUGwSbRHeU/OBYOX2uznVy1g="; + hash = "sha256-D5uUKaepcSW9v2x6uBeLGXAyuLorlt4Lb6lZD/prfp8="; }; - patchPhase = '' + postPatch = '' + echo 'v${version}' > version.txt substituteInPlace CMakeLists.txt \ --replace 'WL_PROTOCOL_DIR "/usr' 'WL_PROTOCOL_DIR "${wayland-protocols}' \ --replace 'WLR_PROTOCOL_DIR "/usr' 'WLR_PROTOCOL_DIR "${wlr-protocols}' diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 62e809c01a6e..1e5688a453ef 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1207,6 +1207,7 @@ mapAliases ({ sqliteInteractive = throw "'sqliteInteractive' has been renamed to/replaced by 'sqlite-interactive'"; # Converted to throw 2022-02-22 squid4 = squid; # added 2019-08-22 sshfsFuse = throw "'sshfsFuse' has been renamed to/replaced by 'sshfs-fuse'"; # Converted to throw 2022-02-22 + ssmtp = throw "'ssmtp' has been removed due to the software being unmaintained. 'msmtp' can be used as a replacement"; # Added 2022-04-17 stanchion = throw "Stanchion was part of riak-cs which is not maintained anymore"; # added 2020-10-14 steam-run-native = steam-run; # added 2022-02-21 stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # Added 2021-05-09 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c818f46df935..9e6aadc95f12 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10231,8 +10231,6 @@ with pkgs; sshoogr = callPackage ../tools/networking/sshoogr { }; - ssmtp = callPackage ../tools/networking/ssmtp { }; - ssocr = callPackage ../applications/misc/ssocr { }; ssss = callPackage ../tools/security/ssss { }; @@ -21416,7 +21414,11 @@ with pkgs; hasura-cli = callPackage ../servers/hasura/cli.nix { }; - hbase = callPackage ../servers/hbase {}; + inherit (callPackage ../servers/hbase {}) hbase_1_7 hbase_2_4 hbase_3_0; + hbase1 = hbase_1_7; + hbase2 = hbase_2_4; + hbase3 = hbase_3_0; + hbase = hbase2; # when updating, point to the latest stable release headphones = callPackage ../servers/headphones {}; @@ -26613,6 +26615,8 @@ with pkgs; jackline = callPackage ../applications/networking/instant-messengers/jackline { }; + keylight-controller-mschneider82 = callPackage ../applications/misc/keylight-controller-mschneider82 { }; + leftwm = callPackage ../applications/window-managers/leftwm { }; levant = callPackage ../applications/networking/cluster/levant { }; @@ -28008,8 +28012,6 @@ with pkgs; pinegrow = callPackage ../applications/editors/pinegrow { }; - ping = callPackage ../applications/networking/ping { }; - piper = callPackage ../os-specific/linux/piper { }; pipe-viewer = perlPackages.callPackage ../applications/video/pipe-viewer {}; @@ -30476,6 +30478,8 @@ with pkgs; ydiff = with python3.pkgs; toPythonApplication ydiff; + ydict = callPackage ../applications/misc/ydict {}; + yed = callPackage ../applications/graphics/yed {}; yeetgif = callPackage ../applications/graphics/yeetgif { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b7cefa3124d2..287d2928a303 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6384,6 +6384,8 @@ in { pythonfinder = callPackage ../development/python-modules/pythonfinder { }; + pytomorrowio = callPackage ../development/python-modules/pytomorrowio { }; + pyutil = callPackage ../development/python-modules/pyutil { }; pyzbar = callPackage ../development/python-modules/pyzbar { }; @@ -9747,6 +9749,8 @@ in { stone = callPackage ../development/python-modules/stone { }; + stookalert = callPackage ../development/python-modules/stookalert { }; + stopit = callPackage ../development/python-modules/stopit { }; strategies = callPackage ../development/python-modules/strategies { }; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index a267b20d6675..7bf4a234bb65 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -124,7 +124,7 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; }; smartmontools = all; sqlite = unix; # Cygwin builds fail squid = linux; - ssmtp = linux; + msmtp = linux; stdenv = all; strace = linux; su = linux;