diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 860ac22872e4..99907a6877f8 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -69,6 +69,12 @@ fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D"; }]; }; + _0xB10C = { + email = "nixpkgs@b10c.me"; + name = "0xB10C"; + github = "0xb10c"; + githubId = 19157360; + }; _0xbe7a = { email = "nix@be7a.de"; name = "Bela Stoyan"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 6a00abf1bbd0..3a1fa9510ff9 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -961,6 +961,13 @@ configure this behaviour. + + + mastodon now automatically removes remote + media attachments older than 30 days. This is configurable + through services.mastodon.mediaAutoRemove. + + The Redis module now disables RDB persistence when diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index e6a6ed1e14d3..771163baa32c 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -296,6 +296,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable). - ZFS module will not allow hibernation by default, this is a safety measure to prevent data loss cases like the ones described at [OpenZFS/260](https://github.com/openzfs/zfs/issues/260) and [OpenZFS/12842](https://github.com/openzfs/zfs/issues/12842). Use the `boot.zfs.allowHibernation` option to configure this behaviour. +- `mastodon` now automatically removes remote media attachments older than 30 days. This is configurable through `services.mastodon.mediaAutoRemove`. + - The Redis module now disables RDB persistence when `services.redis.servers..save = []` instead of using the Redis default. - Neo4j was updated from version 3 to version 4. See this [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) on how to migrate your Neo4j instance. @@ -372,7 +374,7 @@ Available as [services.patroni](options.html#opt-services.patroni.enable). [systemd.oomd.enableRootSlice](options.html#opt-systemd.oomd.enableRootSlice), [systemd.oomd.enableSystemSlice](options.html#opt-systemd.oomd.enableSystemSlice), and [systemd.oomd.enableUserServices](options.html#opt-systemd.oomd.enableUserServices). - + - The `tt-rss` service performs two database migrations when you first use its web UI after upgrade. Consider backing up its database before updating. - The `pass-secret-service` package now includes systemd units from upstream, so adding it to the NixOS `services.dbus.packages` option will make it start automatically as a systemd user service when an application tries to talk to the libsecret D-Bus API. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 90825aa3401f..cadcb2e99dc9 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -321,6 +321,7 @@ ./services/backup/znapzend.nix ./services/blockchain/ethereum/geth.nix ./services/blockchain/ethereum/erigon.nix + ./services/blockchain/ethereum/lighthouse.nix ./services/backup/zrepl.nix ./services/cluster/corosync/default.nix ./services/cluster/hadoop/default.nix diff --git a/nixos/modules/services/blockchain/ethereum/erigon.nix b/nixos/modules/services/blockchain/ethereum/erigon.nix index 162774730976..892262d246b7 100644 --- a/nixos/modules/services/blockchain/ethereum/erigon.nix +++ b/nixos/modules/services/blockchain/ethereum/erigon.nix @@ -13,6 +13,15 @@ in { services.erigon = { enable = mkEnableOption (lib.mdDoc "Ethereum implementation on the efficiency frontier"); + group = mkOption { + type = types.str; + default = "ethereum"; + description = lib.mdDoc '' + Group of the user running the lighthouse process. This is used to share the jwt + secret with the execution layer. + ''; + }; + settings = mkOption { description = lib.mdDoc '' Configuration for Erigon @@ -55,6 +64,19 @@ in { }; config = mkIf cfg.enable { + users = { + users.erigon = { + name = "erigon"; + group = cfg.group; + description = "Erigon user"; + home = "/var/lib/erigon"; + isSystemUser = true; + }; + groups = mkIf (cfg.group == "ethereum") { + ethereum = {}; + }; + }; + # Default values are the same as in the binary, they are just written here for convenience. services.erigon.settings = { datadir = mkDefault "/var/lib/erigon"; @@ -77,10 +99,11 @@ in { serviceConfig = { ExecStart = "${pkgs.erigon}/bin/erigon --config ${configFile}"; + User = "erigon"; + Group = cfg.group; Restart = "on-failure"; StateDirectory = "erigon"; CapabilityBoundingSet = ""; - DynamicUser = true; NoNewPrivileges = true; PrivateTmp = true; ProtectHome = true; @@ -97,7 +120,6 @@ in { RestrictNamespaces = true; LockPersonality = true; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; SystemCallFilter = [ "@system-service" "~@privileged" ]; }; }; diff --git a/nixos/modules/services/blockchain/ethereum/lighthouse.nix b/nixos/modules/services/blockchain/ethereum/lighthouse.nix new file mode 100644 index 000000000000..6002b16785a7 --- /dev/null +++ b/nixos/modules/services/blockchain/ethereum/lighthouse.nix @@ -0,0 +1,335 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + + cfg = config.services.lighthouse; +in { + + options = { + services.lighthouse = { + beacon = mkOption { + description = lib.mdDoc "Beacon node"; + default = {}; + type = types.submodule { + options = { + enable = lib.mkEnableOption (lib.mdDoc "Lightouse Beacon node"); + + dataDir = mkOption { + type = types.str; + default = "/var/lib/lighthouse-beacon"; + description = lib.mdDoc '' + Directory where data will be stored. Each chain will be stored under it's own specific subdirectory. + ''; + }; + + address = mkOption { + type = types.str; + default = "0.0.0.0"; + description = lib.mdDoc '' + Listen address of Beacon node. + ''; + }; + + port = mkOption { + type = types.port; + default = 9000; + description = lib.mdDoc '' + Port number the Beacon node will be listening on. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Open the port in the firewall + ''; + }; + + disableDepositContractSync = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Explictly disables syncing of deposit logs from the execution node. + This overrides any previous option that depends on it. + Useful if you intend to run a non-validating beacon node. + ''; + }; + + group = mkOption { + type = types.str; + default = "ethereum"; + description = lib.mdDoc '' + Group of the user running the lighthouse process. This is used to share the jwt + secret with the execution layer. + ''; + }; + + execution = { + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = lib.mdDoc '' + Listen address for the execution layer. + ''; + }; + + port = mkOption { + type = types.port; + default = 8551; + description = lib.mdDoc '' + Port number the Beacon node will be listening on for the execution layer. + ''; + }; + + jwtPath = mkOption { + type = types.str; + default = ""; + description = lib.mdDoc '' + Path for the jwt secret required to connect to the execution layer. + ''; + }; + }; + + http = { + enable = lib.mkEnableOption (lib.mdDoc "Beacon node http api"); + port = mkOption { + type = types.port; + default = 5052; + description = lib.mdDoc '' + Port number of Beacon node RPC service. + ''; + }; + + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = lib.mdDoc '' + Listen address of Beacon node RPC service. + ''; + }; + }; + + metrics = { + enable = lib.mkEnableOption (lib.mdDoc "Beacon node prometheus metrics"); + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = lib.mdDoc '' + Listen address of Beacon node metrics service. + ''; + }; + + port = mkOption { + type = types.port; + default = 5054; + description = lib.mdDoc '' + Port number of Beacon node metrics service. + ''; + }; + }; + + extraArgs = mkOption { + type = types.str; + description = lib.mdDoc '' + Additional arguments passed to the lighthouse beacon command. + ''; + default = ""; + example = ""; + }; + }; + }; + }; + + validator = mkOption { + description = lib.mdDoc "Validator node"; + default = {}; + type = types.submodule { + options = { + enable = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc "Enable Lightouse Validator node."; + }; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/lighthouse-validator"; + description = lib.mdDoc '' + Directory where data will be stored. Each chain will be stored under it's own specific subdirectory. + ''; + }; + + beaconNodes = mkOption { + type = types.listOf types.str; + default = ["http://localhost:5052"]; + description = lib.mdDoc '' + Beacon nodes to connect to. + ''; + }; + + metrics = { + enable = lib.mkEnableOption (lib.mdDoc "Validator node prometheus metrics"); + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = lib.mdDoc '' + Listen address of Validator node metrics service. + ''; + }; + + port = mkOption { + type = types.port; + default = 5056; + description = lib.mdDoc '' + Port number of Validator node metrics service. + ''; + }; + }; + + extraArgs = mkOption { + type = types.str; + description = lib.mdDoc '' + Additional arguments passed to the lighthouse validator command. + ''; + default = ""; + example = ""; + }; + }; + }; + }; + + network = mkOption { + type = types.enum [ "mainnet" "prater" "goerli" "gnosis" "kiln" "ropsten" "sepolia" ]; + default = "mainnet"; + description = lib.mdDoc '' + The network to connect to. Mainnet is the default ethereum network. + ''; + }; + + extraArgs = mkOption { + type = types.str; + description = lib.mdDoc '' + Additional arguments passed to every lighthouse command. + ''; + default = ""; + example = ""; + }; + }; + }; + + config = mkIf (cfg.beacon.enable || cfg.validator.enable) { + + users = { + users.lighthouse-beacon = { + name = "lighthouse-beacon"; + group = cfg.beacon.group; + description = "Lighthouse beacon node user"; + home = "${cfg.beacon.dataDir}"; + isSystemUser = true; + }; + groups = mkIf (cfg.beacon.group == "ethereum") { + ethereum = {}; + }; + }; + + environment.systemPackages = [ pkgs.lighthouse ] ; + + networking.firewall = mkIf cfg.beacon.enable { + allowedTCPPorts = mkIf cfg.beacon.openFirewall [ cfg.beacon.port ]; + allowedUDPPorts = mkIf cfg.beacon.openFirewall [ cfg.beacon.port ]; + }; + + + systemd.services.lighthouse-beacon = mkIf cfg.beacon.enable { + description = "Lighthouse beacon node (connect to P2P nodes and verify blocks)"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + script = '' + # make sure the chain data directory is created on first run + mkdir -p ${cfg.beacon.dataDir}/${cfg.network} + + ${pkgs.lighthouse}/bin/lighthouse beacon_node \ + --disable-upnp \ + ${lib.optionalString cfg.beacon.disableDepositContractSync "--disable-deposit-contract-sync"} \ + --port ${toString cfg.beacon.port} \ + --listen-address ${cfg.beacon.address} \ + --network ${cfg.network} \ + --datadir ${cfg.beacon.dataDir}/${cfg.network} \ + --execution-endpoint http://${cfg.beacon.execution.address}:${toString cfg.beacon.execution.port} \ + --execution-jwt ${cfg.beacon.execution.jwtPath} \ + ${lib.optionalString cfg.beacon.http.enable '' --http --http-address ${cfg.beacon.http.address} --http-port ${toString cfg.beacon.http.port}''} \ + ${lib.optionalString cfg.beacon.metrics.enable '' --metrics --metrics-address ${cfg.beacon.metrics.address} --metrics-port ${toString cfg.beacon.metrics.port}''} \ + ${cfg.extraArgs} ${cfg.beacon.extraArgs} + ''; + serviceConfig = { + User = "lighthouse-beacon"; + Group = cfg.beacon.group; + Restart = "on-failure"; + StateDirectory = "lighthouse-beacon"; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectHome = true; + ProtectClock = true; + ProtectProc = "noaccess"; + ProcSubset = "pid"; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectHostname = true; + RestrictSUIDSGID = true; + RestrictRealtime = true; + RestrictNamespaces = true; + LockPersonality = true; + RemoveIPC = true; + SystemCallFilter = [ "@system-service" "~@privileged" ]; + }; + }; + + systemd.services.lighthouse-validator = mkIf cfg.validator.enable { + description = "Lighthouse validtor node (manages validators, using data obtained from the beacon node via a HTTP API)"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + script = '' + # make sure the chain data directory is created on first run + mkdir -p ${cfg.validator.dataDir}/${cfg.network} + + ${pkgs.lighthouse}/bin/lighthouse validator_client \ + --network ${cfg.network} \ + --beacon-nodes ${lib.concatStringsSep "," cfg.validator.beaconNodes} \ + --datadir ${cfg.validator.dataDir}/${cfg.network} + ${optionalString cfg.validator.metrics.enable ''--metrics --metrics-address ${cfg.validator.metrics.address} --metrics-port ${toString cfg.validator.metrics.port}''} \ + ${cfg.extraArgs} ${cfg.validator.extraArgs} + ''; + + serviceConfig = { + Restart = "on-failure"; + StateDirectory = "lighthouse-validator"; + CapabilityBoundingSet = ""; + DynamicUser = true; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectHome = true; + ProtectClock = true; + ProtectProc = "noaccess"; + ProcSubset = "pid"; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectHostname = true; + RestrictSUIDSGID = true; + RestrictRealtime = true; + RestrictNamespaces = true; + LockPersonality = true; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + SystemCallFilter = [ "@system-service" "~@privileged" ]; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index 7c03c188356e..892d8e537ccf 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -1796,6 +1796,33 @@ in WorkingDirectory = workingDir; StateDirectory = cfg.stateDir; StateDirectoryMode = "0700"; + # Hardening + AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ]; + CapabilityBoundingSet = if (cfg.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ]; + DeviceAllow = [ "/dev/null rw" ]; + DevicePolicy = "strict"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "full"; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; }; }; # prometheus-config-reload will activate after prometheus. However, what we diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix index dad8c3d3e38b..83890e969909 100644 --- a/nixos/modules/services/web-apps/mastodon.nix +++ b/nixos/modules/services/web-apps/mastodon.nix @@ -425,6 +425,39 @@ in { Do automatic database migrations. ''; }; + + mediaAutoRemove = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + example = false; + description = lib.mdDoc '' + Automatically remove remote media attachments and preview cards older than the configured amount of days. + + Recommended in https://docs.joinmastodon.org/admin/setup/. + ''; + }; + + startAt = lib.mkOption { + type = lib.types.str; + default = "daily"; + example = "hourly"; + description = lib.mdDoc '' + How often to remove remote media. + + The format is described in {manpage}`systemd.time(7)`. + ''; + }; + + olderThanDays = lib.mkOption { + type = lib.types.int; + default = 30; + example = 14; + description = lib.mdDoc '' + How old remote media needs to be in order to be removed. + ''; + }; + }; }; }; @@ -585,6 +618,22 @@ in { path = with pkgs; [ file imagemagick ffmpeg ]; }; + systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable { + description = "Mastodon media auto remove"; + environment = env; + serviceConfig = { + Type = "oneshot"; + script = let + olderThanDays = toString cfg.mediaAutoRemove.olderThanDays; + in '' + ${cfg.package}/bin/tootctl media remove --days=${olderThanDays} + ${cfg.package}/bin/tootctl preview_cards remove --days=${olderThanDays} + ''; + EnvironmentFile = "/var/lib/mastodon/.secrets_env"; + startAt = cfg.mediaAutoRemove.startAt; + } // cfgService; + }; + services.nginx = lib.mkIf cfg.configureNginx { enable = true; recommendedProxySettings = true; # required for redirections to work diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix index 660f1b2d7f86..43a6d7e75dc6 100644 --- a/nixos/modules/services/web-apps/wordpress.nix +++ b/nixos/modules/services/web-apps/wordpress.nix @@ -409,6 +409,8 @@ in "d '${stateDir hostName}' 0750 ${user} ${webserver.group} - -" "d '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -" "Z '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -" + "d '${cfg.fontsDir}' 0750 ${user} ${webserver.group} - -" + "Z '${cfg.fontsDir}' 0750 ${user} ${webserver.group} - -" ]) eachSite); systemd.services = mkMerge [ diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix new file mode 100644 index 000000000000..31cc9b3deaa1 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + dmcfg = config.services.xserver.displayManager; + ldmcfg = dmcfg.lightdm; + cfg = ldmcfg.greeters.mobile; +in +{ + options = { + services.xserver.displayManager.lightdm.greeters.mobile = { + enable = mkEnableOption (lib.mdDoc + "lightdm-mobile-greeter as the lightdm greeter" + ); + }; + }; + + config = mkIf (ldmcfg.enable && cfg.enable) { + services.xserver.displayManager.lightdm.greeters.gtk.enable = false; + + services.xserver.displayManager.lightdm.greeter = mkDefault { + package = pkgs.lightdm-mobile-greeter.xgreeters; + name = "lightdm-mobile-greeter"; + }; + }; +} diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index b0508c3b4f79..f74e8efb8f64 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -83,6 +83,7 @@ in ./lightdm-greeters/pantheon.nix ./lightdm-greeters/tiny.nix ./lightdm-greeters/slick.nix + ./lightdm-greeters/mobile.nix (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [ "services" "xserver" diff --git a/pkgs/applications/backup/vorta/default.nix b/pkgs/applications/backup/vorta/default.nix index 32d989e7a253..ad55ef1ab8c8 100644 --- a/pkgs/applications/backup/vorta/default.nix +++ b/pkgs/applications/backup/vorta/default.nix @@ -8,13 +8,13 @@ python3Packages.buildPythonApplication rec { pname = "vorta"; - version = "0.8.7"; + version = "0.8.9"; src = fetchFromGitHub { owner = "borgbase"; repo = "vorta"; rev = "refs/tags/v${version}"; - sha256 = "sha256-9SfHZbNM+lRtwLO/0dE9C4cHb3pSPkxBUITYNEdPMQw="; + sha256 = "sha256-5RZXHMov3CX0zRprs7sgz0+cGEdESLrg4I2glRnTkcU="; }; nativeBuildInputs = [ wrapQtAppsHook ]; diff --git a/pkgs/applications/blockchains/btcd/default.nix b/pkgs/applications/blockchains/btcd/default.nix new file mode 100644 index 000000000000..34a6aa1dad83 --- /dev/null +++ b/pkgs/applications/blockchains/btcd/default.nix @@ -0,0 +1,31 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "btcd"; + version = "0.23.3"; + + src = fetchFromGitHub { + owner = "btcsuite"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-LdK68Ianiyrs+HVMwrkiX2ruCWKkdpuY8ylxhNbm9qI="; + }; + + vendorSha256 = "sha256-3w8rb0sfAIFCXqPXOKb4QwoLd7WsbFv3phu/rJCEjeY="; + + subPackages = [ "." "cmd/*" ]; + + preCheck = '' + DIR="github.com/btcsuite/btcd/" + # TestCreateDefaultConfigFile requires the sample-btcd.conf in $DIR + mkdir -p $DIR + cp sample-btcd.conf $DIR + ''; + + meta = with lib; { + description = "An alternative full node bitcoin implementation written in Go (golang)"; + homepage = "https://github.com/btcsuite/btcd"; + license = licenses.isc; + maintainers = with maintainers; [ _0xB10C ]; + }; +} diff --git a/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix new file mode 100644 index 000000000000..a4ea16aa4a78 --- /dev/null +++ b/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix @@ -0,0 +1,53 @@ +{ lib +, fetchFromGitea +, gtk3 +, libhandy_0 +, lightdm +, lightdm-mobile-greeter +, linkFarm +, pkg-config +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "lightdm-mobile-greeter"; + version = "2022-10-30"; + + src = fetchFromGitea { + domain = "git.raatty.club"; + owner = "raatty"; + repo = "lightdm-mobile-greeter"; + rev = "8c8d6dfce62799307320c8c5a1f0dd5c8c18e4d3"; + hash = "sha256-SrAR2+An3BN/doFl/s8PcYZMUHLfVPXKZOo6ndO60nY="; + }; + cargoHash = "sha256-NZ0jOkEBNa5oOydfyKm0XQB/vkAvBv9wHBbnM9egQFQ="; + + buildInputs = [ + gtk3 + libhandy_0 + lightdm + ]; + nativeBuildInputs = [ + pkg-config + ]; + + postInstall = '' + mkdir -p $out/share/xgreeters + substitute lightdm-mobile-greeter.desktop \ + $out/share/xgreeters/lightdm-mobile-greeter.desktop \ + --replace lightdm-mobile-greeter $out/bin/lightdm-mobile-greeter + ''; + + passthru.xgreeters = linkFarm "lightdm-mobile-greeter-xgreeters" [{ + path = "${lightdm-mobile-greeter}/share/xgreeters/lightdm-mobile-greeter.desktop"; + name = "lightdm-mobile-greeter.desktop"; + }]; + + meta = with lib; { + description = "A simple log in screen for use on touch screens"; + homepage = "https://git.raatty.club/raatty/lightdm-mobile-greeter"; + maintainers = with maintainers; [ colinsane ]; + platforms = platforms.linux; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/editors/neovim/neovide/default.nix b/pkgs/applications/editors/neovim/neovide/default.nix index 3d1aa9cdc57c..3a32516b7d3c 100644 --- a/pkgs/applications/editors/neovim/neovide/default.nix +++ b/pkgs/applications/editors/neovim/neovide/default.nix @@ -31,16 +31,16 @@ }: rustPlatform.buildRustPackage rec { pname = "neovide"; - version = "0.10.1"; + version = "0.10.3"; src = fetchFromGitHub { owner = "Kethku"; repo = "neovide"; rev = version; - sha256 = "sha256-PViSiK6+H79MLIOFe26cNqUZ6gZdqDC/S+ksTrbOm54="; + sha256 = "sha256-CcBiCcfOJzuq0DnokTUHpMdo7Ry29ugQ+N7Hk0R+cQE="; }; - cargoSha256 = "sha256-GvueDUY4Hzfih/MyEfhdz/QNVd9atTC8SCF+PyuJJic="; + cargoSha256 = "sha256-bS7yBnxAWPoTTabxI6W5Knl1DFiDztYSkEPJMa8bqlY="; SKIA_SOURCE_DIR = let diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix index 421f98b1fb62..162b6362fd7d 100644 --- a/pkgs/applications/misc/fuzzel/default.nix +++ b/pkgs/applications/misc/fuzzel/default.nix @@ -25,14 +25,14 @@ assert svgSupport -> enableCairo; stdenv.mkDerivation rec { pname = "fuzzel"; - version = "1.7.0"; + version = "1.8.2"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "fuzzel"; rev = version; - sha256 = "1261gwxiky37pvzmmbrpml1psa22kkglb141ybj1fbnwg6j7jvlf"; + sha256 = "sha256-5uXf5HfQ8bDQSMNCHHaC9sCX5P/D89T2ZOUiXTDx3bQ="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/mangal/default.nix b/pkgs/applications/misc/mangal/default.nix index f4c7869f152c..1c7840be855a 100644 --- a/pkgs/applications/misc/mangal/default.nix +++ b/pkgs/applications/misc/mangal/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "mangal"; - version = "4.0.1"; + version = "4.0.2"; src = fetchFromGitHub { owner = "metafates"; repo = pname; rev = "v${version}"; - hash = "sha256-pMiZgO/+koyIDm7ONZn0qEq+d6HeFfQFaU1Qjovqmc4="; + hash = "sha256-ssvd8gdF5h6EKLY/W+1zbZWcVQqy+UirIS0p0DBQj0E="; }; proxyVendor = true; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 007714644374..185974539a1f 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -3,7 +3,7 @@ let versions = if stdenv.isLinux then { stable = "0.0.21"; ptb = "0.0.34"; - canary = "0.0.142"; + canary = "0.0.143"; } else { stable = "0.0.264"; ptb = "0.0.59"; @@ -22,7 +22,7 @@ let }; canary = fetchurl { url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; - sha256 = "sha256-/EWJC3hFIBqwHa9z4nMWR7CpoaqYY+pvw+1vcq4F0LU="; + sha256 = "sha256-K+yyg9GTAvggfn4JQCTmq016tMyyzq+nD7aL3+bWFlo="; }; }; x86_64-darwin = { diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix index 03a427e06cc2..22eee8b305a5 100644 --- a/pkgs/applications/science/math/gmsh/default.nix +++ b/pkgs/applications/science/math/gmsh/default.nix @@ -5,11 +5,11 @@ assert (!blas.isILP64) && (!lapack.isILP64); stdenv.mkDerivation rec { pname = "gmsh"; - version = "4.10.5"; + version = "4.11.0"; src = fetchurl { url = "https://gmsh.info/src/gmsh-${version}-source.tgz"; - sha256 = "sha256-zAMMWu5l59WPhQuLb1WmiUXIm8hx+U4SOSefWiEPxOo="; + sha256 = "sha256-PPLyRFXuCSUsmeZNTmRilW5o8P8fN7rKC3jICdbMVXo="; }; buildInputs = [ diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 9a4276997b8e..1e2e8c764a9e 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,4 +1,4 @@ -{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools +{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages , csmSupport ? false, seabios ? null , secureBoot ? false , httpSupport ? false @@ -33,7 +33,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: { outputs = [ "out" "fd" ]; - nativeBuildInputs = [ util-linux nasm acpica-tools ]; + nativeBuildInputs = [ util-linux nasm acpica-tools ] + ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ]; strictDeps = true; hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; @@ -44,6 +45,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: { ++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ] ++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"]; + NIX_CFLAGS_COMPILE = lib.optional stdenv.cc.isClang "-Qunused-arguments"; + postPatch = lib.optionalString csmSupport '' cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin ''; diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix index 3bd766e7ae94..810fefa2863f 100644 --- a/pkgs/applications/virtualization/crun/default.nix +++ b/pkgs/applications/virtualization/crun/default.nix @@ -38,13 +38,13 @@ let in stdenv.mkDerivation rec { pname = "crun"; - version = "1.6"; + version = "1.7"; src = fetchFromGitHub { owner = "containers"; repo = pname; rev = version; - sha256 = "sha256-JO07bF2Xucz8lSvj7om17a/NT0I7Vru1vayZhPDFLIw="; + sha256 = "sha256-Ly6GBR7nF7J5Dwe1jrQxR4XYsao7KxBAxGn8fsJwmMs="; fetchSubmodules = true; }; diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix index 6420b79072f0..4e74fcd26e77 100644 --- a/pkgs/applications/window-managers/eww/default.nix +++ b/pkgs/applications/window-managers/eww/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , pkg-config , gtk3 +, gdk-pixbuf , withWayland ? false , gtk-layer-shell , stdenv @@ -25,7 +26,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 ] ++ lib.optional withWayland gtk-layer-shell; + buildInputs = [ gtk3 gdk-pixbuf ] ++ lib.optional withWayland gtk-layer-shell; buildNoDefaultFeatures = withWayland; buildFeatures = lib.optional withWayland "wayland"; diff --git a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix index a8d46d578996..30caaaf6e3df 100644 --- a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix @@ -2,6 +2,7 @@ , runCommand , nixos-artwork , glib +, gnome , gtk3 , gsettings-desktop-schemas , extraGSettingsOverrides ? "" @@ -35,9 +36,20 @@ let cinnamon-session cinnamon-settings-daemon cinnamon-common + gnome.gnome-terminal gtk3 ] ++ extraGSettingsOverridePackages; + gsettingsOverrides = '' + # Use Fedora's default to make text readable and + # restore ununified menu. + # https://github.com/NixOS/nixpkgs/issues/200017 + [org.gnome.Terminal.Legacy.Settings] + theme-variant='dark' + unified-menu=false + + ${extraGSettingsOverrides} + ''; in # TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this @@ -53,7 +65,7 @@ runCommand "cinnamon-gsettings-overrides" { preferLocalBuild = true; } chmod -R a+w "$data_dir" cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF - ${extraGSettingsOverrides} + ${gsettingsOverrides} EOF ${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir" diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index d51601404868..8ce4322a12e9 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -61,7 +61,7 @@ edk2 = buildStdenv.mkDerivation { ${"GCC5_${targetArch}_PREFIX"}=stdenv.cc.targetPrefix; makeFlags = [ "-C BaseTools" ] - ++ lib.optionals (stdenv.cc.isClang) [ "BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang" ]; + ++ lib.optionals (stdenv.cc.isClang) [ "CXX=llvm BUILD_AR=ar BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang BUILD_LD=ld" ]; NIX_CFLAGS_COMPILE = "-Wno-return-type" + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation"; diff --git a/pkgs/development/compilers/openjdk/meta.nix b/pkgs/development/compilers/openjdk/meta.nix index c66ecc29cf51..0fbd9eff3e4c 100644 --- a/pkgs/development/compilers/openjdk/meta.nix +++ b/pkgs/development/compilers/openjdk/meta.nix @@ -5,7 +5,7 @@ lib: version: with lib; { maintainers = with maintainers; [ edwtjo asbachb ]; platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ]; mainProgram = "java"; - knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" ]) [ + knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" "18" ]) [ "This OpenJDK version has reached its end of life." ]; } diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 9900d8874b25..a38761ed7c50 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -59,11 +59,11 @@ with lib; stdenv.mkDerivation rec { pname = "SDL2"; - version = "2.24.0"; + version = "2.24.2"; src = fetchurl { url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; - sha256 = "sha256-keTDSxdo+S05mweOFxRIxq8Yyv2nQ5h+0gZKKJVNbZc="; + sha256 = "sha256-s17wqAKwnZDtOt0NysDpWCCAQgKRT1u3sP63EPGhMp8="; }; dontDisableStatic = if withStatic then 1 else 0; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix index c0d9d87aa422..74caec57c2d8 100644 --- a/pkgs/development/libraries/aspell/dictionaries.nix +++ b/pkgs/development/libraries/aspell/dictionaries.nix @@ -105,6 +105,26 @@ let homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html"; } // (args.meta or {}); + } // lib.optionalAttrs (stdenv.isDarwin && elem language [ "is" "nb" ]) { + # tar: Cannot open: Illegal byte sequence + unpackPhase = '' + runHook preUnpack + + tar -xf $src --strip-components=1 || true + + runHook postUnpack + ''; + + postPatch = getAttr language { + is = '' + cp icelandic.alias íslenska.alias + sed -i 's/ .slenska\.alias/ íslenska.alias/g' Makefile.pre + ''; + nb = '' + cp bokmal.alias bokmål.alias + sed -i 's/ bokm.l\.alias/ bokmål.alias/g' Makefile.pre + ''; + }; } // removeAttrs args [ "language" "filename" "sha256" "meta" ]; in buildDict buildArgs; diff --git a/pkgs/development/libraries/lzlib/default.nix b/pkgs/development/libraries/lzlib/default.nix index 7ddf4fa5f178..4e28fc3a5b0d 100644 --- a/pkgs/development/libraries/lzlib/default.nix +++ b/pkgs/development/libraries/lzlib/default.nix @@ -12,6 +12,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-3ea9WzJTXxeyjJrCS2ZgfgJQUGrBQypBEso8c/XWYsM="; }; + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace Makefile.in --replace '-Wl,--soname=' '-Wl,-install_name,$(out)/lib/' + ''; + makeFlags = [ "CC:=$(CC)" ]; doCheck = true; diff --git a/pkgs/development/lisp-modules-new/ql.nix b/pkgs/development/lisp-modules-new/ql.nix index 8e06ef75a1f6..4ffce7a8d769 100644 --- a/pkgs/development/lisp-modules-new/ql.nix +++ b/pkgs/development/lisp-modules-new/ql.nix @@ -60,6 +60,9 @@ let trivial-ssh-libssh2 = pkg: { nativeLibs = [ libssh2 ]; }; + mssql = pkg: { + nativeLibs = [ freetds ]; + }; sqlite = pkg: { nativeLibs = [ sqlite ]; }; diff --git a/pkgs/development/ocaml-modules/ppx_yojson_conv/default.nix b/pkgs/development/ocaml-modules/ppx_yojson_conv/default.nix new file mode 100644 index 000000000000..3feeaa84ab47 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_yojson_conv/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildDunePackage, + fetchFromGitHub, + ppx_js_style, + ppx_yojson_conv_lib, + ppxlib, +}: +buildDunePackage rec { + pname = "ppx_yojson_conv"; + version = "0.15.1"; + duneVersion = "3"; + minimumOCamlVersion = "4.08.0"; + + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-lSOUSMVgsRiArEhFTKpAj2yFBPbtaIc/SxdPA+24xXs="; + }; + + propagatedBuildInputs = [ + ppx_js_style + ppx_yojson_conv_lib + ppxlib + ]; + + meta = with lib; { + description = "A PPX syntax extension that generates code for converting OCaml types to and from Yojson"; + homepage = "https://github.com/janestreet/ppx_yojson_conv"; + maintainers = with maintainers; [djacu]; + license = with licenses; [mit]; + }; +} diff --git a/pkgs/development/php-packages/deployer/default.nix b/pkgs/development/php-packages/deployer/default.nix index 661a6310958c..bd15bb7db856 100644 --- a/pkgs/development/php-packages/deployer/default.nix +++ b/pkgs/development/php-packages/deployer/default.nix @@ -30,6 +30,7 @@ mkDerivation rec { description = "A deployment tool for PHP"; license = licenses.mit; homepage = "https://deployer.org/"; + mainProgram = "dep"; maintainers = with maintainers; teams.php.members; }; } diff --git a/pkgs/development/python-modules/amaranth/default.nix b/pkgs/development/python-modules/amaranth/default.nix index 938b44202b9b..5a3f7e449e23 100644 --- a/pkgs/development/python-modules/amaranth/default.nix +++ b/pkgs/development/python-modules/amaranth/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub +, fetchpatch , setuptools , setuptools-scm , pyvcd @@ -31,6 +32,23 @@ buildPythonPackage rec { sha256 = "P9AG3t30eGeeCN5+t7mjhRoOWIGZVzWQji9eYXphjA0="; }; + patches = [ + (fetchpatch { + name = "fix-for-setuptools-64.0.2-preparation.patch"; + url = "https://github.com/amaranth-lang/amaranth/commit/64771a065a280fa683c1e6692383bec4f59f20fa.patch"; + hash = "sha256-Rsh9vVvUQj9nIcrsRirmR6XwFrfZ2VMaYJ4RCQ8sBE0="; + # This commit removes support for Python 3.6, which is unnecessary to fix + # the build when using new setuptools. Include only one file, which has a + # harmless comment change so that the subsequent patch applies cleanly. + includes = ["amaranth/_toolchain/cxx.py"]; + }) + (fetchpatch { + name = "fix-for-setuptools-64.0.2.patch"; + url = "https://github.com/amaranth-lang/amaranth/pull/722/commits/e5a56b07c568e5f4cc2603eefebd14c5cc4e13d8.patch"; + hash = "sha256-C8FyMSKHA7XsEMpO9eYNZx/X5rGaK7p3eXP+jSb6wVg="; + }) + ]; + SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/construct-classes/default.nix b/pkgs/development/python-modules/construct-classes/default.nix new file mode 100644 index 000000000000..479f0703118f --- /dev/null +++ b/pkgs/development/python-modules/construct-classes/default.nix @@ -0,0 +1,41 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, construct +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "construct-classes"; + version = "0.1.2"; + format = "pyproject"; + + # no tests in PyPI tarball + src = fetchFromGitHub { + owner = "matejcik"; + repo = "construct-classes"; + rev = "v${version}"; + sha256 = "sha256-l4sVacKTuQbhXCw2lVHCl1OzpCiKmEAm9nSQ8pxFuTo="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + construct + ]; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "construct_classes" ]; + + meta = with lib; { + description = "Parse your binary data into dataclasses."; + homepage = "https://github.com/matejcik/construct-classes"; + license = licenses.mit; + maintainers = with maintainers; [ prusnak ]; + }; +} diff --git a/pkgs/development/python-modules/sh/default.nix b/pkgs/development/python-modules/sh/default.nix index d6334251bff4..17dcc5acbee0 100644 --- a/pkgs/development/python-modules/sh/default.nix +++ b/pkgs/development/python-modules/sh/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, python, coverage, lsof, glibcLocales, coreutils }: +{ lib, stdenv, buildPythonPackage, fetchPypi, python, coverage, lsof, glibcLocales, coreutils, pytestCheckHook }: buildPythonPackage rec { pname = "sh"; @@ -9,17 +9,12 @@ buildPythonPackage rec { sha256 = "sha256-5ARbbHMtnOddVxx59awiNO3Zrk9fqdWbCXBQgr3KGMc="; }; - patches = [ - # Disable tests that fail on Darwin sandbox - ./disable-broken-tests-darwin.patch - ]; - postPatch = '' sed -i 's#/usr/bin/env python#${python.interpreter}#' test.py sed -i 's#/bin/sleep#${coreutils.outPath}/bin/sleep#' test.py ''; - checkInputs = [ coverage lsof glibcLocales ]; + checkInputs = [ coverage lsof glibcLocales pytestCheckHook ]; # A test needs the HOME directory to be different from $TMPDIR. preCheck = '' @@ -27,6 +22,21 @@ buildPythonPackage rec { HOME=$(mktemp -d) ''; + pytestFlagsArray = [ "test.py" ]; + + disabledTests = [ + # Disable tests that fail on Hydra + "test_no_fd_leak" + "test_piped_exception1" + "test_piped_exception2" + "test_unicode_path" + ] ++ lib.optionals stdenv.isDarwin [ + # Disable tests that fail on Darwin sandbox + "test_background_exception" + "test_cwd" + "test_ok_code" + ]; + meta = with lib; { description = "Python subprocess interface"; homepage = "https://pypi.python.org/pypi/sh/"; diff --git a/pkgs/development/python-modules/sh/disable-broken-tests-darwin.patch b/pkgs/development/python-modules/sh/disable-broken-tests-darwin.patch deleted file mode 100644 index dfeb50db8d0e..000000000000 --- a/pkgs/development/python-modules/sh/disable-broken-tests-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c596ad546fe7460b57a62799837757eb641309c1 Mon Sep 17 00:00:00 2001 -From: Sirio Balmelli -Date: Mon, 20 Jul 2020 19:51:20 +0200 -Subject: [PATCH] Disable tests that fail on Darwin (macOS) or with sandboxing - -Signed-off-by: Sirio Balmelli ---- a/test.py -+++ b/test.py -@@ -377,6 +377,7 @@ exit(3) - self.assertEqual(sed(_in="one test three", e="s/test/two/").strip(), - "one two three") - -+ @not_macos - def test_ok_code(self): - from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2 - -@@ -982,6 +983,7 @@ print(sys.argv[1]) - now = time.time() - self.assertGreater(now - start, sleep_time) - -+ @not_macos - def test_background_exception(self): - from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2 - p = ls("/ofawjeofj", _bg=True, _bg_exc=False) # should not raise -@@ -1779,6 +1781,7 @@ exit(49) - p = python(py.name, _ok_code=49, _bg=True) - self.assertEqual(49, p.exit_code) - -+ @not_macos - def test_cwd(self): - from sh import pwd - from os.path import realpath -@@ -2777,6 +2780,7 @@ print("cool") - # on osx. so skip it for now if osx - @not_macos - @requires_progs("lsof") -+ @skipUnless(False, "Flaky on Hydra") - def test_no_fd_leak(self): - import sh - import os -@@ -2879,6 +2883,7 @@ print("hi") - python(py.name, _in=stdin) - - @requires_utf8 -+ @skipUnless(False, "Does not work in sandbox") - def test_unicode_path(self): - from sh import Command - diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix index b4a2925a4155..ae9778d91039 100644 --- a/pkgs/development/python-modules/trezor/default.nix +++ b/pkgs/development/python-modules/trezor/default.nix @@ -7,6 +7,7 @@ , attrs , click , construct +, construct-classes , ecdsa , hidapi , libusb1 @@ -24,13 +25,13 @@ buildPythonPackage rec { pname = "trezor"; - version = "0.13.3"; + version = "0.13.4"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "055d32174d4ecf2353f7622ee44b8e82e3bef78fe40ce5cdbeafc785b422a049"; + sha256 = "04a77b44005971819386bbd55242a1004b1f88fbbdb829deb039a1e0028a4af1"; }; nativeBuildInputs = [ installShellFiles ]; @@ -39,6 +40,7 @@ buildPythonPackage rec { attrs click construct + construct-classes ecdsa hidapi libusb1 @@ -58,6 +60,7 @@ buildPythonPackage rec { disabledTestPaths = [ "tests/test_stellar.py" # requires stellar-sdk + "tests/test_firmware.py" # requires network downloads ]; pythonImportsCheck = [ "trezorlib" ]; diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index 7049f5afc965..6bc6b7888d8c 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -28,6 +28,9 @@ buildPythonPackage rec { ifaddr ]; + # OSError: [Errno 48] Address already in use + doCheck = !stdenv.isDarwin; + checkInputs = [ pytest-asyncio pytestCheckHook diff --git a/pkgs/development/tools/buf/buf-tests-dont-use-file-transport.patch b/pkgs/development/tools/buf/buf-tests-dont-use-file-transport.patch new file mode 100644 index 000000000000..a26f41d71974 --- /dev/null +++ b/pkgs/development/tools/buf/buf-tests-dont-use-file-transport.patch @@ -0,0 +1,51 @@ +commit e9219b88de5ed37af337ee2d2e71e7ec7c0aad1b +Author: Robbert van Ginkel +Date: Thu Oct 20 16:43:28 2022 -0400 + + Fix git unit test by using fake git server rather than file:// (#1518) + + More recent versions of git fix a CVE by disabling some usage of the + `file://` transport, see + https://github.blog/2022-10-18-git-security-vulnerabilities-announced/#cve-2022-39253. + We were using this transport in tests. + + Instead, use https://git-scm.com/docs/git-http-backend to serve up this + repository locally so we don't have to use the file protocol. This + should be a more accurate tests, since we mostly expect submodules to + come from servers. + +diff --git a/private/pkg/git/git_test.go b/private/pkg/git/git_test.go +index 7b77b6cd..7132054e 100644 +--- a/private/pkg/git/git_test.go ++++ b/private/pkg/git/git_test.go +@@ -17,6 +17,8 @@ package git + import ( + "context" + "errors" ++ "net/http/cgi" ++ "net/http/httptest" + "os" + "os/exec" + "path/filepath" +@@ -213,6 +215,21 @@ func createGitDirs( + runCommand(ctx, t, container, runner, "git", "-C", submodulePath, "add", "test.proto") + runCommand(ctx, t, container, runner, "git", "-C", submodulePath, "commit", "-m", "commit 0") + ++ gitExecPath, err := command.RunStdout(ctx, container, runner, "git", "--exec-path") ++ require.NoError(t, err) ++ t.Log(filepath.Join(string(gitExecPath), "git-http-backend")) ++ // https://git-scm.com/docs/git-http-backend#_description ++ f, err := os.Create(filepath.Join(submodulePath, ".git", "git-daemon-export-ok")) ++ require.NoError(t, err) ++ require.NoError(t, f.Close()) ++ server := httptest.NewServer(&cgi.Handler{ ++ Path: filepath.Join(strings.TrimSpace(string(gitExecPath)), "git-http-backend"), ++ Dir: submodulePath, ++ Env: []string{"GIT_PROJECT_ROOT=" + submodulePath}, ++ }) ++ t.Cleanup(server.Close) ++ submodulePath = server.URL ++ + originPath := filepath.Join(tmpDir, "origin") + require.NoError(t, os.MkdirAll(originPath, 0777)) + runCommand(ctx, t, container, runner, "git", "-C", originPath, "init") diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix index 5d5e4084085d..28e568338567 100644 --- a/pkgs/development/tools/buf/default.nix +++ b/pkgs/development/tools/buf/default.nix @@ -26,6 +26,9 @@ buildGoModule rec { ./skip_test_requiring_network.patch # Skip TestWorkspaceGit which requires .git and commits. ./skip_test_requiring_dotgit.patch + # Remove reliance of tests on file protocol which is disabled in git by default now + # Rebased upstream change https://github.com/bufbuild/buf/commit/bcaa77f8bbb8f6c198154c7c8d53596da4506dab + ./buf-tests-dont-use-file-transport.patch ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix index 97e7fb520346..8c64b86b43a1 100644 --- a/pkgs/development/tools/electron/generic.nix +++ b/pkgs/development/tools/electron/generic.nix @@ -31,7 +31,7 @@ let ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ] ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - knownVulnerabilities = optional (versionOlder version "15.0.0") "Electron version ${version} is EOL"; + knownVulnerabilities = optional (versionOlder version "18.0.0") "Electron version ${version} is EOL"; }; fetcher = vers: tag: hash: fetchurl { diff --git a/pkgs/development/tools/esbuild/netlify.nix b/pkgs/development/tools/esbuild/netlify.nix index efd5b917e9cd..6520c53dd1f4 100644 --- a/pkgs/development/tools/esbuild/netlify.nix +++ b/pkgs/development/tools/esbuild/netlify.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ lib +, buildGoModule +, fetchFromGitHub +, fetchpatch +, netlify-cli +}: buildGoModule rec { pname = "esbuild"; @@ -11,7 +16,25 @@ buildGoModule rec { sha256 = "0asjmqfzdrpfx2hd5hkac1swp52qknyqavsm59j8xr4c1ixhc6n9"; }; - vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg="; + vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + + patches = [ + # Both upstream patches update the same dependency "x/sys". It's required for darwin compatibility. + (fetchpatch { + url = "https://github.com/evanw/esbuild/commit/2567e099fcc6959e630f100b2c737ca80e88ba82.patch"; + hash = "sha256-KdX/Ru9TBX0mSDaS1ijxgzDI+2AoCvt6Wilhpca3VC0="; + }) + (fetchpatch { + url = "https://github.com/evanw/esbuild/commit/fd13718c6195afb9e63682476a774fa6d4483be0.patch"; + hash = "sha256-va/bXRBQf9qgE9LZXcKKAa0ZpMt/QG7BFClJ8bPWG1Y="; + }) + ]; + + passthru = { + tests = { + inherit netlify-cli; + }; + }; meta = with lib; { description = "A fork of esbuild maintained by netlify"; diff --git a/pkgs/development/tools/gllvm/default.nix b/pkgs/development/tools/gllvm/default.nix index 460f59dc3d0e..d2d7e523a94f 100644 --- a/pkgs/development/tools/gllvm/default.nix +++ b/pkgs/development/tools/gllvm/default.nix @@ -1,18 +1,23 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, llvmPackages, getconf }: -buildGoPackage rec { +buildGoModule rec { pname = "gllvm"; - version = "1.3.0"; - - goPackagePath = "github.com/SRI-CSL/gllvm"; + version = "1.3.1"; src = fetchFromGitHub { owner = "SRI-CSL"; repo = "gllvm"; rev = "v${version}"; - sha256 = "sha256-nu6PRFk+GoN1gT1RTbX6mTPZByAGf0bSsj2C5YriGp8="; + sha256 = "sha256-CoreqnMRuPuv+Ci1uyF3HJCJFwK2jwB79okynv6AHTA="; }; + vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; + + checkInputs = with llvmPackages; [ + clang + llvm + ] ++ lib.optionals stdenv.isDarwin [ getconf ]; + meta = with lib; { homepage = "https://github.com/SRI-CSL/gllvm"; description = "Whole Program LLVM: wllvm ported to go"; diff --git a/pkgs/development/tools/nil/default.nix b/pkgs/development/tools/nil/default.nix index 29a4a4c425bd..c943d4715e57 100644 --- a/pkgs/development/tools/nil/default.nix +++ b/pkgs/development/tools/nil/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "nil"; - version = "2022-10-03"; + version = "2022-11-07"; src = fetchFromGitHub { owner = "oxalica"; repo = pname; rev = version; - hash = "sha256-Oo0y/333YyeW9zeYQyiUUay7q7GK/Uu/FdEa6+5c4Pk="; + hash = "sha256-ioY9RvKx9DKnNTeMW8mAIEq23w7Y+lAOFWMkgUQ5fu4="; }; - cargoHash = "sha256-z7wjap7IL2OTd2wEUB6EbSbP71dZiqbKDmJ7oUjVi0U="; + cargoHash = "sha256-sL/bnLK3TifmVHy3LOsduETHh9SGz639vgEKkbHE0HQ="; CFG_DATE = version; CFG_REV = "release"; diff --git a/pkgs/development/tools/yamlpath/default.nix b/pkgs/development/tools/yamlpath/default.nix index 60cb97511bbf..55e86e42da4a 100644 --- a/pkgs/development/tools/yamlpath/default.nix +++ b/pkgs/development/tools/yamlpath/default.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication rec { pname = "yamlpath"; - version = "3.6.8"; + version = "3.6.9"; format = "setuptools"; src = fetchFromGitHub { owner = "wwkimball"; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-g4Pw0IWLY/9nG2eqbiknWCZjJNGbmV42KEviIENXYYA="; + sha256 = "sha256-0r1jlDWlYPIjUEudHbwt324rt0H8K3PUb7RILoxNNnw="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/servers/roundcube/plugins/contextmenu/default.nix b/pkgs/servers/roundcube/plugins/contextmenu/default.nix new file mode 100644 index 000000000000..90f130a83f94 --- /dev/null +++ b/pkgs/servers/roundcube/plugins/contextmenu/default.nix @@ -0,0 +1,11 @@ +{ roundcubePlugin, fetchzip }: + +roundcubePlugin rec { + pname = "contextmenu"; + version = "3.3.1"; + + src = fetchzip { + url = "https://github.com/johndoh/roundcube-contextmenu/archive/refs/tags/${version}.tar.gz"; + sha256 = "0aya3nv8jwfvd9rlvxfxnyfpdcpw858745xal362l3zzkbkhcrmb"; + }; +} diff --git a/pkgs/servers/roundcube/plugins/plugins.nix b/pkgs/servers/roundcube/plugins/plugins.nix index a9c73874b69e..72738eb4c407 100644 --- a/pkgs/servers/roundcube/plugins/plugins.nix +++ b/pkgs/servers/roundcube/plugins/plugins.nix @@ -6,5 +6,6 @@ roundcubePlugin = callPackage ./roundcube-plugin.nix { }; carddav = callPackage ./carddav { }; + contextmenu = callPackage ./contextmenu { }; persistent_login = callPackage ./persistent_login { }; } diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index cd9054208a6c..d8e01c339ce7 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -5,15 +5,15 @@ , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert, bash }: stdenv.mkDerivation rec { - version = "2022-11-06"; + version = "2022-11-07"; pname = "oh-my-zsh"; - rev = "4806f755694d160f20e3fb8ae0a1d009d56d966b"; + rev = "0145d744a9c4c11f00992f7f3ad9555bc8ac6177"; src = fetchFromGitHub { inherit rev; owner = "ohmyzsh"; repo = "ohmyzsh"; - sha256 = "zaaTcTka4L3Ec2bWgT0Yd8vSVG/n21G0PC/VxK2DfT8="; + sha256 = "F1h+yTYCVS3rz/ADahOQWyee3TKjkNfUc8O7Ug+2z48="; }; strictDeps = true; diff --git a/pkgs/tools/misc/edk2-uefi-shell/default.nix b/pkgs/tools/misc/edk2-uefi-shell/default.nix index 78e0ba28afb0..e3d73775021f 100644 --- a/pkgs/tools/misc/edk2-uefi-shell/default.nix +++ b/pkgs/tools/misc/edk2-uefi-shell/default.nix @@ -1,5 +1,7 @@ { lib +, stdenv , edk2 +, llvmPackages , util-linux , nasm , python3 @@ -8,9 +10,12 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { pname = "edk2-uefi-shell"; inherit (edk2) version; - nativeBuildInputs = [ util-linux nasm python3 ]; + nativeBuildInputs = [ util-linux nasm python3 ] + ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ]; strictDeps = true; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-fno-pic" "-Qunused-arguments" ]; + # We only have a .efi file in $out which shouldn't be patched or stripped dontPatchELF = true; dontStrip = true; diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix index f4624b87e80a..c690c0f62941 100644 --- a/pkgs/tools/security/grype/default.nix +++ b/pkgs/tools/security/grype/default.nix @@ -26,7 +26,8 @@ buildGoModule rec { find "$out" -name .git -print0 | xargs -0 rm -rf ''; }; - vendorSha256 = "sha256-K6MJp07JEit/6AHqLtnzXIaVCi7W6jfX41M96VwnS5A="; + proxyVendor = true; + vendorSha256 = "sha256-tRux9M9vFPj3TqhsF1zSV4V1YKnLVViuQjum9YFr5FU="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile index f1cd325ad15a..4a6dd4336fab 100644 --- a/pkgs/tools/security/metasploit/Gemfile +++ b/pkgs/tools/security/metasploit/Gemfile @@ -1,4 +1,4 @@ # frozen_string_literal: true source "https://rubygems.org" -gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.24" +gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.25" diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock index 301c3acbb90d..1817df3c473a 100644 --- a/pkgs/tools/security/metasploit/Gemfile.lock +++ b/pkgs/tools/security/metasploit/Gemfile.lock @@ -1,9 +1,9 @@ GIT remote: https://github.com/rapid7/metasploit-framework - revision: 1c805324f10bafa3a99fcd0315cc99ef83430b23 - ref: refs/tags/6.2.24 + revision: 2ab12336a4a6197c88ca4777c016311fa4fb7a3d + ref: refs/tags/6.2.25 specs: - metasploit-framework (6.2.24) + metasploit-framework (6.2.25) actionpack (~> 6.0) activerecord (~> 6.0) activesupport (~> 6.0) @@ -129,13 +129,13 @@ GEM arel-helpers (2.14.0) activerecord (>= 3.1.0, < 8) aws-eventstream (1.2.0) - aws-partitions (1.652.0) + aws-partitions (1.656.0) aws-sdk-core (3.166.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.5) jmespath (~> 1, >= 1.6.1) - aws-sdk-ec2 (1.343.0) + aws-sdk-ec2 (1.345.0) aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) aws-sdk-iam (1.73.0) @@ -152,7 +152,7 @@ GEM aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.18) bcrypt_pbkdf (1.1.0) - bindata (2.4.13) + bindata (2.4.14) bson (4.15.0) builder (3.2.4) concurrent-ruby (1.0.5) @@ -174,7 +174,7 @@ GEM eventmachine (>= 1.0.0.beta.4) erubi (1.11.0) eventmachine (1.2.7) - faker (2.23.0) + faker (3.0.0) i18n (>= 1.8.11, < 2) faraday (2.6.0) faraday-net_http (>= 2.0, < 3.1) @@ -237,7 +237,7 @@ GEM activesupport (~> 6.0) railties (~> 6.0) metasploit-payloads (2.0.97) - metasploit_data_models (5.0.5) + metasploit_data_models (5.0.6) activerecord (~> 6.0) activesupport (~> 6.0) arel-helpers @@ -245,7 +245,7 @@ GEM metasploit-model (>= 3.1) pg railties (~> 6.0) - recog (~> 2.0) + recog webrick metasploit_payloads-mettle (1.0.20) method_source (1.0.0) @@ -260,7 +260,7 @@ GEM net-ldap (0.17.1) net-protocol (0.1.3) timeout - net-smtp (0.3.2) + net-smtp (0.3.3) net-protocol net-ssh (7.0.1) network_interface (0.0.2) @@ -309,7 +309,7 @@ GEM thor (~> 1.0) rake (13.0.6) rb-readline (0.5.5) - recog (2.3.23) + recog (3.0.3) nokogiri redcarpet (3.5.1) reline (0.3.1) @@ -359,7 +359,7 @@ GEM rex-socket rex-text rex-struct2 (0.1.3) - rex-text (0.2.45) + rex-text (0.2.46) rex-zip (0.1.4) rex-text rexml (3.2.5) @@ -399,7 +399,7 @@ GEM ttfunk (1.7.0) tzinfo (2.0.5) concurrent-ruby (~> 1.0) - tzinfo-data (1.2022.5) + tzinfo-data (1.2022.6) tzinfo (>= 1.0.0) unf (0.1.4) unf_ext @@ -427,7 +427,7 @@ GEM activesupport (>= 4.2, < 8.0) xmlrpc (0.3.2) webrick - zeitwerk (2.6.1) + zeitwerk (2.6.5) PLATFORMS ruby @@ -436,4 +436,4 @@ DEPENDENCIES metasploit-framework! BUNDLED WITH - 2.3.23 + 2.3.24 diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix index 2ff0eb70831d..6b3578105cf7 100644 --- a/pkgs/tools/security/metasploit/default.nix +++ b/pkgs/tools/security/metasploit/default.nix @@ -15,13 +15,13 @@ let }; in stdenv.mkDerivation rec { pname = "metasploit-framework"; - version = "6.2.24"; + version = "6.2.25"; src = fetchFromGitHub { owner = "rapid7"; repo = "metasploit-framework"; rev = version; - sha256 = "sha256-BU6R4/wCgXjxLcWrIGo5MSRD71SV3kEHWil8HIeHK0k="; + sha256 = "sha256-lrooEMmSu7pgG3Nm35G385ipdc4WdlM696Dd5KdwVJ0="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix index 78630b3a15b3..0e3186c100be 100644 --- a/pkgs/tools/security/metasploit/gemset.nix +++ b/pkgs/tools/security/metasploit/gemset.nix @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jxv2az9l3q1nk4bif07yr7kc0wi9znihgdph6cf8z74lbbpl7kv"; + sha256 = "1l4n8wrjhm4n9hn8c1dm92vwqlcf5wryw4dqmmp5whm6k2k9slkh"; type = "gem"; }; - version = "1.652.0"; + version = "1.656.0"; }; aws-sdk-core = { groups = ["default"]; @@ -124,10 +124,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0crzfd4g0ym8gnn989cbv6xdwzkkp8fdqn4y7aqahyh4vixq0zki"; + sha256 = "1lqx1iadp1vdm3rgb79a219a7xkss409fadqnd5k7vl0cncxkg2s"; type = "gem"; }; - version = "1.343.0"; + version = "1.345.0"; }; aws-sdk-iam = { groups = ["default"]; @@ -194,10 +194,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gbwv05hlpqrz483zd8kbsgf4i62n1gzh7rnk6nl4ik4swkdmxwa"; + sha256 = "0mz9hz5clknznw8i5f3l2zb9103mlgh96djdhlvlfpf2chkr0s1z"; type = "gem"; }; - version = "2.4.13"; + version = "2.4.14"; }; bson = { groups = ["default"]; @@ -334,10 +334,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wslw5gh335zcahxmdd497xaa7h0d8l60c0jfv942mn47fxy8m47"; + sha256 = "0fcrgzjvqc9fxhnn7mzvzxd41m63cil7n19mjxnisx836p0k93hl"; type = "gem"; }; - version = "2.23.0"; + version = "3.0.0"; }; faraday = { groups = ["default"]; @@ -604,12 +604,12 @@ platforms = []; source = { fetchSubmodules = false; - rev = "1c805324f10bafa3a99fcd0315cc99ef83430b23"; - sha256 = "0j9bhy3iqz19b83l3plmakpl691i75m21ay55pqpi082zkir2kh5"; + rev = "2ab12336a4a6197c88ca4777c016311fa4fb7a3d"; + sha256 = "17alf2ky9pd0ywx56xhnrrssk67kny8xyrkk3dhbmfwjr482ifln"; type = "git"; url = "https://github.com/rapid7/metasploit-framework"; }; - version = "6.2.24"; + version = "6.2.25"; }; metasploit-model = { groups = ["default"]; @@ -636,10 +636,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h7w6kavbylbs55rkv12hg28wcchwqvzmagw9yrkqmncwdavl0dl"; + sha256 = "1dli79r6rh77mwh6xqjzvz5kld70j93myg0gd5q0jxjhimwcrgya"; type = "gem"; }; - version = "5.0.5"; + version = "5.0.6"; }; metasploit_payloads-mettle = { groups = ["default"]; @@ -756,10 +756,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d1y3nkgwypfsivip8vzphs3a01a40ds4ng8i314fpr9fdk48dad"; + sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x"; type = "gem"; }; - version = "0.3.2"; + version = "0.3.3"; }; net-ssh = { groups = ["default"]; @@ -1027,10 +1027,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0axq8hw515b8hbv1jm4lbrqnjm5bvjjnj7xbx9pvp17zlklvsfzb"; + sha256 = "1apkzqm07bccnfqf0fgpkcyshkqxb43fj7mkd78za4niimm3lk6w"; type = "gem"; }; - version = "2.3.23"; + version = "3.0.3"; }; redcarpet = { groups = ["default"]; @@ -1217,10 +1217,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x7ppwzvwz8fag1n2j231wxvb0vl4qbbsqw7v8y0hx8vrfs3k5km"; + sha256 = "0arm3yakxs541qbm52rxjjd9b3p70sqim7syd83m3vqh366gr67d"; type = "gem"; }; - version = "0.2.45"; + version = "0.2.46"; }; rex-zip = { groups = ["default"]; @@ -1438,10 +1438,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1w2qlazh0r23bz9qf2d4smvlv4a1yin8kprkqqxwkiwfs5v1n55s"; + sha256 = "0dpwi70x9jrpvc7p103ci0kppam79wqqrskq9n39r3jrp4b4j27w"; type = "gem"; }; - version = "1.2022.5"; + version = "1.2022.6"; }; unf = { groups = ["default"]; @@ -1568,9 +1568,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18hihq3hxs2ywxh3ixm366cawwy4k733mh680ldaa1vxjiraxj58"; + sha256 = "10ipi1b3rh2vgwskfzcrgagc6hw5ppsz7jamsimglvww8bvya3zy"; type = "gem"; }; - version = "2.6.1"; + version = "2.6.5"; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5727e673e8c..34a60663f017 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31894,6 +31894,8 @@ with pkgs; lightdm-mini-greeter = callPackage ../applications/display-managers/lightdm-mini-greeter { }; + lightdm-mobile-greeter = callPackage ../applications/display-managers/lightdm-mobile-greeter { }; + lightdm-tiny-greeter = callPackage ../applications/display-managers/lightdm-tiny-greeter { conf = config.lightdm-tiny-greeter.conf or ""; }; @@ -33399,6 +33401,8 @@ with pkgs; inherit (darwin) autoSignDarwinBinariesHook; }; + btcd = callPackage ../applications/blockchains/btcd { }; + cgminer = callPackage ../applications/blockchains/cgminer { }; chia = callPackage ../applications/blockchains/chia { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index e929a59cd70f..7276fab86d8a 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1314,6 +1314,8 @@ let ppx_tools_versioned = callPackage ../development/ocaml-modules/ppx_tools_versioned { }; + ppx_yojson_conv = callPackage ../development/ocaml-modules/ppx_yojson_conv {}; + ppx_yojson_conv_lib = callPackage ../development/ocaml-modules/ppx_yojson_conv_lib {}; prettym = callPackage ../development/ocaml-modules/prettym { }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index e5eb38c32e44..0b9f4237327b 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -58,6 +58,7 @@ lib.makeScope pkgs.newScope (self: with self; { # with how buildPecl does it and make the file easier to overview. mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // { pname = "php-${pname}"; + meta.mainProgram = args.meta.mainProgram or pname; }); # Function to build an extension which is shipped as part of the php diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6e5648173dd1..3810767e7d2a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1928,6 +1928,8 @@ self: super: with self; { construct = callPackage ../development/python-modules/construct { }; + construct-classes = callPackage ../development/python-modules/construct-classes { }; + consul = callPackage ../development/python-modules/consul { }; container-inspector = callPackage ../development/python-modules/container-inspector { };