diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2e223ede6939..4dfcd715f7ca 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,19 +22,19 @@ /.editorconfig @Mic92 @zowoq # Libraries -/lib @edolstra @nbp @infinisil -/lib/systems @alyssais @nbp @ericson2314 @matthewbauer -/lib/generators.nix @edolstra @nbp @Profpatsch -/lib/cli.nix @edolstra @nbp @Profpatsch -/lib/debug.nix @edolstra @nbp @Profpatsch -/lib/asserts.nix @edolstra @nbp @Profpatsch +/lib @edolstra @infinisil +/lib/systems @alyssais @ericson2314 @matthewbauer +/lib/generators.nix @edolstra @Profpatsch +/lib/cli.nix @edolstra @Profpatsch +/lib/debug.nix @edolstra @Profpatsch +/lib/asserts.nix @edolstra @Profpatsch /lib/path.* @infinisil @fricklerhandwerk # Nixpkgs Internals -/default.nix @nbp -/pkgs/top-level/default.nix @nbp @Ericson2314 -/pkgs/top-level/impure.nix @nbp @Ericson2314 -/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer +/default.nix @Ericson2314 +/pkgs/top-level/default.nix @Ericson2314 +/pkgs/top-level/impure.nix @Ericson2314 +/pkgs/top-level/stage.nix @Ericson2314 @matthewbauer /pkgs/top-level/splice.nix @Ericson2314 @matthewbauer /pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer /pkgs/stdenv/generic @Ericson2314 @matthewbauer @@ -67,22 +67,9 @@ /doc/using @fricklerhandwerk # NixOS Internals -/nixos/default.nix @nbp @infinisil -/nixos/lib/from-env.nix @nbp @infinisil -/nixos/lib/eval-config.nix @nbp @infinisil -/nixos/doc/manual/configuration/abstractions.xml @nbp -/nixos/doc/manual/configuration/config-file.xml @nbp -/nixos/doc/manual/configuration/config-syntax.xml @nbp -/nixos/doc/manual/configuration/modularity.xml @nbp -/nixos/doc/manual/development/assertions.xml @nbp -/nixos/doc/manual/development/meta-attributes.xml @nbp -/nixos/doc/manual/development/option-declarations.xml @nbp -/nixos/doc/manual/development/option-def.xml @nbp -/nixos/doc/manual/development/option-types.xml @nbp -/nixos/doc/manual/development/replace-modules.xml @nbp -/nixos/doc/manual/development/writing-modules.xml @nbp -/nixos/doc/manual/man-nixos-option.xml @nbp -/nixos/modules/installer/tools/nixos-option.sh @nbp +/nixos/default.nix @infinisil +/nixos/lib/from-env.nix @infinisil +/nixos/lib/eval-config.nix @infinisil /nixos/modules/system @dasJ /nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius /nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index c45fae5b1cd4..e0f18cca17a1 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -38,6 +38,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [Akkoma](https://akkoma.social), an ActivityPub microblogging server. Available as [services.akkoma](options.html#opt-services.akkoma.enable). +- [Pixelfed](https://pixelfed.org/), an Instagram-like ActivityPub server. Available as [services.pixelfed](options.html#opt-services.pixelfed.enable). + - [blesh](https://github.com/akinomyoga/ble.sh), a line editor written in pure bash. Available as [programs.bash.blesh](#opt-programs.bash.blesh.enable). - [webhook](https://github.com/adnanh/webhook), a lightweight webhook server. Available as [services.webhook](#opt-services.webhook.enable). @@ -383,6 +385,26 @@ In addition to numerous new and upgraded packages, this release has the followin - `nextcloud` has an option to enable SSE-C in S3. +- NixOS swap partitions with random encryption can now control the sector size, cipher, and key size used to setup the plain encryption device over the + underlying block device rather than allowing them to be determined by `cryptsetup(8)`. One can use these features like so: + + ```nix + { + swapDevices = [ + { + device = "/dev/disk/by-partlabel/swapspace"; + + randomEncryption = { + enable = true; + cipher = "aes-xts-plain64"; + keySize = 512; + sectorSize = 4096; + }; + } + ]; + } + ``` + - `services.peertube` now requires you to specify the secret file `secrets.secretsFile`. It can be generated by running `openssl rand -hex 32`. Before upgrading, read the release notes for PeerTube: - [Release v5.0.0](https://github.com/Chocobozzz/PeerTube/releases/tag/v5.0.0) diff --git a/nixos/modules/config/swap.nix b/nixos/modules/config/swap.nix index 2c9c4c9c1a2d..5c812a9226e8 100644 --- a/nixos/modules/config/swap.nix +++ b/nixos/modules/config/swap.nix @@ -38,6 +38,34 @@ let ''; }; + keySize = mkOption { + default = null; + example = "512"; + type = types.nullOr types.int; + description = lib.mdDoc '' + Set the encryption key size for the plain device. + + If not specified, the amount of data to read from `source` will be + determined by cryptsetup. + + See `cryptsetup-open(8)` for details. + ''; + }; + + sectorSize = mkOption { + default = null; + example = "4096"; + type = types.nullOr types.int; + description = lib.mdDoc '' + Set the sector size for the plain encrypted device type. + + If not specified, the default sector size is determined from the + underlying block device. + + See `cryptsetup-open(8)` for details. + ''; + }; + source = mkOption { default = "/dev/urandom"; example = "/dev/random"; @@ -157,11 +185,11 @@ let }; - config = rec { + config = { device = mkIf options.label.isDefined "/dev/disk/by-label/${config.label}"; deviceName = lib.replaceStrings ["\\"] [""] (escapeSystemdPath config.device); - realDevice = if config.randomEncryption.enable then "/dev/mapper/${deviceName}" else config.device; + realDevice = if config.randomEncryption.enable then "/dev/mapper/${config.deviceName}" else config.device; }; }; @@ -247,7 +275,12 @@ in ''} ${optionalString sw.randomEncryption.enable '' cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} \ - ${optionalString sw.randomEncryption.allowDiscards "--allow-discards"} ${sw.device} ${sw.deviceName} + '' + concatMapStrings (arg: arg + " \\\n") (flatten [ + (optional (sw.randomEncryption.sectorSize != null) "--sector-size=${toString sw.randomEncryption.sectorSize}") + (optional (sw.randomEncryption.keySize != null) "--key-size=${toString sw.randomEncryption.keySize}") + (optional sw.randomEncryption.allowDiscards "--allow-discards") + ]) + '' + ${sw.device} ${sw.deviceName} mkswap ${sw.realDevice} ''} ''; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9ca58fdc0875..63c7d0357346 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1178,6 +1178,7 @@ ./services/web-apps/gerrit.nix ./services/web-apps/gotify-server.nix ./services/web-apps/grocy.nix + ./services/web-apps/pixelfed.nix ./services/web-apps/healthchecks.nix ./services/web-apps/hedgedoc.nix ./services/web-apps/hledger-web.nix @@ -1373,6 +1374,7 @@ ./tasks/filesystems/cifs.nix ./tasks/filesystems/ecryptfs.nix ./tasks/filesystems/envfs.nix + ./tasks/filesystems/erofs.nix ./tasks/filesystems/exfat.nix ./tasks/filesystems/ext.nix ./tasks/filesystems/f2fs.nix diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 08a2967e9c7f..0da70112d48d 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -109,7 +109,7 @@ let }; environment = { BORG_REPO = cfg.repo; - inherit (cfg) extraArgs extraInitArgs extraCreateArgs extraPruneArgs; + inherit (cfg) extraArgs extraInitArgs extraCreateArgs extraPruneArgs extraCompactArgs; } // (mkPassEnv cfg) // cfg.environment; }; diff --git a/nixos/modules/services/misc/klipper.nix b/nixos/modules/services/misc/klipper.nix index 9f8539980aaa..ad881d4462a3 100644 --- a/nixos/modules/services/misc/klipper.nix +++ b/nixos/modules/services/misc/klipper.nix @@ -23,6 +23,16 @@ in description = lib.mdDoc "The Klipper package."; }; + logFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/lib/klipper/klipper.log"; + description = lib.mdDoc '' + Path of the file Klipper should log to. + If `null`, it logs to stdout, which is not recommended by upstream. + ''; + }; + inputTTY = mkOption { type = types.path; default = "/run/klipper/tty"; @@ -151,7 +161,9 @@ in systemd.services.klipper = let klippyArgs = "--input-tty=${cfg.inputTTY}" - + optionalString (cfg.apiSocket != null) " --api-server=${cfg.apiSocket}"; + + optionalString (cfg.apiSocket != null) " --api-server=${cfg.apiSocket}" + + optionalString (cfg.logFile != null) " --logfile=${cfg.logFile}" + ; printerConfigPath = if cfg.mutableConfig then cfg.mutableConfigFolder + "/printer.cfg" @@ -177,7 +189,7 @@ in ''; serviceConfig = { - ExecStart = "${cfg.package}/lib/klipper/klippy.py ${klippyArgs} ${printerConfigPath}"; + ExecStart = "${cfg.package}/bin/klippy ${klippyArgs} ${printerConfigPath}"; RuntimeDirectory = "klipper"; StateDirectory = "klipper"; SupplementaryGroups = [ "dialout" ]; diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index 8c932b0e6f78..4cda06ed4248 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -90,7 +90,7 @@ in }; - config = { + config = mkIf cfg.enable { services.cloud-init.settings = { system_info = mkDefault { distro = "nixos"; @@ -142,7 +142,6 @@ in "power-state-change" ]; }; - } // (mkIf cfg.enable { environment.etc."cloud/cloud.cfg" = if cfg.config == "" then @@ -225,5 +224,7 @@ in description = "Cloud-config availability"; requires = [ "cloud-init-local.service" "cloud-init.service" ]; }; - }); + }; + + meta.maintainers = [ maintainers.zimbatm ]; } diff --git a/nixos/modules/services/web-apps/nextcloud-notify_push.nix b/nixos/modules/services/web-apps/nextcloud-notify_push.nix index 52a772f12148..d6aeee081fc9 100644 --- a/nixos/modules/services/web-apps/nextcloud-notify_push.nix +++ b/nixos/modules/services/web-apps/nextcloud-notify_push.nix @@ -2,6 +2,7 @@ let cfg = config.services.nextcloud.notify_push; + cfgN = config.services.nextcloud; in { options.services.nextcloud.notify_push = { @@ -25,6 +26,16 @@ in default = "error"; description = lib.mdDoc "Log level"; }; + + bendDomainToLocalhost = lib.mkOption { + type = lib.types.bool; + default = false; + description = lib.mdDoc '' + Wether to add an entry to `/etc/hosts` for the configured nextcloud domain to point to `localhost` and add `localhost `to nextcloud's `trusted_proxies` config option. + + This is useful when nextcloud's domain is not a static IP address and when the reverse proxy cannot be bypassed because the backend connection is done via unix socket. + ''; + }; } // ( lib.genAttrs [ "dbtype" @@ -44,11 +55,14 @@ in config = lib.mkIf cfg.enable { systemd.services.nextcloud-notify_push = let - nextcloudUrl = "http${lib.optionalString config.services.nextcloud.https "s"}://${config.services.nextcloud.hostName}"; + nextcloudUrl = "http${lib.optionalString cfgN.https "s"}://${cfgN.hostName}"; in { description = "Push daemon for Nextcloud clients"; documentation = [ "https://github.com/nextcloud/notify_push" ]; - after = [ "phpfpm-nextcloud.service" ]; + after = [ + "phpfpm-nextcloud.service" + "redis-nextcloud.service" + ]; wantedBy = [ "multi-user.target" ]; environment = { NEXTCLOUD_URL = nextcloudUrl; @@ -57,7 +71,7 @@ in LOG = cfg.logLevel; }; postStart = '' - ${config.services.nextcloud.occ}/bin/nextcloud-occ notify_push:setup ${nextcloudUrl}/push + ${cfgN.occ}/bin/nextcloud-occ notify_push:setup ${nextcloudUrl}/push ''; script = let dbType = if cfg.dbtype == "pgsql" then "postgresql" else cfg.dbtype; @@ -76,7 +90,7 @@ in export DATABASE_PASSWORD="$(<"${cfg.dbpassFile}")" '' + '' export DATABASE_URL="${dbUrl}" - ${cfg.package}/bin/notify_push '${config.services.nextcloud.datadir}/config/config.php' + ${cfg.package}/bin/notify_push '${cfgN.datadir}/config/config.php' ''; serviceConfig = { User = "nextcloud"; @@ -87,10 +101,23 @@ in }; }; - services.nginx.virtualHosts.${config.services.nextcloud.hostName}.locations."^~ /push/" = { - proxyPass = "http://unix:${cfg.socketPath}"; - proxyWebsockets = true; - recommendedProxySettings = true; + networking.hosts = lib.mkIf cfg.bendDomainToLocalhost { + "127.0.0.1" = [ cfgN.hostName ]; + "::1" = [ cfgN.hostName ]; }; + + services = lib.mkMerge [ + { + nginx.virtualHosts.${cfgN.hostName}.locations."^~ /push/" = { + proxyPass = "http://unix:${cfg.socketPath}"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + } + + (lib.mkIf cfg.bendDomainToLocalhost { + nextcloud.extraOptions.trusted_proxies = [ "127.0.0.1" "::1" ]; + }) + ]; }; } diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 8edf270c8899..b7408c344aef 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -551,6 +551,19 @@ in { default = true; }; + configureRedis = lib.mkOption { + type = lib.types.bool; + default = config.services.nextcloud.notify_push.enable; + defaultText = literalExpression "config.services.nextcloud.notify_push.enable"; + description = lib.mdDoc '' + Wether to configure nextcloud to use the recommended redis settings for small instances. + + ::: {.note} + The `notify_push` app requires redis to be configured. If this option is turned off, this must be configured manually. + ::: + ''; + }; + caching = { apcu = mkOption { type = types.bool; @@ -1044,6 +1057,25 @@ in { }]; }; + services.redis.servers.nextcloud = lib.mkIf cfg.configureRedis { + enable = true; + user = "nextcloud"; + }; + + services.nextcloud = lib.mkIf cfg.configureRedis { + caching.redis = true; + extraOptions = { + memcache = { + distributed = ''\OC\Memcache\Redis''; + locking = ''\OC\Memcache\Redis''; + }; + redis = { + host = config.services.redis.servers.nextcloud.unixSocket; + port = 0; + }; + }; + }; + services.nginx.enable = mkDefault true; services.nginx.virtualHosts.${cfg.hostName} = { diff --git a/nixos/modules/services/web-apps/pixelfed.nix b/nixos/modules/services/web-apps/pixelfed.nix new file mode 100644 index 000000000000..817d0f9b60f5 --- /dev/null +++ b/nixos/modules/services/web-apps/pixelfed.nix @@ -0,0 +1,478 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.pixelfed; + user = cfg.user; + group = cfg.group; + pixelfed = cfg.package.override { inherit (cfg) dataDir runtimeDir; }; + # https://github.com/pixelfed/pixelfed/blob/dev/app/Console/Commands/Installer.php#L185-L190 + extraPrograms = with pkgs; [ jpegoptim optipng pngquant gifsicle ffmpeg ]; + # Ensure PHP extensions: https://github.com/pixelfed/pixelfed/blob/dev/app/Console/Commands/Installer.php#L135-L147 + phpPackage = cfg.phpPackage.buildEnv { + extensions = { enabled, all }: + enabled + ++ (with all; [ bcmath ctype curl mbstring gd intl zip redis imagick ]); + }; + configFile = + pkgs.writeText "pixelfed-env" (lib.generators.toKeyValue { } cfg.settings); + # Management script + pixelfed-manage = pkgs.writeShellScriptBin "pixelfed-manage" '' + cd ${pixelfed} + sudo=exec + if [[ "$USER" != ${user} ]]; then + sudo='exec /run/wrappers/bin/sudo -u ${user}' + fi + $sudo ${cfg.phpPackage}/bin/php artisan "$@" + ''; + dbSocket = { + "pgsql" = "/run/postgresql"; + "mysql" = "/run/mysqld/mysqld.sock"; + }.${cfg.database.type}; + dbService = { + "pgsql" = "postgresql.service"; + "mysql" = "mysql.service"; + }.${cfg.database.type}; + redisService = "redis-pixelfed.service"; +in { + options.services = { + pixelfed = { + enable = mkEnableOption (lib.mdDoc "a Pixelfed instance"); + package = mkPackageOptionMD pkgs "pixelfed" { }; + phpPackage = mkPackageOptionMD pkgs "php81" { }; + + user = mkOption { + type = types.str; + default = "pixelfed"; + description = lib.mdDoc '' + User account under which pixelfed runs. + + ::: {.note} + If left as the default value this user will automatically be created + on system activation, otherwise you are responsible for + ensuring the user exists before the pixelfed application starts. + ::: + ''; + }; + + group = mkOption { + type = types.str; + default = "pixelfed"; + description = lib.mdDoc '' + Group account under which pixelfed runs. + + ::: {.note} + If left as the default value this group will automatically be created + on system activation, otherwise you are responsible for + ensuring the group exists before the pixelfed application starts. + ::: + ''; + }; + + domain = mkOption { + type = types.str; + description = lib.mdDoc '' + FQDN for the Pixelfed instance. + ''; + }; + + secretFile = mkOption { + type = types.path; + description = lib.mdDoc '' + A secret file to be sourced for the .env settings. + Place `APP_KEY` and other settings that should not end up in the Nix store here. + ''; + }; + + settings = mkOption { + type = with types; (attrsOf (oneOf [ bool int str ])); + description = lib.mdDoc '' + .env settings for Pixelfed. + Secrets should use `secretFile` option instead. + ''; + }; + + nginx = mkOption { + type = types.nullOr (types.submodule + (import ../web-servers/nginx/vhost-options.nix { + inherit config lib; + })); + default = null; + example = lib.literalExpression '' + { + serverAliases = [ + "pics.''${config.networking.domain}" + ]; + enableACME = true; + forceHttps = true; + } + ''; + description = lib.mdDoc '' + With this option, you can customize an nginx virtual host which already has sensible defaults for Dolibarr. + Set to {} if you do not need any customization to the virtual host. + If enabled, then by default, the {option}`serverName` is + `''${domain}`, + If this is set to null (the default), no nginx virtualHost will be configured. + ''; + }; + + redis.createLocally = mkEnableOption + (lib.mdDoc "a local Redis database using UNIX socket authentication") + // { + default = true; + }; + + database = { + createLocally = mkEnableOption + (lib.mdDoc "a local database using UNIX socket authentication") // { + default = true; + }; + automaticMigrations = mkEnableOption + (lib.mdDoc "automatic migrations for database schema and data") // { + default = true; + }; + + type = mkOption { + type = types.enum [ "mysql" "pgsql" ]; + example = "pgsql"; + default = "mysql"; + description = lib.mdDoc '' + Database engine to use. + Note that PGSQL is not well supported: https://github.com/pixelfed/pixelfed/issues/2727 + ''; + }; + + name = mkOption { + type = types.str; + default = "pixelfed"; + description = lib.mdDoc "Database name."; + }; + }; + + maxUploadSize = mkOption { + type = types.str; + default = "8M"; + description = lib.mdDoc '' + Max upload size with units. + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ int str bool ]); + default = { }; + + description = lib.mdDoc '' + Options for Pixelfed's PHP-FPM pool. + ''; + }; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/pixelfed"; + description = lib.mdDoc '' + State directory of the `pixelfed` user which holds + the application's state and data. + ''; + }; + + runtimeDir = mkOption { + type = types.str; + default = "/run/pixelfed"; + description = lib.mdDoc '' + Ruutime directory of the `pixelfed` user which holds + the application's caches and temporary files. + ''; + }; + + schedulerInterval = mkOption { + type = types.str; + default = "1d"; + description = lib.mdDoc "How often the Pixelfed cron task should run"; + }; + }; + }; + + config = mkIf cfg.enable { + users.users.pixelfed = mkIf (cfg.user == "pixelfed") { + isSystemUser = true; + group = cfg.group; + extraGroups = lib.optional cfg.redis.createLocally "redis-pixelfed"; + }; + users.groups.pixelfed = mkIf (cfg.group == "pixelfed") { }; + + services.redis.servers.pixelfed.enable = lib.mkIf cfg.redis.createLocally true; + services.pixelfed.settings = mkMerge [ + ({ + APP_ENV = mkDefault "production"; + APP_DEBUG = mkDefault false; + # https://github.com/pixelfed/pixelfed/blob/dev/app/Console/Commands/Installer.php#L312-L316 + APP_URL = mkDefault "https://${cfg.domain}"; + ADMIN_DOMAIN = mkDefault cfg.domain; + APP_DOMAIN = mkDefault cfg.domain; + SESSION_DOMAIN = mkDefault cfg.domain; + SESSION_SECURE_COOKIE = mkDefault true; + OPEN_REGISTRATION = mkDefault false; + # ActivityPub: https://github.com/pixelfed/pixelfed/blob/dev/app/Console/Commands/Installer.php#L360-L364 + ACTIVITY_PUB = mkDefault true; + AP_REMOTE_FOLLOW = mkDefault true; + AP_INBOX = mkDefault true; + AP_OUTBOX = mkDefault true; + AP_SHAREDINBOX = mkDefault true; + # Image optimization: https://github.com/pixelfed/pixelfed/blob/dev/app/Console/Commands/Installer.php#L367-L404 + PF_OPTIMIZE_IMAGES = mkDefault true; + IMAGE_DRIVER = mkDefault "imagick"; + # Mobile APIs + OAUTH_ENABLED = mkDefault true; + # https://github.com/pixelfed/pixelfed/blob/dev/app/Console/Commands/Installer.php#L351 + EXP_EMC = mkDefault true; + # Defer to systemd + LOG_CHANNEL = mkDefault "stderr"; + # TODO: find out the correct syntax? + # TRUST_PROXIES = mkDefault "127.0.0.1/8, ::1/128"; + }) + (mkIf (cfg.redis.createLocally) { + BROADCAST_DRIVER = mkDefault "redis"; + CACHE_DRIVER = mkDefault "redis"; + QUEUE_DRIVER = mkDefault "redis"; + SESSION_DRIVER = mkDefault "redis"; + WEBSOCKET_REPLICATION_MODE = mkDefault "redis"; + # Suppport phpredis and predis configuration-style. + REDIS_SCHEME = "unix"; + REDIS_HOST = config.services.redis.servers.pixelfed.unixSocket; + REDIS_PATH = config.services.redis.servers.pixelfed.unixSocket; + }) + (mkIf (cfg.database.createLocally) { + DB_CONNECTION = cfg.database.type; + DB_SOCKET = dbSocket; + DB_DATABASE = cfg.database.name; + DB_USERNAME = user; + # No TCP/IP connection. + DB_PORT = 0; + }) + ]; + + environment.systemPackages = [ pixelfed-manage ]; + + services.mysql = + mkIf (cfg.database.createLocally && cfg.database.type == "mysql") { + enable = mkDefault true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [{ + name = user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + }]; + }; + + services.postgresql = + mkIf (cfg.database.createLocally && cfg.database.type == "pgsql") { + enable = mkDefault true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [{ + name = user; + ensurePermissions = { }; + }]; + }; + + # Make each individual option overridable with lib.mkDefault. + services.pixelfed.poolConfig = lib.mapAttrs' (n: v: lib.nameValuePair n (lib.mkDefault v)) { + "pm" = "dynamic"; + "php_admin_value[error_log]" = "stderr"; + "php_admin_flag[log_errors]" = true; + "catch_workers_output" = true; + "pm.max_children" = "32"; + "pm.start_servers" = "2"; + "pm.min_spare_servers" = "2"; + "pm.max_spare_servers" = "4"; + "pm.max_requests" = "500"; + }; + + services.phpfpm.pools.pixelfed = { + inherit user group; + inherit phpPackage; + + phpOptions = '' + post_max_size = ${toString cfg.maxUploadSize} + upload_max_filesize = ${toString cfg.maxUploadSize} + max_execution_time = 600; + ''; + + settings = { + "listen.owner" = user; + "listen.group" = group; + "listen.mode" = "0660"; + "catch_workers_output" = "yes"; + } // cfg.poolConfig; + }; + + systemd.services.phpfpm-pixelfed.after = [ "pixelfed-data-setup.service" ]; + systemd.services.phpfpm-pixelfed.requires = + [ "pixelfed-horizon.service" "pixelfed-data-setup.service" ] + ++ lib.optional cfg.database.createLocally dbService + ++ lib.optional cfg.redis.createLocally redisService; + # Ensure image optimizations programs are available. + systemd.services.phpfpm-pixelfed.path = extraPrograms; + + systemd.services.pixelfed-horizon = { + description = "Pixelfed task queueing via Laravel Horizon framework"; + after = [ "network.target" "pixelfed-data-setup.service" ]; + requires = [ "pixelfed-data-setup.service" ] + ++ (lib.optional cfg.database.createLocally dbService) + ++ (lib.optional cfg.redis.createLocally redisService); + wantedBy = [ "multi-user.target" ]; + # Ensure image optimizations programs are available. + path = extraPrograms; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pixelfed-manage}/bin/pixelfed-manage horizon"; + StateDirectory = + lib.mkIf (cfg.dataDir == "/var/lib/pixelfed") "pixelfed"; + User = user; + Group = group; + Restart = "on-failure"; + }; + }; + + systemd.timers.pixelfed-cron = { + description = "Pixelfed periodic tasks timer"; + after = [ "pixelfed-data-setup.service" ]; + requires = [ "phpfpm-pixelfed.service" ]; + wantedBy = [ "timers.target" ]; + + timerConfig = { + OnBootSec = cfg.schedulerInterval; + OnUnitActiveSec = cfg.schedulerInterval; + }; + }; + + systemd.services.pixelfed-cron = { + description = "Pixelfed periodic tasks"; + # Ensure image optimizations programs are available. + path = extraPrograms; + + serviceConfig = { + ExecStart = "${pixelfed-manage}/bin/pixelfed-manage schedule:run"; + User = user; + Group = group; + StateDirectory = cfg.dataDir; + }; + }; + + systemd.services.pixelfed-data-setup = { + description = + "Pixelfed setup: migrations, environment file update, cache reload, data changes"; + wantedBy = [ "multi-user.target" ]; + after = lib.optional cfg.database.createLocally dbService; + requires = lib.optional cfg.database.createLocally dbService; + path = with pkgs; [ bash pixelfed-manage rsync ] ++ extraPrograms; + + serviceConfig = { + Type = "oneshot"; + User = user; + Group = group; + StateDirectory = + lib.mkIf (cfg.dataDir == "/var/lib/pixelfed") "pixelfed"; + LoadCredential = "env-secrets:${cfg.secretFile}"; + UMask = "077"; + }; + + script = '' + # Concatenate non-secret .env and secret .env + rm -f ${cfg.dataDir}/.env + cp --no-preserve=all ${configFile} ${cfg.dataDir}/.env + echo -e '\n' >> ${cfg.dataDir}/.env + cat "$CREDENTIALS_DIRECTORY/env-secrets" >> ${cfg.dataDir}/.env + + # Link the static storage (package provided) to the runtime storage + # Necessary for cities.json and static images. + mkdir -p ${cfg.dataDir}/storage + rsync -av --no-perms ${pixelfed}/storage-static/ ${cfg.dataDir}/storage + chmod -R +w ${cfg.dataDir}/storage + + # Link the app.php in the runtime folder. + # We cannot link the cache folder only because bootstrap folder needs to be writeable. + ln -sf ${pixelfed}/bootstrap-static/app.php ${cfg.runtimeDir}/app.php + + # https://laravel.com/docs/10.x/filesystem#the-public-disk + # Creating the public/storage → storage/app/public link + # is unnecessary as it's part of the installPhase of pixelfed. + + # Install Horizon + # FIXME: require write access to public/ — should be done as part of install — pixelfed-manage horizon:publish + + # Before running any PHP program, cleanup the bootstrap. + # It's necessary if you upgrade the application otherwise you might + # try to import non-existent modules. + rm -rf ${cfg.runtimeDir}/bootstrap/* + + # Perform the first migration. + [[ ! -f ${cfg.dataDir}/.initial-migration ]] && pixelfed-manage migrate --force && touch ${cfg.dataDir}/.initial-migration + + ${lib.optionalString cfg.database.automaticMigrations '' + # Force migrate the database. + pixelfed-manage migrate --force + ''} + + # Import location data + pixelfed-manage import:cities + + ${lib.optionalString cfg.settings.ACTIVITY_PUB '' + # ActivityPub federation bookkeeping + [[ ! -f ${cfg.dataDir}/.instance-actor-created ]] && pixelfed-manage instance:actor && touch ${cfg.dataDir}/.instance-actor-created + ''} + + ${lib.optionalString cfg.settings.OAUTH_ENABLED '' + # Generate Passport encryption keys + [[ ! -f ${cfg.dataDir}/.passport-keys-generated ]] && pixelfed-manage passport:keys && touch ${cfg.dataDir}/.passport-keys-generated + ''} + + pixelfed-manage route:cache + pixelfed-manage view:cache + pixelfed-manage config:cache + ''; + }; + + systemd.tmpfiles.rules = [ + # Cache must live across multiple systemd units runtimes. + "d ${cfg.runtimeDir}/ 0700 ${user} ${group} - -" + "d ${cfg.runtimeDir}/cache 0700 ${user} ${group} - -" + ]; + + # Enable NGINX to access our phpfpm-socket. + users.users."${config.services.nginx.group}".extraGroups = [ cfg.group ]; + services.nginx = mkIf (cfg.nginx != null) { + enable = true; + virtualHosts."${cfg.domain}" = mkMerge [ + cfg.nginx + { + root = lib.mkForce "${pixelfed}/public/"; + locations."/".tryFiles = "$uri $uri/ /index.php?query_string"; + locations."/favicon.ico".extraConfig = '' + access_log off; log_not_found off; + ''; + locations."/robots.txt".extraConfig = '' + access_log off; log_not_found off; + ''; + locations."~ \\.php$".extraConfig = '' + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass unix:${config.services.phpfpm.pools.pixelfed.socket}; + fastcgi_index index.php; + ''; + locations."~ /\\.(?!well-known).*".extraConfig = '' + deny all; + ''; + extraConfig = '' + add_header X-Frame-Options "SAMEORIGIN"; + add_header X-XSS-Protection "1; mode=block"; + add_header X-Content-Type-Options "nosniff"; + index index.html index.htm index.php; + error_page 404 /index.php; + client_max_body_size ${toString cfg.maxUploadSize}; + ''; + } + ]; + }; + }; +} diff --git a/nixos/modules/services/web-apps/wiki-js.nix b/nixos/modules/services/web-apps/wiki-js.nix index 22682002532d..631740f51ce3 100644 --- a/nixos/modules/services/web-apps/wiki-js.nix +++ b/nixos/modules/services/web-apps/wiki-js.nix @@ -133,7 +133,7 @@ in { WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}"; DynamicUser = true; PrivateTmp = true; - ExecStart = "${pkgs.nodejs_16}/bin/node ${pkgs.wiki-js}/server"; + ExecStart = "${pkgs.nodejs_18}/bin/node ${pkgs.wiki-js}/server"; }; }; }; diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 835788dbbc97..387c27d86ebb 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -293,6 +293,9 @@ checkFS() { # Skip fsck for inherently readonly filesystems. if [ "$fsType" = squashfs ]; then return 0; fi + # Skip fsck.erofs because it is still experimental. + if [ "$fsType" = erofs ]; then return 0; fi + # If we couldn't figure out the FS type, then skip fsck. if [ "$fsType" = auto ]; then echo 'cannot check filesystem with type "auto"!' diff --git a/nixos/modules/tasks/filesystems/erofs.nix b/nixos/modules/tasks/filesystems/erofs.nix new file mode 100644 index 000000000000..a3d657669350 --- /dev/null +++ b/nixos/modules/tasks/filesystems/erofs.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +let + + inInitrd = lib.any (fs: fs == "erofs") config.boot.initrd.supportedFilesystems; + inSystem = lib.any (fs: fs == "erofs") config.boot.supportedFilesystems; + +in + +{ + config = lib.mkIf (inInitrd || inSystem) { + + system.fsPackages = [ pkgs.erofs-utils ]; + + boot.initrd.availableKernelModules = lib.mkIf inInitrd [ "erofs" ]; + + # fsck.erofs is currently experimental and should not be run as a + # privileged user. Thus, it is not included in the initrd. + + }; +} diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index d54e2ed3f3ae..c3949564d4bd 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -515,6 +515,10 @@ in in [ extraConfig ] ++ (map (x: x.value) defs); prefix = [ "containers" name ]; inherit (config) specialArgs; + + # The system is inherited from the host above. + # Set it to null, to remove the "legacy" entrypoint's non-hermetic default. + system = null; }).config; }; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 9f35dca5cc4f..20b051c1880e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -432,6 +432,7 @@ in { man = handleTest ./man.nix {}; mariadb-galera = handleTest ./mysql/mariadb-galera.nix {}; mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; }); + pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; }); mate = handleTest ./mate.nix {}; matomo = handleTest ./matomo.nix {}; matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; @@ -688,6 +689,7 @@ in { sudo = handleTest ./sudo.nix {}; swap-file-btrfs = handleTest ./swap-file-btrfs.nix {}; swap-partition = handleTest ./swap-partition.nix {}; + swap-random-encryption = handleTest ./swap-random-encryption.nix {}; sway = handleTest ./sway.nix {}; switchTest = handleTest ./switch-test.nix {}; sympa = handleTest ./sympa.nix {}; diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 3007efaf8871..22b664a90e17 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -25,6 +25,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { system.stateVersion = "18.03"; }; }; + + # The system is inherited from the host above. + # Set it to null, to remove the "legacy" entrypoint's non-hermetic default. + system = null; }; in with pkgs; [ stdenv stdenvNoCC emptyContainer.config.containers.foo.path diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix index 1e319a8eec81..026da9563bc0 100644 --- a/nixos/tests/nfs/simple.nix +++ b/nixos/tests/nfs/simple.nix @@ -89,6 +89,7 @@ in t1 = time.monotonic() client1.shutdown() duration = time.monotonic() - t1 - assert duration < 30, f"shutdown took too long ({duration} seconds)" + # FIXME: regressed in kernel 6.1.28, temporarily disabled while investigating + # assert duration < 30, f"shutdown took too long ({duration} seconds)" ''; }) diff --git a/nixos/tests/non-default-filesystems.nix b/nixos/tests/non-default-filesystems.nix index d4e8bfbc65e9..03cc5bf709a4 100644 --- a/nixos/tests/non-default-filesystems.nix +++ b/nixos/tests/non-default-filesystems.nix @@ -1,55 +1,106 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +{ system ? builtins.currentSystem +, config ? { } +, pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing-python.nix { inherit system pkgs; }; +with pkgs.lib; { - name = "non-default-filesystems"; - - nodes.machine = - { config, pkgs, lib, ... }: - let - disk = config.virtualisation.rootDevice; - in + btrfs = makeTest { - virtualisation.rootDevice = "/dev/vda"; - virtualisation.useDefaultFilesystems = false; + name = "non-default-filesystems-btrfs"; - boot.initrd.availableKernelModules = [ "btrfs" ]; - boot.supportedFilesystems = [ "btrfs" ]; + nodes.machine = + { config, pkgs, lib, ... }: + let + disk = config.virtualisation.rootDevice; + in + { + virtualisation.rootDevice = "/dev/vda"; + virtualisation.useDefaultFilesystems = false; - boot.initrd.postDeviceCommands = '' - FSTYPE=$(blkid -o value -s TYPE ${disk} || true) - if test -z "$FSTYPE"; then - modprobe btrfs - ${pkgs.btrfs-progs}/bin/mkfs.btrfs ${disk} + boot.initrd.availableKernelModules = [ "btrfs" ]; + boot.supportedFilesystems = [ "btrfs" ]; - mkdir /nixos - mount -t btrfs ${disk} /nixos + boot.initrd.postDeviceCommands = '' + FSTYPE=$(blkid -o value -s TYPE ${disk} || true) + if test -z "$FSTYPE"; then + modprobe btrfs + ${pkgs.btrfs-progs}/bin/mkfs.btrfs ${disk} - ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/root - ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/home + mkdir /nixos + mount -t btrfs ${disk} /nixos - umount /nixos - fi + ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/root + ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/home + + umount /nixos + fi + ''; + + virtualisation.fileSystems = { + "/" = { + device = disk; + fsType = "btrfs"; + options = [ "subvol=/root" ]; + }; + + "/home" = { + device = disk; + fsType = "btrfs"; + options = [ "subvol=/home" ]; + }; + }; + }; + + testScript = '' + machine.wait_for_unit("multi-user.target") + + with subtest("BTRFS filesystems are mounted correctly"): + machine.succeed("grep -E '/dev/vda / btrfs rw,relatime,space_cache=v2,subvolid=[0-9]+,subvol=/root 0 0' /proc/mounts") + machine.succeed("grep -E '/dev/vda /home btrfs rw,relatime,space_cache=v2,subvolid=[0-9]+,subvol=/home 0 0' /proc/mounts") ''; - - virtualisation.fileSystems = { - "/" = { - device = disk; - fsType = "btrfs"; - options = [ "subvol=/root" ]; - }; - - "/home" = { - device = disk; - fsType = "btrfs"; - options = [ "subvol=/home" ]; - }; - }; }; - testScript = '' - machine.wait_for_unit("multi-user.target") + erofs = + let + fsImage = "/tmp/non-default-filesystem.img"; + in + makeTest { + name = "non-default-filesystems-erofs"; - with subtest("BTRFS filesystems are mounted correctly"): - machine.succeed("grep -E '/dev/vda / btrfs rw,relatime,space_cache=v2,subvolid=[0-9]+,subvol=/root 0 0' /proc/mounts") - machine.succeed("grep -E '/dev/vda /home btrfs rw,relatime,space_cache=v2,subvolid=[0-9]+,subvol=/home 0 0' /proc/mounts") - ''; -}) + nodes.machine = _: { + virtualisation.qemu.drives = [{ + name = "non-default-filesystem"; + file = fsImage; + }]; + + virtualisation.fileSystems."/non-default" = { + device = "/dev/vdb"; + fsType = "erofs"; + neededForBoot = true; + }; + }; + + testScript = '' + import subprocess + import tempfile + + with tempfile.TemporaryDirectory() as tmp_dir: + with open(f"{tmp_dir}/filesystem", "w") as f: + f.write("erofs") + + subprocess.run([ + "${pkgs.erofs-utils}/bin/mkfs.erofs", + "${fsImage}", + tmp_dir, + ]) + + machine.start() + machine.wait_for_unit("default.target") + + file_contents = machine.succeed("cat /non-default/filesystem") + assert "erofs" in file_contents + ''; + }; +} diff --git a/nixos/tests/nzbget.nix b/nixos/tests/nzbget.nix index fe5a4bc3df91..e45031d5629c 100644 --- a/nixos/tests/nzbget.nix +++ b/nixos/tests/nzbget.nix @@ -35,7 +35,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V" ) - config = server.succeed("${nodes.server.config.systemd.services.nzbget.serviceConfig.ExecStart} --printconfig") + config = server.succeed("${nodes.server.systemd.services.nzbget.serviceConfig.ExecStart} --printconfig") # confirm the test settings are applied assert 'MainDir = "/var/lib/nzbget"' in config diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index 82d50da63818..adc2b467be51 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1396,7 +1396,10 @@ let ''; }; - wireguard = let snakeoil = import ./wireguard/snakeoil-keys.nix; in + wireguard = let + snakeoil = import ./wireguard/snakeoil-keys.nix; + publicKeyWithoutNewlines = replaceStrings [ "\n" ] [ "" ] snakeoil.peer1.publicKey; + in { exporterConfig.enable = true; metricProvider = { @@ -1418,7 +1421,7 @@ let wait_for_unit("prometheus-wireguard-exporter.service") wait_for_open_port(9586) wait_until_succeeds( - "curl -sSf http://localhost:9586/metrics | grep '${snakeoil.peer1.publicKey}'" + "curl -sSf http://localhost:9586/metrics | grep '${publicKeyWithoutNewlines}'" ) ''; }; diff --git a/nixos/tests/swap-random-encryption.nix b/nixos/tests/swap-random-encryption.nix new file mode 100644 index 000000000000..9e919db65dde --- /dev/null +++ b/nixos/tests/swap-random-encryption.nix @@ -0,0 +1,80 @@ +import ./make-test-python.nix ({ lib, pkgs, ... }: +{ + name = "swap-random-encryption"; + + nodes.machine = + { config, pkgs, lib, ... }: + { + environment.systemPackages = [ pkgs.cryptsetup ]; + + virtualisation.useDefaultFilesystems = false; + + virtualisation.rootDevice = "/dev/vda1"; + + boot.initrd.postDeviceCommands = '' + if ! test -b /dev/vda1; then + ${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos + ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB + ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100% + sync + fi + + FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true) + if test -z "$FSTYPE"; then + ${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1 + fi + ''; + + virtualisation.fileSystems = { + "/" = { + device = "/dev/disk/by-label/root"; + fsType = "ext4"; + }; + }; + + swapDevices = [ + { + device = "/dev/vda2"; + + randomEncryption = { + enable = true; + cipher = "aes-xts-plain64"; + keySize = 512; + sectorSize = 4096; + }; + } + ]; + }; + + testScript = '' + machine.wait_for_unit("multi-user.target") + + with subtest("Swap is active"): + # Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions. + machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'") + + with subtest("Swap device has 4k sector size"): + import json + result = json.loads(machine.succeed("lsblk -Jo PHY-SEC,LOG-SEC /dev/mapper/dev-vda2")) + block_devices = result["blockdevices"] + if len(block_devices) != 1: + raise Exception ("lsblk output did not report exactly one block device") + + swapDevice = block_devices[0]; + if not (swapDevice["phy-sec"] == 4096 and swapDevice["log-sec"] == 4096): + raise Exception ("swap device does not have the sector size specified in the configuration") + + with subtest("Swap encrypt has assigned cipher and keysize"): + import re + + results = machine.succeed("cryptsetup status dev-vda2").splitlines() + + cipher_pattern = re.compile(r"\s*cipher:\s+aes-xts-plain64\s*") + if not any(cipher_pattern.fullmatch(line) for line in results): + raise Exception ("swap device encryption does not use the cipher specified in the configuration") + + key_size_pattern = re.compile(r"\s*keysize:\s+512\s+bits\s*") + if not any(key_size_pattern.fullmatch(line) for line in results): + raise Exception ("swap device encryption does not use the key size specified in the configuration") + ''; +}) diff --git a/nixos/tests/web-apps/pixelfed/default.nix b/nixos/tests/web-apps/pixelfed/default.nix new file mode 100644 index 000000000000..4464ebe43486 --- /dev/null +++ b/nixos/tests/web-apps/pixelfed/default.nix @@ -0,0 +1,8 @@ +{ system ? builtins.currentSystem, handleTestOn }: +let + supportedSystems = [ "x86_64-linux" "i686-linux" ]; + +in +{ + standard = handleTestOn supportedSystems ./standard.nix { inherit system; }; +} diff --git a/nixos/tests/web-apps/pixelfed/standard.nix b/nixos/tests/web-apps/pixelfed/standard.nix new file mode 100644 index 000000000000..9260e27af960 --- /dev/null +++ b/nixos/tests/web-apps/pixelfed/standard.nix @@ -0,0 +1,38 @@ +import ../../make-test-python.nix ({pkgs, ...}: +{ + name = "pixelfed-standard"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes = { + server = { pkgs, ... }: { + services.pixelfed = { + enable = true; + domain = "pixelfed.local"; + # Configure NGINX. + nginx = {}; + secretFile = (pkgs.writeText "secrets.env" '' + # Snakeoil secret, can be any random 32-chars secret via CSPRNG. + APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA + ''); + settings."FORCE_HTTPS_URLS" = false; + }; + }; + }; + + testScript = '' + # Wait for Pixelfed PHP pool + server.wait_for_unit("phpfpm-pixelfed.service") + # Wait for NGINX + server.wait_for_unit("nginx.service") + # Wait for HTTP port + server.wait_for_open_port(80) + # Access the homepage. + server.succeed("curl -H 'Host: pixelfed.local' http://localhost") + # Create an account + server.succeed("pixelfed-manage user:create --name=test --username=test --email=test@test.com --password=test") + # Create a OAuth token. + # TODO: figure out how to use it to send a image/toot + # server.succeed("pixelfed-manage passport:client --personal") + # server.succeed("curl -H 'Host: pixefed.local' -H 'Accept: application/json' -H 'Authorization: Bearer secret' -F'status'='test' http://localhost/api/v1/statuses") + ''; +}) diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix index c5dcec05a9d1..86cb565fa820 100644 --- a/pkgs/applications/audio/giada/default.nix +++ b/pkgs/applications/audio/giada/default.nix @@ -1,35 +1,49 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , cmake , pkg-config , fltk +, fmt , rtmidi , libsamplerate +, libmpg123 , libsndfile , jack2 , alsa-lib , libpulseaudio , libXpm +, libXrandr , flac , libogg , libvorbis , libopus +, nlohmann_json }: stdenv.mkDerivation rec { pname = "giada"; - version = "unstable-2021-09-24"; + version = "0.24.0"; src = fetchFromGitHub { owner = "monocasual"; repo = pname; - # Using master with https://github.com/monocasual/giada/pull/509 till a new release is done. - rev = "f117a8b8eef08d904ef1ab22c45f0e1fad6b8a56"; - sha256 = "01hb981lrsyk870zs8xph5fm0z7bbffpkxgw04hq487r804mkx9j"; + rev = "v${version}"; + sha256 = "sha256-pKzc+RRW3o5vYaiGqW9/VjYZZJvr6cg1kdjP9qRkHwM="; fetchSubmodules = true; }; + patches = [ + # Remove when updating to the next release, this PR is already merged + # Fix fmt type error: https://github.com/monocasual/giada/pull/635 + (fetchpatch { + name = "fix-fmt-type-error.patch"; + url = "https://github.com/monocasual/giada/commit/032af4334f6d2bb7e77a49e7aef5b4c4d696df9a.patch"; + hash = "sha256-QuxETvBWzA1v2ifyNzlNMGfQ6XhYQF03sGZA9rBx1xU="; + }) + ]; + env.NIX_CFLAGS_COMPILE = toString [ "-w" "-Wno-error" @@ -48,8 +62,11 @@ stdenv.mkDerivation rec { buildInputs = [ rtmidi fltk + fmt + libmpg123 libsndfile libsamplerate + nlohmann_json alsa-lib libXpm libpulseaudio @@ -58,20 +75,9 @@ stdenv.mkDerivation rec { libogg libvorbis libopus + libXrandr ]; - postPatch = '' - local fixup_list=( - src/core/kernelMidi.cpp - src/gui/elems/config/tabMidi.cpp - src/utils/ver.cpp - ) - for f in "''${fixup_list[@]}"; do - substituteInPlace "$f" \ - --replace "" "<${rtmidi.src}/RtMidi.h>" - done - ''; - meta = with lib; { description = "A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians"; homepage = "https://giadamusic.com/"; diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix index f3e81e10ff6b..ca097b1de88c 100644 --- a/pkgs/applications/blockchains/btcpayserver/default.nix +++ b/pkgs/applications/blockchains/btcpayserver/default.nix @@ -6,13 +6,13 @@ buildDotnetModule rec { pname = "btcpayserver"; - version = "1.9.2"; + version = "1.9.3"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-N/6/a9K8ROSJ+rsip85Av1jmggI12Clr61+9Dh56Lls="; + sha256 = "sha256-XcpPdlDpY/RXOK8ykZ/UUVOok2Pz3vObdp4zhy9tt7w="; }; projectFile = "BTCPayServer/BTCPayServer.csproj"; diff --git a/pkgs/applications/blockchains/clightning/default.nix b/pkgs/applications/blockchains/clightning/default.nix index 56f8c039c6ec..303aedd83d5e 100644 --- a/pkgs/applications/blockchains/clightning/default.nix +++ b/pkgs/applications/blockchains/clightning/default.nix @@ -22,11 +22,11 @@ let in stdenv.mkDerivation rec { pname = "clightning"; - version = "23.02.2"; + version = "23.05"; src = fetchurl { url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip"; - sha256 = "sha256-fHGBwf79Q0DSLs/b+Lhg9kdIQzDn5rJYEB9yLkLbxlE="; + sha256 = "sha256-6QbgK16godxnpIBHpykbblS10JAFZvxSeEpwnmdTrAo="; }; # when building on darwin we need dawin.cctools to provide the correct libtool diff --git a/pkgs/applications/blockchains/framesh/default.nix b/pkgs/applications/blockchains/framesh/default.nix index bb6068ca55dc..b22c97d143c6 100644 --- a/pkgs/applications/blockchains/framesh/default.nix +++ b/pkgs/applications/blockchains/framesh/default.nix @@ -2,10 +2,10 @@ let pname = "framesh"; - version = "0.6.2"; + version = "0.6.6"; src = fetchurl { url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage"; - sha256 = "sha256-nN5+6SwfHcwhePlbsXjT3qNd/d6Xqnd85NVC8vw3ehk="; + sha256 = "sha256-5LLnITQP9m2lMdnB/rrK/M+p3AA3rYZ9GOrDdCFA/r4="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix index 61bfb75fb93f..b4b0f36c725f 100644 --- a/pkgs/applications/editors/cudatext/default.nix +++ b/pkgs/applications/editors/cudatext/default.nix @@ -38,13 +38,13 @@ let in stdenv.mkDerivation rec { pname = "cudatext"; - version = "1.193.3"; + version = "1.194.0"; src = fetchFromGitHub { owner = "Alexey-T"; repo = "CudaText"; rev = version; - hash = "sha256-zkSdMXIfUT+QfRi7CT3JlVLAvtLGbOGAaQkYNMAIZeI="; + hash = "sha256-+zdboXU4Tg6RLRVwjS2FQGLfYZu/A09eoZUrYX4SK0o="; }; postPatch = '' diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json index ed409c971b46..a1327f8fc772 100644 --- a/pkgs/applications/editors/cudatext/deps.json +++ b/pkgs/applications/editors/cudatext/deps.json @@ -16,13 +16,13 @@ }, "ATSynEdit": { "owner": "Alexey-T", - "rev": "2023.05.07", - "hash": "sha256-ZdN+dUmM8DQ7nz0LqcCQt8ZoJH1wrhYRa+h0xj5F6PY=" + "rev": "2023.05.13", + "hash": "sha256-GP7qzCfL8KNXF/CvoeJshA3YbNE5+wuZ2VYn8hLEPlo=" }, "ATSynEdit_Cmp": { "owner": "Alexey-T", - "rev": "2023.05.02", - "hash": "sha256-bPib2pJqxb+m9eMGerClj1bvAoHcGH2OTmmKon6UQfo=" + "rev": "2023.05.12", + "hash": "sha256-/BAWc5RR7hZCNjyuLqiq9OdJxvRqliMWiC7o0tCtELY=" }, "EControl": { "owner": "Alexey-T", @@ -31,8 +31,8 @@ }, "ATSynEdit_Ex": { "owner": "Alexey-T", - "rev": "2023.05.02", - "hash": "sha256-EKJnkwQ7QTUTVaXOA1pi5YUHxaA/hu4qpgpHHaON61k=" + "rev": "2023.05.12", + "hash": "sha256-Y+F/pdPzmXqqCqB0TCOboA4md/2QMHhzlVxR5NJF3+0=" }, "Python-for-Lazarus": { "owner": "Alexey-T", diff --git a/pkgs/applications/emulators/craftos-pc/default.nix b/pkgs/applications/emulators/craftos-pc/default.nix index 202d49c19add..c79095a93fa2 100644 --- a/pkgs/applications/emulators/craftos-pc/default.nix +++ b/pkgs/applications/emulators/craftos-pc/default.nix @@ -14,18 +14,18 @@ }: let - version = "2.7.3"; + version = "2.7.4"; craftos2-lua = fetchFromGitHub { owner = "MCJack123"; repo = "craftos2-lua"; rev = "v${version}"; - sha256 = "sha256-lMqYfSA3sI7+glRE+eUf03uLfbf7lipmoqgt74FUaJQ="; + sha256 = "sha256-JMBsSoO/yTLw7K1Ri3BzKr5bz5UirXiPr/Q0YoMumhY="; }; craftos2-rom = fetchFromGitHub { owner = "McJack123"; repo = "craftos2-rom"; rev = "v${version}"; - sha256 = "sha256-t76Yltx7vHNoAAFvNpYLKuwFja4On6M20upmG6w3C1M="; + sha256 = "sha256-BXTsBMlsymQHABWQCiv22Ia5jm2xv1jNy7Unwymtyp0="; }; in @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { owner = "MCJack123"; repo = "craftos2"; rev = "v${version}"; - sha256 = "sha256-a7oMLfjZUkEWPjxDDywlSW4qLhcQrCXPPY2BEOgiafU="; + sha256 = "sha256-Vb6mvim42Kvn7A3Qsp4gvTRBGQ5OJ9pVij96LZwWyuQ="; }; buildInputs = [ patchelf poco openssl SDL2 SDL2_mixer ncurses libpng pngpp libwebp ]; diff --git a/pkgs/applications/file-managers/nnn/default.nix b/pkgs/applications/file-managers/nnn/default.nix index 27fbcfa4f0b7..4c3fab6484c9 100644 --- a/pkgs/applications/file-managers/nnn/default.nix +++ b/pkgs/applications/file-managers/nnn/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , installShellFiles , makeWrapper , pkg-config @@ -9,15 +10,17 @@ , readline , which , musl-fts -# options + # options , conf ? null , withIcons ? false , withNerdIcons ? false +, withEmojis ? false }: # Mutually exclusive options -assert withIcons -> withNerdIcons == false; -assert withNerdIcons -> withIcons == false; +assert withIcons -> (withNerdIcons == false && withEmojis == false); +assert withNerdIcons -> (withIcons == false && withEmojis == false); +assert withEmojis -> (withIcons == false && withNerdIcons == false); stdenv.mkDerivation (finalAttrs: { pname = "nnn"; @@ -30,6 +33,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-QbKW2wjhUNej3zoX18LdeUHqjNLYhEKyvPH2MXzp/iQ="; }; + patches = [ + # FIXME: remove for next release + (fetchpatch { + url = "https://github.com/jarun/nnn/commit/20e944f5e597239ed491c213a634eef3d5be735e.patch"; + hash = "sha256-RxG3AU8i3lRPCjRVZPnej4m1No/SKtsHwbghj9JQ7RQ="; + }) + ]; + configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf); preBuild = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} src/nnn.h"; @@ -41,10 +52,13 @@ stdenv.mkDerivation (finalAttrs: { makeFlags = [ "PREFIX=$(out)" ] ++ lib.optionals withIcons [ "O_ICONS=1" ] - ++ lib.optionals withNerdIcons [ "O_NERD=1" ]; + ++ lib.optionals withNerdIcons [ "O_NERD=1" ] + ++ lib.optionals withEmojis [ "O_EMOJI=1" ]; binPath = lib.makeBinPath [ file which ]; + installTargets = [ "install" "install-desktop" ]; + postInstall = '' installShellCompletion --bash --name nnn.bash misc/auto-completion/bash/nnn-completion.bash installShellCompletion --fish misc/auto-completion/fish/nnn.fish diff --git a/pkgs/applications/misc/klipperscreen/default.nix b/pkgs/applications/misc/klipperscreen/default.nix new file mode 100644 index 000000000000..ef51ec96ac84 --- /dev/null +++ b/pkgs/applications/misc/klipperscreen/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, writeText, python3Packages, fetchFromGitHub, gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook, librsvg }: +python3Packages.buildPythonPackage rec { + pname = "KlipperScreen"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "jordanruthe"; + repo = pname; + rev = "v${version}"; + hash = "sha256-LweO5EVWr3OxziHrjtQDdWyUBCVUJ17afkw7RCZWgcg="; + }; + patches = [ ./fix-paths.diff ]; + + buildInputs = [ gtk3 librsvg ]; + nativeBuildInputs = [ wrapGAppsHook gdk-pixbuf gobject-introspection ]; + + propagatedBuildInputs = with python3Packages; [ jinja2 netifaces requests websocket-client pycairo pygobject3 mpv six dbus-python numpy pycairo ]; + + preBuild = '' + ln -s ${./setup.py} setup.py + ''; + + meta = with lib; { + description = "Touchscreen GUI for the Klipper 3D printer firmware"; + homepage = "https://github.com/jordanruthe/${pname}"; + license = licenses.agpl3; + }; +} diff --git a/pkgs/applications/misc/klipperscreen/fix-paths.diff b/pkgs/applications/misc/klipperscreen/fix-paths.diff new file mode 100644 index 000000000000..71ce60fe56e8 --- /dev/null +++ b/pkgs/applications/misc/klipperscreen/fix-paths.diff @@ -0,0 +1,22 @@ +diff --git a/screen.py b/screen.py +index 4fd75cd..a10779a 100755 +--- a/screen.py ++++ b/screen.py +@@ -48,7 +48,7 @@ PRINTER_BASE_STATUS_OBJECTS = [ + 'exclude_object', + ] + +-klipperscreendir = pathlib.Path(__file__).parent.resolve() ++klipperscreendir = pathlib.Path(functions.__file__).parent.parent.resolve() + + + def set_text_direction(lang=None): +@@ -254,7 +254,7 @@ class KlipperScreen(Gtk.Window): + def _load_panel(self, panel, *args): + if panel not in self.load_panel: + logging.debug(f"Loading panel: {panel}") +- panel_path = os.path.join(os.path.dirname(__file__), 'panels', f"{panel}.py") ++ panel_path = os.path.join(klipperscreendir, 'panels', f"{panel}.py") + logging.info(f"Panel path: {panel_path}") + if not os.path.exists(panel_path): + logging.error(f"Panel {panel} does not exist") diff --git a/pkgs/applications/misc/klipperscreen/setup.py b/pkgs/applications/misc/klipperscreen/setup.py new file mode 100644 index 000000000000..946b517b78be --- /dev/null +++ b/pkgs/applications/misc/klipperscreen/setup.py @@ -0,0 +1,11 @@ +from setuptools import setup + +setup( + name='KlipperScreen', + install_requires=[], + packages=['styles', 'panels', 'ks_includes', 'ks_includes.widgets'], + package_data={'ks_includes': ['defaults.conf', 'locales/**', 'emptyCursor.xbm'], 'styles': ['**']}, + entry_points={ + 'console_scripts': ['KlipperScreen=screen:main'] + }, +) diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix index e1785065b0a8..222e56b56619 100644 --- a/pkgs/applications/misc/koreader/default.nix +++ b/pkgs/applications/misc/koreader/default.nix @@ -1,24 +1,33 @@ { lib, stdenv , fetchurl , makeWrapper +, fetchFromGitHub , dpkg , glib , gnutar , gtk3-x11 , luajit , sdcv -, SDL2 -, noto-fonts -, nerdfonts }: -let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; }; -in stdenv.mkDerivation rec { +, SDL2 }: +let + luajit_lua52 = luajit.override { enable52Compat = true; }; +in +stdenv.mkDerivation rec { pname = "koreader"; - version = "2022.08"; + version = "2023.04"; src = fetchurl { url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb"; - sha256 = "sha256-+JBJNJTAnC5gpuo8cehfe/3YwGIW5iFA8bZ8nfz9qsk="; + sha256 = "sha256-tRUeRB1+UcWT49dchN0YDvd0L5n1YRdtMSFc8yy6m5o="; + }; + + src_repo = fetchFromGitHub { + repo = "koreader"; + owner = "koreader"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "sha256-c3j6hs0W0H2jDg6JVfU6ov7r7kucbqrQqf9PAvYBcJ0="; }; sourceRoot = "."; @@ -27,7 +36,7 @@ in stdenv.mkDerivation rec { glib gnutar gtk3-x11 - luajit + luajit_lua52 sdcv SDL2 ]; @@ -39,14 +48,11 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p $out cp -R usr/* $out/ - ln -sf ${luajit}/bin/luajit $out/lib/koreader/luajit + ln -sf ${luajit_lua52}/bin/luajit $out/lib/koreader/luajit ln -sf ${sdcv}/bin/sdcv $out/lib/koreader/sdcv ln -sf ${gnutar}/bin/tar $out/lib/koreader/tar - find $out -xtype l -delete - for i in ${noto-fonts}/share/fonts/truetype/noto/*; do - ln -s "$i" $out/lib/koreader/fonts/noto/ - done - ln -s "${font-droid}/share/fonts/opentype/NerdFonts/Droid Sans Mono Nerd Font Complete Mono.otf" $out/lib/koreader/fonts/droid/DroidSansMono.ttf + find ${src_repo}/resources/fonts -type d -execdir cp -r '{}' $out/lib/koreader/fonts \; + find $out -xtype l -print -delete wrapProgram $out/bin/koreader --prefix LD_LIBRARY_PATH : ${ lib.makeLibraryPath [ gtk3-x11 SDL2 glib ] } diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix index fbcf4c97b479..7bb444b3b3e3 100644 --- a/pkgs/applications/misc/logseq/default.nix +++ b/pkgs/applications/misc/logseq/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "logseq"; - version = "0.9.4"; + version = "0.9.6"; src = fetchurl { url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; - hash = "sha256-K04iIa/WnRtcHwRUHJbKqXO9c4l5xwHPvnwN5WX/Row="; + hash = "sha256-YC6oUKD48mKlX/bHWPMKm+0Ub0/5dnXmBFnVIGqzb/g="; name = "${pname}-${version}.AppImage"; }; diff --git a/pkgs/applications/misc/resumed/default.nix b/pkgs/applications/misc/resumed/default.nix new file mode 100644 index 000000000000..75ee72a38b7f --- /dev/null +++ b/pkgs/applications/misc/resumed/default.nix @@ -0,0 +1,22 @@ +{ lib, buildNpmPackage, fetchFromGitHub }: + +buildNpmPackage rec { + pname = "resumed"; + version = "3.0.1"; + + src = fetchFromGitHub { + owner = "rbardini"; + repo = "resumed"; + rev = "v${version}"; + hash = "sha256-X1efWl0CjbEbhNfDUNvb5SCc2exfI8v95gzqcaKU5eU="; + }; + + npmDepsHash = "sha256-b8NeO0w2UH1wEifDCkl8L48LoJM0jLStE0fO9G438dU="; + + meta = with lib; { + description = "Lightweight JSON Resume builder, no-frills alternative to resume-cli"; + homepage = "https://github.com/rbardini/resumed"; + license = licenses.mit; + maintainers = with maintainers; [ ambroisie ]; + }; +} diff --git a/pkgs/applications/misc/taizen/Cargo.lock b/pkgs/applications/misc/taizen/Cargo.lock new file mode 100644 index 000000000000..3d410a3f75cd --- /dev/null +++ b/pkgs/applications/misc/taizen/Cargo.lock @@ -0,0 +1,2270 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "array-macro" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e97b4e522f9e55523001238ac59d13a8603af57f69980de5d8de4bbbe8ada6" + +[[package]] +name = "arrayvec" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" +dependencies = [ + "nodrop", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" +dependencies = [ + "autocfg 1.1.0", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +dependencies = [ + "addr2line", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide 0.6.2", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" +dependencies = [ + "byteorder", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +dependencies = [ + "byteorder", + "either", + "iovec", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags", +] + +[[package]] +name = "cookie" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" +dependencies = [ + "time", + "url 1.7.2", +] + +[[package]] +name = "cookie_store" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c" +dependencies = [ + "cookie", + "failure", + "idna 0.1.5", + "log", + "publicsuffix", + "serde", + "serde_json", + "time", + "try_from", + "url 1.7.2", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam-channel" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b85741761b7f160bc5e7e0c14986ef685b7f8bf9b7ad081c60c604bb4649827" +dependencies = [ + "crossbeam-epoch 0.6.1", + "crossbeam-utils 0.5.0", + "parking_lot 0.6.4", + "rand 0.5.6", + "smallvec", +] + +[[package]] +name = "crossbeam-deque" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" +dependencies = [ + "crossbeam-epoch 0.8.2", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2449aaa4ec7ef96e5fb24db16024b935df718e9ae1cec0a1e68feeca2efca7b8" +dependencies = [ + "arrayvec", + "cfg-if 0.1.10", + "crossbeam-utils 0.6.6", + "lazy_static", + "memoffset 0.2.1", + "scopeguard 0.3.3", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +dependencies = [ + "autocfg 1.1.0", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "lazy_static", + "maybe-uninit", + "memoffset 0.5.6", + "scopeguard 1.1.0", +] + +[[package]] +name = "crossbeam-queue" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" +dependencies = [ + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-utils" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" + +[[package]] +name = "crossbeam-utils" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +dependencies = [ + "cfg-if 0.1.10", + "lazy_static", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg 1.1.0", + "cfg-if 0.1.10", + "lazy_static", +] + +[[package]] +name = "cursive" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df013f020cf1e66c456c9af584ae660590b8147186fd66b941604f85145b880" +dependencies = [ + "crossbeam-channel", + "enum-map", + "enumset", + "libc", + "log", + "maplit", + "ncurses", + "num", + "owning_ref", + "signal-hook", + "term_size", + "toml", + "unicode-segmentation", + "unicode-width", + "xi-unicode", +] + +[[package]] +name = "dirs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" +dependencies = [ + "cfg-if 0.1.10", + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "enum-map" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa1769f019df7ccd8f9a741d2d608309688d0f1bd8a8747c14ac993660c761c" +dependencies = [ + "array-macro", + "enum-map-derive", + "reexport-proc-macro", +] + +[[package]] +name = "enum-map-derive" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c450cf304c9e18d45db562025a14fb1ca0f5c769b6f609309f81d4c31de455" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "syn 1.0.109", +] + +[[package]] +name = "enumset" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bd5effaae6a671efa2032056110916a501bd24128cfb6f44e5a339b5cdb152" +dependencies = [ + "enumset_derive", + "num-traits", +] + +[[package]] +name = "enumset_derive" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f73e5c77cf68e532b0e6fdd22c7f8f4d09f6f663692aecca0b3d8ec2e11af723" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "syn 0.15.44", +] + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "failure" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" +dependencies = [ + "backtrace", + "failure_derive", +] + +[[package]] +name = "failure_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide 0.7.1", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding 2.2.0", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + +[[package]] +name = "futures" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + +[[package]] +name = "futures-cpupool" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" +dependencies = [ + "futures", + "num_cpus", +] + +[[package]] +name = "getrandom" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gimli" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" + +[[package]] +name = "h2" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" +dependencies = [ + "byteorder", + "bytes", + "fnv", + "futures", + "http", + "indexmap", + "log", + "slab", + "string", + "tokio-io", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "http" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" +dependencies = [ + "bytes", + "fnv", + "itoa 0.4.8", +] + +[[package]] +name = "http-body" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" +dependencies = [ + "bytes", + "futures", + "http", + "tokio-buf", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "hyper" +version = "0.12.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" +dependencies = [ + "bytes", + "futures", + "futures-cpupool", + "h2", + "http", + "http-body", + "httparse", + "iovec", + "itoa 0.4.8", + "log", + "net2", + "rustc_version", + "time", + "tokio", + "tokio-buf", + "tokio-executor", + "tokio-io", + "tokio-reactor", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f" +dependencies = [ + "bytes", + "futures", + "hyper", + "native-tls", + "tokio-io", +] + +[[package]] +name = "idna" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg 1.1.0", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +dependencies = [ + "hermit-abi 0.3.1", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" + +[[package]] +name = "linux-raw-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" + +[[package]] +name = "lock_api" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" +dependencies = [ + "owning_ref", + "scopeguard 0.3.3", +] + +[[package]] +name = "lock_api" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +dependencies = [ + "scopeguard 1.1.0", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" + +[[package]] +name = "memoffset" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" +dependencies = [ + "autocfg 1.1.0", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ncurses" +version = "5.101.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5d34d72657dc4b638a1c25d40aae81e4f1c699062f72f467237920752032" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "net2" +version = "0.2.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "num" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" +dependencies = [ + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +dependencies = [ + "autocfg 1.1.0", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg 1.1.0", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg 1.1.0", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg 1.1.0", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg 1.1.0", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi 0.2.6", + "libc", +] + +[[package]] +name = "object" +version = "0.30.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "openssl" +version = "0.10.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "syn 2.0.15", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "owning_ref" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "parking_lot" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5" +dependencies = [ + "lock_api 0.1.5", + "parking_lot_core 0.3.1", +] + +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.6.3", + "rustc_version", +] + +[[package]] +name = "parking_lot_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" +dependencies = [ + "libc", + "rand 0.5.6", + "rustc_version", + "smallvec", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "rustc_version", + "smallvec", + "winapi 0.3.9", +] + +[[package]] +name = "percent-encoding" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "publicsuffix" +version = "1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f" +dependencies = [ + "idna 0.2.3", + "url 2.3.1", +] + +[[package]] +name = "quote" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +dependencies = [ + "proc-macro2 0.4.30", +] + +[[package]] +name = "quote" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" +dependencies = [ + "proc-macro2 1.0.56", +] + +[[package]] +name = "rand" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" +dependencies = [ + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "winapi 0.3.9", +] + +[[package]] +name = "rand" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" +dependencies = [ + "autocfg 0.1.8", + "libc", + "rand_chacha", + "rand_core 0.4.2", + "rand_hc", + "rand_isaac", + "rand_jitter", + "rand_os", + "rand_pcg", + "rand_xorshift", + "winapi 0.3.9", +] + +[[package]] +name = "rand_chacha" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +dependencies = [ + "autocfg 0.1.8", + "rand_core 0.3.1", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", +] + +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + +[[package]] +name = "rand_hc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "rand_isaac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "rand_jitter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" +dependencies = [ + "libc", + "rand_core 0.4.2", + "winapi 0.3.9", +] + +[[package]] +name = "rand_os" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +dependencies = [ + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.4.2", + "rdrand", + "winapi 0.3.9", +] + +[[package]] +name = "rand_pcg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +dependencies = [ + "autocfg 0.1.8", + "rand_core 0.4.2", +] + +[[package]] +name = "rand_xorshift" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "redox_syscall" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "reexport-proc-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd6195683d528242d8b017810909f8aaf91f111fdc4dbe8b10e4dd50e0c7f4" + +[[package]] +name = "regex" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" + +[[package]] +name = "reqwest" +version = "0.9.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f88643aea3c1343c804950d7bf983bd2067f5ab59db6d613a08e05572f2714ab" +dependencies = [ + "base64", + "bytes", + "cookie", + "cookie_store", + "encoding_rs", + "flate2", + "futures", + "http", + "hyper", + "hyper-tls", + "log", + "mime", + "mime_guess", + "native-tls", + "serde", + "serde_json", + "serde_urlencoded", + "time", + "tokio", + "tokio-executor", + "tokio-io", + "tokio-threadpool", + "tokio-timer", + "url 1.7.2", + "uuid", + "winreg", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.37.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "scopeguard" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2855b3715770894e67cbfa3df957790aa0c9edc3bf06efa1a84d77fa0839d1" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.163" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.163" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "syn 2.0.15", +] + +[[package]] +name = "serde_json" +version = "1.0.96" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +dependencies = [ + "itoa 1.0.6", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" +dependencies = [ + "dtoa", + "itoa 0.4.8", + "serde", + "url 1.7.2", +] + +[[package]] +name = "signal-hook" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg 1.1.0", +] + +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "string" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" +dependencies = [ + "bytes", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "syn" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "syn 1.0.109", + "unicode-xid 0.2.4", +] + +[[package]] +name = "taizen" +version = "0.1.0" +dependencies = [ + "clap", + "cursive", + "dirs", + "lazy_static", + "regex", + "reqwest", + "serde_json", + "url 1.7.2", +] + +[[package]] +name = "tempfile" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +dependencies = [ + "cfg-if 1.0.0", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.45.0", +] + +[[package]] +name = "term_size" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2 1.0.56", + "quote 1.0.27", + "syn 2.0.15", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" +dependencies = [ + "bytes", + "futures", + "mio", + "num_cpus", + "tokio-current-thread", + "tokio-executor", + "tokio-io", + "tokio-reactor", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", +] + +[[package]] +name = "tokio-buf" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" +dependencies = [ + "bytes", + "either", + "futures", +] + +[[package]] +name = "tokio-current-thread" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" +dependencies = [ + "futures", + "tokio-executor", +] + +[[package]] +name = "tokio-executor" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures", +] + +[[package]] +name = "tokio-io" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" +dependencies = [ + "bytes", + "futures", + "log", +] + +[[package]] +name = "tokio-reactor" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures", + "lazy_static", + "log", + "mio", + "num_cpus", + "parking_lot 0.9.0", + "slab", + "tokio-executor", + "tokio-io", + "tokio-sync", +] + +[[package]] +name = "tokio-sync" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" +dependencies = [ + "fnv", + "futures", +] + +[[package]] +name = "tokio-tcp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" +dependencies = [ + "bytes", + "futures", + "iovec", + "mio", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-threadpool" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" +dependencies = [ + "crossbeam-deque", + "crossbeam-queue", + "crossbeam-utils 0.7.2", + "futures", + "lazy_static", + "log", + "num_cpus", + "slab", + "tokio-executor", +] + +[[package]] +name = "tokio-timer" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures", + "slab", + "tokio-executor", +] + +[[package]] +name = "toml" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f" +dependencies = [ + "serde", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "try_from" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b" +dependencies = [ + "cfg-if 0.1.10", +] + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +dependencies = [ + "idna 0.1.5", + "matches", + "percent-encoding 1.0.1", +] + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna 0.3.0", + "percent-encoding 2.2.0", +] + +[[package]] +name = "uuid" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" +dependencies = [ + "rand 0.6.5", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" +dependencies = [ + "futures", + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winreg" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "xi-unicode" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1" diff --git a/pkgs/applications/misc/taizen/default.nix b/pkgs/applications/misc/taizen/default.nix index 405cbe12cc3b..ff93756bbb68 100644 --- a/pkgs/applications/misc/taizen/default.nix +++ b/pkgs/applications/misc/taizen/default.nix @@ -1,25 +1,46 @@ -{ rustPlatform, lib, fetchFromGitHub, ncurses, openssl, pkg-config, Security, stdenv }: +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, ncurses +, openssl +, stdenv +, darwin +}: rustPlatform.buildRustPackage rec { pname = "taizen"; - version = "0.1.0"; + version = "unstable-2020-05-02"; src = fetchFromGitHub { owner = "NerdyPepper"; repo = pname; - rev = "5c1876429e2da7424e9d31b1e16f5a3147cc58d0"; - sha256 = "09izgx7icvizskdy9kplk0am61p7550fsd0v42zcihq2vap2j92z"; + rev = "5e88a55abaa2bf4356aa5bc783c2957e59c63216"; + sha256 = "sha256-cMykIh5EDGYZMJ5EPTU6G8YDXxfUzzfRfEICWmDUdrA="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; }; - buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security; nativeBuildInputs = [ pkg-config ]; - cargoSha256 = "1yqy5v02a4qshgb7k8rnn408k3n6qx3jc8zziwvv7im61n9sjynf"; + buildInputs = [ + ncurses + openssl + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + # update Cargo.lock to work with openssl 3 + postPatch = '' + ln -sf ${./Cargo.lock} Cargo.lock + ''; meta = with lib; { - homepage = "https://crates.io/crates/taizen"; - license = licenses.mit; description = "curses based mediawiki browser"; - maintainers = with maintainers; [ ]; + homepage = "https://github.com/nerdypepper/taizen"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/applications/misc/tickrs/default.nix b/pkgs/applications/misc/tickrs/default.nix index b28a740501ba..dcddaab34d7b 100644 --- a/pkgs/applications/misc/tickrs/default.nix +++ b/pkgs/applications/misc/tickrs/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, perl, Security }: +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, openssl +, zlib +, stdenv +, darwin +}: rustPlatform.buildRustPackage rec { pname = "tickrs"; @@ -13,9 +21,20 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-fOYxOiVpgflwIz9Z6ePhQKDa7DX4D/ZCnPOwq9vWOSk="; - nativeBuildInputs = [ perl ]; + nativeBuildInputs = [ + pkg-config + ]; - buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + buildInputs = [ + openssl + zlib + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; + + env = { + OPENSSL_NO_VENDOR = true; + }; meta = with lib; { description = "Realtime ticker data in your terminal"; diff --git a/pkgs/applications/misc/topydo/default.nix b/pkgs/applications/misc/topydo/default.nix index a20e3e2650f1..9ece11043fa0 100644 --- a/pkgs/applications/misc/topydo/default.nix +++ b/pkgs/applications/misc/topydo/default.nix @@ -1,28 +1,38 @@ -{ lib, python3Packages, fetchFromGitHub, glibcLocales }: +{ lib, python3, fetchFromGitHub, fetchpatch, glibcLocales }: -with python3Packages; - -buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "topydo"; version = "0.14"; src = fetchFromGitHub { - owner = "bram85"; + owner = "topydo"; repo = pname; rev = version; sha256 = "1lpfdai0pf90ffrzgmmkadbd86rb7250i3mglpkc82aj6prjm6yb"; }; - propagatedBuildInputs = [ + patches = [ + # fixes a failing test + (fetchpatch { + name = "update-a-test-reference-ics-file.patch"; + url = "https://github.com/topydo/topydo/commit/9373bb4702b512b10f0357df3576c129901e3ac6.patch"; + hash = "sha256-JpyQfryWSoJDdyzbrESWY+RmRbDw1myvTlsFK7+39iw="; + }) + ]; + + propagatedBuildInputs = with python3.pkgs; [ arrow - icalendar glibcLocales + icalendar prompt-toolkit urwid watchdog ]; - nativeCheckInputs = [ unittestCheckHook mock freezegun pylint ]; + nativeCheckInputs = with python3.pkgs; [ + freezegun + unittestCheckHook + ]; # Skip test that has been reported multiple times upstream without result: # bram85/topydo#271, bram85/topydo#274. @@ -34,7 +44,9 @@ buildPythonApplication rec { meta = with lib; { description = "A cli todo application compatible with the todo.txt format"; - homepage = "https://github.com/bram85/topydo"; - license = licenses.gpl3; + homepage = "https://github.com/topydo/topydo"; + changelog = "https://github.com/topydo/topydo/blob/${src.rev}/CHANGES.md"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/misc/wbg/default.nix b/pkgs/applications/misc/wbg/default.nix index d5f95961f37e..bf7ce1c1c229 100644 --- a/pkgs/applications/misc/wbg/default.nix +++ b/pkgs/applications/misc/wbg/default.nix @@ -11,21 +11,23 @@ , wayland-protocols , enablePNG ? true , enableJPEG ? true +, enableWebp ? true # Optional dependencies , libpng , libjpeg +, libwebp }: stdenv.mkDerivation rec { pname = "wbg"; - version = "1.0.2"; + version = "1.1.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "wbg"; rev = version; - sha256 = "sha256-PKEOWRcSAB4Uv5TfameQIEZh6s6xCGdyoZ13etL1TKA="; + sha256 = "sha256-JJIIqSc0qHgjtpGKai8p6vihXg16unsO7vW91pioAmc="; }; nativeBuildInputs = [ @@ -41,13 +43,15 @@ stdenv.mkDerivation rec { wayland wayland-protocols ] ++ lib.optional enablePNG libpng - ++ lib.optional enableJPEG libjpeg; + ++ lib.optional enableJPEG libjpeg + ++ lib.optional enableWebp libwebp; mesonBuildType = "release"; mesonFlags = [ (lib.mesonEnable "png" enablePNG) (lib.mesonEnable "jpeg" enableJPEG) + (lib.mesonEnable "webp" enableWebp) ]; meta = with lib; { diff --git a/pkgs/applications/networking/asn/default.nix b/pkgs/applications/networking/asn/default.nix index cf1341c43f5c..e2a62c1f8b10 100644 --- a/pkgs/applications/networking/asn/default.nix +++ b/pkgs/applications/networking/asn/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "asn"; - version = "0.73.3"; + version = "0.74"; src = fetchFromGitHub { owner = "nitefood"; repo = "asn"; rev = "v${version}"; - sha256 = "sha256-O0Iu+7UAAf+v0gZdGTdBpdn9BZ/9OqTAA/u0WDiz9s8="; + sha256 = "sha256-400I8aWQaPE7qCV/HqyPzuMmKpUyLc+RK7GCVgbt7JQ="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index b642aff911f9..b8f8b3a87144 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "114.0.5735.16", - "sha256": "1pynbzbc8wwc6g8ikx0hr95ylncpdx97y27c6wmfygwgvp91a6wa", - "sha256bin64": "098aclrhifz6cpxcjdaqvi76j3g8r84p3b6cs4fbsj4cmczj4frw", + "version": "114.0.5735.26", + "sha256": "0v73vzgyg08683my0bc29nvbqqpq3zx9qdnxvdvp72rmyrbc5aiy", + "sha256bin64": "0viy4ibzh04vnkv111vcz4y0s7vg3f2470j2s1b4nzwxmqadxi3n", "deps": { "gn": { "version": "2023-04-19", @@ -32,15 +32,15 @@ } }, "dev": { - "version": "115.0.5750.0", - "sha256": "1y0yq7k5rcv4lfxdlr4psap4hxcnrwjps6vl42hwvpw6zxscw1lv", - "sha256bin64": "0h2d4csrznavalfnzvn59pc2jmj6ci1paslp7y2rlpv1jqjrpgq9", + "version": "115.0.5762.4", + "sha256": "0jlqnd4cmbm3c4xz6dcgs7p8clraldl7hncm4wc28yxv5bsxhyqi", + "sha256bin64": "1zcpzji22fpb04bfhqlp0wy3rnjk3ylfh39r1c2zgqks31n6niz6", "deps": { "gn": { - "version": "2023-04-19", + "version": "2023-05-09", "url": "https://gn.googlesource.com/gn", - "rev": "5a004f9427a050c6c393c07ddb85cba8ff3849fa", - "sha256": "01xrh9m9m6x8lz0vxwdw2mrhrvnw93zpg09hwdhqakj06agf4jjk" + "rev": "ad1e5ce10f06ef9a1a1d91b2e48231d6b3eecbe2", + "sha256": "1m00wqkkvgs52a9bikirnmvsw2d9kfzk59a45mg4n8m4sgpvmxc7" } } }, diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 4af2f0286ded..9166dfde660b 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -88,7 +88,7 @@ let fteLibPath = lib.makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "12.0.5"; + version = "12.0.6"; lang = "ALL"; @@ -100,7 +100,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz" ]; - hash = "sha256-V4BUs30h0+AKNuNsHuRriDXJ0ZzrIsg2SYn4GPZS6Hs="; + hash = "sha256-MLy/T8A+udasITWYSzaqXSFhA3PJsG7DnKJG0b9UYvA="; }; i686-linux = fetchurl { @@ -110,7 +110,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz" ]; - hash = "sha256-TUfS31EjAi/hgVjCKT/T5Jx8iCYXB/3EXPVm1KSqXLk="; + hash = "sha256-njJB5k7rQxRyL7foU8fLCQxy43dJvV26oKvQ+fw6U0o="; }; }; diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix index b917c6a62249..ce6aece37803 100644 --- a/pkgs/applications/networking/cluster/cni/plugins.nix +++ b/pkgs/applications/networking/cluster/cni/plugins.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "cni-plugins"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "containernetworking"; repo = "plugins"; rev = "v${version}"; - sha256 = "sha256-p6gvXn8v7KZMiCPj2EQlk/2au1nZ6EJlLxcMZHzlEp8="; + hash = "sha256-cbmG9wK3yd79jCiNAKcSSx0COyh6CxR1bgIiCO3i++g="; }; - vendorSha256 = null; + vendorHash = null; doCheck = false; @@ -30,6 +30,7 @@ buildGoModule rec { "plugins/main/loopback" "plugins/main/macvlan" "plugins/main/ptp" + "plugins/main/tap" "plugins/main/vlan" "plugins/meta/bandwidth" "plugins/meta/firewall" @@ -42,6 +43,7 @@ buildGoModule rec { passthru.tests = { inherit (nixosTests) cri-o; }; meta = with lib; { + changelog = "https://github.com/containernetworking/plugins/releases/tag/${src.rev}"; description = "Some standard networking plugins, maintained by the CNI team"; homepage = "https://www.cni.dev/plugins/"; license = licenses.asl20; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 25bf97598bec..e7c7b45f5de2 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -164,13 +164,13 @@ "vendorHash": null }, "bitbucket": { - "hash": "sha256-lm/BNxfB5ZosyFYihJ6kh8oro+tCP6pRFNnWrvzeKgk=", + "hash": "sha256-T9e3IQHe6uCdllRTctJg/aG1QmPFR6V4ryw79yX2k/o=", "homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket", "owner": "DrFaust92", "repo": "terraform-provider-bitbucket", - "rev": "v2.32.0", + "rev": "v2.33.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-mnG2CZ/ko4p4CTs0YskJP41sQD9lmEz4dRQLiklim34=" + "vendorHash": "sha256-ebkUF+Xv9diwUYXYt/WK+0tWheqL1cgA665VbGLmvvo=" }, "brightbox": { "hash": "sha256-yKoYjrZs6EOX1pdDuF+LOu/jZ3fidZJBU7yhSp6qSFU=", diff --git a/pkgs/applications/networking/instant-messengers/feishu/default.nix b/pkgs/applications/networking/instant-messengers/feishu/default.nix index 740e793d6520..7255ff4d971e 100644 --- a/pkgs/applications/networking/instant-messengers/feishu/default.nix +++ b/pkgs/applications/networking/instant-messengers/feishu/default.nix @@ -6,6 +6,7 @@ , autoPatchelfHook , cairo , cups +, curl , dbus , dpkg , expat @@ -37,6 +38,7 @@ , libgcrypt , libglvnd , libnotify +, libpulseaudio , libuuid , libxcb , libxkbcommon @@ -61,13 +63,13 @@ }: stdenv.mkDerivation rec { - version = "5.18.11"; + version = "6.1.11"; pname = "feishu"; - packageHash = "9d89b152d581"; # A hash value used in the download url + packageHash = "e82bd3ef"; # A hash value used in the download url src = fetchurl { url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/${packageHash}/Feishu-linux_x64-${version}.deb"; - hash = "sha256-93LEybYePIEbmE8mjRL95haMuBuY0xH6/8fhwF7/ctM="; + hash = "sha256-IBNMNOcOYIdiTlr4+Ziju7Pbf9XJV0O+w2arHTa1zZ0="; }; nativeBuildInputs = [ @@ -82,9 +84,12 @@ stdenv.mkDerivation rec { # for autopatchelf alsa-lib cups + curl libXdamage + libXtst libdrm libgcrypt + libpulseaudio libxshmfence mesa nspr @@ -98,6 +103,7 @@ stdenv.mkDerivation rec { atk cairo cups + curl dbus expat fontconfig @@ -125,6 +131,7 @@ stdenv.mkDerivation rec { libgcrypt libglvnd libnotify + libpulseaudio libuuid libxcb libxkbcommon @@ -174,6 +181,12 @@ stdenv.mkDerivation rec { mkdir -p $out/bin ln -s $out/opt/bytedance/feishu/bytedance-feishu $out/bin/bytedance-feishu + + # feishu comes with a bundled libcurl.so + # and has many dependencies that are hard to satisfy + # e.g. openldap version 2.4 + # so replace it with our own libcurl.so + ln -sf ${curl}/lib/libcurl.so $out/opt/bytedance/feishu/libcurl.so ''; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix index 1a8f2bebc297..2a8ebf35c873 100644 --- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix +++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix @@ -3,21 +3,22 @@ , imagemagick , flutter37 , makeDesktopItem +, gnome }: flutter37.buildFlutterApplication rec { - version = "1.11.0"; + version = "1.11.2"; name = "fluffychat"; src = fetchFromGitLab { owner = "famedly"; repo = "fluffychat"; rev = "v${version}"; - hash = "sha256-Z7BOGsirBVQxRJY4kmskCmPeZloc41/bf4/ExoO8VBk="; + hash = "sha256-vHzZDkSgxcZf3y/+A645hxBverm34J5xNnNwyxnSVUA="; }; depsListFile = ./deps.json; - vendorHash = "sha256-axByNptbzGR7GQT4Gs2yaEyUCkCbI9RQNNOHN7CYd9A="; + vendorHash = "sha256-u8YI4UBnEfPpvjBfhbo4LGolb56w94EiUlnLlYITdXQ="; desktopItem = makeDesktopItem { name = "Fluffychat"; @@ -27,8 +28,9 @@ flutter37.buildFlutterApplication rec { genericName = "Chat with your friends (matrix client)"; categories = [ "Chat" "Network" "InstantMessaging" ]; }; - nativeBuildInputs = [ imagemagick ]; + nativeBuildInputs = [ imagemagick ]; + extraWrapProgramArgs = "--prefix PATH : ${gnome.zenity}/bin"; postInstall = '' FAV=$out/app/data/flutter_assets/assets/favicon.png ICO=$out/share/icons diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/deps.json b/pkgs/applications/networking/instant-messengers/fluffychat/deps.json index 9d8e272ede6d..111fc2812faf 100644 --- a/pkgs/applications/networking/instant-messengers/fluffychat/deps.json +++ b/pkgs/applications/networking/instant-messengers/fluffychat/deps.json @@ -1,7 +1,7 @@ [ { "name": "fluffychat", - "version": "1.11.0+3254", + "version": "1.11.2+3360", "kind": "root", "source": "root", "dependencies": [ diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index 81ccd63d0f05..0b5c4877eb3b 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,19 +1,19 @@ { lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which -, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl +, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn2, libxml2, notmuch, openssl , lua, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib, lndir , pkg-config, zstd, enableZstd ? true, enableMixmaster ? false, enableLua ? false , withContrib ? true }: stdenv.mkDerivation rec { - version = "20230407"; + version = "20230512"; pname = "neomutt"; src = fetchFromGitHub { owner = "neomutt"; repo = "neomutt"; rev = version; - sha256 = "sha256-cTZua1AbLMjkMhlUk2aMttj6HdwpJYnRYPuvukSxfwc="; + sha256 = "sha256-/NeY9WrPXg6sSM1jnjgQKL7vSn8dTrAnvj229KcEEro="; }; patches = [ @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - cyrus_sasl gss gpgme libkrb5 libidn ncurses + cyrus_sasl gss gpgme libkrb5 libidn2 ncurses notmuch openssl perl lmdb mailcap sqlite ] diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix index b7c51d70dfec..67ddde5ce14e 100644 --- a/pkgs/applications/networking/remote/xrdp/default.nix +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -34,7 +34,7 @@ let }; xrdp = stdenv.mkDerivation rec { - version = "0.9.21.1"; + version = "0.9.22"; pname = "xrdp"; src = fetchFromGitHub { @@ -42,7 +42,7 @@ let repo = "xrdp"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-/o052ij+Tpcw5/k1UyP6OGOzrtBwh3jRkftStIEhUF0="; + hash = "sha256-/i2rLVrN1twKtQH6Qt1OZOPGZzegWBOKpj0Wnin8cR8="; }; nativeBuildInputs = [ pkg-config autoconf automake which libtool nasm perl ]; diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix index 8cd009a86cf2..8770563771db 100644 --- a/pkgs/applications/office/treesheets/default.nix +++ b/pkgs/applications/office/treesheets/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "treesheets"; - version = "unstable-2023-05-04"; + version = "unstable-2023-05-13"; src = fetchFromGitHub { owner = "aardappel"; repo = "treesheets"; - rev = "3694b16809daaa59b9198cd9645662e2a8cf4650"; - sha256 = "NShLLBTBS88UXWWjsSeMVxj8HnnN4yA8gmz83wdpIzE="; + rev = "c48cc033c941fb1898e12189e96188a98df69b96"; + sha256 = "EzLhsuDY/H3t69nuwWj/3fxJdAX6ze/IB/i5WsVJmOo="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/radio/cloudlog/default.nix b/pkgs/applications/radio/cloudlog/default.nix index 9f303dc7b518..771866a1814e 100644 --- a/pkgs/applications/radio/cloudlog/default.nix +++ b/pkgs/applications/radio/cloudlog/default.nix @@ -3,7 +3,8 @@ , fetchFromGitHub , nix-update-script , nixosTests -, php}: +, php +}: stdenvNoCC.mkDerivation rec { pname = "cloudlog"; @@ -34,11 +35,7 @@ stdenvNoCC.mkDerivation rec { }; meta = with lib; { - description = '' - Web based amateur radio logging application built using PHP & MySQL - supports general station logging tasks from HF to Microwave with - supporting applications to support CAT control. - ''; + description = "Web based amateur radio logging application built using PHP & MySQL"; license = licenses.mit; homepage = "https://www.magicbug.co.uk/cloudlog"; platforms = php.meta.platforms; diff --git a/pkgs/applications/science/biology/jbrowse/default.nix b/pkgs/applications/science/biology/jbrowse/default.nix new file mode 100644 index 000000000000..3ed6a885aa75 --- /dev/null +++ b/pkgs/applications/science/biology/jbrowse/default.nix @@ -0,0 +1,39 @@ +{ lib, fetchurl, appimageTools, wrapGAppsHook }: + +let + pname = "jbrowse"; + version = "2.5.0"; + + src = fetchurl { + url = "https://github.com/GMOD/jbrowse-components/releases/download/v${version}/jbrowse-desktop-v${version}-linux.AppImage"; + sha256 = "sha256-YLsyA+RVoFvjE4MfAtglJYdUgic487SxwdUhvolzBPc="; + }; + + appimageContents = appimageTools.extractType2 { + inherit pname version src; + }; + +in +appimageTools.wrapType2 { + inherit pname version src; + unshareIpc = false; + + extraInstallCommands = '' + mkdir -p $out/bin + mv $out/bin/jbrowse-${version} $out/bin/jbrowse-desktop + + install -m 444 -D ${appimageContents}/jbrowse-desktop.desktop $out/share/applications/jbrowse-desktop.desktop + install -m 444 -D ${appimageContents}/jbrowse-desktop.png \ + $out/share/icons/hicolor/512x512/apps/jbrowse-desktop.png + substituteInPlace $out/share/applications/jbrowse-desktop.desktop \ + --replace 'Exec=AppRun --no-sandbox' 'Exec=jbrowse-desktop' + ''; + + meta = with lib; { + description = "The next-generation genome browser"; + homepage = "https://jbrowse.org/jb2/"; + license = licenses.asl20; + maintainers = with maintainers; [ benwbooth ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/video/open-in-mpv/default.nix b/pkgs/applications/video/open-in-mpv/default.nix new file mode 100644 index 000000000000..f3ac6414a709 --- /dev/null +++ b/pkgs/applications/video/open-in-mpv/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "open-in-mpv"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "Baldomo"; + repo = "open-in-mpv"; + rev = "v${version}"; + hash = "sha256-3Fsa3AwiHsb8VcKa4a/RKyYu+CD5nEX0nIXENhBZCWk="; + }; + + vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c="; + + ldflags = [ "-s" "-w" ]; + + postInstall = '' + install -Dm444 -t $out/share/applications scripts/open-in-mpv.desktop + ''; + + meta = with lib; { + description = "Simple web extension to open videos in mpv"; + longDescription = '' + To function the browser extension must be installed and open-in-mpv must be set as the default scheme-handler for mpv:// eg.: + xdg-mime default open-in-mpv.desktop x-scheme-handler/mpv + + https://addons.mozilla.org/en-US/firefox/addon/iina-open-in-mpv/ + https://chrome.google.com/webstore/detail/open-in-mpv/ggijpepdpiehgbiknmfpfbhcalffjlbj + ''; + homepage = "https://github.com/Baldomo/open-in-mpv"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 6e7010b5102b..8cca1e5a7c08 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -4,18 +4,18 @@ rustPlatform.buildRustPackage rec { pname = "crosvm"; - version = "112.0"; + version = "113.0"; src = fetchgit { url = "https://chromium.googlesource.com/chromiumos/platform/crosvm"; - rev = "014b853ebdba00c7bad751a37fa4271ff2a50d77"; - sha256 = "qVfkNN6dHfMeDYMDvccU9PAz78Dh2ylL6UpoApoYKJw="; + rev = "f2871094c45bc3a8a2604cbba5b34da27d676af7"; + sha256 = "seeqr453Qjk1MoYq2ZlPsgUOMaV7PbK4MKze2cl2NvI="; fetchSubmodules = true; }; separateDebugInfo = true; - cargoSha256 = "ath0x9dfQCWWU9+zKyYLC6Q/QXupifHhdQxrS+N2UWw="; + cargoSha256 = "hGhYzynNvsaSQO2lSEh/OGWkeE8bEinwb0QxX87TQU0="; nativeBuildInputs = [ pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix index 5eb2bade2c38..964d86a445e7 100644 --- a/pkgs/applications/virtualization/docker-slim/default.nix +++ b/pkgs/applications/virtualization/docker-slim/default.nix @@ -8,7 +8,7 @@ buildGoModule rec { owner = "slimtoolkit"; repo = "slim"; rev = version; - hash = "sha256-pRIfIgEM0olUi0LL8maB7vczcq4p67eDuWssoeOT4Tk="; + hash = "sha256-byB7GTw0hHY4dp3CkMCl6ga/Zn82+K6qmyWy6ezCLoE="; }; vendorHash = null; diff --git a/pkgs/applications/virtualization/pods/Cargo.lock b/pkgs/applications/virtualization/pods/Cargo.lock index bd7e65b10144..36d3cbea6d01 100644 --- a/pkgs/applications/virtualization/pods/Cargo.lock +++ b/pkgs/applications/virtualization/pods/Cargo.lock @@ -205,16 +205,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "containers-api" version = "0.8.0" @@ -230,7 +220,7 @@ dependencies = [ "log", "mime", "paste", - "pin-project 1.0.12", + "pin-project 1.1.0", "serde", "serde_json", "tar", @@ -273,50 +263,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "cxx" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.15", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - [[package]] name = "derivative" version = "2.2.0" @@ -1015,7 +961,7 @@ dependencies = [ "futures-util", "hex", "hyper", - "pin-project 1.0.12", + "pin-project 1.1.0", "tokio", ] @@ -1035,12 +981,11 @@ dependencies = [ [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -1177,15 +1122,6 @@ dependencies = [ "system-deps", ] -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - [[package]] name = "linux-raw-sys" version = "0.3.7" @@ -1434,11 +1370,11 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" dependencies = [ - "pin-project-internal 1.0.12", + "pin-project-internal 1.1.0", ] [[package]] @@ -1454,13 +1390,13 @@ dependencies = [ [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.15", ] [[package]] @@ -1518,7 +1454,7 @@ dependencies = [ [[package]] name = "pods" -version = "1.1.2" +version = "1.1.3" dependencies = [ "anyhow", "ashpd", @@ -1695,12 +1631,6 @@ version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" -[[package]] -name = "scratch" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" - [[package]] name = "semver" version = "1.0.17" @@ -1709,18 +1639,18 @@ checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "serde" -version = "1.0.162" +version = "1.0.163" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71b2f6e1ab5c2b98c05f0f35b236b22e8df7ead6ffbf51d7808da7f8817e7ab6" +checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.162" +version = "1.0.163" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a0814352fd64b58489904a44ea8d90cb1a91dcb6b4f5ebabc32c8318e93cb6" +checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" dependencies = [ "proc-macro2", "quote", @@ -1920,15 +1850,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - [[package]] name = "thiserror" version = "1.0.40" @@ -2112,9 +2033,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", ] @@ -2162,12 +2083,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - [[package]] name = "url" version = "2.3.1" @@ -2342,15 +2257,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -2577,9 +2483,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34f314916bd89bdb9934154627fab152f4f28acdda03e7c4c68181b214fe7e3" +checksum = "82441e6033be0a741157a72951a3e4957d519698f3a824439cc131c5ba77ac2a" dependencies = [ "serde", "static_assertions", @@ -2588,9 +2494,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe4914a985446d6fd287019b5fceccce38303d71407d9e6e711d44954a05d8" +checksum = "5cb36cd95352132911c9c99fdcc1635de5c2c139bd34cbcf6dfb8350ee8ff6a7" dependencies = [ "byteorder", "enumflags2", @@ -2603,9 +2509,9 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34c20260af4b28b3275d6676c7e2a6be0d4332e8e0aba4616d34007fd84e462a" +checksum = "9b34951e1ac64f3a1443fe7181256b9ed6a811a1631917566c3d5ca718d8cf33" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/pkgs/applications/virtualization/pods/default.nix b/pkgs/applications/virtualization/pods/default.nix index a2b3e6041817..6a9584f8de8e 100644 --- a/pkgs/applications/virtualization/pods/default.nix +++ b/pkgs/applications/virtualization/pods/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "pods"; - version = "1.1.2"; + version = "1.1.3"; src = fetchFromGitHub { owner = "marhkb"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5euSMmyumZbUFsZuP7fa3wCm4n0Hx+F8bPlv4Xw/Hvw="; + sha256 = "sha256-wZZBtvSMC83P38jzbZ1fX5f42WTPI68XGB1aG3gMYG0="; }; cargoDeps = rustPlatform.importCargoLock { diff --git a/pkgs/build-support/flutter/default.nix b/pkgs/build-support/flutter/default.nix index ecca6b081f25..8d31482900a8 100644 --- a/pkgs/build-support/flutter/default.nix +++ b/pkgs/build-support/flutter/default.nix @@ -21,6 +21,7 @@ , nativeBuildInputs ? [ ] , preUnpack ? "" , postFixup ? "" +, extraWrapProgramArgs ? "" , ... }@args: let @@ -121,7 +122,8 @@ let # which is not what application authors expect. for f in "$out"/bin/*; do wrapProgram "$f" \ - --suffix LD_LIBRARY_PATH : '${lib.makeLibraryPath finalAttrs.runtimeDependencies}' + --suffix LD_LIBRARY_PATH : '${lib.makeLibraryPath finalAttrs.runtimeDependencies}' \ + ${extraWrapProgramArgs} done ${postFixup} diff --git a/pkgs/data/fonts/terminus-font-ttf/default.nix b/pkgs/data/fonts/terminus-font-ttf/default.nix index 6231d0e0c1dc..2cd5da73d84d 100644 --- a/pkgs/data/fonts/terminus-font-ttf/default.nix +++ b/pkgs/data/fonts/terminus-font-ttf/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "terminus-font-ttf"; - version = "4.49.1"; + version = "4.49.3"; src = fetchzip { url = "https://files.ax86.net/terminus-ttf/files/${version}/terminus-ttf-${version}.zip"; - hash = "sha256-NKswkZR05V21mszT56S2x85k//qhfzRShhepYaAybDc="; + hash = "sha256-dK7MH4I1RhsIGzcnRA+7f3P5oi9B63RA+uASVDNtxNI="; }; installPhase = '' diff --git a/pkgs/data/icons/catppuccin-papirus-folders/default.nix b/pkgs/data/icons/catppuccin-papirus-folders/default.nix index 263ea1f37428..70529a6337b7 100644 --- a/pkgs/data/icons/catppuccin-papirus-folders/default.nix +++ b/pkgs/data/icons/catppuccin-papirus-folders/default.nix @@ -16,13 +16,13 @@ in stdenvNoCC.mkDerivation { inherit pname; - version = "unstable-2022-12-04"; + version = "unstable-2023-08-02"; src = fetchFromGitHub { owner = "catppuccin"; repo = "papirus-folders"; - rev = "1a367642df9cf340770bd7097fbe85b9cea65bcb"; - sha256 = "sha256-mFDfRVDA9WyriyFVzsI7iqmPopN56z54FvLkZDS2Dv8="; + rev = "fcf96737fffc343a1bf129732c37d19f2d77fa5c"; + sha256 = "sha256-3yjIGzN+/moP2OVGDIAy4zPqUroSjx3c2mJjdZGhTsY="; }; nativeBuildInputs = [ gtk3 ]; diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index dd7ea4cacf74..885b6eec49af 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -1,16 +1,15 @@ -{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease }: +{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease, nix-update-script }: # Based on the work of Hauleth # None of this would have happened without him let pname = "elixir-ls"; - pinData = lib.importJSON ./pin.json; - version = pinData.version; + version = "0.14.6"; src = fetchFromGitHub { owner = "elixir-lsp"; repo = "elixir-ls"; rev = "v${version}"; - sha256 = pinData.sha256; + hash = "sha256-O977DZLWPyLafIaOTPZKI4MOtK9E9TDProf2xyk05aI"; fetchSubmodules = true; }; in @@ -20,7 +19,7 @@ mixRelease { mixFodDeps = fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version elixir; - sha256 = pinData.depsSha256; + sha256 = "sha256-jF1Plkz1D85aWkiNgeBlJmHndhr7us+8+m/gMkXHvDw="; }; # elixir-ls is an umbrella app @@ -71,5 +70,5 @@ mixRelease { platforms = platforms.unix; maintainers = teams.beam.members; }; - passthru.updateScript = ./update.sh; + passthru.updateScript = nix-update-script { }; } diff --git a/pkgs/development/beam-modules/elixir-ls/pin.json b/pkgs/development/beam-modules/elixir-ls/pin.json deleted file mode 100644 index e2eb21a57096..000000000000 --- a/pkgs/development/beam-modules/elixir-ls/pin.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "0.14.5", - "sha256": "sha256-F0c1vyeie8sf11SHfDKb8v1DZ5No3Rr3PPj3jMg0veg=", - "depsSha256": "sha256-/lKZ9Ns32A/elJTez72mH2tZ7ujwEX9p4FIKHpfGq78=" -} diff --git a/pkgs/development/beam-modules/elixir-ls/update.sh b/pkgs/development/beam-modules/elixir-ls/update.sh deleted file mode 100755 index be85b4c6d642..000000000000 --- a/pkgs/development/beam-modules/elixir-ls/update.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep - -# TODO set to `verbose` or `extdebug` once implemented in oil -set -x - -const directory = $(dirname $0 | xargs realpath) -const owner = "elixir-lsp" -const repo = "elixir-ls" -const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ - jq -r '.tag_name') -const latest_version = $(echo $latest_rev | sd 'v' '') -const current_version = $(jq -r '.version' $directory/pin.json) -if ("$latest_version" === "$current_version") { - echo "elixir-ls is already up-to-date" - return 0 -} else { - const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") - const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" - const sha256s = $(rg '"sha256-.+"' $directory/default.nix | sd '.+"(.+)";' '$1' ) - - jq ".version = \"$latest_version\" | \ - .\"sha256\" = \"$tarball_hash\" | \ - .\"depsSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json - - const new_mix_hash = $(nix-build -A elixir-ls.mixFodDeps 2>&1 | \ - tail -n 1 | \ - sd '\s+got:\s+' '') - - jq ".depsSha256 = \"$new_mix_hash\"" $directory/pin.json | sponge $directory/pin.json -} diff --git a/pkgs/development/compilers/c0/default.nix b/pkgs/development/compilers/c0/default.nix new file mode 100644 index 000000000000..9722d466ae28 --- /dev/null +++ b/pkgs/development/compilers/c0/default.nix @@ -0,0 +1,80 @@ +{ lib +, stdenv +, fetchFromBitbucket +, mlton +, pkg-config +, getopt +, boehmgc +, darwin +, libbacktrace +, libpng +, ncurses +, readline +}: + +stdenv.mkDerivation rec { + pname = "c0"; + version = "unstable-2022-10-25"; + + src = fetchFromBitbucket { + owner = "c0-lang"; + repo = "c0"; + rev = "7ef3bc9ca232ec41936e93ec8957051e48cacfba"; + sha256 = "sha256-uahF8fOp2ZJE8EhZke46sbPmN0MNHzsLkU4EXkV710U="; + }; + + patches = [ + ./use-system-libraries.patch + ]; + + postPatch = '' + substituteInPlace cc0/Makefile \ + --replace '$(shell ./get_version.sh)' '${version}' + substituteInPlace cc0/compiler/bin/buildid \ + --replace '`../get_version.sh`' '${version}' \ + --replace '`date`' '1970-01-01T00:00:00Z' \ + --replace '`hostname`' 'nixpkgs' + '' + lib.optionalString stdenv.isDarwin '' + for f in cc0/compiler/bin/coin-o0-support cc0/compiler/bin/cc0-o0-support; do + substituteInPlace $f --replace '$(brew --prefix gnu-getopt)' '${getopt}' + done + ''; + + preConfigure = '' + cd cc0/ + ''; + + nativeBuildInputs = [ + getopt + mlton + pkg-config + ] ++ lib.optionals stdenv.isDarwin [ darwin.sigtool ]; + + buildInputs = [ + boehmgc + libbacktrace + libpng + ncurses + readline + ]; + + strictDeps = true; + + installFlags = [ "PREFIX=$(out)" ]; + + postInstall = '' + mkdir -p $out/share/emacs/site-lisp + mv $out/c0-mode/ $out/share/emacs/site-lisp/ + ''; + + meta = with lib; { + description = "A small safe subset of the C programming language, augmented with contracts"; + homepage = "https://c0.cs.cmu.edu/"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + platforms = platforms.unix; + # line 1: ../../bin/wrappergen: cannot execute: required file not found + # make[2]: *** [../../lib.mk:83: + broken = stdenv.isLinux; + }; +} diff --git a/pkgs/development/compilers/c0/use-system-libraries.patch b/pkgs/development/compilers/c0/use-system-libraries.patch new file mode 100644 index 000000000000..cc15ef368f33 --- /dev/null +++ b/pkgs/development/compilers/c0/use-system-libraries.patch @@ -0,0 +1,53 @@ +Use system libraries + +--- a/cc0/Makefile ++++ b/cc0/Makefile +@@ -22,12 +22,12 @@ MLTON_BASIC = mlton $(MLTON_FLAGS) -verbose $(MLTON_VERB) -output + MLTON_NATIVE := mlton -default-ann "redundantMatch error" -default-ann "sequenceNonUnit error" + MLTON_NATIVE += -link-opt "-lpthread -ldl -rdynamic" -cc-opt "-Iinclude" -default-ann "allowFFI true" + MLTON_NATIVE += -cc-opt "-I../externals/" +-MLTON_NATIVE += -link-opt "../externals/readline/libreadline.a ../externals/readline/libhistory.a" ++MLTON_NATIVE += -link-opt "$(shell pkg-config readline --libs)" + MLTON_NATIVE += -link-opt "$(shell pkg-config libpng --libs)" + + # libreadline dependencies + ifeq ($(PLATFORM),osx) +-MLTON_NATIVE += -link-opt "-ltermcap" ++MLTON_NATIVE += -link-opt "-lncurses" + else + # (Assuming Linux) + MLTON_NATIVE += -link-opt "-ltinfo" +@@ -122,9 +122,9 @@ endef + + $(foreach rt,$(RUNTIMES),$(eval $(call runtime_template,$(rt)))) + +-c0rt/$(call dllname,c0rt): gc libbacktrace ++c0rt/$(call dllname,c0rt): + +-unsafe/$(call dllname,unsafe): gc ++unsafe/$(call dllname,unsafe): + + + ### cc0 - the C0 compiler +@@ -222,7 +222,6 @@ NATIVE_COIN = $(NATIVE_CYMBOL) $(NATIVE_CALLING) + NATIVE_COIN += coin/c0readline.c + + COIN_DEPS = $(CC0_DEPS) $(NATIVE_COIN) cymbol/cymbol*.cm cymbol/*.sml cymbol/*.mlb coin/coin*.cm coin/*.sml coin/*.sml +-COIN_DEPS += readline + + .PHONY: coin + coin: bin/coin +--- a/cc0/lib.mk ++++ b/cc0/lib.mk +@@ -15,9 +15,9 @@ TARGET = $(call dllname,$(LIBNAME)) + endif + + # These libs are handled specially by this file +-NATIVELIBS = gc ncurses backtrace ++NATIVELIBS = + C0LIBS = $(filter-out $(NATIVELIBS),$(REQUIRES)) +-LIBS = -L$(abspath $(DEPTH)/lib) $(patsubst %,$(DEPTH)/lib/$(call dllname,%),$(C0LIBS)) ++LIBS = -L$(abspath $(DEPTH)/lib) + LDFLAGS = + + # -fPIC is not supported on Windows and is not necessary there because we link statically diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix index f7c40f8a0e7b..6cebeed7378e 100644 --- a/pkgs/development/compilers/mruby/default.nix +++ b/pkgs/development/compilers/mruby/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { # Necessary so it uses `gcc` instead of `ld` for linking. # https://github.com/mruby/mruby/blob/35be8b252495d92ca811d76996f03c470ee33380/tasks/toolchains/gcc.rake#L25 - preBuild = if stdenv.isLinux then "unset LD" else null; + preBuild = "unset LD"; installPhase = '' mkdir $out diff --git a/pkgs/development/libraries/openvr/default.nix b/pkgs/development/libraries/openvr/default.nix index 23df943062d6..c9c9707fce70 100644 --- a/pkgs/development/libraries/openvr/default.nix +++ b/pkgs/development/libraries/openvr/default.nix @@ -5,6 +5,8 @@ , jsoncpp , fetchFromGitHub , fetchpatch2 +, Foundation +, AppKit }: stdenv.mkDerivation rec { @@ -41,11 +43,12 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ jsoncpp libGL ]; + buildInputs = [ jsoncpp libGL ] ++ lib.optionals stdenv.isDarwin [ Foundation AppKit ]; cmakeFlags = [ "-DUSE_SYSTEM_JSONCPP=ON" "-DBUILD_SHARED=1" ]; - meta = with lib;{ + meta = with lib; { + broken = stdenv.isDarwin; homepage = "https://github.com/ValveSoftware/openvr"; description = "An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting"; license = licenses.bsd3; diff --git a/pkgs/development/ocaml-modules/otoml/default.nix b/pkgs/development/ocaml-modules/otoml/default.nix index 4a2e605f4cef..18a0c6412886 100644 --- a/pkgs/development/ocaml-modules/otoml/default.nix +++ b/pkgs/development/ocaml-modules/otoml/default.nix @@ -8,7 +8,7 @@ buildDunePackage rec { pname = "otoml"; - version = "1.0.2"; + version = "1.0.4"; minimalOCamlVersion = "4.08"; @@ -16,7 +16,7 @@ buildDunePackage rec { owner = "dmbaturin"; repo = pname; rev = version; - sha256 = "sha256-Xd3fHBN1f+tvgRFCxD/Gz8/lIvezknz7Zy3EtdqoTEM="; + sha256 = "sha256-3bgeiwa0elisxZaWpwLqoKmeyTBKMW1IWdm6YdSIhSw="; }; nativeBuildInputs = [ menhir ]; diff --git a/pkgs/development/python-modules/accelerate/default.nix b/pkgs/development/python-modules/accelerate/default.nix index 3edf016c9fa1..4de49a21a830 100644 --- a/pkgs/development/python-modules/accelerate/default.nix +++ b/pkgs/development/python-modules/accelerate/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "accelerate"; - version = "0.18.0"; + version = "0.19.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "huggingface"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-fCIvVbMaWAWzRfPc5/1CZq3gZ8kruuk9wBt8mzLHmyw="; + hash = "sha256-gW4wCpkyxoWfxXu8UHZfgopSQhOoPhGgqEqFiHJ+Db4="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiolifx-themes/default.nix b/pkgs/development/python-modules/aiolifx-themes/default.nix index 36b7484cd621..461590b0cc49 100644 --- a/pkgs/development/python-modules/aiolifx-themes/default.nix +++ b/pkgs/development/python-modules/aiolifx-themes/default.nix @@ -1,12 +1,12 @@ { lib -, fetchFromGitHub -, buildPythonPackage -, pythonOlder , aiolifx +, async-timeout +, buildPythonPackage +, fetchFromGitHub , poetry-core , pytest-asyncio , pytestCheckHook -, async-timeout +, pythonOlder , typer }: @@ -31,6 +31,11 @@ buildPythonPackage rec { --replace "typer = " "# unused: typer = " ''; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'aiolifx = "^0.8.6"' 'aiolifx = "*"' + ''; + nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/python-modules/aiolifx/default.nix b/pkgs/development/python-modules/aiolifx/default.nix index 46e7f7fb98b2..69292db13cd5 100644 --- a/pkgs/development/python-modules/aiolifx/default.nix +++ b/pkgs/development/python-modules/aiolifx/default.nix @@ -1,31 +1,35 @@ { lib , async-timeout +, click , fetchPypi , buildPythonPackage , pythonOlder , ifaddr +, inquirerpy , bitstring }: buildPythonPackage rec { pname = "aiolifx"; - version = "0.8.10"; + version = "0.9.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-NiNKFrWxpGkwbb7tFEDD5jZ6ETW20BBIqrdjCsL/DkY="; + hash = "sha256-oK8Ih62EFwu3X5PNVFLH+Uce6ZBs7IMXet5/DHxfd5M="; }; propagatedBuildInputs = [ async-timeout bitstring + click ifaddr + inquirerpy ]; - # tests are not implemented + # Module has no tests doCheck = false; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/azure-eventgrid/default.nix b/pkgs/development/python-modules/azure-eventgrid/default.nix index 4275be9bac23..962f7aae020f 100644 --- a/pkgs/development/python-modules/azure-eventgrid/default.nix +++ b/pkgs/development/python-modules/azure-eventgrid/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "azure-eventgrid"; - version = "4.10.0"; + version = "4.11.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-PWl+rA/JAe0rUKU24oQuYlt7U4Cyi14T7cVlA/B60VY="; + hash = "sha256-qoUaKbbB2x3eO6IiXwn3kl/C6NA5biZbzRHctoNFdQE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix index e100b35ee643..ee97aab67805 100644 --- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "azure-mgmt-reservations"; - version = "2.2.0"; + version = "2.3.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-P6GLB5+2p9sS9XSwSykQXHXw5YrJNNSgs5d7sy5jHTk="; + hash = "sha256-BHCFEFst5jfyIEo0hm86belpxW7EygZCBJ8PTqzqHKc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/base58/default.nix b/pkgs/development/python-modules/base58/default.nix index c08ba1ccf5a8..9a4d30f6149a 100644 --- a/pkgs/development/python-modules/base58/default.nix +++ b/pkgs/development/python-modules/base58/default.nix @@ -1,9 +1,7 @@ { lib , buildPythonPackage , fetchPypi -, py , pyhamcrest -, pytest-benchmark , pytestCheckHook , pythonOlder }: @@ -20,12 +18,16 @@ buildPythonPackage rec { }; nativeCheckInputs = [ - py pyhamcrest - pytest-benchmark pytestCheckHook ]; + disabledTests = [ + # avoid dependency on pytest-benchmark + "test_decode_random" + "test_encode_random" + ]; + pythonImportsCheck = [ "base58" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/cpyparsing/default.nix b/pkgs/development/python-modules/cpyparsing/default.nix index 97423234f035..7880999746b0 100644 --- a/pkgs/development/python-modules/cpyparsing/default.nix +++ b/pkgs/development/python-modules/cpyparsing/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "cpyparsing"; - version = "2.4.7.1.2.0"; + version = "2.4.7.1.2.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,12 +18,16 @@ buildPythonPackage rec { owner = "evhub"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-cb0Lx+S9WnPa9veHJaYEU7pFCtB6pG/GKf4HK/UbmtU="; + hash = "sha256-HJ0I5DKZ2WV+1pXZCvJHA7Wih3Gkn7vL/ojXnTssKxw="; }; - nativeBuildInputs = [ cython ]; + nativeBuildInputs = [ + cython + ]; - nativeCheckInputs = [ pexpect ]; + nativeCheckInputs = [ + pexpect + ]; checkPhase = '' ${python.interpreter} tests/cPyparsing_test.py @@ -36,6 +40,7 @@ buildPythonPackage rec { meta = with lib; { description = "Cython PyParsing implementation"; homepage = "https://github.com/evhub/cpyparsing"; + changelog = "https://github.com/evhub/cpyparsing/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ fabianhjr ]; }; diff --git a/pkgs/development/python-modules/crc32c/default.nix b/pkgs/development/python-modules/crc32c/default.nix index d8f4e2662e38..66d77756f780 100644 --- a/pkgs/development/python-modules/crc32c/default.nix +++ b/pkgs/development/python-modules/crc32c/default.nix @@ -1,16 +1,21 @@ -{ lib, buildPythonPackage, fetchFromGitHub }: +{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, pytestCheckHook }: buildPythonPackage rec { - version = "2.2.post0"; + version = "2.3.post0"; pname = "crc32c"; + format = "setuptools"; + + disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "ICRAR"; repo = pname; - rev = "v${version}"; - hash = "sha256-0FgNOVpgJTxRALuufZ7Dt1TwuX+zqw35yCq8kmq4RTc="; + rev = "refs/tags/v${version}"; + hash = "sha256-lPEojWeAhfWpGR+k+Tuo4n68iZOk7lUDxjWXj5vN4I0="; }; + nativeCheckInputs = [ pytestCheckHook ]; + meta = { description = "Python software implementation and hardware API of CRC32C checksum algorithm"; homepage = "https://github.com/ICRAR/crc32c"; diff --git a/pkgs/development/python-modules/cwl-upgrader/default.nix b/pkgs/development/python-modules/cwl-upgrader/default.nix index 6dd63c2db3b7..bb8553cfe576 100644 --- a/pkgs/development/python-modules/cwl-upgrader/default.nix +++ b/pkgs/development/python-modules/cwl-upgrader/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "cwl-upgrader"; - version = "1.2.6"; + version = "1.2.7"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "common-workflow-language"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-lVIy0aa+hqbi46NfwXCKWDRzszneyuyo6KXxAcr/xIA="; + hash = "sha256-/vCvpRpQkdMkqlK5/0jJTY56ROoB4ezvX9ma1AVWYd4="; }; postPatch = '' diff --git a/pkgs/development/python-modules/cwl-utils/default.nix b/pkgs/development/python-modules/cwl-utils/default.nix index 99060c7f466d..96c331a9b597 100644 --- a/pkgs/development/python-modules/cwl-utils/default.nix +++ b/pkgs/development/python-modules/cwl-utils/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "cwl-utils"; - version = "0.24"; + version = "0.26"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "common-workflow-language"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-g8HnY5/UDmujijXStNRwKBGMZ3soUHKPIlpJdIQaAlE="; + hash = "sha256-T82zaXILbQFOIE0/HhNjpYutSdA1UeaxXO/M7Z4sSfo="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix index 6e1cab529fbc..5b3b42376a13 100644 --- a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix +++ b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "ffmpeg-progress-yield"; - version = "0.7.1"; + version = "0.7.4"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-wK33h+Qg737hSv+2HF4hvfBDDsJpI+7mGbRgUQvrZb0="; + hash = "sha256-gBWkoR0cJdcWShX9aIDt6DpK1dkT9bfvgnrgXGgZPSQ="; }; propagatedBuildInputs = [ colorama tqdm ]; diff --git a/pkgs/development/python-modules/grpcio-testing/default.nix b/pkgs/development/python-modules/grpcio-testing/default.nix index 7aaadfa409e0..f7a2b7f0330b 100644 --- a/pkgs/development/python-modules/grpcio-testing/default.nix +++ b/pkgs/development/python-modules/grpcio-testing/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "grpcio-testing"; - version = "1.54.0"; + version = "1.54.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-/0LlPGUVhV7lh4RDQH7wImxaynN2wDLoELxoUUG8bpM="; + hash = "sha256-qCMOjSfe7eGIWyomTLiLrLrt/GekmLdlMO2VnPihgI0="; }; postPatch = '' diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix index dad02ea1824f..d7a545bcb592 100644 --- a/pkgs/development/python-modules/hahomematic/default.nix +++ b/pkgs/development/python-modules/hahomematic/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "hahomematic"; - version = "2023.5.0"; + version = "2023.5.1"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "danielperna84"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-4isf3U4Wp5FCQ0zVfmDLK+zkq/IXLFZhiaL6AYRXaRY="; + hash = "sha256-YsvsT1TKAlMGS9F3zDuruXnC/COFbR5ApPFzh+hzQyE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/inquirerpy/default.nix b/pkgs/development/python-modules/inquirerpy/default.nix new file mode 100644 index 000000000000..0ee321232d93 --- /dev/null +++ b/pkgs/development/python-modules/inquirerpy/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, furo +, myst-parser +, pfzy +, poetry-core +, prompt-toolkit +, pytestCheckHook +, pythonOlder +, sphinx +, sphinx-autobuild +, sphinx-copybutton +}: + +buildPythonPackage rec { + pname = "inquirerpy"; + version = "0.3.3"; + format = "pyproject"; + + + src = fetchFromGitHub { + owner = "kazhala"; + repo = "InquirerPy"; + rev = "refs/tags/${version}"; + hash = "sha256-Ktqzxuj4aBHrgjiOyoDLuqbN0FJqwUpoyq3LuqXxt2Y="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + pfzy + prompt-toolkit + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "InquirerPy" + ]; + + disabledTestPaths = [ + # AttributeError: '_GeneratorContextManager' object has no attribute 'close' + "tests/prompts/" + "tests/base/test_simple.py" + "tests/base/test_complex.py" + "tests/base/test_list.py" + ]; + + + meta = with lib; { + description = "Python port of Inquirer.js"; + homepage = "https://github.com/kazhala/InquirerPy"; + changelog = "https://github.com/kazhala/InquirerPy/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix index 799797ba303b..a9baf843076c 100644 --- a/pkgs/development/python-modules/internetarchive/default.nix +++ b/pkgs/development/python-modules/internetarchive/default.nix @@ -1,30 +1,32 @@ -{ buildPythonPackage -, fetchPypi -, pytest -, tqdm +{ lib +, buildPythonPackage , docopt +, fetchFromGitHub +, pytestCheckHook , requests , jsonpatch , schema , responses -, lib -, glibcLocales , setuptools +, tqdm , urllib3 , pythonOlder }: buildPythonPackage rec { pname = "internetarchive"; - version = "3.4.0"; + version = "3.5.0"; - format = "setuptools"; + format = "pyproject"; disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-vrvktAuijBKo3IsMQzUs5EyfwFCFGmvXZ4kCvlbeGWE="; + # no tests data included in PyPI tarball + src = fetchFromGitHub { + owner = "jjjake"; + repo = "internetarchive"; + rev = "v${version}"; + hash = "sha256-apBzx1qMHEA0wiWh82sS7I+AaiMEoAchhPsrtAgujbQ="; }; propagatedBuildInputs = [ @@ -37,16 +39,30 @@ buildPythonPackage rec { urllib3 ]; - nativeCheckInputs = [ pytest responses glibcLocales ]; + nativeCheckInputs = [ + responses + pytestCheckHook + ]; - # tests depend on network - doCheck = false; + disabledTests = [ + # Tests require network access + "test_get_item_with_kwargs" + "test_upload" + "test_upload_metadata" + "test_upload_queue_derive" + "test_upload_validate_identifie" + "test_upload_validate_identifier" + ]; - checkPhase = '' - LC_ALL=en_US.utf-8 pytest tests - ''; + disabledTestPaths = [ + # Tests require network access + "tests/cli/test_ia.py" + "tests/cli/test_ia_download.py" + ]; - pythonImportsCheck = [ "internetarchive" ]; + pythonImportsCheck = [ + "internetarchive" + ]; meta = with lib; { description = "A Python and Command-Line Interface to Archive.org"; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index a8b68bca3f99..8404f8a8eaca 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -53,6 +53,8 @@ , lark , jq , protobuf +, steamship +, pdfminer-six # test dependencies , pytest-vcr , pytest-asyncio @@ -67,7 +69,7 @@ buildPythonPackage rec { pname = "langchain"; - version = "0.0.166"; + version = "0.0.168"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -76,7 +78,7 @@ buildPythonPackage rec { owner = "hwchase17"; repo = "langchain"; rev = "refs/tags/v${version}"; - hash = "sha256-i6CvboYZigky49a7X8RuQH2EfcucJPtEtFEzZxaNJG8="; + hash = "sha256-2L5yFkXr6dioEP1QAMXWX6x+IRbGUIW3cxLLxJJjkMI="; }; postPatch = '' @@ -194,6 +196,8 @@ buildPythonPackage rec { # docarray protobuf # hnswlib + steamship + pdfminer-six ]; }; @@ -210,7 +214,7 @@ buildPythonPackage rec { pytestFlagsArray = [ # integration_tests have many network, db access and require `OPENAI_API_KEY`, etc. - "--ignore=tests/integration_tests" + "tests/unit_tests" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/ledgerwallet/default.nix b/pkgs/development/python-modules/ledgerwallet/default.nix index 6d4687d1e08a..c13f57ffd3f0 100644 --- a/pkgs/development/python-modules/ledgerwallet/default.nix +++ b/pkgs/development/python-modules/ledgerwallet/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , fetchpatch , buildPythonPackage @@ -6,38 +7,43 @@ , click , construct , ecdsa +, flit-core , hidapi , intelhex , pillow -, protobuf +, protobuf3 , requests +, setuptools , tabulate +, toml , AppKit }: buildPythonPackage rec { pname = "ledgerwallet"; - version = "0.1.2"; + version = "0.2.4"; + format = "pyproject"; src = fetchFromGitHub { owner = "LedgerHQ"; repo = "ledgerctl"; rev = "v${version}"; - sha256 = "0fb93h2wxm9as9rsywlgz2ng4wrlbjphn6mgbhj6nls2i86rrdxk"; + hash = "sha256-IcStYYkKEdZxwgJKL8l2Y1BtO/Oncd4aKUAZD8umbHs="; }; - patches = [ - (fetchpatch { - # Fix removed function in construct library - url = "https://github.com/LedgerHQ/ledgerctl/commit/fd23d0e14721b93789071e80632e6bd9e47c1256.patch"; - hash = "sha256-YNlENguPQW5FNFT7mqED+ghF3TJiKao4H+56Eu+j+Eo="; - excludes = [ "setup.py" ]; - }) - ]; - - buildInputs = lib.optionals stdenv.isDarwin [ AppKit ]; + buildInputs = [ flit-core setuptools ] ++ lib.optionals stdenv.isDarwin [ AppKit ]; propagatedBuildInputs = [ - cryptography click construct ecdsa hidapi intelhex pillow protobuf requests tabulate + cryptography + click + construct + ecdsa + hidapi + intelhex + pillow + protobuf3 + requests + tabulate + toml ]; pythonImportsCheck = [ "ledgerwallet" ]; @@ -46,6 +52,6 @@ buildPythonPackage rec { homepage = "https://github.com/LedgerHQ/ledgerctl"; description = "A library to control Ledger devices"; license = licenses.mit; - maintainers = with maintainers; [ d-xo ]; + maintainers = with maintainers; [ d-xo erdnaxe ]; }; } diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix index 9fa13391b6ad..04801eae96eb 100644 --- a/pkgs/development/python-modules/llfuse/default.nix +++ b/pkgs/development/python-modules/llfuse/default.nix @@ -8,23 +8,26 @@ , pkg-config , pytestCheckHook , python +, setuptools , which }: buildPythonPackage rec { pname = "llfuse"; - version = "1.4.2"; + version = "1.4.3"; + + format = "pyproject"; disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "python-llfuse"; repo = "python-llfuse"; - rev = "release-${version}"; - hash = "sha256-TnZnv439fLvg0WM96yx0dPSSz8Mrae6GDC9LiLFrgQ8="; + rev = "refs/tags/release-${version}"; + hash = "sha256-37l6HrAKrXtEhlWTIdlw3L6wCGeOA7IW/aaJn3wf4QY="; }; - nativeBuildInputs = [ cython pkg-config ]; + nativeBuildInputs = [ cython pkg-config setuptools ]; buildInputs = [ fuse ]; @@ -48,6 +51,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python bindings for the low-level FUSE API"; homepage = "https://github.com/python-llfuse/python-llfuse"; + changelog = "https://github.com/python-llfuse/python-llfuse/raw/release-${version}/Changes.rst"; license = licenses.lgpl2Plus; platforms = platforms.unix; maintainers = with maintainers; [ bjornfor dotlambda ]; diff --git a/pkgs/development/python-modules/peft/default.nix b/pkgs/development/python-modules/peft/default.nix index 24a0fe780643..54b93e69f11e 100644 --- a/pkgs/development/python-modules/peft/default.nix +++ b/pkgs/development/python-modules/peft/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "peft"; - version = "0.2.0"; + version = "0.3.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "huggingface"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-NPpY29HMQe5KT0JdlLAXY9MVycDslbP2i38NSTirB3I="; + hash = "sha256-7j//SDuld2ANxEcG4R0rK5vEaTX7gQwWRH56PO2KqAY="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/pfzy/default.nix b/pkgs/development/python-modules/pfzy/default.nix new file mode 100644 index 000000000000..48c084495a69 --- /dev/null +++ b/pkgs/development/python-modules/pfzy/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pfzy"; + version = "0.3.4"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "kazhala"; + repo = "pfzy"; + rev = "refs/tags/${version}"; + hash = "sha256-+Ba/yLUfT0SPPAJd+pKyjSvNrVpEwxW3xEKFx4JzpYk="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + pythonImportsCheck = [ + "pfzy" + ]; + + meta = with lib; { + description = "Python port of the fzy fuzzy string matching algorithm"; + homepage = "https://github.com/kazhala/pfzy"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyp/default.nix b/pkgs/development/python-modules/pyp/default.nix index 74782267dbd7..b9bcb978be85 100644 --- a/pkgs/development/python-modules/pyp/default.nix +++ b/pkgs/development/python-modules/pyp/default.nix @@ -5,6 +5,7 @@ , coreutils , pythonOlder , astunparse +, flit-core , jq , bc }: @@ -12,7 +13,7 @@ buildPythonPackage rec { pname = "pyp"; version = "1.1.0"; - format = "setuptools"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -23,6 +24,10 @@ buildPythonPackage rec { hash = "sha256-A1Ip41kxH17BakHEWEuymfa24eBEl5FIHAWL+iZFM4I="; }; + nativeBuildInputs = [ + flit-core + ]; + propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [ astunparse ]; diff --git a/pkgs/development/python-modules/pysml/default.nix b/pkgs/development/python-modules/pysml/default.nix index 2719f2aef3a9..c27198a26ae1 100644 --- a/pkgs/development/python-modules/pysml/default.nix +++ b/pkgs/development/python-modules/pysml/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pysml"; - version = "0.0.10"; + version = "0.0.11"; format = "pyproject"; src = fetchFromGitHub { owner = "mtdcr"; repo = pname; rev = version; - hash = "sha256-vC4iff38WCcdUQITPmxC0XlrA83zCNLTDGgyyXivLEY="; + hash = "sha256-RPDYh5h885/FiU2vsDpCGd8yWXNNIEpjAu6w8QXTxAA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix index 68edd7b9ede7..a3257131ac1a 100644 --- a/pkgs/development/python-modules/pytensor/default.nix +++ b/pkgs/development/python-modules/pytensor/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "pytensor"; - version = "2.10.1"; + version = "2.11.3"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "pymc-devs"; repo = pname; rev = "refs/tags/rel-${version}"; - hash = "sha256-sk/HGfiiNKrgnf5fPaxoOySvAEpnAXnLFmK0yah51ww="; + hash = "sha256-4GDur8S19i8pZkywKHZUelmd2e0jZmC5HzF7o2esDl4="; }; nativeBuildInputs = [ @@ -72,8 +72,10 @@ buildPythonPackage rec { disabledTests = [ # benchmarks (require pytest-benchmark): "test_elemwise_speed" + "test_fused_elemwise_benchmark" "test_logsumexp_benchmark" "test_scan_multiple_output" + "test_vector_taps_benchmark" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/python-ironicclient/default.nix b/pkgs/development/python-modules/python-ironicclient/default.nix index 9d3823957d87..4dbeb88bdd28 100644 --- a/pkgs/development/python-modules/python-ironicclient/default.nix +++ b/pkgs/development/python-modules/python-ironicclient/default.nix @@ -20,11 +20,11 @@ buildPythonPackage rec { pname = "python-ironicclient"; - version = "5.1.0"; + version = "5.2.0"; src = fetchPypi { inherit pname version; - hash = "sha256-yYmzZuwZSasN6g6Bosivexe5oOy3dP+l/cD5TkXC87g="; + hash = "sha256-bnWUfNIx85vSV0P5zcI7syjP0+wTXYDmC8wiuInjGfc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix index 18df3e4d5655..a6e42d2369b6 100644 --- a/pkgs/development/python-modules/python-mapnik/default.nix +++ b/pkgs/development/python-modules/python-mapnik/default.nix @@ -8,7 +8,7 @@ , pillow , pycairo , pkg-config -, boost +, boost182 , cairo , harfbuzz , icu @@ -23,6 +23,7 @@ , sqlite , nose , pytestCheckHook +, stdenv }: buildPythonPackage rec { @@ -60,7 +61,7 @@ buildPythonPackage rec { buildInputs = [ mapnik - boost + boost182 cairo harfbuzz icu @@ -98,6 +99,9 @@ buildPythonPackage rec { preCheck = '' # import from $out rm -r mapnik + '' + lib.optionalString stdenv.isDarwin '' + # Replace the hardcoded /tmp references with $TMPDIR + sed -i "s,/tmp,$TMPDIR,g" test/python_tests/*.py ''; # https://github.com/mapnik/python-mapnik/issues/255 @@ -106,6 +110,7 @@ buildPythonPackage rec { "test_compare_map" "test_dataraster_coloring" "test_dataraster_query_point" + "test_geometry_type" "test_good_files" "test_layer_init" "test_load_save_map" @@ -128,6 +133,8 @@ buildPythonPackage rec { "test_visual_zoom_all_rendering1" "test_visual_zoom_all_rendering2" "test_wgs84_inverse_forward" + ] ++ lib.optional stdenv.isDarwin [ + "test_passing_pycairo_context_pdf" ]; pythonImportsCheck = [ "mapnik" ]; diff --git a/pkgs/development/python-modules/scikit-fuzzy/default.nix b/pkgs/development/python-modules/scikit-fuzzy/default.nix index 6d44cf0a37c7..dbb5d2044e21 100644 --- a/pkgs/development/python-modules/scikit-fuzzy/default.nix +++ b/pkgs/development/python-modules/scikit-fuzzy/default.nix @@ -1,6 +1,6 @@ { lib , buildPythonPackage -, isPy27 +, pythonOlder , fetchFromGitHub , matplotlib , networkx @@ -13,7 +13,9 @@ buildPythonPackage rec { pname = "scikit-fuzzy"; version = "unstable-2022-11-07"; - disabled = isPy27; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = pname; @@ -25,6 +27,9 @@ buildPythonPackage rec { propagatedBuildInputs = [ networkx numpy scipy ]; nativeCheckInputs = [ matplotlib nose pytestCheckHook ]; + # numpy API breakage: "AttributeError: module 'numpy' has no attribute 'float'" + disabledTests = [ "test_fuzzy_compare" ]; + pythonImportsCheck = [ "skfuzzy" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/steamship/default.nix b/pkgs/development/python-modules/steamship/default.nix new file mode 100644 index 000000000000..59c3b8ae8eef --- /dev/null +++ b/pkgs/development/python-modules/steamship/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools-scm +, pythonRelaxDepsHook +, requests +, pydantic +, aiohttp +, inflection +, fluent-logger +, toml +, click +, semver +, tiktoken +}: + +buildPythonPackage rec { + pname = "steamship"; + version = "2.16.9"; + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-NHMrReRw8x7N7vy8BqmKx9fDfQYjlOWY7ChdLz+qGxQ="; + }; + + pythonRelaxDeps = [ + "requests" + ]; + + nativeBuildInputs = [ + setuptools-scm + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = [ + requests + pydantic + aiohttp + inflection + fluent-logger + toml + click + semver + tiktoken + ]; + + # almost all tests require "steamship api key" + doCheck = false; + + pythonImportsCheck = [ + "steamship" + ]; + + meta = with lib; { + description = "The fastest way to add language AI to your product"; + homepage = "https://www.steamship.com/"; + changelog = "https://github.com/steamship-core/python-client/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index 8deba357004e..a712f0078b9a 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -29,14 +29,14 @@ buildPythonPackage rec { pname = "thinc"; - version = "8.1.8"; + version = "8.1.10"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-NcZXy+2wT8W8JHhl1mWSHOw9Ve81+/zj7hogSGtyBoM="; + hash = "sha256-bEpI19oH4EToSmjLubIvMvhJCZWiurC/xg5BLRSvuZE="; }; buildInputs = [ diff --git a/pkgs/development/python-modules/transmission-rpc/default.nix b/pkgs/development/python-modules/transmission-rpc/default.nix index c46df1afc882..295989c8772f 100644 --- a/pkgs/development/python-modules/transmission-rpc/default.nix +++ b/pkgs/development/python-modules/transmission-rpc/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "transmission-rpc"; - version = "4.2.1"; + version = "4.2.2"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "Trim21"; repo = "transmission-rpc"; rev = "refs/tags/v${version}"; - hash = "sha256-+NjJscLRGNSDmyrOMjwUMtJPVz2N32Cy80Q3iu33QJc="; + hash = "sha256-8gNGBfU7k2SvpNqRGkT9BXyAyKizUCXY8Unuqw5IICE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/troposphere/default.nix b/pkgs/development/python-modules/troposphere/default.nix index 3c659055f6f4..567c2dec60e2 100644 --- a/pkgs/development/python-modules/troposphere/default.nix +++ b/pkgs/development/python-modules/troposphere/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "troposphere"; - version = "4.3.0"; + version = "4.3.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "cloudtools"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-YciNwiLb/1fUYmlWtDRaJgtkgJi1mMt2FgeJKQi9yRg="; + hash = "sha256-8vIpwZBUdU9gD1Ya0+L1phMDMcAABtuyRx4quDfQWGA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/weaviate-client/default.nix b/pkgs/development/python-modules/weaviate-client/default.nix index da0e6348024e..50cca6436cb4 100644 --- a/pkgs/development/python-modules/weaviate-client/default.nix +++ b/pkgs/development/python-modules/weaviate-client/default.nix @@ -1,26 +1,53 @@ -{ lib, buildPythonPackage, fetchPypi, authlib, tqdm, validators }: +{ lib +, authlib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +, tqdm +, validators +}: buildPythonPackage rec { pname = "weaviate-client"; version = "3.18.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; hash = "sha256-QjpSZRijJQXFKTMo5fJS5su/IOSzEkcz9w0Q/A1oI8k="; }; + SETUPTOOLS_SCM_PRETEND_VERSION = version; + postPatch = '' substituteInPlace setup.cfg \ - --replace "validators>=0.18.2,<0.20.0" "validators>=0.18.2,<0.21.0" + --replace "validators>=0.18.2,<0.20.0" "validators>=0.18.2" \ + --replace "requests>=2.28.0,<2.29.0" "requests>=2.28.0" ''; - propagatedBuildInputs = [ authlib tqdm validators ]; + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + authlib + tqdm + validators + ]; doCheck = false; + pythonImportsCheck = [ + "weaviate" + ]; + meta = with lib; { + description = "Python native client for easy interaction with a Weaviate instance"; homepage = "https://github.com/weaviate/weaviate-python-client"; - description = "A python native client for easy interaction with a Weaviate instance."; + changelog = "https://github.com/weaviate/weaviate-python-client/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ happysalada ]; }; diff --git a/pkgs/development/tools/boomerang/default.nix b/pkgs/development/tools/boomerang/default.nix index b37ab9a2d3f9..0e67ab90c523 100644 --- a/pkgs/development/tools/boomerang/default.nix +++ b/pkgs/development/tools/boomerang/default.nix @@ -14,6 +14,11 @@ mkDerivation rec { sha256 = "0xncdp0z8ry4lkzmvbj5d7hlzikivghpwicgywlv47spgh8ny0ix"; }; + # Boomerang usually compiles with -Werror but has not been updated for newer + # compilers. Disable -Werror for now. Consider trying to remove this when + # updating this derivation. + NIX_CFLAGS_COMPILE = "-Wno-error"; + nativeBuildInputs = [ cmake bison flex ]; buildInputs = [ qtbase capstone ]; patches = [ diff --git a/pkgs/development/tools/bundletool/default.nix b/pkgs/development/tools/bundletool/default.nix index 45fc01e08037..d08c812690d1 100644 --- a/pkgs/development/tools/bundletool/default.nix +++ b/pkgs/development/tools/bundletool/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "bundletool"; - version = "1.14.1"; + version = "1.15.0"; src = fetchurl { url = "https://github.com/google/bundletool/releases/download/${version}/bundletool-all-${version}.jar"; - sha256 = "sha256-L3j5yNBZ2xx+pKxv+yUnRmrwODjRULcPS3f+fe78oBE="; + sha256 = "sha256-FOeyaOF1wagy0WlaHPRsXH4GlJCT5u+3qDxk16JS9/g="; }; dontUnpack = true; diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix index 6891966507a3..c6c548414af3 100644 --- a/pkgs/development/tools/frugal/default.nix +++ b/pkgs/development/tools/frugal/default.nix @@ -2,18 +2,18 @@ buildGoModule rec { pname = "frugal"; - version = "3.16.18"; + version = "3.16.19"; src = fetchFromGitHub { owner = "Workiva"; repo = pname; rev = "v${version}"; - sha256 = "sha256-fIEHv0xO/dXof6ED99uCC0y8dF9fBkK5FFtvpoIfbKk="; + sha256 = "sha256-PEWjZeFIEfnAGVsv+oyF4R08FI+LzKBWlrlBmiXhJCQ="; }; subPackages = [ "." ]; - vendorHash = "sha256-vSUyxjVAmOKh4kcNoC25cDZEuparsJ7FDIslzOy8CNo="; + vendorHash = "sha256-OnPQZk+VpOx97mSNRx9lGtC03OXGGz9JwUSZYX0Ofkc="; meta = with lib; { description = "Thrift improved"; diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix index e54df39b8bc1..167775e9eb2e 100644 --- a/pkgs/development/tools/gotools/default.nix +++ b/pkgs/development/tools/gotools/default.nix @@ -9,13 +9,16 @@ buildGoModule rec { owner = "golang"; repo = "tools"; rev = "v${version}"; + sha256 = "sha256-z5XJ7tflOfDBtv4rp7WEjnHsXIyjNw205PhazEvaYcw="; + }; + + postPatch = '' # The gopls folder contains a Go submodule which causes a build failure # and lives in its own package named gopls. - postFetch = '' - rm -r $out/gopls - ''; - sha256 = "sha256-6Sdo6oKJHYXWkvJmbte7Wc7tov5AHzn70Bi1QdQ5HR4="; - }; + rm -r gopls + # getgo is an experimental go installer which adds generic named server and client binaries to $out/bin + rm -r cmd/getgo + ''; vendorSha256 = "sha256-fp0pb3EcGRDWlSpgel4pYRdsPJGk8/d57EjWJ+fzq7g="; diff --git a/pkgs/development/tools/language-servers/pylyzer/default.nix b/pkgs/development/tools/language-servers/pylyzer/default.nix index 3e5dabbf9bff..38a138340fc9 100644 --- a/pkgs/development/tools/language-servers/pylyzer/default.nix +++ b/pkgs/development/tools/language-servers/pylyzer/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "pylyzer"; - version = "0.0.26"; + version = "0.0.27"; src = fetchFromGitHub { owner = "mtshiba"; repo = "pylyzer"; rev = "v${version}"; - hash = "sha256-ZEmTSSYHQWk0IVJXlrtGb+j2hbb9ZtDLCtajOR7BMoU="; + hash = "sha256-RtfRYycHSDaOE71tTtChdMJKyRyTqracHw4p94heFwU="; }; - cargoHash = "sha256-/QMzPvLcAjpai2YX58+YM/+KhYZRuK59hPYAEHeTTa4="; + cargoHash = "sha256-Ggvcg96j9LlhDy0BMJzNDXE1Qtf04svt2ezXmkq3aUA="; nativeBuildInputs = [ git diff --git a/pkgs/development/tools/misc/strace-analyzer/default.nix b/pkgs/development/tools/misc/strace-analyzer/default.nix index a4de71138d9e..8670d9b2f8fe 100644 --- a/pkgs/development/tools/misc/strace-analyzer/default.nix +++ b/pkgs/development/tools/misc/strace-analyzer/default.nix @@ -2,6 +2,7 @@ , rustPlatform , fetchFromGitHub , strace +, stdenv }: rustPlatform.buildRustPackage rec { @@ -19,6 +20,11 @@ rustPlatform.buildRustPackage rec { nativeCheckInputs = [ strace ]; + checkFlags = lib.optionals stdenv.isAarch64 [ + # thread 'analysis::tests::analyze_dd' panicked at 'assertion failed: ...' + "--skip=analysis::tests::analyze_dd" + ]; + meta = with lib; { description = "Analyzes strace output"; homepage = "https://github.com/wookietreiber/strace-analyzer"; diff --git a/pkgs/development/tools/rome/default.nix b/pkgs/development/tools/rome/default.nix new file mode 100644 index 000000000000..9dd2b7067a0f --- /dev/null +++ b/pkgs/development/tools/rome/default.nix @@ -0,0 +1,53 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "rome"; + version = "12.1.0"; + + src = fetchFromGitHub { + owner = "rome"; + repo = "tools"; + rev = "cli/v${version}"; + hash = "sha256-XORu6c/9jrRObdM3qAGszhiUjo88NTzrTyrITuHyd/4="; + }; + + cargoHash = "sha256-75r280PMM1zDrqRmhuaU++5aZSCxeyqjHQls8pTzOgQ="; + + cargoBuildFlags = [ "--package" "rome_cli" ]; + + env = { + RUSTFLAGS = "-C strip=symbols"; + ROME_VERSION = "${version}"; + }; + + buildInputs = + lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + + nativeBuildInputs = [ pkg-config ]; + + # need to manually unset the ROME_VERSION before checkPhase otherwise some tests fail + preCheck = '' + unset ROME_VERSION; + ''; + + # these test fail + checkFlags = [ + "--skip parser::tests::uncompleted_markers_panic" + "--skip commands::check::fs_error_infinite_symlink_exapansion" + "--skip commands::check::fs_error_dereferenced_symlink" + ]; + + meta = with lib; { + description = "A formatter, linter, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS"; + homepage = "https://rome.tools"; + changelog = "https://github.com/rome/tools/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ dit7ya felschr ]; + }; +} diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix index 2cbf1e7f2a5f..ca3d800f3402 100644 --- a/pkgs/development/tools/rust/cargo-expand/default.nix +++ b/pkgs/development/tools/rust/cargo-expand/default.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-expand"; - version = "1.0.48"; + version = "1.0.49"; src = fetchFromGitHub { owner = "dtolnay"; repo = pname; rev = version; - sha256 = "sha256-AdL14usCV4iHkrSHcNI6Jg8xeI3ZQxOABLCOCBd+Isw="; + sha256 = "sha256-bytGq95E8Ku+rF+al8WJdx991qudh3/sC9DxwluwmZc="; }; - cargoHash = "sha256-7sMKstWRAXFqBaEBLbetGH0l+9N4PchZ4IYshjmtxns="; + cargoHash = "sha256-zIBTgIbUoUtQ4yboiW3jIprfNTOfFdg7sEgrwdMRsX8="; meta = with lib; { description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code"; diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix index 5f56b8211b18..f4f236aa5c84 100644 --- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix +++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-semver-checks"; - version = "0.20.0"; + version = "0.20.1"; src = fetchFromGitHub { owner = "obi1kenobi"; repo = pname; rev = "v${version}"; - sha256 = "sha256-z7mDGWU498KU6lEHqLhl0HdTA55Wz3RbZOlF6g1gwN4="; + sha256 = "sha256-pDyF8KCgAhugzTuMSVqfCda5kRAvJwR+OF+G+ZfjeDo="; }; - cargoSha256 = "sha256-JQdL4D6ECH8wLOCcAGm7HomJAfJD838KfI4/IRAeqD0="; + cargoSha256 = "sha256-zbraVGjEayJJcBH9/GVnTcQGLcNgxaRhbgdJeHCGEEo="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/rust/cargo2junit/default.nix b/pkgs/development/tools/rust/cargo2junit/default.nix index 17427e336c0b..dd65d2422a3c 100644 --- a/pkgs/development/tools/rust/cargo2junit/default.nix +++ b/pkgs/development/tools/rust/cargo2junit/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo2junit"; - version = "0.1.12"; + version = "0.1.13"; src = fetchCrate { inherit pname version; - sha256 = "sha256-wF1vDUVEume6aWzI5smTNlwc9WyZeTtUX416tYYrZPU="; + sha256 = "sha256-R3a87nXCnGhdeyR7409hFR5Cj3TFUWqaLNOtlXPsvto="; }; - cargoSha256 = "sha256-GUCHWV+uPHZwhU4UhdXE2GHpeVnqbUTpfivA9Nh9MoY="; + cargoHash = "sha256-u5Pd967qxjqFl9fV/KkClLDBwKql7p66WqbIVBvWKuM="; meta = with lib; { description = "Converts cargo's json output (from stdin) to JUnit XML (to stdout)."; diff --git a/pkgs/development/tools/sq/default.nix b/pkgs/development/tools/sq/default.nix index dd5931f514e1..d5be7ed0a286 100644 --- a/pkgs/development/tools/sq/default.nix +++ b/pkgs/development/tools/sq/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "sq"; - version = "0.33.0"; + version = "0.35.0"; src = fetchFromGitHub { owner = "neilotoole"; repo = pname; rev = "v${version}"; - sha256 = "sha256-1I6adQLbVx4Gj9rdocpEPyQagEpaI4a4sHUaSyntyGI="; + sha256 = "sha256-yCV/vn6c1FeHhPM+YCS6tr8M45SZiytrDjdocKVJ5Mk="; }; - vendorHash = "sha256-e14qz4KTD2aAl1G5wj2/T0cxocvscj0r+c8So+omA38="; + vendorHash = "sha256-SOnYK9JtP1V8Y6/GszU26kYM1e2xupBmHsJrVpRT2vc="; proxyVendor = true; diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix index 673c3dbbdad5..5c71762bd386 100644 --- a/pkgs/development/tools/wabt/default.nix +++ b/pkgs/development/tools/wabt/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "wabt"; - version = "1.0.32"; + version = "1.0.33"; src = fetchFromGitHub { owner = "WebAssembly"; repo = "wabt"; rev = version; - sha256 = "sha256-kLPs/9tQtvUEOGsLtnK0uqJnCWTHR6JU7BCwtFEmIlQ="; + sha256 = "sha256-zSgV+lrNpQcR+V6Icyf3cPMeAdRDfsL2EErF8pxev5c="; fetchSubmodules = true; }; diff --git a/pkgs/development/web/function-runner/default.nix b/pkgs/development/web/function-runner/default.nix index 8ccc566c9bb0..3ffd2492129e 100644 --- a/pkgs/development/web/function-runner/default.nix +++ b/pkgs/development/web/function-runner/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "function-runner"; - version = "3.3.1"; + version = "3.4.0"; src = fetchFromGitHub { owner = "Shopify"; repo = pname; rev = "v${version}"; - sha256 = "sha256-bks73G9oZgZpkSbrRWD34+UcFOMkJJa4qkJIQxcx/Ao="; + sha256 = "sha256-oQtob1ugjMl8HoaHg9/2fhq8JG0xPU1Ht4OiSLOa96I="; }; - cargoHash = "sha256-V0lr1gqn8w4MrHQO5UVxUl+OdK/ODutAr+nMYHc+4hQ="; + cargoHash = "sha256-sUIbPW9lWirJUxy2AHENbPXYTQ1lkCtH4LyQ2pD4yXI="; meta = with lib; { description = "A CLI tool which allows you to run Wasm Functions intended for the Shopify Functions infrastructure"; diff --git a/pkgs/games/fheroes2/default.nix b/pkgs/games/fheroes2/default.nix index baa08a7dcd31..f61983a2c737 100644 --- a/pkgs/games/fheroes2/default.nix +++ b/pkgs/games/fheroes2/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "fheroes2"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { owner = "ihhub"; repo = "fheroes2"; rev = version; - sha256 = "sha256-msFuBKG/uuXxOcPf0KT3TWOiQrQ4rYHFxOcJ56QBkEU="; + sha256 = "sha256-+XlOx5gIQzYru2CwWKqTSdIlxuNfiUjDEsnvP6kDUYg="; }; nativeBuildInputs = [ imagemagick ]; diff --git a/pkgs/games/infra-arcana/default.nix b/pkgs/games/infra-arcana/default.nix index e48c69a2cf33..4e80ad3e4d13 100644 --- a/pkgs/games/infra-arcana/default.nix +++ b/pkgs/games/infra-arcana/default.nix @@ -1,31 +1,20 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, makeWrapper -, SDL2 -, SDL2_image -, SDL2_mixer +{ lib, stdenv, fetchFromGitLab, cmake, makeWrapper, SDL2, SDL2_image, SDL2_mixer }: stdenv.mkDerivation rec { pname = "infra-arcana"; - version = "21.0.1"; + version = "22.0.0"; src = fetchFromGitLab { owner = "martin-tornqvist"; repo = "ia"; rev = "v${version}"; - sha256 = "sha256-E2ssxdYa27qRk5cCmM7A5VqXGExwXHblR34y+rOUBRI="; + sha256 = "sha256-EFpeuzxhRriQOBtmw0D+SY6sOWGyY8iA5Xnm6PCaMX0="; }; nativeBuildInputs = [ cmake makeWrapper ]; buildInputs = [ SDL2 SDL2_image SDL2_mixer ]; - # Some parts of the game don't compile with glibc 2.34. As soon as - # this is fixed upstream we can switch to the default build flags. - buildFlags = [ "ia" ]; - installPhase = '' runHook preInstall @@ -35,7 +24,7 @@ stdenv.mkDerivation rec { rm -rf CMake* cmake* compile_commands.json CTest* Makefile cp -ra * $out/opt/ia - # Uses relative paths when looking for assets + # IA uses relative paths when looking for assets wrapProgram $out/opt/ia/ia --run "cd $out/opt/ia" ln -s $out/opt/ia/ia $out/bin/infra-arcana diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix index 816cd10ccfe7..ad433de83661 100644 --- a/pkgs/games/mindustry/default.nix +++ b/pkgs/games/mindustry/default.nix @@ -15,6 +15,7 @@ , alsa-lib , alsa-plugins , glew +, glew-egl # for soloud , libpulseaudio ? null @@ -30,6 +31,8 @@ , makeBuildVersion ? (v: v) , enableClient ? true , enableServer ? true + +, enableWayland ? false }: let @@ -37,6 +40,8 @@ let version = "143.1"; buildVersion = makeBuildVersion version; + selectedGlew = if enableWayland then glew-egl else glew; + Mindustry = fetchFromGitHub { owner = "Anuken"; repo = "Mindustry"; @@ -139,7 +144,7 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals enableClient [ SDL2 - glew + selectedGlew alsa-lib ]; nativeBuildInputs = [ @@ -171,7 +176,7 @@ stdenv.mkDerivation rec { pushd ../Arc gradle --offline --no-daemon jnigenBuild -Pbuildversion=${buildVersion} gradle --offline --no-daemon jnigenJarNativesDesktop -Pbuildversion=${buildVersion} - glewlib=${lib.getLib glew}/lib/libGLEW.so + glewlib=${lib.getLib selectedGlew}/lib/libGLEW.so sdllib=${lib.getLib SDL2}/lib/libSDL2.so patchelf backends/backend-sdl/libs/linux64/libsdl-arc*.so \ --add-needed $glewlib \ @@ -194,7 +199,10 @@ stdenv.mkDerivation rec { makeWrapper ${jdk}/bin/java $out/bin/mindustry \ --add-flags "-jar $out/share/mindustry.jar" \ --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libpulseaudio alsa-lib libjack2]} \ - --set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/ + --set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/'' + optionalString enableWayland '' \ + --set SDL_VIDEODRIVER wayland \ + --set SDL_VIDEO_WAYLAND_WMCLASS Mindustry + '' + '' # Retain runtime depends to prevent them from being cleaned up. # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there, @@ -202,7 +210,7 @@ stdenv.mkDerivation rec { # This can cause issues. # See https://github.com/NixOS/nixpkgs/issues/109798. echo "# Retained runtime dependencies: " >> $out/bin/mindustry - for dep in ${SDL2.out} ${alsa-lib.out} ${glew.out}; do + for dep in ${SDL2.out} ${alsa-lib.out} ${selectedGlew.out}; do echo "# $dep" >> $out/bin/mindustry done diff --git a/pkgs/games/pokete/default.nix b/pkgs/games/pokete/default.nix index c11e65ad6357..73ff661e9d09 100644 --- a/pkgs/games/pokete/default.nix +++ b/pkgs/games/pokete/default.nix @@ -3,11 +3,12 @@ , fetchFromGitHub , testers , pokete +, faketty }: python3.pkgs.buildPythonApplication rec { pname = "pokete"; - version = "0.9.0"; + version = "0.9.1"; format = "other"; @@ -15,7 +16,7 @@ python3.pkgs.buildPythonApplication rec { owner = "lxgr-linux"; repo = "pokete"; rev = "refs/tags/${version}"; - sha256 = "sha256-55BqUSZJPDz5g1FTdkuWa9wcsrLwh6YagD5bQ9ZpQv4="; + sha256 = "sha256-T18908Einsgful8hYMVHl0cL4sIYFvhpy0MbLIcVhxs="; }; pythonPath = with python3.pkgs; [ @@ -41,7 +42,8 @@ python3.pkgs.buildPythonApplication rec { passthru.tests = { pokete-version = testers.testVersion { package = pokete; - command = "pokete --help"; + command = "${faketty}/bin/faketty pokete --help"; + version = "v${version}"; }; }; diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix index c9d35a08dc23..eb214752df84 100644 --- a/pkgs/games/soi/default.nix +++ b/pkgs/games/soi/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DEIGEN_INCLUDE_DIR=${eigen2}/include/eigen2" + "-DLUABIND_LIBRARY=${luabind}/lib/libluabind09.a" ]; meta = with lib; { diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 4a122922115c..3520f1bd5cfc 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -315,6 +315,7 @@ let DRM_AMD_DC_DCN2_1 = whenBetween "5.4" "5.6" yes; DRM_AMD_DC_DCN3_0 = whenBetween "5.9" "5.11" yes; DRM_AMD_DC_DCN = whenBetween "5.11" "6.4" yes; + DRM_AMD_DC_FP = whenAtLeast "6.4" yes; DRM_AMD_DC_HDCP = whenBetween "5.5" "6.4" yes; DRM_AMD_DC_SI = whenAtLeast "5.10" yes; } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { diff --git a/pkgs/os-specific/linux/kvdo/default.nix b/pkgs/os-specific/linux/kvdo/default.nix index 7e7c765bd819..e2390b68a5ca 100644 --- a/pkgs/os-specific/linux/kvdo/default.nix +++ b/pkgs/os-specific/linux/kvdo/default.nix @@ -1,16 +1,19 @@ { stdenv, lib, fetchFromGitHub, vdo, kernel }: stdenv.mkDerivation rec { - inherit (vdo) version; + inherit (vdo); pname = "kvdo"; + version = "8.2.1.6"; # bump this version with vdo src = fetchFromGitHub { owner = "dm-vdo"; repo = "kvdo"; rev = version; - hash = "sha256-4FYTFUIvGjea3bh2GbQYG7hSswVDdNS3S+jWQ9+inpg="; + hash = "sha256-S5r2Rgx5pWk4IsdIwmfZkuGL/oEQ3prquyVqxjR3cO0="; }; + nativeBuildInputs = kernel.moduleBuildDependencies; + dontConfigure = true; enableParallelBuilding = true; @@ -19,7 +22,7 @@ stdenv.mkDerivation rec { preBuild = '' makeFlags="$makeFlags -C ${KSRC} M=$(pwd)" -''; + ''; installTargets = [ "modules_install" ]; meta = with lib; { @@ -27,6 +30,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/dm-vdo/kvdo"; description = "A pair of kernel modules which provide pools of deduplicated and/or compressed block storage"; platforms = platforms.linux; - broken = kernel.kernelOlder "5.15" || kernel.kernelAtLeast "5.17"; + broken = kernel.kernelOlder "5.15"; }; } diff --git a/pkgs/os-specific/linux/vdo/default.nix b/pkgs/os-specific/linux/vdo/default.nix index d9033e65876b..ec953d25ec1f 100644 --- a/pkgs/os-specific/linux/vdo/default.nix +++ b/pkgs/os-specific/linux/vdo/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "vdo"; - version = "8.2.0.2"; # kvdo uses this! + version = "8.2.0.2"; # bump this version with kvdo src = fetchFromGitHub { owner = "dm-vdo"; diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix deleted file mode 100644 index de4f531a2f2d..000000000000 --- a/pkgs/os-specific/linux/zfs/default.nix +++ /dev/null @@ -1,270 +0,0 @@ -{ pkgs, lib, stdenv, fetchFromGitHub, fetchpatch -, autoreconfHook269, util-linux, nukeReferences, coreutils -, perl, nixosTests -, configFile ? "all" - -# Userspace dependencies -, zlib, libuuid, python3, attr, openssl -, libtirpc -, nfs-utils, samba -, gawk, gnugrep, gnused, systemd -, smartmontools, enableMail ? false -, sysstat, pkg-config -, curl - -# Kernel dependencies -, kernel ? null -, enablePython ? true - -# for determining the latest compatible linuxPackages -, linuxPackages_6_1 ? pkgs.linuxKernel.packages.linux_6_1 -, linuxPackages_6_2 ? pkgs.linuxKernel.packages.linux_6_2 -}: - -let - inherit (lib) any optionalString optionals optional makeBinPath; - - smartmon = smartmontools.override { inherit enableMail; }; - - buildKernel = any (n: n == configFile) [ "kernel" "all" ]; - buildUser = any (n: n == configFile) [ "user" "all" ]; - - # XXX: You always want to build kernel modules with the same stdenv as the - # kernel was built with. However, since zfs can also be built for userspace we - # need to correctly pick between the provided/default stdenv, and the one used - # by the kernel. - # If you don't do this your ZFS builds will fail on any non-standard (e.g. - # clang-built) kernels. - stdenv' = if kernel == null then stdenv else kernel.stdenv; - - common = { version - , sha256 - , extraPatches ? [] - , rev ? "zfs-${version}" - , isUnstable ? false - , latestCompatibleLinuxPackages - , kernelCompatible ? null }: - - stdenv'.mkDerivation { - name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; - - src = fetchFromGitHub { - owner = "openzfs"; - repo = "zfs"; - inherit rev sha256; - }; - - patches = [ - (fetchpatch { - name = "musl.patch"; - url = "https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a.patch"; - sha256 = "XEaK227ubfOwlB2s851UvZ6xp/QOtYUWYsKTkEHzmo0="; - }) - ] ++ extraPatches; - - postPatch = optionalString buildKernel '' - patchShebangs scripts - # The arrays must remain the same length, so we repeat a flag that is - # already part of the command and therefore has no effect. - substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ - --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ - --replace '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' - '' + optionalString buildUser '' - substituteInPlace ./lib/libshare/os/linux/nfs.c --replace "/usr/sbin/exportfs" "${ - # We don't *need* python support, but we set it like this to minimize closure size: - # If it's disabled by default, no need to enable it, even if we have python enabled - # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure - nfs-utils.override (old: { enablePython = old.enablePython or true && enablePython; }) - }/bin/exportfs" - substituteInPlace ./lib/libshare/smb.h --replace "/usr/bin/net" "${samba}/bin/net" - # Disable dynamic loading of libcurl - substituteInPlace ./config/user-libfetch.m4 --replace "curl-config --built-shared" "true" - substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" - substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" \ - --replace "/etc/default" "$out/etc/default" - substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - - substituteInPlace ./contrib/initramfs/hooks/Makefile.am \ - --replace "/usr/share/initramfs-tools/hooks" "$out/usr/share/initramfs-tools/hooks" - substituteInPlace ./contrib/initramfs/Makefile.am \ - --replace "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools" - substituteInPlace ./contrib/initramfs/scripts/Makefile.am \ - --replace "/usr/share/initramfs-tools/scripts" "$out/usr/share/initramfs-tools/scripts" - substituteInPlace ./contrib/initramfs/scripts/local-top/Makefile.am \ - --replace "/usr/share/initramfs-tools/scripts/local-top" "$out/usr/share/initramfs-tools/scripts/local-top" - substituteInPlace ./contrib/initramfs/scripts/Makefile.am \ - --replace "/usr/share/initramfs-tools/scripts" "$out/usr/share/initramfs-tools/scripts" - substituteInPlace ./contrib/initramfs/scripts/local-top/Makefile.am \ - --replace "/usr/share/initramfs-tools/scripts/local-top" "$out/usr/share/initramfs-tools/scripts/local-top" - substituteInPlace ./etc/systemd/system/Makefile.am \ - --replace '$(DESTDIR)$(systemdunitdir)' "$out"'$(DESTDIR)$(systemdunitdir)' - - substituteInPlace ./contrib/initramfs/conf.d/Makefile.am \ - --replace "/usr/share/initramfs-tools/conf.d" "$out/usr/share/initramfs-tools/conf.d" - substituteInPlace ./contrib/initramfs/conf-hooks.d/Makefile.am \ - --replace "/usr/share/initramfs-tools/conf-hooks.d" "$out/usr/share/initramfs-tools/conf-hooks.d" - - substituteInPlace ./cmd/vdev_id/vdev_id \ - --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ - "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" - ''; - - nativeBuildInputs = [ autoreconfHook269 nukeReferences ] - ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) - ++ optional buildUser pkg-config; - buildInputs = optionals buildUser [ zlib libuuid attr libtirpc ] - ++ optional buildUser openssl - ++ optional buildUser curl - ++ optional (buildUser && enablePython) python3; - - # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work - NIX_CFLAGS_LINK = "-lgcc_s"; - - hardeningDisable = [ "fortify" "stackprotector" "pic" ]; - - configureFlags = [ - "--with-config=${configFile}" - "--with-tirpc=1" - (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter) - ] ++ optionals buildUser [ - "--with-dracutdir=$(out)/lib/dracut" - "--with-udevdir=$(out)/lib/udev" - "--with-systemdunitdir=$(out)/etc/systemd/system" - "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" - "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" - "--with-mounthelperdir=$(out)/bin" - "--libexecdir=$(out)/libexec" - "--sysconfdir=/etc" - "--localstatedir=/var" - "--enable-systemd" - ] ++ optionals buildKernel ([ - "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" - "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ] ++ kernel.makeFlags); - - makeFlags = optionals buildKernel kernel.makeFlags; - - enableParallelBuilding = true; - - installFlags = [ - "sysconfdir=\${out}/etc" - "DEFAULT_INITCONF_DIR=\${out}/default" - "INSTALL_MOD_PATH=\${out}" - ]; - - # Enabling BTF causes zfs to be build with debug symbols. - # Since zfs compress kernel modules on installation, our strip hooks skip stripping them. - # Hence we strip modules prior to compression. - postBuild = optionalString buildKernel '' - find . -name "*.ko" -print0 | xargs -0 -P$NIX_BUILD_CORES ${stdenv.cc.targetPrefix}strip --strip-debug - ''; - - postInstall = optionalString buildKernel '' - # Add reference that cannot be detected due to compressed kernel module - mkdir -p "$out/nix-support" - echo "${util-linux}" >> "$out/nix-support/extra-refs" - '' + optionalString buildUser '' - # Remove provided services as they are buggy - rm $out/etc/systemd/system/zfs-import-*.service - - sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/* - - for i in $out/etc/systemd/system/*; do - substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" - done - - # Remove tests because they add a runtime dependency on gcc - rm -rf $out/share/zfs/zfs-tests - - # Add Bash completions. - install -v -m444 -D -t $out/share/bash-completion/completions contrib/bash_completion.d/zfs - (cd $out/share/bash-completion/completions; ln -s zfs zpool) - ''; - - postFixup = let - path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmon sysstat ]}:$PATH"; - in '' - for i in $out/libexec/zfs/zpool.d/*; do - sed -i '2i${path}' $i - done - ''; - - outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; - - passthru = { - inherit enableMail latestCompatibleLinuxPackages; - - tests = - if isUnstable then [ - nixosTests.zfs.unstable - ] else [ - nixosTests.zfs.installer - nixosTests.zfs.stable - ]; - }; - - meta = { - description = "ZFS Filesystem Linux Kernel module"; - longDescription = '' - ZFS is a filesystem that combines a logical volume manager with a - Copy-On-Write filesystem with data integrity detection and repair, - snapshotting, cloning, block devices, deduplication, and more. - ''; - homepage = "https://github.com/openzfs/zfs"; - changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; - license = lib.licenses.cddl; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ jcumming jonringer globin raitobezarius ]; - mainProgram = "zfs"; - # If your Linux kernel version is not yet supported by zfs, try zfsUnstable. - # On NixOS set the option boot.zfs.enableUnstable. - broken = buildKernel && (kernelCompatible != null) && !kernelCompatible; - }; - }; -in { - # also check if kernel version constraints in - # ./nixos/modules/tasks/filesystems/zfs.nix needs - # to be adapted - zfsStable = common { - # check the release notes for compatible kernels - kernelCompatible = - if stdenv'.isx86_64 - then kernel.kernelOlder "6.3" - else kernel.kernelOlder "6.2"; - latestCompatibleLinuxPackages = - if stdenv'.isx86_64 - then linuxPackages_6_2 - else linuxPackages_6_1; - - # this package should point to the latest release. - version = "2.1.11"; - - sha256 = "tJLwyqUj1l5F0WKZDeMGrEFa8fc/axKqm31xtN51a5M="; - }; - - zfsUnstable = common { - # check the release notes for compatible kernels - # NOTE: - # zfs-2.1.9<=x<=2.1.10 is broken with aarch64-linux-6.2 - # for future releases, please delete this condition. - kernelCompatible = - if stdenv'.isx86_64 - then kernel.kernelOlder "6.3" - else kernel.kernelOlder "6.2"; - latestCompatibleLinuxPackages = - if stdenv'.isx86_64 - then linuxPackages_6_2 - else linuxPackages_6_1; - - # this package should point to a version / git revision compatible with the latest kernel release - # IMPORTANT: Always use a tagged release candidate or commits from the - # zfs--staging branch, because this is tested by the OpenZFS - # maintainers. - version = "2.1.12-staging-2023-04-18"; - rev = "e25f9131d679692704c11dc0c1df6d4585b70c35"; - - sha256 = "tJLwyqUj1l5F0WKZDeMGrEFa8fc/axKqm31xtN51a5M="; - - isUnstable = true; - }; -} diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix new file mode 100644 index 000000000000..88838e8cabac --- /dev/null +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -0,0 +1,222 @@ +{ pkgs, lib, stdenv, fetchFromGitHub, fetchpatch +, autoreconfHook269, util-linux, nukeReferences, coreutils +, perl, nixosTests +, configFile ? "all" + +# Userspace dependencies +, zlib, libuuid, python3, attr, openssl +, libtirpc +, nfs-utils, samba +, gawk, gnugrep, gnused, systemd +, smartmontools, enableMail ? false +, sysstat, pkg-config +, curl + +# Kernel dependencies +, kernel ? null +, enablePython ? true +, ... +}: + +{ version +, sha256 +, extraPatches ? [] +, rev ? "zfs-${version}" +, isUnstable ? false +, latestCompatibleLinuxPackages +, kernelCompatible ? null +}: + +let + inherit (lib) any optionalString optionals optional makeBinPath; + + smartmon = smartmontools.override { inherit enableMail; }; + + buildKernel = any (n: n == configFile) [ "kernel" "all" ]; + buildUser = any (n: n == configFile) [ "user" "all" ]; + + # XXX: You always want to build kernel modules with the same stdenv as the + # kernel was built with. However, since zfs can also be built for userspace we + # need to correctly pick between the provided/default stdenv, and the one used + # by the kernel. + # If you don't do this your ZFS builds will fail on any non-standard (e.g. + # clang-built) kernels. + stdenv' = if kernel == null then stdenv else kernel.stdenv; +in + +stdenv'.mkDerivation { + name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; + + src = fetchFromGitHub { + owner = "openzfs"; + repo = "zfs"; + inherit rev sha256; + }; + + patches = [ + (fetchpatch { + name = "musl.patch"; + url = "https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a.patch"; + sha256 = "XEaK227ubfOwlB2s851UvZ6xp/QOtYUWYsKTkEHzmo0="; + }) + ] ++ extraPatches; + + postPatch = optionalString buildKernel '' + patchShebangs scripts + # The arrays must remain the same length, so we repeat a flag that is + # already part of the command and therefore has no effect. + substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ + --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ + --replace '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' + '' + optionalString buildUser '' + substituteInPlace ./lib/libshare/os/linux/nfs.c --replace "/usr/sbin/exportfs" "${ + # We don't *need* python support, but we set it like this to minimize closure size: + # If it's disabled by default, no need to enable it, even if we have python enabled + # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure + nfs-utils.override (old: { enablePython = old.enablePython or true && enablePython; }) + }/bin/exportfs" + substituteInPlace ./lib/libshare/smb.h --replace "/usr/bin/net" "${samba}/bin/net" + # Disable dynamic loading of libcurl + substituteInPlace ./config/user-libfetch.m4 --replace "curl-config --built-shared" "true" + substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" + substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" \ + --replace "/etc/default" "$out/etc/default" + substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" + + substituteInPlace ./contrib/initramfs/hooks/Makefile.am \ + --replace "/usr/share/initramfs-tools/hooks" "$out/usr/share/initramfs-tools/hooks" + substituteInPlace ./contrib/initramfs/Makefile.am \ + --replace "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools" + substituteInPlace ./contrib/initramfs/scripts/Makefile.am \ + --replace "/usr/share/initramfs-tools/scripts" "$out/usr/share/initramfs-tools/scripts" + substituteInPlace ./contrib/initramfs/scripts/local-top/Makefile.am \ + --replace "/usr/share/initramfs-tools/scripts/local-top" "$out/usr/share/initramfs-tools/scripts/local-top" + substituteInPlace ./contrib/initramfs/scripts/Makefile.am \ + --replace "/usr/share/initramfs-tools/scripts" "$out/usr/share/initramfs-tools/scripts" + substituteInPlace ./contrib/initramfs/scripts/local-top/Makefile.am \ + --replace "/usr/share/initramfs-tools/scripts/local-top" "$out/usr/share/initramfs-tools/scripts/local-top" + substituteInPlace ./etc/systemd/system/Makefile.am \ + --replace '$(DESTDIR)$(systemdunitdir)' "$out"'$(DESTDIR)$(systemdunitdir)' + + substituteInPlace ./contrib/initramfs/conf.d/Makefile.am \ + --replace "/usr/share/initramfs-tools/conf.d" "$out/usr/share/initramfs-tools/conf.d" + substituteInPlace ./contrib/initramfs/conf-hooks.d/Makefile.am \ + --replace "/usr/share/initramfs-tools/conf-hooks.d" "$out/usr/share/initramfs-tools/conf-hooks.d" + + substituteInPlace ./cmd/vdev_id/vdev_id \ + --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ + "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" + ''; + + nativeBuildInputs = [ autoreconfHook269 nukeReferences ] + ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) + ++ optional buildUser pkg-config; + buildInputs = optionals buildUser [ zlib libuuid attr libtirpc ] + ++ optional buildUser openssl + ++ optional buildUser curl + ++ optional (buildUser && enablePython) python3; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + + hardeningDisable = [ "fortify" "stackprotector" "pic" ]; + + configureFlags = [ + "--with-config=${configFile}" + "--with-tirpc=1" + (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter) + ] ++ optionals buildUser [ + "--with-dracutdir=$(out)/lib/dracut" + "--with-udevdir=$(out)/lib/udev" + "--with-systemdunitdir=$(out)/etc/systemd/system" + "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" + "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" + "--with-mounthelperdir=$(out)/bin" + "--libexecdir=$(out)/libexec" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-systemd" + ] ++ optionals buildKernel ([ + "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" + "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ] ++ kernel.makeFlags); + + makeFlags = optionals buildKernel kernel.makeFlags; + + enableParallelBuilding = true; + + installFlags = [ + "sysconfdir=\${out}/etc" + "DEFAULT_INITCONF_DIR=\${out}/default" + "INSTALL_MOD_PATH=\${out}" + ]; + + # Enabling BTF causes zfs to be build with debug symbols. + # Since zfs compress kernel modules on installation, our strip hooks skip stripping them. + # Hence we strip modules prior to compression. + postBuild = optionalString buildKernel '' + find . -name "*.ko" -print0 | xargs -0 -P$NIX_BUILD_CORES ${stdenv.cc.targetPrefix}strip --strip-debug + ''; + + postInstall = optionalString buildKernel '' + # Add reference that cannot be detected due to compressed kernel module + mkdir -p "$out/nix-support" + echo "${util-linux}" >> "$out/nix-support/extra-refs" + '' + optionalString buildUser '' + # Remove provided services as they are buggy + rm $out/etc/systemd/system/zfs-import-*.service + + sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/* + + for i in $out/etc/systemd/system/*; do + substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" + done + + # Remove tests because they add a runtime dependency on gcc + rm -rf $out/share/zfs/zfs-tests + + # Add Bash completions. + install -v -m444 -D -t $out/share/bash-completion/completions contrib/bash_completion.d/zfs + (cd $out/share/bash-completion/completions; ln -s zfs zpool) + ''; + + postFixup = let + path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmon sysstat ]}:$PATH"; + in '' + for i in $out/libexec/zfs/zpool.d/*; do + sed -i '2i${path}' $i + done + ''; + + outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; + + passthru = { + inherit enableMail latestCompatibleLinuxPackages; + + tests = + if isUnstable then [ + nixosTests.zfs.unstable + ] else [ + nixosTests.zfs.installer + nixosTests.zfs.stable + ]; + }; + + meta = { + description = "ZFS Filesystem Linux Kernel module"; + longDescription = '' + ZFS is a filesystem that combines a logical volume manager with a + Copy-On-Write filesystem with data integrity detection and repair, + snapshotting, cloning, block devices, deduplication, and more. + ''; + homepage = "https://github.com/openzfs/zfs"; + changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; + license = lib.licenses.cddl; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ jcumming jonringer globin raitobezarius ]; + mainProgram = "zfs"; + # If your Linux kernel version is not yet supported by zfs, try zfsUnstable. + # On NixOS set the option boot.zfs.enableUnstable. + broken = buildKernel && (kernelCompatible != null) && !kernelCompatible; + }; +} diff --git a/pkgs/os-specific/linux/zfs/stable.nix b/pkgs/os-specific/linux/zfs/stable.nix new file mode 100644 index 000000000000..48c58874cfef --- /dev/null +++ b/pkgs/os-specific/linux/zfs/stable.nix @@ -0,0 +1,26 @@ +{ callPackage +, kernel ? null +, stdenv +, linuxKernel +, ... +} @ args: + +let + stdenv' = if kernel == null then stdenv else kernel.stdenv; +in +callPackage ./generic.nix args { + # check the release notes for compatible kernels + kernelCompatible = + if stdenv'.isx86_64 + then kernel.kernelOlder "6.3" + else kernel.kernelOlder "6.2"; + latestCompatibleLinuxPackages = + if stdenv'.isx86_64 + then linuxKernel.packages.linux_6_1 + else linuxKernel.packages.linux_6_2; + + # this package should point to the latest release. + version = "2.1.11"; + + sha256 = "tJLwyqUj1l5F0WKZDeMGrEFa8fc/axKqm31xtN51a5M="; +} diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix new file mode 100644 index 000000000000..3953b5ed8d93 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/unstable.nix @@ -0,0 +1,34 @@ +{ callPackage +, kernel ? null +, stdenv +, linuxKernel +, ... +} @ args: + +let + stdenv' = if kernel == null then stdenv else kernel.stdenv; +in +callPackage ./generic.nix args { + # check the release notes for compatible kernels + # NOTE: + # zfs-2.1.9<=x<=2.1.10 is broken with aarch64-linux-6.2 + # for future releases, please delete this condition. + kernelCompatible = if stdenv'.isx86_64 + then kernel.kernelOlder "6.3" + else kernel.kernelOlder "6.2"; + latestCompatibleLinuxPackages = + if stdenv'.isx86_64 + then linuxKernel.packages.linux_6_2 + else linuxKernel.packages.linux_6_1; + + # this package should point to a version / git revision compatible with the latest kernel release + # IMPORTANT: Always use a tagged release candidate or commits from the + # zfs--staging branch, because this is tested by the OpenZFS + # maintainers. + version = "2.1.12-staging-2023-04-18"; + rev = "e25f9131d679692704c11dc0c1df6d4585b70c35"; + + sha256 = "tJLwyqUj1l5F0WKZDeMGrEFa8fc/axKqm31xtN51a5M="; + + isUnstable = true; +} diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index 11bb2171f7b0..af479e735513 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -9,13 +9,13 @@ buildDotnetModule rec { pname = "jackett"; - version = "0.20.4105"; + version = "0.20.4145"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha512-XDYuFly7hy55L76Vn92mphK/rP90/4OT50In7p9kyU8L/4W0WljrMUycIFKYsQfdJsKmQgz7z2Bw8bw2fHEuSQ=="; + hash = "sha512-7zPrKKkqn4LllzRplxoAoOSSgRJGeE1D1p+42EZD+C9DKwsoToJ8RJlpF30lMoWbrul7a7h0fAjGPJvYwRovFQ=="; }; projectFile = "src/Jackett.Server/Jackett.Server.csproj"; diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix index e8d572393e2b..a906059b1970 100644 --- a/pkgs/servers/klipper/default.nix +++ b/pkgs/servers/klipper/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , python3 , unstableGitUpdater +, makeWrapper }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { sourceRoot = "source/klippy"; # NB: This is needed for the postBuild step - nativeBuildInputs = [ (python3.withPackages ( p: with p; [ cffi ] )) ]; + nativeBuildInputs = [ + (python3.withPackages ( p: with p; [ cffi ] )) + makeWrapper + ]; buildInputs = [ (python3.withPackages (p: with p; [ cffi pyserial greenlet jinja2 markupsafe numpy ])) ]; @@ -49,7 +53,9 @@ stdenv.mkDerivation rec { cp -r $src/docs $out/lib/docs cp -r $src/config $out/lib/config + mkdir -p $out/bin chmod 755 $out/lib/klipper/klippy.py + makeWrapper $out/lib/klipper/klippy.py $out/bin/klippy --chdir $out/lib/klipper runHook postInstall ''; diff --git a/pkgs/servers/ldap/lldap/default.nix b/pkgs/servers/ldap/lldap/default.nix index 1eb885be7854..a141f4f3dc9c 100644 --- a/pkgs/servers/ldap/lldap/default.nix +++ b/pkgs/servers/ldap/lldap/default.nix @@ -90,6 +90,9 @@ let }); in rustPlatform.buildRustPackage (commonDerivationAttrs // { + + cargoBuildFlags = [ "-p" "lldap" "-p" "migration-tool" "-p" "lldap_set_password" ]; + patches = [ ./static-frontend-path.patch ]; @@ -98,6 +101,10 @@ in rustPlatform.buildRustPackage (commonDerivationAttrs // { substituteInPlace server/src/infra/tcp_server.rs --subst-var-by frontend '${frontend}' ''; + postInstall = '' + mv $out/bin/migration-tool $out/bin/lldap_migration_tool + ''; + passthru = { inherit frontend; tests = { diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix index c55104345989..924accbecfa2 100644 --- a/pkgs/servers/mail/mailman/hyperkitty.nix +++ b/pkgs/servers/mail/mailman/hyperkitty.nix @@ -66,7 +66,7 @@ buildPythonPackage rec { elasticsearch mock whoosh - ]; + ] ++ beautifulsoup4.optional-dependencies.lxml; checkPhase = '' cd $NIX_BUILD_TOP/$sourceRoot diff --git a/pkgs/servers/matrix-synapse/plugins/ldap3.nix b/pkgs/servers/matrix-synapse/plugins/ldap3.nix index 22c187059cb9..b29dc21422e9 100644 --- a/pkgs/servers/matrix-synapse/plugins/ldap3.nix +++ b/pkgs/servers/matrix-synapse/plugins/ldap3.nix @@ -1,4 +1,15 @@ -{ lib, buildPythonPackage, fetchPypi, ldap3, ldaptor, matrix-synapse, pytestCheckHook, service-identity, setuptools, twisted }: +{ lib +, buildPythonPackage +, fetchpatch +, fetchPypi +, ldap3 +, ldaptor +, matrix-synapse +, pytestCheckHook +, service-identity +, setuptools +, twisted +}: buildPythonPackage rec { pname = "matrix-synapse-ldap3"; @@ -10,6 +21,14 @@ buildPythonPackage rec { sha256 = "sha256-s4jZVpNIbu9pra79D9noRGPVL+F7AhSgDvyqZptzy3Q="; }; + patches = [ + # add support to read bind_password from file + (fetchpatch { + url = "https://github.com/matrix-org/matrix-synapse-ldap3/commit/c65e8cbd27a5cd935ce12e7c4b92143cdf795c86.patch"; + sha256 = "sha256-0g150TW631cuupSRECXL9A261nj45HclDkHBUbKT7jE="; + }) + ]; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ service-identity ldap3 twisted ]; @@ -22,6 +41,6 @@ buildPythonPackage rec { description = "LDAP3 auth provider for Synapse"; homepage = "https://github.com/matrix-org/matrix-synapse-ldap3"; license = licenses.asl20; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ ] ++ teams.c3d2.members; }; } diff --git a/pkgs/servers/monitoring/do-agent/default.nix b/pkgs/servers/monitoring/do-agent/default.nix index 0ad3d46ed665..72abfecb725c 100644 --- a/pkgs/servers/monitoring/do-agent/default.nix +++ b/pkgs/servers/monitoring/do-agent/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "do-agent"; - version = "3.16.2"; + version = "3.16.4"; src = fetchFromGitHub { owner = "digitalocean"; repo = "do-agent"; rev = version; - sha256 = "sha256-glHrWRZqkKoCLy3nuOZQG98I35ZR4S9nL6XqBsa2rOQ="; + sha256 = "sha256-6pc8cbCRjZG1uPYTOBbQeRqVZ7YwFAapNzor2lqGuRE="; }; ldflags = [ diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix index 0548ed569038..d46be38781de 100644 --- a/pkgs/servers/roon-server/default.nix +++ b/pkgs/servers/roon-server/default.nix @@ -15,7 +15,7 @@ , stdenv }: let - version = "2.0-1259"; + version = "2.0-1272"; urlVersion = builtins.replaceStrings [ "." "-" ] [ "00" "0" ] version; in stdenv.mkDerivation { @@ -24,7 +24,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://download.roonlabs.com/updates/production/RoonServer_linuxx64_${urlVersion}.tar.bz2"; - hash = "sha256-nd0dDiiUmwhuVivB78EXdj6LrK0ufdSrVYH/0Y++img="; + hash = "sha256-oLHdgOaGnu7hRm863ryf4r05nN8wQL7WKxN3ONG67J4="; }; dontConfigure = true; diff --git a/pkgs/servers/search/meilisearch/Cargo.lock b/pkgs/servers/search/meilisearch/Cargo.lock index 853d1a896c21..f1ff389c018e 100644 --- a/pkgs/servers/search/meilisearch/Cargo.lock +++ b/pkgs/servers/search/meilisearch/Cargo.lock @@ -410,7 +410,7 @@ checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" [[package]] name = "benchmarks" -version = "1.1.0" +version = "1.1.1" dependencies = [ "anyhow", "bytes", @@ -1150,7 +1150,7 @@ dependencies = [ [[package]] name = "dump" -version = "1.1.0" +version = "1.1.1" dependencies = [ "anyhow", "big_s", @@ -1371,7 +1371,7 @@ dependencies = [ [[package]] name = "file-store" -version = "1.1.0" +version = "1.1.1" dependencies = [ "faux", "tempfile", @@ -1393,7 +1393,7 @@ dependencies = [ [[package]] name = "filter-parser" -version = "1.1.0" +version = "1.1.1" dependencies = [ "insta", "nom", @@ -1413,7 +1413,7 @@ dependencies = [ [[package]] name = "flatten-serde-json" -version = "1.1.0" +version = "1.1.1" dependencies = [ "criterion", "serde_json", @@ -1890,7 +1890,7 @@ dependencies = [ [[package]] name = "index-scheduler" -version = "1.1.0" +version = "1.1.1" dependencies = [ "anyhow", "big_s", @@ -2049,7 +2049,7 @@ dependencies = [ [[package]] name = "json-depth-checker" -version = "1.1.0" +version = "1.1.1" dependencies = [ "criterion", "serde_json", @@ -2445,7 +2445,7 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "meili-snap" -version = "1.1.0" +version = "1.1.1" dependencies = [ "insta", "md5", @@ -2454,7 +2454,7 @@ dependencies = [ [[package]] name = "meilisearch" -version = "1.1.0" +version = "1.1.1" dependencies = [ "actix-cors", "actix-http", @@ -2542,7 +2542,7 @@ dependencies = [ [[package]] name = "meilisearch-auth" -version = "1.1.0" +version = "1.1.1" dependencies = [ "base64 0.13.1", "enum-iterator", @@ -2561,7 +2561,7 @@ dependencies = [ [[package]] name = "meilisearch-types" -version = "1.1.0" +version = "1.1.1" dependencies = [ "actix-web", "anyhow", @@ -2615,7 +2615,7 @@ dependencies = [ [[package]] name = "milli" -version = "1.1.0" +version = "1.1.1" dependencies = [ "big_s", "bimap", @@ -2969,7 +2969,7 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "permissive-json-pointer" -version = "1.1.0" +version = "1.1.1" dependencies = [ "big_s", "serde_json", diff --git a/pkgs/servers/search/meilisearch/default.nix b/pkgs/servers/search/meilisearch/default.nix index 6cd44a21d5e1..9870d743af1b 100644 --- a/pkgs/servers/search/meilisearch/default.nix +++ b/pkgs/servers/search/meilisearch/default.nix @@ -6,9 +6,10 @@ , DiskArbitration , Foundation , nixosTests +, nix-update-script }: -let version = "1.1.0"; +let version = "1.1.1"; in rustPlatform.buildRustPackage { pname = "meilisearch"; @@ -18,7 +19,7 @@ rustPlatform.buildRustPackage { owner = "meilisearch"; repo = "MeiliSearch"; rev = "refs/tags/v${version}"; - hash = "sha256-mwrWHrndcLwdXJo+UISJdPxZFDgtZh9jEquz7jIHGP0="; + hash = "sha256-catbSe4KT52vNaMD/rq4B7myw76Ki4NSBPX8nTgxT18="; }; cargoBuildFlags = [ @@ -44,8 +45,11 @@ rustPlatform.buildRustPackage { Foundation ]; - passthru.tests = { - meilisearch = nixosTests.meilisearch; + passthru = { + updateScript = nix-update-script { }; + tests = { + meilisearch = nixosTests.meilisearch; + }; }; # Tests will try to compile with mini-dashboard features which downloads something from the internet. diff --git a/pkgs/servers/snac2/default.nix b/pkgs/servers/snac2/default.nix index 8b67a41571d2..13e169485509 100644 --- a/pkgs/servers/snac2/default.nix +++ b/pkgs/servers/snac2/default.nix @@ -10,14 +10,14 @@ stdenv.mkDerivation rec { pname = "snac2"; - version = "2.30"; + version = "2.31"; src = fetchFromGitea { domain = "codeberg.org"; owner = "grunfink"; repo = pname; rev = version; - hash = "sha256-iHVoecIvRKE1nzzq8WdI4wuNBRfad0usOVHpyz6iekU="; + hash = "sha256-zkeoj+l82aP3/rXn7JuNS4OvAGnHaVRz+xXxPEPMEs8="; }; buildInputs = [ curl openssl ]; diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index 2a310660d50c..6af250790d76 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline, libkrb5 }: +{ lib, stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline, libkrb5, libxcrypt }: stdenv.mkDerivation rec { pname = "pg_auto_failover"; @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-CLtLOzKRB9p6+SytMvWCYo7m7s/d+clAGOa2sWi6uZ0="; }; - buildInputs = [ postgresql openssl zlib readline libkrb5 ]; + buildInputs = [ postgresql openssl zlib readline libkrb5 ] + ++ lib.optionals (stdenv.isLinux && lib.versionOlder postgresql.version "13") [ libxcrypt ]; installPhase = '' install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix index e2e49f528fc4..b694d4e2019c 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvector.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "pgvector"; - version = "0.4.1"; + version = "0.4.2"; src = fetchFromGitHub { owner = "pgvector"; repo = "pgvector"; rev = "v${version}"; - hash = "sha256-1mFHjHGB9KVZfPvuaC3sZzyzJvX49PjADVVJn1fSjgs="; + hash = "sha256-zx1IFhBVi0KLhQgnacCHS5VQUwcxXQAWpc1J+LrtcRU="; }; buildInputs = [ postgresql ]; diff --git a/pkgs/servers/web-apps/pixelfed/composer-env.nix b/pkgs/servers/web-apps/pixelfed/composer-env.nix new file mode 100644 index 000000000000..71714b764008 --- /dev/null +++ b/pkgs/servers/web-apps/pixelfed/composer-env.nix @@ -0,0 +1,244 @@ +# This file originates from composer2nix + +{ stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }: + +let + inherit (phpPackages) composer; + + filterSrc = src: + builtins.filterSource (path: type: type != "directory" || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn")) src; + + buildZipPackage = { name, src }: + stdenv.mkDerivation { + inherit name src; + nativeBuildInputs = [ unzip ]; + buildCommand = '' + shopt -s dotglob + unzip $src + baseDir=$(find . -type d -mindepth 1 -maxdepth 1) + cd $baseDir + mkdir -p $out + mv * $out + ''; + }; + + buildPackage = + { name + , src + , packages ? {} + , devPackages ? {} + , buildInputs ? [] + , symlinkDependencies ? false + , executable ? false + , removeComposerArtifacts ? false + , postInstall ? "" + , noDev ? false + , composerExtraArgs ? "" + , unpackPhase ? "true" + , buildPhase ? "true" + , ...}@args: + + let + reconstructInstalled = writeTextFile { + name = "reconstructinstalled.php"; + executable = true; + text = '' + #! ${php}/bin/php + + ''; + }; + + constructBin = writeTextFile { + name = "constructbin.php"; + executable = true; + text = '' + #! ${php}/bin/php + + ''; + }; + + bundleDependencies = dependencies: + lib.concatMapStrings (dependencyName: + let + dependency = dependencies.${dependencyName}; + in + '' + ${if dependency.targetDir == "" then '' + vendorDir="$(dirname ${dependencyName})" + mkdir -p "$vendorDir" + ${if symlinkDependencies then + ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' + else + ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' + } + '' else '' + namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")" + mkdir -p "$namespaceDir" + ${if symlinkDependencies then + ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + else + ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + } + ''} + '') (builtins.attrNames dependencies); + + extraArgs = removeAttrs args [ "packages" "devPackages" "buildInputs" ]; + in + stdenv.mkDerivation ({ + buildInputs = [ php composer ] ++ buildInputs; + + inherit unpackPhase buildPhase; + + installPhase = '' + ${if executable then '' + mkdir -p $out/share/php + cp -av $src $out/share/php/$name + chmod -R u+w $out/share/php/$name + cd $out/share/php/$name + '' else '' + cp -av $src $out + chmod -R u+w $out + cd $out + ''} + + # Remove unwanted files + rm -f *.nix + + export HOME=$TMPDIR + + # Remove the provided vendor folder if it exists + rm -Rf vendor + + # If there is no composer.lock file, compose a dummy file. + # Otherwise, composer attempts to download the package.json file from + # the registry which we do not want. + if [ ! -f composer.lock ] + then + cat > composer.lock < vendor/composer/installed.json + + # Copy or symlink the provided dependencies + cd vendor + ${bundleDependencies packages} + ${lib.optionalString (!noDev) (bundleDependencies devPackages)} + cd .. + + # Reconstruct autoload scripts + # We use the optimize feature because Nix packages cannot change after they have been built + # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. + composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} + + # Run the install step as a validation to confirm that everything works out as expected + composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} + + ${lib.optionalString executable '' + # Reconstruct the bin/ folder if we deploy an executable project + ${php}/bin/php ${constructBin} composer.json + ln -s $(pwd)/vendor/bin $out/bin + ''} + + ${lib.optionalString (!symlinkDependencies) '' + # Patch the shebangs if possible + if [ -d $(pwd)/vendor/bin ] + then + # Look for all executables in bin/ + for i in $(pwd)/vendor/bin/* + do + # Look for their location + realFile=$(readlink -f "$i") + + # Restore write permissions + chmod u+wx "$(dirname "$realFile")" + chmod u+w "$realFile" + + # Patch shebang + sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \ + -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \ + "$realFile" > tmp + mv tmp "$realFile" + chmod u+x "$realFile" + done + fi + ''} + + if [ "$removeComposerArtifacts" = "1" ] + then + # Remove composer stuff + rm -f composer.json composer.lock + fi + + # Execute post install hook + runHook postInstall + ''; + } // extraArgs); +in +{ + inherit filterSrc; + composer = lib.makeOverridable composer; + buildZipPackage = lib.makeOverridable buildZipPackage; + buildPackage = lib.makeOverridable buildPackage; +} diff --git a/pkgs/servers/web-apps/pixelfed/composition.nix b/pkgs/servers/web-apps/pixelfed/composition.nix new file mode 100644 index 000000000000..2519bd84626e --- /dev/null +++ b/pkgs/servers/web-apps/pixelfed/composition.nix @@ -0,0 +1,14 @@ +{pkgs ? import { + inherit system; + }, system ? builtins.currentSystem, noDev ? false, php ? pkgs.php, phpPackages ? pkgs.phpPackages}: + +let + composerEnv = import ./composer-env.nix { + inherit (pkgs) stdenv lib writeTextFile fetchurl unzip; + inherit php phpPackages; + }; +in +import ./php-packages.nix { + inherit composerEnv noDev; + inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn; +} diff --git a/pkgs/servers/web-apps/pixelfed/default.nix b/pkgs/servers/web-apps/pixelfed/default.nix new file mode 100644 index 000000000000..5a8dfbabd395 --- /dev/null +++ b/pkgs/servers/web-apps/pixelfed/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitHub +, php +, pkgs +, nixosTests +, dataDir ? "/var/lib/pixelfed" +, runtimeDir ? "/run/pixelfed" +}: + +let + package = (import ./composition.nix { + inherit pkgs; + inherit (stdenv.hostPlatform) system; + noDev = true; # Disable development dependencies + }).overrideAttrs (attrs : { + installPhase = attrs.installPhase + '' + rm -R $out/bootstrap/cache + # Move static contents for the NixOS module to pick it up, if needed. + mv $out/bootstrap $out/bootstrap-static + mv $out/storage $out/storage-static + ln -s ${dataDir}/.env $out/.env + ln -s ${dataDir}/storage $out/ + ln -s ${dataDir}/storage/app/public $out/public/storage + ln -s ${runtimeDir} $out/bootstrap + chmod +x $out/artisan + ''; + }); +in package.override rec { + pname = "pixelfed"; + version = "0.11.5"; + + # GitHub distribution does not include vendored files + src = fetchFromGitHub { + owner = "pixelfed"; + repo = pname; + rev = "v${version}"; + hash = "sha256-ZrvYKMSx5WymWR46/UKr5jCsclXXzBeY21ju22zeqN0="; + }; + + passthru.tests = { inherit (nixosTests) pixelfed; }; + + meta = with lib; { + description = "A federated image sharing platform"; + license = licenses.agpl3Only; + homepage = "https://pixelfed.org/"; + maintainers = with maintainers; [ raitobezarius ]; + platforms = php.meta.platforms; + }; +} diff --git a/pkgs/servers/web-apps/pixelfed/php-packages.nix b/pkgs/servers/web-apps/pixelfed/php-packages.nix new file mode 100644 index 000000000000..1b1643af27fc --- /dev/null +++ b/pkgs/servers/web-apps/pixelfed/php-packages.nix @@ -0,0 +1,1848 @@ +{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, noDev ? false}: + +let + packages = { + "asm89/stack-cors" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "asm89-stack-cors-73e5b88775c64ccc0b84fb60836b30dc9d92ac4a"; + src = fetchurl { + url = "https://api.github.com/repos/asm89/stack-cors/zipball/73e5b88775c64ccc0b84fb60836b30dc9d92ac4a"; + sha256 = "1idpisw39ba2dic9jl2s2yrkdgbyny9dfxf0qdr5i0wfvvlmbdih"; + }; + }; + }; + "aws/aws-crt-php" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "aws-aws-crt-php-1926277fc71d253dfa820271ac5987bdb193ccf5"; + src = fetchurl { + url = "https://api.github.com/repos/awslabs/aws-crt-php/zipball/1926277fc71d253dfa820271ac5987bdb193ccf5"; + sha256 = "037rdpys895vmk80zgb6r2c77ss2l545qsfma7q55kx9jm39habl"; + }; + }; + }; + "aws/aws-sdk-php" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "aws-aws-sdk-php-42ca7ade60a775fc5eb103d4631df3d366b48a29"; + src = fetchurl { + url = "https://api.github.com/repos/aws/aws-sdk-php/zipball/42ca7ade60a775fc5eb103d4631df3d366b48a29"; + sha256 = "07bcpwsx0by2h5bgrd3bjl6fndzgpbsnaz9g65ga4yb5d36799br"; + }; + }; + }; + "bacon/bacon-qr-code" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "bacon-bacon-qr-code-8674e51bb65af933a5ffaf1c308a660387c35c22"; + src = fetchurl { + url = "https://api.github.com/repos/Bacon/BaconQrCode/zipball/8674e51bb65af933a5ffaf1c308a660387c35c22"; + sha256 = "0hb0w6m5rwzghw2im3yqn6ly2kvb3jgrv8jwra1lwd0ik6ckrngl"; + }; + }; + }; + "beyondcode/laravel-websockets" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "beyondcode-laravel-websockets-9ab87be1d96340979e67b462ea5fd6a8b06e6a02"; + src = fetchurl { + url = "https://api.github.com/repos/beyondcode/laravel-websockets/zipball/9ab87be1d96340979e67b462ea5fd6a8b06e6a02"; + sha256 = "08iz2v882v0nhh23w92nv8yb66kbp03f2nqhz4y5nik04l3kyhrs"; + }; + }; + }; + "brick/math" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "brick-math-ca57d18f028f84f777b2168cd1911b0dee2343ae"; + src = fetchurl { + url = "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae"; + sha256 = "1nr1grrb9g5g3ihx94yk0amp8zx8prkkvg2934ygfc3rrv03cq9w"; + }; + }; + }; + "buzz/laravel-h-captcha" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "buzz-laravel-h-captcha-502a4a15953cde6e0a17df6fec1459a565504d9b"; + src = fetchurl { + url = "https://api.github.com/repos/thinhbuzz/laravel-h-captcha/zipball/502a4a15953cde6e0a17df6fec1459a565504d9b"; + sha256 = "1ki38b3cjxgydn3845d9a7zrxdiqmdq5ahsl7r3nwcf0m0xj9yby"; + }; + }; + }; + "cboden/ratchet" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "cboden-ratchet-5012dc954541b40c5599d286fd40653f5716a38f"; + src = fetchurl { + url = "https://api.github.com/repos/ratchetphp/Ratchet/zipball/5012dc954541b40c5599d286fd40653f5716a38f"; + sha256 = "0bi118mhc74cb4695kdhnh9k3im75zh3fvll12mzz7hfjmsivs17"; + }; + }; + }; + "dasprid/enum" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "dasprid-enum-8e6b6ea76eabbf19ea2bf5b67b98e1860474012f"; + src = fetchurl { + url = "https://api.github.com/repos/DASPRiD/Enum/zipball/8e6b6ea76eabbf19ea2bf5b67b98e1860474012f"; + sha256 = "0cckq42c9iyjfv7xmy6rl4xj3dn80v9k8qzc3ppdjm4wgj43rrkz"; + }; + }; + }; + "defuse/php-encryption" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "defuse-php-encryption-77880488b9954b7884c25555c2a0ea9e7053f9d2"; + src = fetchurl { + url = "https://api.github.com/repos/defuse/php-encryption/zipball/77880488b9954b7884c25555c2a0ea9e7053f9d2"; + sha256 = "1lcvpg56nw72cxyh6sga7fx94qw9l0l1y78z7y7ny3hgdniwhihx"; + }; + }; + }; + "dflydev/dot-access-data" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "dflydev-dot-access-data-f41715465d65213d644d3141a6a93081be5d3549"; + src = fetchurl { + url = "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549"; + sha256 = "1vgbjrq8qh06r26y5nlxfin4989r3h7dib1jifb2l3cjdn1r5bmj"; + }; + }; + }; + "doctrine/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-cache-1ca8f21980e770095a31456042471a57bc4c68fb"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb"; + sha256 = "1p8ia9g3mqz71bv4x8q1ng1fgcidmyksbsli1fjbialpgjk9k1ss"; + }; + }; + }; + "doctrine/dbal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-dbal-c480849ca3ad6706a39c970cdfe6888fa8a058b8"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/dbal/zipball/c480849ca3ad6706a39c970cdfe6888fa8a058b8"; + sha256 = "15j98h80li6m1aj53p8ddy0lkbkanc5kdy6xrikpdd6zhmsfgq9k"; + }; + }; + }; + "doctrine/deprecations" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-deprecations-0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"; + sha256 = "1sk1f020n0w7p7r4rsi7wnww85vljrim1i5h9wb0qiz2c4l8jj09"; + }; + }; + }; + "doctrine/event-manager" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-event-manager-95aa4cb529f1e96576f3fda9f5705ada4056a520"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520"; + sha256 = "0xi2s28jmmvrndg1yd0r5s10d9a0q6j2dxdbazvcbws9waf0yrvj"; + }; + }; + }; + "doctrine/inflector" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-inflector-d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"; + sha256 = "1z6y0mxqadarw76whppcl0h0cj7p5n6k7mxihggavq46i2wf7nhj"; + }; + }; + }; + "doctrine/lexer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-lexer-84a527db05647743d50373e0ec53a152f2cde568"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568"; + sha256 = "1wn3p8vjq3hqzn0k6dmwxdj2ykwk3653h5yw7a57avz9qkb86z70"; + }; + }; + }; + "dragonmantank/cron-expression" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "dragonmantank-cron-expression-782ca5968ab8b954773518e9e49a6f892a34b2a8"; + src = fetchurl { + url = "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8"; + sha256 = "18pxn1v3b2yhwzky22p4wn520h89rcrihl7l6hd0p769vk1b2qg9"; + }; + }; + }; + "egulias/email-validator" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "egulias-email-validator-3a85486b709bc384dae8eb78fb2eec649bdb64ff"; + src = fetchurl { + url = "https://api.github.com/repos/egulias/EmailValidator/zipball/3a85486b709bc384dae8eb78fb2eec649bdb64ff"; + sha256 = "1vbwd4fgg6910pfy0dpzkaf5djwzpx5nqr43hy2qpmkp11mkbbxw"; + }; + }; + }; + "evenement/evenement" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "evenement-evenement-531bfb9d15f8aa57454f5f0285b18bec903b8fb7"; + src = fetchurl { + url = "https://api.github.com/repos/igorw/evenement/zipball/531bfb9d15f8aa57454f5f0285b18bec903b8fb7"; + sha256 = "02mi1lrga41caa25whr6sj9hmmlfjp10l0d0fq8kc3d4483pm9rr"; + }; + }; + }; + "ezyang/htmlpurifier" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ezyang-htmlpurifier-523407fb06eb9e5f3d59889b3978d5bfe94299c8"; + src = fetchurl { + url = "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8"; + sha256 = "1g65bndiwd2dmq5p6f29lh66x8lwxhpp1pmd619qbm8bnsy7hvki"; + }; + }; + }; + "facade/ignition-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "facade-ignition-contracts-3c921a1cdba35b68a7f0ccffc6dffc1995b18267"; + src = fetchurl { + url = "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267"; + sha256 = "1nsjwd1k9q8qmfvh7m50rs42yxzxyq4f56r6dq205gwcmqsjb2j0"; + }; + }; + }; + "fig/http-message-util" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fig-http-message-util-9d94dc0154230ac39e5bf89398b324a86f63f765"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765"; + sha256 = "1cbhchmvh8alqdaf31rmwldyrpi5cgmzgair1gnjv6nxn99m3pqf"; + }; + }; + }; + "firebase/php-jwt" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "firebase-php-jwt-4dd1e007f22a927ac77da5a3fbb067b42d3bc224"; + src = fetchurl { + url = "https://api.github.com/repos/firebase/php-jwt/zipball/4dd1e007f22a927ac77da5a3fbb067b42d3bc224"; + sha256 = "0wl5glq7bzqrph6pm6js05qnydp0rlchc494cjhbv54rawyb6wfs"; + }; + }; + }; + "fruitcake/laravel-cors" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fruitcake-laravel-cors-783a74f5e3431d7b9805be8afb60fd0a8f743534"; + src = fetchurl { + url = "https://api.github.com/repos/fruitcake/laravel-cors/zipball/783a74f5e3431d7b9805be8afb60fd0a8f743534"; + sha256 = "13mqhjks048fb5042l0rfrr52rz7knp9gjn8qviw9cx76kllw2c9"; + }; + }; + }; + "fruitcake/php-cors" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fruitcake-php-cors-58571acbaa5f9f462c9c77e911700ac66f446d4e"; + src = fetchurl { + url = "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e"; + sha256 = "18xm69q4dk9zqfwgp938y2byhlyy9lr5x5qln4k2mg8cq8xr2sm1"; + }; + }; + }; + "graham-campbell/result-type" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "graham-campbell-result-type-672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831"; + src = fetchurl { + url = "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831"; + sha256 = "156zbfs19r9g543phlpjwhqin3k2x4dsvr5p0wk7rk4j0wwp8l2v"; + }; + }; + }; + "guzzlehttp/guzzle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-guzzle-b50a2a1251152e43f6a37f0fa053e730a67d25ba"; + src = fetchurl { + url = "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba"; + sha256 = "0cy828r0kafx58jh0k1cy17y77qh248d9kfk9ncn9pyq2q5v9p9p"; + }; + }; + }; + "guzzlehttp/promises" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-promises-b94b2807d85443f9719887892882d0329d1e2598"; + src = fetchurl { + url = "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598"; + sha256 = "1vvac7y5ax955qjg7dyjmaw3vab9v2lypjygap0040rv3z4x9vz8"; + }; + }; + }; + "guzzlehttp/psr7" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-psr7-3cf1b6d4f0c820a2cf8bcaec39fc698f3443b5cf"; + src = fetchurl { + url = "https://api.github.com/repos/guzzle/psr7/zipball/3cf1b6d4f0c820a2cf8bcaec39fc698f3443b5cf"; + sha256 = "1zgnykvv9fz2adava0gb2sm8wgnxkqj1jy2fky1v6vk1r7xdmr3j"; + }; + }; + }; + "guzzlehttp/uri-template" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-uri-template-b945d74a55a25a949158444f09ec0d3c120d69e2"; + src = fetchurl { + url = "https://api.github.com/repos/guzzle/uri-template/zipball/b945d74a55a25a949158444f09ec0d3c120d69e2"; + sha256 = "02vd4r2di8xh9n5awfjy1lyb7vn5gkaynbiiqilm8did0r89qdhf"; + }; + }; + }; + "intervention/image" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "intervention-image-04be355f8d6734c826045d02a1079ad658322dad"; + src = fetchurl { + url = "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad"; + sha256 = "1cbg43hm2jgwb7gm1r9xcr4cpx8ng1zr93zx6shk9xhjlssnv0bx"; + }; + }; + }; + "jaybizzle/crawler-detect" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "jaybizzle-crawler-detect-62d0e6b38f6715c673e156ffb0fc894791de3452"; + src = fetchurl { + url = "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/62d0e6b38f6715c673e156ffb0fc894791de3452"; + sha256 = "19wqayfrb38609hn90bb3y7zkr9rmpk17w7a430gxg6408hrpfm7"; + }; + }; + }; + "jenssegers/agent" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "jenssegers-agent-daa11c43729510b3700bc34d414664966b03bffe"; + src = fetchurl { + url = "https://api.github.com/repos/jenssegers/agent/zipball/daa11c43729510b3700bc34d414664966b03bffe"; + sha256 = "0f0wy69w9mdsajfgriwlnpqhqxp83q44p6ggcd6h1bi8ri3h0897"; + }; + }; + }; + "laravel/framework" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-framework-9239128cfb4d22afefb64060dfecf53e82987267"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/framework/zipball/9239128cfb4d22afefb64060dfecf53e82987267"; + sha256 = "1lpkhhhga9g5njig1qf8n2fs0szni5al19cr3ilnlqhy55dmmrb6"; + }; + }; + }; + "laravel/helpers" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-helpers-4dd0f9436d3911611622a6ced8329a1710576f60"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/helpers/zipball/4dd0f9436d3911611622a6ced8329a1710576f60"; + sha256 = "1vqfrxf9q2mmgj5ckfnayryx0ia1fvyp6jpp8b689wb4a4vgpa8c"; + }; + }; + }; + "laravel/horizon" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-horizon-b49be302566365e0e4d517aac9995a8fe20b580e"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/horizon/zipball/b49be302566365e0e4d517aac9995a8fe20b580e"; + sha256 = "0q2f9q670cfxnzdaij4g5h1h5nd8xjh72hksqcxl469nxnnz0f16"; + }; + }; + }; + "laravel/passport" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-passport-4bfdb9610575a0c84a6810701f4fd45fb8ab3888"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/passport/zipball/4bfdb9610575a0c84a6810701f4fd45fb8ab3888"; + sha256 = "0nkp1gkvyp16i1cpb7wn5slbichyv12rpjfq35s7riyaynhbpkzr"; + }; + }; + }; + "laravel/serializable-closure" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-serializable-closure-f23fe9d4e95255dacee1bf3525e0810d1a1b0f37"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/serializable-closure/zipball/f23fe9d4e95255dacee1bf3525e0810d1a1b0f37"; + sha256 = "0dyvqph5q1lb6gl6ga4b1xkziqzj6s2ia5pbd7h40anm4sh3z8dl"; + }; + }; + }; + "laravel/tinker" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-tinker-04a2d3bd0d650c0764f70bf49d1ee39393e4eb10"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/tinker/zipball/04a2d3bd0d650c0764f70bf49d1ee39393e4eb10"; + sha256 = "06rivrmcf8m8hm4vn9s7wwpfmgl89p73b78dm0qx26rs0lpr36p0"; + }; + }; + }; + "laravel/ui" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-ui-65ec5c03f7fee2c8ecae785795b829a15be48c2c"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/ui/zipball/65ec5c03f7fee2c8ecae785795b829a15be48c2c"; + sha256 = "0hr8kkbxvxxidnw86r1i92938wajhskv68zjn1627h1i16b10ysm"; + }; + }; + }; + "lcobucci/clock" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "lcobucci-clock-039ef98c6b57b101d10bd11d8fdfda12cbd996dc"; + src = fetchurl { + url = "https://api.github.com/repos/lcobucci/clock/zipball/039ef98c6b57b101d10bd11d8fdfda12cbd996dc"; + sha256 = "03hlh6vl04jhhjkk6ps4wikypkg849wq8pdg221359l82ivz16hg"; + }; + }; + }; + "lcobucci/jwt" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "lcobucci-jwt-4d7de2fe0d51a96418c0d04004986e410e87f6b4"; + src = fetchurl { + url = "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4"; + sha256 = "0ripqfq90zf5xgap22zkhw2n5m8ip872lj39bd7fvwcchfjc5rx0"; + }; + }; + }; + "league/commonmark" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-commonmark-d44a24690f16b8c1808bf13b1bd54ae4c63ea048"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048"; + sha256 = "1qx99m1qa2g3l6r2fim3rak6qh28zjj8sqjj86nq743dm3yszygw"; + }; + }; + }; + "league/config" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-config-754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"; + sha256 = "0yjb85cd0qa0mra995863dij2hmcwk9x124vs8lrwiylb0l3mn8s"; + }; + }; + }; + "league/event" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-event-d2cc124cf9a3fab2bb4ff963307f60361ce4d119"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/event/zipball/d2cc124cf9a3fab2bb4ff963307f60361ce4d119"; + sha256 = "1fc8aj0mpbrnh3b93gn8pypix28nf2gfvi403kfl7ibh5iz6ds5l"; + }; + }; + }; + "league/flysystem" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-flysystem-81e87e74dd5213795c7846d65089712d2dda90ce"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/flysystem/zipball/81e87e74dd5213795c7846d65089712d2dda90ce"; + sha256 = "1lhcl71nbbkq27ssd92ilwbjicddnlwwf4ggihxwwv213847bdl9"; + }; + }; + }; + "league/flysystem-aws-s3-v3" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-flysystem-aws-s3-v3-645e14e4a80bd2da8b01e57388e7296a695a80c2"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/645e14e4a80bd2da8b01e57388e7296a695a80c2"; + sha256 = "0dqyjdxwcdfb2jmi4739mz2g6rgnkana5lfbm3a4hz9xnxlw77wq"; + }; + }; + }; + "league/iso3166" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-iso3166-74a08ffe08d4e0dd8ab0aac8c34ea5a641d57669"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/iso3166/zipball/74a08ffe08d4e0dd8ab0aac8c34ea5a641d57669"; + sha256 = "0mh0rz7imb3zwi7lfhxinwfwqlrn7anp1xhskx6pg19w3jjm5rn4"; + }; + }; + }; + "league/mime-type-detection" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-mime-type-detection-ff6248ea87a9f116e78edd6002e39e5128a0d4dd"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd"; + sha256 = "1a63nvqd6cz3vck3y8vjswn6c3cfwh13p0cn0ci5pqdf0bgjvvfz"; + }; + }; + }; + "league/oauth2-server" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-oauth2-server-eed31d86d8cc8e6e9c9f58fbb2113494f8b41e24"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/oauth2-server/zipball/eed31d86d8cc8e6e9c9f58fbb2113494f8b41e24"; + sha256 = "19rz6gbvm3hj2l3hcwhdaqqgw5k3yr0yp47bl0bd7pm0wc4hdqk0"; + }; + }; + }; + "league/uri" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-uri-a700b4656e4c54371b799ac61e300ab25a2d1d39"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/uri/zipball/a700b4656e4c54371b799ac61e300ab25a2d1d39"; + sha256 = "1sjh26mapy1jrlryp6c55s7ghsamwabak1psz5lfs5d7z06vbasy"; + }; + }; + }; + "league/uri-interfaces" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "league-uri-interfaces-00e7e2943f76d8cb50c7dfdc2f6dee356e15e383"; + src = fetchurl { + url = "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383"; + sha256 = "01jllf6n9fs4yjcf6sjc4ivqp7k7dkqhbpz354bq9mr14njsjv6x"; + }; + }; + }; + "mobiledetect/mobiledetectlib" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "mobiledetect-mobiledetectlib-fc9cccd4d3706d5a7537b562b59cc18f9e4c0cb1"; + src = fetchurl { + url = "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/fc9cccd4d3706d5a7537b562b59cc18f9e4c0cb1"; + sha256 = "1qmkrbdrfnxgd7lcgw7g30r8qc6yg1c9lkdam54zhgxhcc2ryxqs"; + }; + }; + }; + "monolog/monolog" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "monolog-monolog-f259e2b15fb95494c83f52d3caad003bbf5ffaa1"; + src = fetchurl { + url = "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1"; + sha256 = "0lz7lgr1bcxsh4c63z8k26bxawkx14h689wgdiap8992rf97kbk2"; + }; + }; + }; + "mtdowling/jmespath.php" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "mtdowling-jmespath.php-9b87907a81b87bc76d19a7fb2d61e61486ee9edb"; + src = fetchurl { + url = "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb"; + sha256 = "1ig3gi6f8gisagcn876598ps48s86s6m0c82diyksylarg3yn0yd"; + }; + }; + }; + "nesbot/carbon" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nesbot-carbon-496712849902241f04902033b0441b269effe001"; + src = fetchurl { + url = "https://api.github.com/repos/briannesbitt/Carbon/zipball/496712849902241f04902033b0441b269effe001"; + sha256 = "1bs1a0cji8fyjw7bys23da6162hymwps0pzm0mqib5rx4g0f1v0x"; + }; + }; + }; + "nette/schema" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nette-schema-abbdbb70e0245d5f3bf77874cea1dfb0c930d06f"; + src = fetchurl { + url = "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f"; + sha256 = "16i8gim0jpmmbq0pp4faw8kn2448yvpgsd1zvipbv9xrk37vah5q"; + }; + }; + }; + "nette/utils" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nette-utils-cacdbf5a91a657ede665c541eda28941d4b09c1e"; + src = fetchurl { + url = "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e"; + sha256 = "0v3as5xdmr9j7d4q4ly18f7g8g0sjcy25l4ispsdp60byldi7m8h"; + }; + }; + }; + "nikic/php-parser" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nikic-php-parser-6bb5176bc4af8bcb7d926f88718db9b96a2d4290"; + src = fetchurl { + url = "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290"; + sha256 = "1q7a8wmjn9x28v5snxxriiih3vj12aqc3za0w6pdhbxs9ywxsg9n"; + }; + }; + }; + "nunomaduro/termwind" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nunomaduro-termwind-8ab0b32c8caa4a2e09700ea32925441385e4a5dc"; + src = fetchurl { + url = "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc"; + sha256 = "1g75vpq7014s5yd6bvj78b88ia31slkikdhjv8iprz987qm5dnl7"; + }; + }; + }; + "nyholm/psr7" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nyholm-psr7-f734364e38a876a23be4d906a2a089e1315be18a"; + src = fetchurl { + url = "https://api.github.com/repos/Nyholm/psr7/zipball/f734364e38a876a23be4d906a2a089e1315be18a"; + sha256 = "0w8i5l1qg8dkc1zsyz1gpwn2awgkhlm295l1b8smmzabqdc65dcx"; + }; + }; + }; + "paragonie/constant_time_encoding" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "paragonie-constant_time_encoding-58c3f47f650c94ec05a151692652a868995d2938"; + src = fetchurl { + url = "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938"; + sha256 = "0i9km0lzvc7df9758fm1p3y0679pzvr5m9x3mrz0d2hxlppsm764"; + }; + }; + }; + "paragonie/random_compat" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "paragonie-random_compat-996434e5492cb4c3edcb9168db6fbb1359ef965a"; + src = fetchurl { + url = "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a"; + sha256 = "0ky7lal59dihf969r1k3pb96ql8zzdc5062jdbg69j6rj0scgkyx"; + }; + }; + }; + "paragonie/sodium_compat" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "paragonie-sodium_compat-cb15e403ecbe6a6cc515f855c310eb6b1872a933"; + src = fetchurl { + url = "https://api.github.com/repos/paragonie/sodium_compat/zipball/cb15e403ecbe6a6cc515f855c310eb6b1872a933"; + sha256 = "01jxl868i8bkx5szgp2fp6mi438ani80bqkdcc7rnn9z22lrsm78"; + }; + }; + }; + "pbmedia/laravel-ffmpeg" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pbmedia-laravel-ffmpeg-820e7f1290918233a59d85f25bc78796dc3f57bb"; + src = fetchurl { + url = "https://api.github.com/repos/protonemedia/laravel-ffmpeg/zipball/820e7f1290918233a59d85f25bc78796dc3f57bb"; + sha256 = "1lp7wz2jrfwcnzpi1nv1rixqqmr244lqbjz6zw3p6pxkb50wdwsd"; + }; + }; + }; + "php-ffmpeg/php-ffmpeg" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "php-ffmpeg-php-ffmpeg-eace6f174ff6d206ba648483ebe59760f7f6a0e1"; + src = fetchurl { + url = "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/eace6f174ff6d206ba648483ebe59760f7f6a0e1"; + sha256 = "0x0cp8r8vdcsyj92wyfk4khq6w5a6522imqyf83q00xf9fcxgm0a"; + }; + }; + }; + "php-http/message-factory" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "php-http-message-factory-a478cb11f66a6ac48d8954216cfed9aa06a501a1"; + src = fetchurl { + url = "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1"; + sha256 = "13drpc83bq332hz0b97whibkm7jpk56msq4yppw9nmrchzwgy7cs"; + }; + }; + }; + "phpoption/phpoption" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpoption-phpoption-dd3a383e599f49777d8b628dadbb90cae435b87e"; + src = fetchurl { + url = "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e"; + sha256 = "029gpfa66hwg395jvf7swcvrj085wsw5fw6041nrl5kbc36fvwlb"; + }; + }; + }; + "phpseclib/phpseclib" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpseclib-phpseclib-665d289f59e646a259ebf13f29be7f6f54cab24b"; + src = fetchurl { + url = "https://api.github.com/repos/phpseclib/phpseclib/zipball/665d289f59e646a259ebf13f29be7f6f54cab24b"; + sha256 = "15l7plmvgq51dly43vsqa66v03m93hcfndapmmjrqywqhb2g4jwv"; + }; + }; + }; + "pixelfed/fractal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pixelfed-fractal-faff10c9f3e3300b1571ef41926f933a9cce4782"; + src = fetchurl { + url = "https://api.github.com/repos/pixelfed/fractal/zipball/faff10c9f3e3300b1571ef41926f933a9cce4782"; + sha256 = "054zbf39ghxk7xydphikxpgkw7hivxmjqzwpcqnpw2vpn3giwfay"; + }; + }; + }; + "pixelfed/laravel-snowflake" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pixelfed-laravel-snowflake-69255870dcbf949feac889dfc09180a6fef77f6d"; + src = fetchurl { + url = "https://api.github.com/repos/pixelfed/laravel-snowflake/zipball/69255870dcbf949feac889dfc09180a6fef77f6d"; + sha256 = "1wsgl9066z1zs751msqn5ydc6mz9m22wchy56qk9igjnjmk6g2pj"; + }; + }; + }; + "pixelfed/zttp" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pixelfed-zttp-e78af39d75171f360ab4c32eed1c7a71b67b5e3b"; + src = fetchurl { + url = "https://api.github.com/repos/pixelfed/zttp/zipball/e78af39d75171f360ab4c32eed1c7a71b67b5e3b"; + sha256 = "0rm4rfkx9kirjfyx0rpvhl7885w4b576f0dra9wjxjz6l3gk2bp0"; + }; + }; + }; + "pragmarx/google2fa" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pragmarx-google2fa-80c3d801b31fe165f8fe99ea085e0a37834e1be3"; + src = fetchurl { + url = "https://api.github.com/repos/antonioribeiro/google2fa/zipball/80c3d801b31fe165f8fe99ea085e0a37834e1be3"; + sha256 = "0qfjgkl02ifc0zicv3d5d6zs8mwpq68bg211jy3psgghnqpxyhlm"; + }; + }; + }; + "predis/predis" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "predis-predis-a77a43913a74f9331f637bb12867eb8e274814e5"; + src = fetchurl { + url = "https://api.github.com/repos/predis/predis/zipball/a77a43913a74f9331f637bb12867eb8e274814e5"; + sha256 = "17xby6nk7nv1gww7hgsd1rzm40ghxx6xg6pfb3zqm40vsg25grrg"; + }; + }; + }; + "psr/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-cache-aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"; + sha256 = "07rnyjwb445sfj30v5ny3gfsgc1m7j7cyvwjgs2cm9slns1k1ml8"; + }; + }; + }; + "psr/clock" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-clock-e41a24703d4560fd0acb709162f73b8adfc3aa0d"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d"; + sha256 = "0wz5b8hgkxn3jg88cb3901hj71axsj0fil6pwl413igghch6i8kj"; + }; + }; + }; + "psr/container" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-container-c71ecc56dfe541dbd90c5360474fbc405f8d5963"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963"; + sha256 = "1mvan38yb65hwk68hl0p7jymwzr4zfnaxmwjbw7nj3rsknvga49i"; + }; + }; + }; + "psr/event-dispatcher" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-event-dispatcher-dbefd12671e8a14ec7f180cab83036ed26714bb0"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0"; + sha256 = "05nicsd9lwl467bsv4sn44fjnnvqvzj1xqw2mmz9bac9zm66fsjd"; + }; + }; + }; + "psr/http-client" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-http-client-2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"; + sha256 = "0cmkifa3ji1r8kn3y1rwg81rh8g2crvnhbv2am6d688dzsbw967v"; + }; + }; + }; + "psr/http-factory" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-http-factory-12ac7fcd07e5b077433f5f2bee95b3a771bf61be"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be"; + sha256 = "0inbnqpc5bfhbbda9dwazsrw9xscfnc8rdx82q1qm3r446mc1vds"; + }; + }; + }; + "psr/http-message" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363"; + sha256 = "195dd67hva9bmr52iadr4kyp2gw2f5l51lplfiay2pv6l9y4cf45"; + }; + }; + }; + "psr/log" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-log-fe5ea303b0887d5caefd3d431c3e61ad47037001"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001"; + sha256 = "0a0rwg38vdkmal3nwsgx58z06qkfl85w2yvhbgwg45anr0b3bhmv"; + }; + }; + }; + "psr/simple-cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-simple-cache-764e0b3939f5ca87cb904f570ef9be2d78a07865"; + src = fetchurl { + url = "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865"; + sha256 = "0hgcanvd9gqwkaaaq41lh8fsfdraxmp2n611lvqv69jwm1iy76g8"; + }; + }; + }; + "psy/psysh" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psy-psysh-722317c9f5627e588788e340f29b923e58f92f54"; + src = fetchurl { + url = "https://api.github.com/repos/bobthecow/psysh/zipball/722317c9f5627e588788e340f29b923e58f92f54"; + sha256 = "122fc66rcv2jwpw2c8di471r4yxcm1289wvpsnadaq345nj3v4bd"; + }; + }; + }; + "pusher/pusher-php-server" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pusher-pusher-php-server-4ace4873873b06c25cecb2dd6d9fdcbf2f20b640"; + src = fetchurl { + url = "https://api.github.com/repos/pusher/pusher-http-php/zipball/4ace4873873b06c25cecb2dd6d9fdcbf2f20b640"; + sha256 = "0kkzhazdxqr6j225gyrbzmxfjc9zz89nckxbmx97bx8p4lrpdk9k"; + }; + }; + }; + "ralouphie/getallheaders" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822"; + src = fetchurl { + url = "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822"; + sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg"; + }; + }; + }; + "ramsey/collection" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ramsey-collection-a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"; + src = fetchurl { + url = "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"; + sha256 = "0y5s9rbs023sw94yzvxr8fn9rr7xw03f08zmc9n9jl49zlr5s52p"; + }; + }; + }; + "ramsey/uuid" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ramsey-uuid-433b2014e3979047db08a17a205f410ba3869cf2"; + src = fetchurl { + url = "https://api.github.com/repos/ramsey/uuid/zipball/433b2014e3979047db08a17a205f410ba3869cf2"; + sha256 = "1yvdbbgblnzzv1zjzwggpayfb8n2kpbwki9dnxc42g4wrxissb8j"; + }; + }; + }; + "ratchet/rfc6455" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ratchet-rfc6455-7c964514e93456a52a99a20fcfa0de242a43ccdb"; + src = fetchurl { + url = "https://api.github.com/repos/ratchetphp/RFC6455/zipball/7c964514e93456a52a99a20fcfa0de242a43ccdb"; + sha256 = "1jw7by1y4aky6v1xjr7fl2y4bwag57mnfqqsbn8sxcz99q0yjzlb"; + }; + }; + }; + "react/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-cache-d47c472b64aa5608225f47965a484b75c7817d5b"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b"; + sha256 = "0qz43ah5jrbixbzndzx70vyfg5mxg0qsha0bhc136jrrgp9sk4sp"; + }; + }; + }; + "react/dns" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-dns-a5427e7dfa47713e438016905605819d101f238c"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/dns/zipball/a5427e7dfa47713e438016905605819d101f238c"; + sha256 = "1dr6hwkxdmkg8pnj497v4x566fyn92h3qrkbfvgsrmhi3cc3gidb"; + }; + }; + }; + "react/event-loop" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-event-loop-187fb56f46d424afb6ec4ad089269c72eec2e137"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/event-loop/zipball/187fb56f46d424afb6ec4ad089269c72eec2e137"; + sha256 = "1nnxfdnigzx7zdc521s0fy4467z809dmw8488ig7r1yypv4ri1yc"; + }; + }; + }; + "react/http" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-http-aa7512ee17258c88466de30f9cb44ec5f9df3ff3"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/http/zipball/aa7512ee17258c88466de30f9cb44ec5f9df3ff3"; + sha256 = "08zwgskkf7c3ixqf70r4xld0lrcdj1nk4l2jg994z8pyi2j3biyq"; + }; + }; + }; + "react/promise" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-promise-234f8fd1023c9158e2314fa9d7d0e6a83db42910"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910"; + sha256 = "0p3n6jzlny75qcqwvrz0920ry3p902nq4v64cpg9ndd0g79dbdz4"; + }; + }; + }; + "react/promise-stream" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-promise-stream-e6d2805e09ad50c4896f65f5e8705fe4ee7731a3"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/promise-stream/zipball/e6d2805e09ad50c4896f65f5e8705fe4ee7731a3"; + sha256 = "0vkxqznj221qgqdndag9gx8dvmaqki37r7ipl6jwgn11hw8xpka9"; + }; + }; + }; + "react/promise-timer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-promise-timer-aa7a73c74b8d8c0f622f5982ff7b0351bc29e495"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/promise-timer/zipball/aa7a73c74b8d8c0f622f5982ff7b0351bc29e495"; + sha256 = "1a7l9by70ygpp101arn217zvrpaddzsm2fywxd0nzc964jcq5mgd"; + }; + }; + }; + "react/socket" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-socket-81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/socket/zipball/81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b"; + sha256 = "0s22mfcima1plb5i10dy8kd9zz4h0apxk9s8frydc3kd27vl6fvv"; + }; + }; + }; + "react/stream" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "react-stream-7a423506ee1903e89f1e08ec5f0ed430ff784ae9"; + src = fetchurl { + url = "https://api.github.com/repos/reactphp/stream/zipball/7a423506ee1903e89f1e08ec5f0ed430ff784ae9"; + sha256 = "1vcn792785hg0991vz3fhdmwl5y47z4g7hvly04y03zmbc0qx0mf"; + }; + }; + }; + "ringcentral/psr7" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ringcentral-psr7-360faaec4b563958b673fb52bbe94e37f14bc686"; + src = fetchurl { + url = "https://api.github.com/repos/ringcentral/psr7/zipball/360faaec4b563958b673fb52bbe94e37f14bc686"; + sha256 = "1j59spmy83gyzc05wl2j92ly51d67bpvgd7nmxma8a8j8vrh063w"; + }; + }; + }; + "spatie/db-dumper" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-db-dumper-129b8254b2c9f10881a754a692bd9507b09a1893"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/db-dumper/zipball/129b8254b2c9f10881a754a692bd9507b09a1893"; + sha256 = "0q0xi4kcqlsghy8pmlr7sx7h6fbrwxbrrhnppsfnczjbkx5y76fv"; + }; + }; + }; + "spatie/image-optimizer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-image-optimizer-d997e01ba980b2769ddca2f00badd3b80c2a2512"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/image-optimizer/zipball/d997e01ba980b2769ddca2f00badd3b80c2a2512"; + sha256 = "0pqyx30ylwsgdh1rz946crjphb0p4qvdvkw4lcbq99g6v36p7ngk"; + }; + }; + }; + "spatie/laravel-backup" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-laravel-backup-f073c8c9f5715272060e4bdceecedd02c29005f9"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/laravel-backup/zipball/f073c8c9f5715272060e4bdceecedd02c29005f9"; + sha256 = "1p1v7wag0iqkq6h256k1xqmgf50wx4iygzi12wf942g6sgsf1yll"; + }; + }; + }; + "spatie/laravel-image-optimizer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-laravel-image-optimizer-cd8945e47b9fd01bc7b770eecd57c56f46c47422"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/laravel-image-optimizer/zipball/cd8945e47b9fd01bc7b770eecd57c56f46c47422"; + sha256 = "0zp3dnnj3l9xsz4f3w2c7pk20mvq8dcfy2zc943hlr5ffz7bjg6x"; + }; + }; + }; + "spatie/laravel-package-tools" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-laravel-package-tools-bab62023a4745a61170ad5424184533685e73c2d"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/laravel-package-tools/zipball/bab62023a4745a61170ad5424184533685e73c2d"; + sha256 = "0y4zfyk6v12kkkgz4sp00h1n8gqsr1idir5blcvzy3f540wxl30y"; + }; + }; + }; + "spatie/laravel-signal-aware-command" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-laravel-signal-aware-command-46cda09a85aef3fd47fb73ddc7081f963e255571"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/46cda09a85aef3fd47fb73ddc7081f963e255571"; + sha256 = "1h4qa1zrpwr6ly5lwvsjb60wya92ys608xij9x01v3nm69r99939"; + }; + }; + }; + "spatie/temporary-directory" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "spatie-temporary-directory-e2818d871783d520b319c2d38dc37c10ecdcde20"; + src = fetchurl { + url = "https://api.github.com/repos/spatie/temporary-directory/zipball/e2818d871783d520b319c2d38dc37c10ecdcde20"; + sha256 = "18zay4l05sh21zfnbs0l6l12192j4y0mn2yfvnsyhm617kr14vgj"; + }; + }; + }; + "stevebauman/purify" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "stevebauman-purify-e56289062ed8a25c78c88f35e9106f00d01369c1"; + src = fetchurl { + url = "https://api.github.com/repos/stevebauman/purify/zipball/e56289062ed8a25c78c88f35e9106f00d01369c1"; + sha256 = "0bqzk203c526sdz8dgpvm3kffxk9x67xy1qbjl4p13fl4cwyi8wb"; + }; + }; + }; + "symfony/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-cache-01a36b32f930018764bcbde006fbbe421fa6b61e"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/cache/zipball/01a36b32f930018764bcbde006fbbe421fa6b61e"; + sha256 = "1i484nh0zy4nbq8p3j1wdw7jiz6rs387w8gyrhligfvhv6kkfd2f"; + }; + }; + }; + "symfony/cache-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-cache-contracts-eeb71f04b6f7f34ca6d15633df82e014528b1632"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/cache-contracts/zipball/eeb71f04b6f7f34ca6d15633df82e014528b1632"; + sha256 = "13dcrpy31arn3v1kns83zndhbyzngwc7ic3vc5c6x7kmv23s5l0x"; + }; + }; + }; + "symfony/console" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-console-cbad09eb8925b6ad4fb721c7a179344dc4a19d45"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/console/zipball/cbad09eb8925b6ad4fb721c7a179344dc4a19d45"; + sha256 = "0373y1dqy8mschqqhw2hvv906i1nc68h4yd5jm1dj4rf8qrynplb"; + }; + }; + }; + "symfony/css-selector" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-css-selector-aedf3cb0f5b929ec255d96bbb4909e9932c769e0"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/css-selector/zipball/aedf3cb0f5b929ec255d96bbb4909e9932c769e0"; + sha256 = "1sr492i55w1shyzp365a2xb50fsb0arkf2idckd8icck54k3zdgf"; + }; + }; + }; + "symfony/deprecation-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-deprecation-contracts-e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e"; + sha256 = "1z7akdycl5ar42vs1kc00ggm5rbqw0lx7i3acbcbfhnwmdxsmcxh"; + }; + }; + }; + "symfony/error-handler" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-error-handler-61e90f94eb014054000bc902257d2763fac09166"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/error-handler/zipball/61e90f94eb014054000bc902257d2763fac09166"; + sha256 = "1kxm9pzvvlrd2b1gwbq9b45qgq6sckl0xr078cis7vsbhw9kwbkn"; + }; + }; + }; + "symfony/event-dispatcher" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-event-dispatcher-404b307de426c1c488e5afad64403e5f145e82a5"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/event-dispatcher/zipball/404b307de426c1c488e5afad64403e5f145e82a5"; + sha256 = "0262hqisnnv3mzb7gn6yjyvr8dhgsqrs18a19s72nwcj0cs7k6mi"; + }; + }; + }; + "symfony/event-dispatcher-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-event-dispatcher-contracts-0ad3b6f1e4e2da5690fefe075cd53a238646d8dd"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd"; + sha256 = "0yqg0h2kf4mij39nisshvg5gssn6aqyqphngi05z6jfd0q89a46x"; + }; + }; + }; + "symfony/finder" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-finder-20808dc6631aecafbe67c186af5dcb370be3a0eb"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb"; + sha256 = "113yidfp8sjkv200kx4pi81zn0v0r9gmq8dw7p3zvhc23k1hinh8"; + }; + }; + }; + "symfony/http-client" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-http-client-0a5be6cbc570ae23b51b49d67341f378629d78e4"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/http-client/zipball/0a5be6cbc570ae23b51b49d67341f378629d78e4"; + sha256 = "1jkgy3k4g2x33952vnbw8n5lv6986fbq8qallpsl8rfcczyzliq3"; + }; + }; + }; + "symfony/http-client-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-http-client-contracts-df2ecd6cb70e73c1080e6478aea85f5f4da2c48b"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/http-client-contracts/zipball/df2ecd6cb70e73c1080e6478aea85f5f4da2c48b"; + sha256 = "0ch1kzfxszbaw75rrn9x8f26rx1ikjnygdckhgs8cgn5y1ivp0im"; + }; + }; + }; + "symfony/http-foundation" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-http-foundation-5fc3038d4a594223f9ea42e4e985548f3fcc9a3b"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/http-foundation/zipball/5fc3038d4a594223f9ea42e4e985548f3fcc9a3b"; + sha256 = "13wn8kgxakp9133sjgvn2bfr51r5rxymm6d8vhs8kjxxgkx050l5"; + }; + }; + }; + "symfony/http-kernel" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-http-kernel-ca0680ad1e2d678536cc20e0ae33f9e4e5d2becd"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/http-kernel/zipball/ca0680ad1e2d678536cc20e0ae33f9e4e5d2becd"; + sha256 = "14b700kcw4ibz9hackx9wvghmv5rnks18vhr4vjb5zskfdajp4qd"; + }; + }; + }; + "symfony/mailer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-mailer-e4f84c633b72ec70efc50b8016871c3bc43e691e"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/mailer/zipball/e4f84c633b72ec70efc50b8016871c3bc43e691e"; + sha256 = "15bi1vy4162mv0k49wscdshwznjmmcwr9g7g03jgadanjq4afyzj"; + }; + }; + }; + "symfony/mailgun-mailer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-mailgun-mailer-9e27b8ec2f6ee7575c6229a61be1578a5a4b21ee"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/mailgun-mailer/zipball/9e27b8ec2f6ee7575c6229a61be1578a5a4b21ee"; + sha256 = "14ny9mqvl8lqfa049cvxd0zqiqssidk82794sg80g6cl1irmj6rp"; + }; + }; + }; + "symfony/mime" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-mime-62e341f80699badb0ad70b31149c8df89a2d778e"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/mime/zipball/62e341f80699badb0ad70b31149c8df89a2d778e"; + sha256 = "1l56y494n4phiyafcgc7sa8vfxzsvz6lbzxhnqirdgv19y4zvbim"; + }; + }; + }; + "symfony/polyfill-ctype" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-ctype-5bbc823adecdae860bb64756d639ecfec17b050a"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a"; + sha256 = "0vyv70z1yi2is727d1mkb961w5r1pb1v3wy1pvdp30h8ffy15wk6"; + }; + }; + }; + "symfony/polyfill-intl-grapheme" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-intl-grapheme-511a08c03c1960e08a883f4cffcacd219b758354"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354"; + sha256 = "0ifsgsyxf0z0nkynqvr5259dm5dsmbgdpvyi5zfvy8935mi0ki0i"; + }; + }; + }; + "symfony/polyfill-intl-idn" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-intl-idn-639084e360537a19f9ee352433b84ce831f3d2da"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da"; + sha256 = "1i2wcsbfbwdyrx8545yrrvbdaf4l2393pjvg9266q74611j6pzxj"; + }; + }; + }; + "symfony/polyfill-intl-normalizer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-intl-normalizer-19bd1e4fcd5b91116f14d8533c57831ed00571b6"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6"; + sha256 = "1d80jph5ykiw6ydv8fwd43s0aglh24qc1yrzds2f3aqanpbk1gr2"; + }; + }; + }; + "symfony/polyfill-mbstring" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-mbstring-8ad114f6b39e2c98a8b0e3bd907732c207c2b534"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534"; + sha256 = "1ym84qp609i50lv4vkd4yz99y19kaxd5kmpdnh66mxx1a4a104mi"; + }; + }; + }; + "symfony/polyfill-php72" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-php72-869329b1e9894268a8a61dabb69153029b7a8c97"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97"; + sha256 = "1h0lbh8d41sa4fymmw03yzws3v3z0lz4lv1kgcld7r53i2m3wfwp"; + }; + }; + }; + "symfony/polyfill-php80" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-php80-7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"; + sha256 = "16yydk7rsknlasrpn47n4b4js8svvp4rxzw99dkav52wr3cqmcwd"; + }; + }; + }; + "symfony/polyfill-uuid" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-uuid-f3cf1a645c2734236ed1e2e671e273eeb3586166"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/polyfill-uuid/zipball/f3cf1a645c2734236ed1e2e671e273eeb3586166"; + sha256 = "1pjh861iwlf71frm9f9i7acw4bbiq40gkh96a5wd09nfd2c3w7mc"; + }; + }; + }; + "symfony/process" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-process-680e8a2ea6b3f87aecc07a6a65a203ae573d1902"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/process/zipball/680e8a2ea6b3f87aecc07a6a65a203ae573d1902"; + sha256 = "16g99h6ir2mf3v0kciqckjgjg4x8sqyl2b6r7rf9bw1rnfmh3xk7"; + }; + }; + }; + "symfony/psr-http-message-bridge" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-psr-http-message-bridge-a125b93ef378c492e274f217874906fb9babdebb"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/a125b93ef378c492e274f217874906fb9babdebb"; + sha256 = "1c23bv3j2zwbxklizvkvkzrgn2fd1164qb0smgswa15pshwmr0gw"; + }; + }; + }; + "symfony/routing" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-routing-fa643fa4c56de161f8bc8c0492a76a60140b50e4"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/routing/zipball/fa643fa4c56de161f8bc8c0492a76a60140b50e4"; + sha256 = "1kv9ijzligl3y6z6hwkk5kjf8h8lff5fh6y0f1ws1ivwxrid8r33"; + }; + }; + }; + "symfony/service-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-service-contracts-a8c9cedf55f314f3a186041d19537303766df09a"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a"; + sha256 = "0gk4mpvm0v8a98p641wdxdvcinl4366fiqadq0za3w37zrwals53"; + }; + }; + }; + "symfony/string" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-string-67b8c1eec78296b85dc1c7d9743830160218993d"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/string/zipball/67b8c1eec78296b85dc1c7d9743830160218993d"; + sha256 = "1jvxxb6f5mf1hl1fl6pr46b0g79w8zinqxgw40c871lxw8xmk6hy"; + }; + }; + }; + "symfony/translation" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-translation-90db1c6138c90527917671cd9ffa9e8b359e3a73"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/translation/zipball/90db1c6138c90527917671cd9ffa9e8b359e3a73"; + sha256 = "1fwg6fwlkjv2zxxg7mjxp9i9c3slxfdiixykpl3r9rsddjvpvyjr"; + }; + }; + }; + "symfony/translation-contracts" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-translation-contracts-dfec258b9dd17a6b24420d464c43bffe347441c8"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/translation-contracts/zipball/dfec258b9dd17a6b24420d464c43bffe347441c8"; + sha256 = "1ns37kz4fc2z0kdzhk9kchsxffy5h7ls43z4carv2vzrkgzml8lx"; + }; + }; + }; + "symfony/uid" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-uid-d30c72a63897cfa043e1de4d4dd2ffa9ecefcdc0"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/uid/zipball/d30c72a63897cfa043e1de4d4dd2ffa9ecefcdc0"; + sha256 = "0lg3qxa011mvg41xznm69jqc6l02ysvw9jm48bb63gn1j70zy6ba"; + }; + }; + }; + "symfony/var-dumper" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-var-dumper-cf8d4ca1ddc1e3cc242375deb8fc23e54f5e2a1e"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/var-dumper/zipball/cf8d4ca1ddc1e3cc242375deb8fc23e54f5e2a1e"; + sha256 = "1l771q02a9m4j09dv96y4g1fb9lpmfxnz2hy11hmz57afscl3m7s"; + }; + }; + }; + "symfony/var-exporter" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-var-exporter-86062dd0103530e151588c8f60f5b85a139f1442"; + src = fetchurl { + url = "https://api.github.com/repos/symfony/var-exporter/zipball/86062dd0103530e151588c8f60f5b85a139f1442"; + sha256 = "1w13ww6qr7bra2c8j2da6wzrr96agp1ks4b81g1h8psyybvb48m6"; + }; + }; + }; + "tightenco/collect" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "tightenco-collect-d7381736dca44ac17d0805a25191b094e5a22446"; + src = fetchurl { + url = "https://api.github.com/repos/tighten/collect/zipball/d7381736dca44ac17d0805a25191b094e5a22446"; + sha256 = "0qzsr8q6x7ncwdpbp0w652gl260rwynxvrnsjvj86vjkbc4s0y8w"; + }; + }; + }; + "tijsverkoyen/css-to-inline-styles" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "tijsverkoyen-css-to-inline-styles-c42125b83a4fa63b187fdf29f9c93cb7733da30c"; + src = fetchurl { + url = "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c"; + sha256 = "0ckk04hwwz0fdkfr20i7xrhdjcnnw1b0liknbb81qyr1y4b7x3dd"; + }; + }; + }; + "vlucas/phpdotenv" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "vlucas-phpdotenv-1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7"; + src = fetchurl { + url = "https://api.github.com/repos/vlucas/phpdotenv/zipball/1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7"; + sha256 = "13h4xyxhdjn1n7xcxbcdhj20rv5fsaigbsbz61x2i224hj76620a"; + }; + }; + }; + "voku/portable-ascii" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "voku-portable-ascii-b56450eed252f6801410d810c8e1727224ae0743"; + src = fetchurl { + url = "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743"; + sha256 = "0gwlv1hr6ycrf8ik1pnvlwaac8cpm8sa1nf4d49s8rp4k2y5anyl"; + }; + }; + }; + "webmozart/assert" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "webmozart-assert-11cb2199493b2f8a3b53e7f19068fc6aac760991"; + src = fetchurl { + url = "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991"; + sha256 = "18qiza1ynwxpi6731jx1w5qsgw98prld1lgvfk54z92b1nc7psix"; + }; + }; + }; + }; + devPackages = { + "brianium/paratest" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "brianium-paratest-51691208db882922c55d6c465be3e7d95028c449"; + src = fetchurl { + url = "https://api.github.com/repos/paratestphp/paratest/zipball/51691208db882922c55d6c465be3e7d95028c449"; + sha256 = "0gmp7zg3lfvsg4lqsh3q5zxl00iz004d5qbvnmya6y97skig2ja6"; + }; + }; + }; + "doctrine/instantiator" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-instantiator-c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"; + src = fetchurl { + url = "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"; + sha256 = "059ahw73z0m24cal4f805j6h1i53f90mrmjr7s4f45yfxgwcqvcn"; + }; + }; + }; + "fakerphp/faker" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fakerphp-faker-92efad6a967f0b79c499705c69b662f738cc9e4d"; + src = fetchurl { + url = "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d"; + sha256 = "0yxl4vicv0yc5jxsfslxkhh7fjgryg3anmpvdvbqim2df5wv4pqg"; + }; + }; + }; + "fidry/cpu-core-counter" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fidry-cpu-core-counter-b58e5a3933e541dc286cc91fc4f3898bbc6f1623"; + src = fetchurl { + url = "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623"; + sha256 = "154qkm931w5d3dy202w455wxfa0wsjx7mmfj23mb36zpp1gck19j"; + }; + }; + }; + "filp/whoops" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "filp-whoops-e864ac957acd66e1565f25efda61e37791a5db0b"; + src = fetchurl { + url = "https://api.github.com/repos/filp/whoops/zipball/e864ac957acd66e1565f25efda61e37791a5db0b"; + sha256 = "1q6lx0d2h1372flsh7qqacyb9gljhhlnasgbvydhil11v1mai50g"; + }; + }; + }; + "hamcrest/hamcrest-php" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "hamcrest-hamcrest-php-8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"; + src = fetchurl { + url = "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"; + sha256 = "1ixmmpplaf1z36f34d9f1342qjbcizvi5ddkjdli6jgrbla6a6hr"; + }; + }; + }; + "jean85/pretty-package-versions" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "jean85-pretty-package-versions-ae547e455a3d8babd07b96966b17d7fd21d9c6af"; + src = fetchurl { + url = "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af"; + sha256 = "07s7hl7705vgmyr5m7czja4426rsqrxqh8m362irn29vbc35k6q8"; + }; + }; + }; + "laravel/telescope" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "laravel-telescope-fafad2e32883eb9dc03b646d0f82b2987e8af880"; + src = fetchurl { + url = "https://api.github.com/repos/laravel/telescope/zipball/fafad2e32883eb9dc03b646d0f82b2987e8af880"; + sha256 = "1pr1a4b07nmwj05ck4c7c1ip1hhr32blr9pwcvapyrh862vv5p13"; + }; + }; + }; + "mockery/mockery" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "mockery-mockery-e92dcc83d5a51851baf5f5591d32cb2b16e3684e"; + src = fetchurl { + url = "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e"; + sha256 = "0dvkr0ff37cn6s72s7sqw26j6i5fja780x980zhl099frflkw5s9"; + }; + }; + }; + "myclabs/deep-copy" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "myclabs-deep-copy-7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"; + src = fetchurl { + url = "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"; + sha256 = "16k44y94bcr439bsxm5158xvmlyraph2c6n17qa5y29b04jqdw5j"; + }; + }; + }; + "nunomaduro/collision" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nunomaduro-collision-f05978827b9343cba381ca05b8c7deee346b6015"; + src = fetchurl { + url = "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015"; + sha256 = "09bpw23vq3yyilrkd6k798igrg0ypryxpw2bfbdgjvjwhs4ndf29"; + }; + }; + }; + "phar-io/manifest" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phar-io-manifest-97803eca37d319dfa7826cc2437fc020857acb53"; + src = fetchurl { + url = "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53"; + sha256 = "107dsj04ckswywc84dvw42kdrqd4y6yvb2qwacigyrn05p075c1w"; + }; + }; + }; + "phar-io/version" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phar-io-version-4f7fd7836c6f332bb2933569e566a0d6c4cbed74"; + src = fetchurl { + url = "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74"; + sha256 = "0mdbzh1y0m2vvpf54vw7ckcbcf1yfhivwxgc9j9rbb7yifmlyvsg"; + }; + }; + }; + "phpunit/php-code-coverage" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpunit-php-code-coverage-443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"; + sha256 = "18v2xs142pw4dl9l6imcmkdvv5m18zd36ar41i586f4mg8d961d1"; + }; + }; + }; + "phpunit/php-file-iterator" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpunit-php-file-iterator-cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"; + sha256 = "1407d8f1h35w4sdikq2n6cz726css2xjvlyr1m4l9a53544zxcnr"; + }; + }; + }; + "phpunit/php-invoker" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpunit-php-invoker-5a10147d0aaf65b58940a0b72f71c9ac0423cc67"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67"; + sha256 = "1vqnnjnw94mzm30n9n5p2bfgd3wd5jah92q6cj3gz1nf0qigr4fh"; + }; + }; + }; + "phpunit/php-text-template" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpunit-php-text-template-5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"; + sha256 = "0ff87yzywizi6j2ps3w0nalpx16mfyw3imzn6gj9jjsfwc2bb8lq"; + }; + }; + }; + "phpunit/php-timer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpunit-php-timer-5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"; + sha256 = "0g1g7yy4zk1bidyh165fsbqx5y8f1c8pxikvcahzlfsr9p2qxk6a"; + }; + }; + }; + "phpunit/phpunit" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpunit-phpunit-86e761949019ae83f49240b2f2123fb5ab3b2fc5"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86e761949019ae83f49240b2f2123fb5ab3b2fc5"; + sha256 = "1jqsw5qd5cv07fzpbw6m31314s2b64zwz0hz3g83179yf5h4r99z"; + }; + }; + }; + "sebastian/cli-parser" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-cli-parser-442e7c7e687e42adc03470c7b668bc4b2402c0b2"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2"; + sha256 = "074qzdq19k9x4svhq3nak5h348xska56v1sqnhk1aj0jnrx02h37"; + }; + }; + }; + "sebastian/code-unit" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-code-unit-1fc9f64c0927627ef78ba436c9b17d967e68e120"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120"; + sha256 = "04vlx050rrd54mxal7d93pz4119pas17w3gg5h532anfxjw8j7pm"; + }; + }; + }; + "sebastian/code-unit-reverse-lookup" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-code-unit-reverse-lookup-ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"; + sha256 = "1h1jbzz3zak19qi4mab2yd0ddblpz7p000jfyxfwd2ds0gmrnsja"; + }; + }; + }; + "sebastian/comparator" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-comparator-fa0f136dd2334583309d32b62544682ee972b51a"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a"; + sha256 = "0m8ibkwaxw2q5v84rlvy7ylpkddscsa8hng0cjczy4bqpqavr83w"; + }; + }; + }; + "sebastian/complexity" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-complexity-739b35e53379900cc9ac327b2147867b8b6efd88"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88"; + sha256 = "1y4yz8n8hszbhinf9ipx3pqyvgm7gz0krgyn19z0097yq3bbq8yf"; + }; + }; + }; + "sebastian/diff" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-diff-3461e3fccc7cfdfc2720be910d3bd73c69be590d"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d"; + sha256 = "0967nl6cdnr0v0z83w4xy59agn60kfv8gb41aw3fpy1n2wpp62dj"; + }; + }; + }; + "sebastian/environment" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-environment-830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"; + sha256 = "02045n3in01zk571v1phyhj0b2mvnvx8qnlqvw4j33r7qdd4clzn"; + }; + }; + }; + "sebastian/exporter" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-exporter-ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"; + sha256 = "1a6yj8v8rwj3igip8xysdifvbd7gkzmwrj9whdx951pdq7add46j"; + }; + }; + }; + "sebastian/global-state" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-global-state-0ca8db5a5fc9c8646244e629625ac486fa286bf2"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2"; + sha256 = "1csrfa5b7ivza712lfmbywp9jhwf4ls5lc0vn812xljkj7w24kg1"; + }; + }; + }; + "sebastian/lines-of-code" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-lines-of-code-c1c2e997aa3146983ed888ad08b15470a2e22ecc"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc"; + sha256 = "0fay9s5cm16gbwr7qjihwrzxn7sikiwba0gvda16xng903argbk0"; + }; + }; + }; + "sebastian/object-enumerator" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-object-enumerator-5c9eeac41b290a3712d88851518825ad78f45c71"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71"; + sha256 = "11853z07w8h1a67wsjy3a6ir5x7khgx6iw5bmrkhjkiyvandqcn1"; + }; + }; + }; + "sebastian/object-reflector" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-object-reflector-b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"; + sha256 = "0g5m1fswy6wlf300x1vcipjdljmd3vh05hjqhqfc91byrjbk4rsg"; + }; + }; + }; + "sebastian/recursion-context" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-recursion-context-e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"; + sha256 = "1ag6ysxffhxyg7g4rj9xjjlwq853r4x92mmin4f09hn5mqn9f0l1"; + }; + }; + }; + "sebastian/resource-operations" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-resource-operations-0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"; + sha256 = "0p5s8rp7mrhw20yz5wx1i4k8ywf0h0ximcqan39n9qnma1dlnbyr"; + }; + }; + }; + "sebastian/type" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-type-75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"; + sha256 = "0bvfvb62qbpy2hzxs4bjzb0xhks6h3cp6qx96z4qlyz6wl2fa1w5"; + }; + }; + }; + "sebastian/version" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sebastian-version-c6c1022351a901512170118436c764e473f6de8c"; + src = fetchurl { + url = "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c"; + sha256 = "1bs7bwa9m0fin1zdk7vqy5lxzlfa9la90lkl27sn0wr00m745ig1"; + }; + }; + }; + "theseer/tokenizer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "theseer-tokenizer-34a41e998c2183e22995f158c581e7b5e755ab9e"; + src = fetchurl { + url = "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e"; + sha256 = "1za4a017kjb4rw2ydglip4bp5q2y7mfiycj3fvnp145i84jc7n0q"; + }; + }; + }; + }; +in +composerEnv.buildPackage { + inherit packages devPackages noDev; + name = "pixelfed-pixelfed"; + src = composerEnv.filterSrc ./.; + executable = false; + symlinkDependencies = false; + meta = { + license = "AGPL-3.0-only"; + }; +} diff --git a/pkgs/servers/web-apps/plausible/default.nix b/pkgs/servers/web-apps/plausible/default.nix index f9371bd916fb..d57bcfc0190a 100644 --- a/pkgs/servers/web-apps/plausible/default.nix +++ b/pkgs/servers/web-apps/plausible/default.nix @@ -61,6 +61,7 @@ beamPackages.mixRelease { export HOME=$TMPDIR export NODE_OPTIONS=--openssl-legacy-provider # required for webpack compatibility with OpenSSL 3 (https://github.com/webpack/webpack/issues/14532) ln -sf ${yarnDeps}/node_modules assets/node_modules + substituteInPlace assets/package.json --replace '$(npm bin)/' 'npx ' npm run deploy --prefix ./assets # for external task you need a workaround for the no deps check flag @@ -70,8 +71,6 @@ beamPackages.mixRelease { meta = with lib; { license = licenses.agpl3Plus; - # broken since the deprecation of nodejs_16 - broken = true; homepage = "https://plausible.io/"; description = " Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics."; maintainers = with maintainers; [ ]; diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix index c17c3f7e95c9..604599c3ca1c 100644 --- a/pkgs/servers/web-apps/wiki-js/default.nix +++ b/pkgs/servers/web-apps/wiki-js/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, lib, nixosTests }: +{ stdenv, fetchurl, lib, nixosTests, jq, moreutils }: stdenv.mkDerivation rec { pname = "wiki-js"; @@ -9,6 +9,40 @@ stdenv.mkDerivation rec { sha256 = "sha256-O7KQ134zh9ullYyQZimmxfdRwXeHkD8aAhy/pRzIjxo="; }; + # Implements nodejs 18 support as it's not planned to fix this before + # the release of v3[1] which is planned to happen in 2023, but not before + # NixOS 23.05. However, in the lifespan of 23.05 v16 will get EOLed, so + # we have to hack this on our own. + # + # The problem we fix here is that `exports."/public/"` in a `package.json` + # is prohibited, i.e. you cannot export full directories anymore. + # + # Unfortunately it's non-trivial to fix this because v10 of `extract-files` + # (where the problem is fixed) doesn't work for graphql-tools (which depends + # on this). Updating this as well is also quite complex because in later + # versions the package was split up into multiple smaller packages and + # thus a lot of parts of the code-base would need to be changed accordingly. + # + # Since this is the only breaking change of nodejs 17/18[2][3], this workaround + # will be necessary until we can upgrade to v3. + # + # [1] https://github.com/requarks/wiki/discussions/6388 + # [2] https://nodejs.org/en/blog/release/v17.0.0 + # [3] https://nodejs.org/en/blog/release/v18.0.0 + nativeBuildInputs = [ jq moreutils ]; + postPatch = '' + # Dirty hack to implement nodejs-18 support. + <./node_modules/extract-files/package.json jq ' + # error out loud if the structure has changed and we need to change + # this expression + if .exports|has("./public/")|not then + halt_error(1) + else + .exports."./public/*" = "./public/*.js" | del(.exports."./public/") + end + ' | sponge ./node_modules/extract-files/package.json + ''; + sourceRoot = "."; dontBuild = true; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index dc7e65313e3a..9d63228220e7 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -1,6 +1,6 @@ { abiCompat ? null, callPackage, - lib, stdenv, makeWrapper, fetchurl, fetchpatch, fetchFromGitLab, buildPackages, substitute, + lib, stdenv, makeWrapper, fetchurl, fetchpatch, fetchFromGitLab, buildPackages, automake, autoconf, libiconv, libtool, intltool, freetype, tradcpp, fontconfig, meson, ninja, ed, fontforge, libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm, netbsd, @@ -771,12 +771,14 @@ self: super: name = "revert-fb-changes-2.patch"; }) ./darwin/bundle_main.patch - (substitute { - src = ./darwin/stub.patch; - replacements = ["--subst-var-by" "XQUARTZ_APP" "${placeholder "out"}/Applications/XQuartz.app"]; - }) + ./darwin/stub.patch ]; + postPatch = attrs.postPatch + '' + substituteInPlace hw/xquartz/mach-startup/stub.c \ + --subst-var-by XQUARTZ_APP "$out/Applications/XQuartz.app" + ''; + configureFlags = [ # note: --enable-xquartz is auto "CPPFLAGS=-I${./darwin/dri}" diff --git a/pkgs/test/texlive/default.nix b/pkgs/test/texlive/default.nix index 5e0369f4db47..754358cdf29d 100644 --- a/pkgs/test/texlive/default.nix +++ b/pkgs/test/texlive/default.nix @@ -199,4 +199,15 @@ {"$kpathsea","$schemeFull"/share/texmf-var}/web2c/fmtutil.cnf \ | tee "$out/fmtutil.cnf.patch" ''; + + # verify that the restricted mode gets enabled when + # needed (detected by checking if it disallows --gscmd) + repstopdf = runCommand "texlive-test-repstopdf" { + nativeBuildInputs = [ (texlive.combine { inherit (texlive) scheme-infraonly epstopdf; }) ]; + } '' + ! (epstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden >/dev/null + (repstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden >/dev/null + mkdir "$out" + ''; + } diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix index 747628aaad5e..109f038d9728 100644 --- a/pkgs/tools/admin/salt/default.nix +++ b/pkgs/tools/admin/salt/default.nix @@ -9,11 +9,11 @@ python3.pkgs.buildPythonApplication rec { pname = "salt"; - version = "3006.0"; + version = "3006.1"; src = python3.pkgs.fetchPypi { inherit pname version; - hash = "sha256-7iw4s06oYUCQE8gc8KqFKX1pzxB3O3PuegcQtclC3Mo="; + hash = "sha256-lVh71hHepq/7aQjQ7CaGy37bhMFBRLSFF3bxJ6YOxbk="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/tools/games/joystickwake/default.nix b/pkgs/tools/games/joystickwake/default.nix index 203c58b8f619..9b2012857db2 100644 --- a/pkgs/tools/games/joystickwake/default.nix +++ b/pkgs/tools/games/joystickwake/default.nix @@ -1,13 +1,13 @@ { lib, python3, fetchFromGitHub }: python3.pkgs.buildPythonApplication rec { pname = "joystickwake"; - version = "0.4"; + version = "0.4.1"; src = fetchFromGitHub { owner = "foresto"; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-0rVVxaaAFHkmJeG3e181x7faTIeFwupplWepoyxc51g="; + sha256 = "sha256-qf1owRdBGyU3q9ZJAzDEcMlnHfeUMSXga4v6QXdxXO0="; }; propagatedBuildInputs = with python3.pkgs; [ dbus-next pyudev xlib ]; diff --git a/pkgs/tools/graphics/ueberzugpp/default.nix b/pkgs/tools/graphics/ueberzugpp/default.nix index 7011c6b5a30a..e3c83456531c 100644 --- a/pkgs/tools/graphics/ueberzugpp/default.nix +++ b/pkgs/tools/graphics/ueberzugpp/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "ueberzugpp"; - version = "2.8.0"; + version = "2.8.1"; src = fetchFromGitHub { owner = "jstkdng"; repo = "ueberzugpp"; rev = "v${version}"; - hash = "sha256-PTI+jIsXq4yh8TBAT1p1CLbBMDW1U323WgPoASz2pwA="; + hash = "sha256-9FGuElHWuqTuzHNcb9p0HX0AFMmZc+MRc5+EP5cvBaA="; }; nativeBuildInputs = [ @@ -69,6 +69,6 @@ stdenv.mkDerivation rec { mainProgram = "ueberzug"; maintainers = with maintainers; [ aleksana ]; platforms = platforms.unix; - broken = stdenv.isDarwin && stdenv.isx86_64; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/tools/misc/3llo/default.nix b/pkgs/tools/misc/3llo/default.nix index 3053af18cde4..8515849f3a9e 100644 --- a/pkgs/tools/misc/3llo/default.nix +++ b/pkgs/tools/misc/3llo/default.nix @@ -1,8 +1,7 @@ -{ lib, ruby_3_0, bundlerApp, fetchpatch }: +{ lib, bundlerApp }: bundlerApp { pname = "3llo"; - ruby = ruby_3_0; gemdir = ./.; diff --git a/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch b/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch new file mode 100644 index 000000000000..3d4f674ff2c4 --- /dev/null +++ b/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch @@ -0,0 +1,28 @@ +From 95d86c080a559d9c9f0498fb93d43d3fef377080 Mon Sep 17 00:00:00 2001 +From: Jack Leightcap +Date: Sat, 13 May 2023 17:28:54 -0400 +Subject: [PATCH] Relax Amaranth git dependency + +Signed-off-by: Jack Leightcap +--- + software/pyproject.toml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/software/pyproject.toml b/software/pyproject.toml +index 6d1e2f1..6dfcc9e 100644 +--- a/software/pyproject.toml ++++ b/software/pyproject.toml +@@ -20,8 +20,8 @@ classifiers = [ + ] + + dependencies = [ +- "amaranth @ git+https://github.com/amaranth-lang/amaranth.git", +- "fx2>=0.11", ++ "amaranth", ++ "fx2", + "libusb1>=1.8.1", + "aiohttp~=3.8", + "pyvcd", +-- +2.38.4 + diff --git a/pkgs/tools/misc/glasgow/default.nix b/pkgs/tools/misc/glasgow/default.nix index 15725d8fd58a..a2c8019e190d 100644 --- a/pkgs/tools/misc/glasgow/default.nix +++ b/pkgs/tools/misc/glasgow/default.nix @@ -9,28 +9,33 @@ python3.pkgs.buildPythonApplication rec { pname = "glasgow"; - version = "unstable-2021-12-12"; - # python software/setup.py --version - realVersion = "0.1.dev1679+g${lib.substring 0 7 src.rev}"; + version = "unstable-2023-04-15"; + # python -m setuptools_scm + realVersion = "0.1.dev2+g${lib.substring 0 7 src.rev}"; + + patches = [ ./0001-Relax-Amaranth-git-dependency.patch ]; src = fetchFromGitHub { owner = "GlasgowEmbedded"; repo = "glasgow"; - rev = "e640a778c446b7e9812727e73c560d12aeb41d7c"; - sha256 = "EsQ9ZjalKDQ54JOonra4yPDI56cF5n86y/Rd798cZsU="; + rev = "406e06fae5c85f6f773c9839747513874bc3ec77"; + sha256 = "sha256-s4fWpKJj6n2+CIAsD2bjr5K8RhJz1H1sFnjiartNGf0="; }; - nativeBuildInputs = [ python3.pkgs.setuptools-scm sdcc ]; + nativeBuildInputs = [ + python3.pkgs.setuptools-scm + sdcc + ]; propagatedBuildInputs = with python3.pkgs; [ - setuptools + aiohttp amaranth + bitarray + crc fx2 libusb1 - aiohttp pyvcd - bitarray - crcmod + setuptools ]; nativeCheckInputs = [ yosys icestorm nextpnr ]; diff --git a/pkgs/tools/misc/gotify-cli/default.nix b/pkgs/tools/misc/gotify-cli/default.nix index a171ba43d6d5..296f3d19a88d 100644 --- a/pkgs/tools/misc/gotify-cli/default.nix +++ b/pkgs/tools/misc/gotify-cli/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "gotify-cli"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "gotify"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-dkG2dzt2PvIio+1/yx8Ihui6WjwvbBHlhJcoXADZBl4="; + sha256 = "sha256-mOIomHNA20gKU7uh2Sf4NqqLNjNnD5hgOTUu9DuduiI="; }; - vendorSha256 = "sha256-0Utc1rGaFpDXhxMZ8bwMCYbfAyqNiQKtyqZMdhBujMs="; + vendorHash = "sha256-ObJfUIy2GwogFm2/uCmShEXnIxDTqWWXCZPu9KJVFOA="; postInstall = '' mv $out/bin/cli $out/bin/gotify diff --git a/pkgs/tools/misc/keymapviz/default.nix b/pkgs/tools/misc/keymapviz/default.nix index d0c308c2471a..b02bb0a00fef 100644 --- a/pkgs/tools/misc/keymapviz/default.nix +++ b/pkgs/tools/misc/keymapviz/default.nix @@ -2,13 +2,13 @@ python3.pkgs.buildPythonApplication rec { pname = "keymapviz"; - version = "1.10.1"; + version = "1.14.1"; src = fetchFromGitHub { owner = "yskoht"; repo = pname; rev = version; - sha256 = "sha256-I16iJ6/CrjpDOmlewIxa5Xu/b/97VNH3ATwDNi3SuP8="; + sha256 = "sha256-eCvwgco22uPEDDsT8FfTRon1xCGy5p1PBp0pDfNprMs="; }; propagatedBuildInputs = with python3.pkgs; [ regex ]; diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix index 93b2fde32a29..7778ca59c89c 100644 --- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix +++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix @@ -8,17 +8,17 @@ buildGoModule rec { pname = "opentelemetry-collector-contrib"; - version = "0.76.1"; + version = "0.77.0"; src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-collector-contrib"; rev = "v${version}"; - sha256 = "sha256-Aeiq9IJReUxJUpeq5mSReK5foC5aY4fMSZli0ZUjYPc="; + sha256 = "sha256-9OFNJgzMiTNRXuK4joPxnVfCI5mVGqgfKBGI1xpnhCY="; }; # proxy vendor to avoid hash missmatches between linux and macOS proxyVendor = true; - vendorSha256 = "sha256-vLbx/qmSZuteuvChnyA/wcEcIjU3zWkxSjfk8VBdgU4="; + vendorHash = "sha256-1an0PB2CV83DDWcw+1irT2gFLKuMkXYok5uglyyrprs="; # there is a nested go.mod sourceRoot = "source/cmd/otelcontribcol"; diff --git a/pkgs/tools/misc/trashy/default.nix b/pkgs/tools/misc/trashy/default.nix index edaf1893f326..cc985b8f3b35 100644 --- a/pkgs/tools/misc/trashy/default.nix +++ b/pkgs/tools/misc/trashy/default.nix @@ -27,5 +27,7 @@ rustPlatform.buildRustPackage rec { license = with licenses; [ asl20 /* or */ mit ]; maintainers = with maintainers; [ oberblastmeister ]; mainProgram = "trash"; + # darwin is unsupported due to https://github.com/Byron/trash-rs/issues/8 + platforms = platforms.linux; }; } diff --git a/pkgs/tools/misc/twitch-dl/default.nix b/pkgs/tools/misc/twitch-dl/default.nix new file mode 100644 index 000000000000..dd24c1c64447 --- /dev/null +++ b/pkgs/tools/misc/twitch-dl/default.nix @@ -0,0 +1,54 @@ +{ lib +, fetchFromGitHub +, python3Packages +, ffmpeg +, installShellFiles +, scdoc +}: + +python3Packages.buildPythonApplication rec { + pname = "twitch-dl"; + version = "2.1.3"; + + format = "setuptools"; + + src = fetchFromGitHub { + owner = "ihabunek"; + repo = "twitch-dl"; + rev = "refs/tags/${version}"; + hash = "sha256-uxIBt/mGmld8bxUWQvAspaX39EVfguX5qDgJ/ecz3hM="; + }; + + nativeCheckInputs = [ + installShellFiles + python3Packages.pytestCheckHook + scdoc + ]; + + propagatedBuildInputs = with python3Packages; [ + httpx + m3u8 + ]; + + disabledTestPaths = [ + # Requires network access + "tests/test_api.py" + ]; + + pythonImportsCheck = [ + "twitchdl" + ]; + + postInstall = '' + scdoc < twitch-dl.1.scd > twitch-dl.1 + installManPage twitch-dl.1 + ''; + + meta = with lib; { + description = "CLI tool for downloading videos from Twitch"; + homepage = "https://github.com/ihabunek/twitch-dl"; + changelog = "https://github.com/ihabunek/twitch-dl/blob/${version}/CHANGELOG.md"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ marsam ]; + }; +} diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix index a8e0dccdd2bb..7439d0510336 100644 --- a/pkgs/tools/networking/libreswan/default.nix +++ b/pkgs/tools/networking/libreswan/default.nix @@ -45,11 +45,11 @@ in stdenv.mkDerivation rec { pname = "libreswan"; - version = "4.10"; + version = "4.11"; src = fetchurl { url = "https://download.libreswan.org/${pname}-${version}.tar.gz"; - sha256 = "sha256-WpQAwlqO26B0IEJvtV3Lqv2qNwLlsPLBkgWmxWckins="; + sha256 = "sha256-QpqRf+SlUmDxUs+zGIpYflsS6UoU4kCsElMZ/xS4yD0="; }; strictDeps = true; diff --git a/pkgs/tools/networking/minissdpd/default.nix b/pkgs/tools/networking/minissdpd/default.nix index 9b24f4fc6bf4..088645705f62 100644 --- a/pkgs/tools/networking/minissdpd/default.nix +++ b/pkgs/tools/networking/minissdpd/default.nix @@ -10,6 +10,10 @@ stdenv.mkDerivation rec { name = "${pname}-${version}.tar.gz"; }; + patches = [ + ./makefile-install-dir.patch + ]; + buildInputs = [ libnfnetlink ]; installFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ]; diff --git a/pkgs/tools/networking/minissdpd/makefile-install-dir.patch b/pkgs/tools/networking/minissdpd/makefile-install-dir.patch new file mode 100644 index 000000000000..e887c28878a0 --- /dev/null +++ b/pkgs/tools/networking/minissdpd/makefile-install-dir.patch @@ -0,0 +1,15 @@ +diff --git a/Makefile b/Makefile +index b14e2fa..4472598 100644 +--- a/Makefile ++++ b/Makefile +@@ -74,8 +74,8 @@ install: minissdpd + $(INSTALL) -d $(DESTDIR)$(MANINSTALLDIR)/man1 + $(INSTALL) minissdpd.1 $(DESTDIR)$(MANINSTALLDIR)/man1/minissdpd.1 + ifeq (, $(findstring darwin, $(OS))) +- $(INSTALL) -d $(DESTDIR)/etc/init.d +- $(INSTALL) minissdpd.init.d.script $(DESTDIR)/etc/init.d/minissdpd ++ $(INSTALL) -d $(DESTDIR)$(INSTALLPREFIX)/etc/init.d ++ $(INSTALL) minissdpd.init.d.script $(DESTDIR)$(INSTALLPREFIX)/etc/init.d/minissdpd + endif + + check: validateminissdpd validatecodelength diff --git a/pkgs/tools/networking/ngrok/versions.json b/pkgs/tools/networking/ngrok/versions.json index bd2f75e5ebe2..769b6a334481 100644 --- a/pkgs/tools/networking/ngrok/versions.json +++ b/pkgs/tools/networking/ngrok/versions.json @@ -1,38 +1,38 @@ { "linux-386": { "sys": "linux-386", - "url": "https://bin.equinox.io/a/64nFcrEHYrW/ngrok-v3-3.1.1-linux-386", - "sha256": "ab7aa2adfa5e29da618142878e1aec93cc55ea5c8f7e69c2582baaad2e149b64", - "version": "3.1.1" + "url": "https://bin.equinox.io/a/n2sDPvWRHhg/ngrok-v3-3.3.0-linux-386", + "sha256": "8f6da1ef234a20a0604ce2028bc44b7fa40791bd1adce0529ef256c6a89c5655", + "version": "3.3.0" }, "linux-amd64": { "sys": "linux-amd64", - "url": "https://bin.equinox.io/a/dqrwdoEvP2Q/ngrok-v3-3.1.1-linux-amd64", - "sha256": "9e6575f21e71b0b89b775bf66aecac68535573965391b48bfe488e18b1796b9a", - "version": "3.1.1" + "url": "https://bin.equinox.io/a/6wTR9C5G1pu/ngrok-v3-3.3.0-linux-amd64", + "sha256": "ebe08529ce7ea3ee9cc05a0966e8ee33f5a41d7deeb440a15a6ff80ae2aa4716", + "version": "3.3.0" }, "linux-arm": { "sys": "linux-arm", - "url": "https://bin.equinox.io/a/biK8Eisfsar/ngrok-v3-3.1.1-linux-arm", - "sha256": "fe5c1e3918b8973397ec70a6a46d2c70c784720dc95add6e7059ed501bf498bd", - "version": "3.1.1" + "url": "https://bin.equinox.io/a/bbBqonHqRxm/ngrok-v3-3.3.0-linux-arm", + "sha256": "ccd11d1319152ece16aa9f9e6edcac3ff9cd189d712b4da670bda2a79d4feae1", + "version": "3.3.0" }, "linux-arm64": { "sys": "linux-arm64", - "url": "https://bin.equinox.io/a/d45uz1Sks8d/ngrok-v3-3.1.1-linux-arm64", - "sha256": "bf1ba6948bb20d31427eb453504d7fb1bfe447c25665172b8b6b4547c5b65f0f", - "version": "3.1.1" + "url": "https://bin.equinox.io/a/np93VBWWrMi/ngrok-v3-3.3.0-linux-arm64", + "sha256": "b08e4ac6858b4179e987e15ecf5648c0e84716c9a17b3726df48c9ce213dc186", + "version": "3.3.0" }, "darwin-amd64": { "sys": "darwin-amd64", - "url": "https://bin.equinox.io/a/24zbF9PjSKm/ngrok-v3-3.1.1-darwin-amd64", - "sha256": "9b1d77f0701089fd10e03a2c0835b4f04f1cc5155339336128c5491821d48513", - "version": "3.1.1" + "url": "https://bin.equinox.io/a/kbKhiLNGXpq/ngrok-v3-3.3.0-darwin-amd64", + "sha256": "0810c5e3232766e9d02db884cb8bb48ef2bdad48b6863d7bd6c967a388e5431c", + "version": "3.3.0" }, "darwin-arm64": { "sys": "darwin-arm64", - "url": "https://bin.equinox.io/a/kxP7ohERZDY/ngrok-v3-3.1.1-darwin-arm64", - "sha256": "886ca873580717ca25ba9e7e3d06a0710b07cfd16bd939a43c9aa128aee00951", - "version": "3.1.1" + "url": "https://bin.equinox.io/a/7rqE6e5cN8r/ngrok-v3-3.3.0-darwin-arm64", + "sha256": "618dc83411fc1d574112cd80f8337bdca64089d5c2245cfb81fe7e519f22b610", + "version": "3.3.0" } } diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix index fc44c193b069..9141a2932bbb 100644 --- a/pkgs/tools/networking/nzbget/default.nix +++ b/pkgs/tools/networking/nzbget/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, ncurses, libsigcxx, libpar2 -, gnutls, libgcrypt, zlib, openssl, nixosTests }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gnutls +, libgcrypt +, libpar2 +, libsigcxx +, libxml2 +, ncurses +, openssl +, zlib +, nixosTests +}: stdenv.mkDerivation rec { pname = "nzbget"; @@ -7,13 +20,31 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/nzbget/nzbget/releases/download/v${version}/nzbget-${version}-src.tar.gz"; - sha256 = "sha256-To/BvrgNwq8tajajOjP0Te3d1EhgAsZE9MR5MEMHICU="; + hash = "sha256-To/BvrgNwq8tajajOjP0Te3d1EhgAsZE9MR5MEMHICU="; }; + patches = [ + # openssl 3 compatibility + # https://github.com/nzbget/nzbget/pull/793 + (fetchpatch { + name = "daemon-connect-dont-use-fips-mode-set-with-openssl-3.patch"; + url = "https://github.com/nzbget/nzbget/commit/f76e8555504e3af4cf8dd4a8c8e374b3ca025099.patch"; + hash = "sha256-39lvnhBK4126TYsRbJOUxsV9s9Hjuviw7CH/wWn/VkM="; + }) + ]; + nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxml2 ncurses libsigcxx libpar2 gnutls - libgcrypt zlib openssl ]; + buildInputs = [ + gnutls + libgcrypt + libpar2 + libsigcxx + libxml2 + ncurses + openssl + zlib + ]; enableParallelBuilding = true; diff --git a/pkgs/tools/package-management/poetry/unwrapped.nix b/pkgs/tools/package-management/poetry/unwrapped.nix index 59d7607600ff..550a8335e26c 100644 --- a/pkgs/tools/package-management/poetry/unwrapped.nix +++ b/pkgs/tools/package-management/poetry/unwrapped.nix @@ -151,6 +151,11 @@ buildPythonPackage rec { "poetry" ]; + # Unset ambient PYTHONPATH in the wrapper, so Poetry only ever runs with its own, + # isolated set of dependencies. This works because the correct PYTHONPATH is set + # in the Python script, which runs after the wrapper. + makeWrapperArgs = ["--unset PYTHONPATH"]; + meta = with lib; { changelog = "https://github.com/python-poetry/poetry/blob/${src.rev}/CHANGELOG.md"; homepage = "https://python-poetry.org/"; diff --git a/pkgs/tools/security/coercer/default.nix b/pkgs/tools/security/coercer/default.nix index 0e48d4ac23d0..3d1e6cb46963 100644 --- a/pkgs/tools/security/coercer/default.nix +++ b/pkgs/tools/security/coercer/default.nix @@ -27,6 +27,12 @@ python3.pkgs.buildPythonApplication rec { "coercer" ]; + # this file runs into issues on case-insensitive filesystems + # ValueError: Both <...>/coercer and <...>/coercer.py exist + postPatch = '' + rm Coercer.py + ''; + meta = with lib; { description = "Tool to automatically coerce a Windows server"; homepage = "https://github.com/p0dalirius/Coercer"; diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix index 7827393263a5..a5484339b46d 100644 --- a/pkgs/tools/security/vault/vault-bin.nix +++ b/pkgs/tools/security/vault/vault-bin.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "vault-bin"; - version = "1.13.1"; + version = "1.13.2"; src = let @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { aarch64-darwin = "darwin_arm64"; }; sha256 = selectSystem { - x86_64-linux = "sha256-BTJPXC5MEfNopJv1p0ONduVLrYza+0SfUcmN805JLPo="; - aarch64-linux = "sha256-p9TgSqPVgR7Qxu1WEuwawzbBDNznGfPGasZK8/jN7vk="; - i686-linux = "sha256-EbHH5Ud1c5YbcQ3qXhWEiaxx4XuslRntOLkxcf8elz8="; - x86_64-darwin = "sha256-JiwF8/ZBbFGqhcYP4z5aPya61+2J5HG9vEYKEDAIuC0="; - aarch64-darwin = "sha256-BgqqKqrqZiBSQwkMpWndiRhRq6+rR3e1IcPik5ZxCg4="; + x86_64-linux = "sha256-RVqhObAw1M4zNK5cXzbD+cbITtsUPBXoc7O7zqVRJhI="; + aarch64-linux = "sha256-WLw6GKNZc5a7HGTAI4kzsel8N9EwoTWda7Z05pXNeDA="; + i686-linux = "sha256-v1f5yDrarKmWFtL9fIr03H5tH/bDi83XVYsTnLgLq5Q="; + x86_64-darwin = "sha256-f1f6KFgr/A62PxEZEzzkNkQF4YI/xISYKVczcXn3r0k="; + aarch64-darwin = "sha256-TQ9Wi6rBXWCYBkkvCyoMMbRiUOEBykvbwp6hdqUUO4I="; }; in fetchzip { diff --git a/pkgs/tools/system/bottom/default.nix b/pkgs/tools/system/bottom/default.nix index 185db566b60f..efd7fda4a276 100644 --- a/pkgs/tools/system/bottom/default.nix +++ b/pkgs/tools/system/bottom/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "bottom"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "ClementTsang"; repo = pname; rev = version; - sha256 = "sha256-/pjMxWQ66t9Jd8ziLJXDgnwfSgR1uS9U1uXVDTZze58="; + sha256 = "sha256-i1Vd2SA7Xb62gTVY6FdKzNe6ItfYrLXfgo0+VRm+Wdc="; }; - cargoHash = "sha256-0KweijC4gA9ELmQZ7lvOx2BypMuj8KsZHxGfcRXVi4g="; + cargoHash = "sha256-umBBUbkgVIj9d2eYEJCHjoo0AjH9K2R6C+cps+PkZcA="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/text/mawk/default.nix b/pkgs/tools/text/mawk/default.nix index 203a79fa381d..4fefe9000997 100644 --- a/pkgs/tools/text/mawk/default.nix +++ b/pkgs/tools/text/mawk/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, buildPackages }: stdenv.mkDerivation rec { pname = "mawk"; @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-bbejKsecURB60xpAfU+SxrhC3eL2inUztOe3sD6JAL4="; }; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + meta = with lib; { description = "Interpreter for the AWK Programming Language"; homepage = "https://invisible-island.net/mawk/mawk.html"; diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index d76b35dbcaac..c29c68a7dfb0 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -304,7 +304,8 @@ chktex = stdenv.mkDerivation { inherit (common) src; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ core/*kpathsea*/ ]; + # perl used in shebang of script bin/deweb + buildInputs = [ core/*kpathsea*/ perl ]; preConfigure = "cd texk/chktex"; diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 95c297650483..a22c3b921e84 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -289,15 +289,6 @@ in (buildEnv { '' rm "$out"/bin/*-sys wrapBin - '' + - # Perform a small test to verify that the restricted mode get enabled when - # needed (detected by checking if it disallows --gscmd) - '' - if [[ -e "$out"/bin/epstopdf ]]; then - echo "Testing restricted mode for {,r}epstopdf" - ! (epstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden - (repstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden - fi '' + # TODO: a context trigger https://www.preining.info/blog/2015/06/debian-tex-live-2015-the-new-layout/ # http://wiki.contextgarden.net/ConTeXt_Standalone#Unix-like_platforms_.28Linux.2FMacOS_X.2FFreeBSD.2FSolaris.29 diff --git a/pkgs/tools/video/swfmill/default.nix b/pkgs/tools/video/swfmill/default.nix index 67ffc1bd6982..28d7e0039edd 100644 --- a/pkgs/tools/video/swfmill/default.nix +++ b/pkgs/tools/video/swfmill/default.nix @@ -4,19 +4,13 @@ stdenv.mkDerivation rec { pname = "swfmill"; - version = "0.3.3"; + version = "0.3.6"; src = fetchurl { url = "http://swfmill.org/releases/swfmill-${version}.tar.gz"; - sha256 = "15mcpql448vvgsbxs7wd0vdk1ln6rdcpnif6i2zjm5l4xng55s7r"; + sha256 = "sha256-2yT2OWOVf67AK7FLi2HNr3CWd0+M/eudNXPi4ZIxVI4="; }; - # Fixes build with GCC 6 - env.NIX_CFLAGS_COMPILE = "-std=c++03"; - - # Remove once updated past 0.3.5 - env.NIX_LDFLAGS = "-lz"; - nativeBuildInputs = [ pkg-config ]; buildInputs = [ libxslt freetype libpng libxml2 ]; diff --git a/pkgs/tools/virtualization/google-guest-agent/default.nix b/pkgs/tools/virtualization/google-guest-agent/default.nix index 664f9405500f..2a796534d35d 100644 --- a/pkgs/tools/virtualization/google-guest-agent/default.nix +++ b/pkgs/tools/virtualization/google-guest-agent/default.nix @@ -4,16 +4,16 @@ buildGoModule rec { pname = "guest-agent"; - version = "20230221.00"; + version = "20230510.00"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = pname; rev = version; - sha256 = "sha256-AObN9vyEMJeGBmAMyUz7H0pHPtGf5I/oeDzYuZs4KpE="; + sha256 = "sha256-gYmmQzSFP/Ik4m+iYHJZyUyZil9+IXWZ3p0Pl58Uq40="; }; - vendorHash = "sha256-ioejOtmsi0QnID3V5JxwAz399I5Jp5nHZqpzU9DjpQE="; + vendorHash = "sha256-ULGpgygBVC4SRLhPiUlZgBH93w84WlNbvq3S7cVHLaQ="; patches = [ ./disable-etc-mutation.patch ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 227db0bd3009..e655f8b03bb5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5222,6 +5222,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; + klipperscreen = callPackage ../applications/misc/klipperscreen { }; + klog = qt5.callPackage ../applications/radio/klog { }; komga = callPackage ../servers/komga { }; @@ -6153,9 +6155,7 @@ with pkgs; checkmake = callPackage ../development/tools/checkmake { }; - chit = callPackage ../development/tools/chit { - openssl = openssl_1_1; - }; + chit = callPackage ../development/tools/chit { }; chkrootkit = callPackage ../tools/security/chkrootkit { }; @@ -9505,6 +9505,8 @@ with pkgs; jbofihe = callPackage ../tools/text/jbofihe { }; + jbrowse = callPackage ../applications/science/biology/jbrowse { }; + jumanpp = callPackage ../tools/text/jumanpp { }; jump = callPackage ../tools/system/jump { }; @@ -10568,9 +10570,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; - nzbget = callPackage ../tools/networking/nzbget { - openssl = openssl_1_1; - }; + nzbget = callPackage ../tools/networking/nzbget { }; nzbhydra2 = callPackage ../servers/nzbhydra2 { # You need Java (at least 8, at most 15) @@ -13181,6 +13181,8 @@ with pkgs; twitch-chat-downloader = python3Packages.callPackage ../applications/misc/twitch-chat-downloader { }; + twitch-dl = callPackage ../tools/misc/twitch-dl { }; + twitterBootstrap = callPackage ../development/web/twitter-bootstrap { }; twspace-crawler = callPackage ../tools/misc/twspace-crawler { }; @@ -19007,6 +19009,8 @@ with pkgs; rolespec = callPackage ../development/tools/misc/rolespec { }; + rome = callPackage ../development/tools/rome { }; + rr = callPackage ../development/tools/analysis/rr { }; rsass = callPackage ../development/tools/misc/rsass { }; @@ -19212,6 +19216,10 @@ with pkgs; c2ffi = callPackage ../development/tools/misc/c2ffi { }; + c0 = callPackage ../development/compilers/c0 { + stdenv = if stdenv.isDarwin then gccStdenv else stdenv; + }; + c3c = callPackage ../development/compilers/c3c { }; swfmill = callPackage ../tools/video/swfmill { stdenv = gcc10StdenvCompat; }; @@ -23225,7 +23233,9 @@ with pkgs; openvdb = callPackage ../development/libraries/openvdb { }; - openvr = callPackage ../development/libraries/openvr { }; + openvr = callPackage ../development/libraries/openvr { + inherit (darwin.apple_sdk.frameworks) Foundation AppKit; + }; inherit (callPackages ../development/libraries/libressl { }) libressl_3_4 @@ -27713,10 +27723,12 @@ with pkgs; zenmonitor = callPackage ../os-specific/linux/zenmonitor { }; - inherit (callPackages ../os-specific/linux/zfs { + zfsStable = callPackage ../os-specific/linux/zfs/stable.nix { configFile = "user"; - }) zfsStable zfsUnstable; - + }; + zfsUnstable = callPackage ../os-specific/linux/zfs/unstable.nix { + configFile = "user"; + }; zfs = zfsStable; ### DATA @@ -31161,6 +31173,8 @@ with pkgs; pixel2svg = python310Packages.callPackage ../tools/graphics/pixel2svg { }; + pixelfed = callPackage ../servers/web-apps/pixelfed { }; + pixelnuke = callPackage ../applications/graphics/pixelnuke { }; pixelorama = callPackage ../applications/editors/pixelorama { }; @@ -32517,6 +32531,8 @@ with pkgs; cutter = callPackage ../applications/video/mpv/scripts/cutter.nix { }; }; + open-in-mpv = callPackage ../applications/video/open-in-mpv { }; + mrpeach = callPackage ../applications/audio/pd-plugins/mrpeach { }; mtpaint = callPackage ../applications/graphics/mtpaint { }; @@ -34197,10 +34213,7 @@ with pkgs; tailor = callPackage ../applications/version-management/tailor { }; - taizen = callPackage ../applications/misc/taizen { - inherit (darwin.apple_sdk.frameworks) Security; - openssl = openssl_1_1; - }; + taizen = callPackage ../applications/misc/taizen { }; talosctl = callPackage ../applications/networking/cluster/talosctl { }; @@ -34351,9 +34364,7 @@ with pkgs; ticker = callPackage ../applications/misc/ticker { }; - tickrs = callPackage ../applications/misc/tickrs { - inherit (darwin.apple_sdk.frameworks) Security; - }; + tickrs = callPackage ../applications/misc/tickrs { }; tilemaker = callPackage ../applications/misc/tilemaker { }; @@ -35488,6 +35499,7 @@ with pkgs; balanceofsatoshis = nodePackages.balanceofsatoshis; bitcoin = libsForQt5.callPackage ../applications/blockchains/bitcoin { + stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; boost = boost17x; withGui = true; inherit (darwin) autoSignDarwinBinariesHook; @@ -36457,7 +36469,7 @@ with pkgs; mindustry = callPackage ../games/mindustry { }; mindustry-wayland = callPackage ../games/mindustry { - glew = glew-egl; + enableWayland = true; }; mindustry-server = callPackage ../games/mindustry { @@ -39026,6 +39038,10 @@ with pkgs; then configuration else [configuration] ); + + # The system is inherited from the current pkgs above. + # Set it to null, to remove the "legacy" entrypoint's non-hermetic default. + system = null; }; in c.config.system.build // c; @@ -39206,6 +39222,8 @@ with pkgs; resp-app = libsForQt5.callPackage ../applications/misc/resp-app { }; + resumed = callPackage ../applications/misc/resumed { }; + robin-map = callPackage ../development/libraries/robin-map { }; robo3t = callPackage ../applications/misc/robo3t { }; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 077f6ecb023a..ee2f6481f8cf 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -558,10 +558,14 @@ in { zenpower = callPackage ../os-specific/linux/zenpower { }; - inherit (callPackage ../os-specific/linux/zfs { - configFile = "kernel"; - inherit pkgs kernel; - }) zfsStable zfsUnstable; + zfsStable = callPackage ../os-specific/linux/zfs/stable.nix { + configFile = "kernel"; + inherit pkgs kernel; + }; + zfsUnstable = callPackage ../os-specific/linux/zfs/unstable.nix { + configFile = "kernel"; + inherit pkgs kernel; + }; zfs = zfsStable; can-isotp = callPackage ../os-specific/linux/can-isotp { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 09bbff4034be..f6585c109103 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4873,6 +4873,8 @@ self: super: with self; { inquirer = callPackage ../development/python-modules/inquirer { }; + inquirerpy = callPackage ../development/python-modules/inquirerpy { }; + inscriptis = callPackage ../development/python-modules/inscriptis { }; insegel = callPackage ../development/python-modules/insegel { }; @@ -7378,6 +7380,8 @@ self: super: with self; { pexpect = callPackage ../development/python-modules/pexpect { }; + pfzy = callPackage ../development/python-modules/pfzy { }; + pg8000 = callPackage ../development/python-modules/pg8000 { }; pgcli = callPackage ../development/python-modules/pgcli { }; @@ -9753,7 +9757,7 @@ self: super: with self; { python-mapnik = callPackage ../development/python-modules/python-mapnik rec { inherit (pkgs) pkg-config cairo icu libjpeg libpng libtiff libwebp proj zlib; - boost = pkgs.boost.override { + boost182 = pkgs.boost182.override { enablePython = true; inherit python; }; @@ -11563,6 +11567,8 @@ self: super: with self; { steamodd = callPackage ../development/python-modules/steamodd { }; + steamship = callPackage ../development/python-modules/steamship { }; + stem = callPackage ../development/python-modules/stem { }; stestr = callPackage ../development/python-modules/stestr { };