diff --git a/README.md b/README.md index c8aef8515749..a09b7d92e3e5 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ system, [Hydra](https://hydra.nixos.org/). Artifacts successfully built with Hydra are published to cache at https://cache.nixos.org/. When successful build and test criteria are met, the Nixpkgs expressions are distributed via [Nix -channels](https://nixos.org/nix/manual/#sec-channels). +channels](https://nixos.org/manual/nix/stable/package-management/channels.html). # Contributing diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index 28540a916707..e7e804b99634 100644 --- a/doc/languages-frameworks/rust.section.md +++ b/doc/languages-frameworks/rust.section.md @@ -426,7 +426,7 @@ you of the correct hash. * `maturinBuildHook`: use [Maturin](https://github.com/PyO3/maturin) to build a Python wheel. Similar to `cargoBuildHook`, the optional variable `buildAndTestSubdir` can be used to build a crate in a - Cargo workspace. Additional maturin flags can be passed through + Cargo workspace. Additional Maturin flags can be passed through `maturinBuildFlags`. * `cargoCheckHook`: run tests using Cargo. The build type for checks can be set using `cargoCheckType`. Additional flags can be passed to @@ -447,7 +447,7 @@ dependencies. The build itself is then performed by The following example outlines how the `tokenizers` Python package is built. Since the Python package is in the `source/bindings/python` -directory of the *tokenizers* project's source archive, we use +directory of the `tokenizers` project's source archive, we use `sourceRoot` to point the tooling to this directory: ```nix @@ -729,7 +729,7 @@ with import {}; Actually, the overrides introduced in the previous section are more general. A number of other parameters can be overridden: -- The version of rustc used to compile the crate: +- The version of `rustc` used to compile the crate: ```nix (hello {}).override { rust = pkgs.rust; }; @@ -742,7 +742,7 @@ general. A number of other parameters can be overridden: (hello {}).override { release = false; }; ``` -- Whether to print the commands sent to rustc when building +- Whether to print the commands sent to `rustc` when building (equivalent to `--verbose` in cargo: ```nix @@ -883,11 +883,11 @@ detailed usage. Fenix is an alternative to `rustup` and can also be used as an overlay. -Both Oxalica's overlay and fenix better integrate with nix and cache optimizations. +Both oxalica's overlay and fenix better integrate with nix and cache optimizations. Because of this and ergonomics, either of those community projects -should be preferred to the Mozilla's Rust overlay (nixpkgs-mozilla). +should be preferred to the Mozilla's Rust overlay (`nixpkgs-mozilla`). -### How to select a specific rustc and toolchain version {#how-to-select-a-specific-rustc-and-toolchain-version} +### How to select a specific `rustc` and toolchain version {#how-to-select-a-specific-rustc-and-toolchain-version} You can consume the oxalica overlay and use it to grab a specific Rust toolchain version. Here is an example `shell.nix` showing how to grab the current stable toolchain: diff --git a/doc/using/overlays.chapter.md b/doc/using/overlays.chapter.md index d2e3b49a6aa9..df152bc14e7b 100644 --- a/doc/using/overlays.chapter.md +++ b/doc/using/overlays.chapter.md @@ -112,7 +112,7 @@ self: super: This overlay uses Intel's MKL library for both BLAS and LAPACK interfaces. Note that the same can be accomplished at runtime using `LD_LIBRARY_PATH` of `libblas.so.3` and `liblapack.so.3`. For instance: ```ShellSession -$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib:$LD_LIBRARY_PATH nix-shell -p octave --run octave +$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH nix-shell -p octave --run octave ``` Intel MKL requires an `openmp` implementation when running with multiple processors. By default, `mkl` will use Intel's `iomp` implementation if no other is specified, but this is a runtime-only dependency and binary compatible with the LLVM implementation. To use that one instead, Intel recommends users set it with `LD_PRELOAD`. Note that `mkl` is only available on `x86_64-linux` and `x86_64-darwin`. Moreover, Hydra is not building and distributing pre-compiled binaries using it. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 931040ad8902..a2e74aa129b2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4201,6 +4201,12 @@ githubId = 1713676; name = "Luis G. Torres"; }; + GKasparov = { + email = "mizozahr@gmail.com"; + github = "GKasparov"; + githubId = 60962839; + name = "Mazen Zahr"; + }; gleber = { email = "gleber.p@gmail.com"; github = "gleber"; @@ -9384,6 +9390,12 @@ githubId = 52847440; name = "Ryan Burns"; }; + r3dl3g = { + email = "redleg@rothfuss-web.de"; + github = "r3dl3g"; + githubId = 35229674; + name = "Armin Rothfuss"; + }; raboof = { email = "arnout@bzzt.net"; matrix = "@raboof:matrix.org"; diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md index bf80099f1a27..a8c54aa66762 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.section.md +++ b/nixos/doc/manual/development/writing-nixos-tests.section.md @@ -159,6 +159,10 @@ The following methods are available on machine objects: `execute` : Execute a shell command, returning a list `(status, stdout)`. + If the command detaches, it must close stdout, as `execute` will wait + for this to consume all output reliably. This can be achieved by + redirecting stdout to stderr `>&2`, to `/dev/console`, `/dev/null` or + a file. Takes an optional parameter `check_return` that defaults to `True`. Setting this parameter to `False` will not check for the return code and return -1 instead. This can be used for commands that shut down @@ -179,6 +183,8 @@ The following methods are available on machine objects: - Dereferencing unset variables fail the command. + - It will wait for stdout to be closed. See `execute`. + `fail` : Like `succeed`, but raising an exception if the command returns a zero diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml index a3b63422433e..e0fd90f2bac2 100644 --- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml +++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml @@ -266,7 +266,12 @@ start_all() Execute a shell command, returning a list - (status, stdout). Takes an optional + (status, stdout). If the command detaches, + it must close stdout, as execute will wait + for this to consume all output reliably. This can be achieved + by redirecting stdout to stderr >&2, + to /dev/console, + /dev/null or a file. Takes an optional parameter check_return that defaults to True. Setting this parameter to False will not check for the return code @@ -306,6 +311,12 @@ start_all() Dereferencing unset variables fail the command. + + + It will wait for stdout to be closed. See + execute. + + diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 121d9e4ad4ba..543f3d619804 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -50,6 +50,29 @@ guide is available. + + + Improvements have been made to the Hadoop module and package: + + + + + HDFS and YARN now support production-ready highly + available deployments with automatic failover. + + + + + Hadoop now defaults to Hadoop 3, updated from 2. + + + + + JournalNode, ZKFS and HTTPFS services have been added. + + + + Activation scripts can now opt int to be run when running @@ -423,6 +446,23 @@
Backward Incompatibilities + + + The NixOS VM test framework, + pkgs.nixosTest/make-test-python.nix, + now requires non-terminating commands such as + succeed("foo &") to close + stdout. This can be done with a redirect such as + succeed("foo >&2 &"). + This breaking change was necessitated by a race condition + causing tests to fail or hang. It applies to all methods that + invoke commands on the nodes, including + execute, succeed, + fail, + wait_until_succeeds, + wait_until_fails. + + The services.wakeonlan option was removed, @@ -1777,6 +1817,39 @@ Superuser created successfully. + + + The + services.unifi + module has been reworked, solving a number of issues. This + leads to several user facing changes: + + + + + The services.unifi.dataDir option is + removed and the data is now always located under + /var/lib/unifi/data. This is done to + make better use of systemd state direcotiry and thus + making the service restart more reliable. + + + + + The unifi logs can now be found under: + /var/log/unifi instead of + /var/lib/unifi/logs. + + + + + The unifi run directory can now be found under: + /run/unifi instead of + /var/lib/unifi/run. + + + +
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 0d114bbde870..76e7f458d478 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -18,6 +18,11 @@ In addition to numerous new and upgraded packages, this release has the followin - spark now defaults to spark 3, updated from 2. A [migration guide](https://spark.apache.org/docs/latest/core-migration-guide.html#upgrading-from-core-24-to-30) is available. +- Improvements have been made to the Hadoop module and package: + - HDFS and YARN now support production-ready highly available deployments with automatic failover. + - Hadoop now defaults to Hadoop 3, updated from 2. + - JournalNode, ZKFS and HTTPFS services have been added. + - Activation scripts can now opt int to be run when running `nixos-rebuild dry-activate` and detect the dry activation by reading `$NIXOS_ACTION`. This allows activation scripts to output what they would change if the activation was really run. The users/modules activation script supports this and outputs some of is actions. @@ -128,6 +133,10 @@ In addition to numerous new and upgraded packages, this release has the followin ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} +- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix`, now requires non-terminating commands such as `succeed("foo &")` to close stdout. + This can be done with a redirect such as `succeed("foo >&2 &")`. This breaking change was necessitated by a race condition causing tests to fail or hang. + It applies to all methods that invoke commands on the nodes, including `execute`, `succeed`, `fail`, `wait_until_succeeds`, `wait_until_fails`. + - The `services.wakeonlan` option was removed, and replaced with `networking.interfaces..wakeOnLan`. - The `security.wrappers` option now requires to always specify an owner, group and whether the setuid/setgid bit should be set. @@ -500,3 +509,8 @@ In addition to numerous new and upgraded packages, this release has the followin - Dokuwiki now supports caddy! However - the nginx option has been removed, in the new configuration, please use the `dokuwiki.webserver = "nginx"` instead. - The "${hostname}" option has been deprecated, please use `dokuwiki.sites = [ "${hostname}" ]` instead + +- The [services.unifi](options.html#opt-services.unifi.enable) module has been reworked, solving a number of issues. This leads to several user facing changes: + - The `services.unifi.dataDir` option is removed and the data is now always located under `/var/lib/unifi/data`. This is done to make better use of systemd state direcotiry and thus making the service restart more reliable. + - The unifi logs can now be found under: `/var/log/unifi` instead of `/var/lib/unifi/logs`. + - The unifi run directory can now be found under: `/run/unifi` instead of `/var/lib/unifi/run`. diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 8f6b5c22ea4f..917c6d3013e7 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -284,6 +284,10 @@ in source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc"; }; + # 'nvidia_x11' installs it's files to /run/opengl-driver/... + environment.etc."egl/egl_external_platform.d".source = + "/run/opengl-driver/share/egl/egl_external_platform.d/"; + hardware.opengl.package = mkIf (!offloadCfg.enable) nvidia_x11.out; hardware.opengl.package32 = mkIf (!offloadCfg.enable) nvidia_x11.lib32; hardware.opengl.extraPackages = optional offloadCfg.enable nvidia_x11.out; diff --git a/nixos/modules/services/cluster/hadoop/conf.nix b/nixos/modules/services/cluster/hadoop/conf.nix index 69472408cabe..0caec5cfc203 100644 --- a/nixos/modules/services/cluster/hadoop/conf.nix +++ b/nixos/modules/services/cluster/hadoop/conf.nix @@ -35,6 +35,7 @@ pkgs.runCommand "hadoop-conf" {} '' cp ${siteXml "hdfs-site.xml" cfg.hdfsSite}/* $out/ cp ${siteXml "mapred-site.xml" cfg.mapredSite}/* $out/ cp ${siteXml "yarn-site.xml" cfg.yarnSite}/* $out/ + cp ${siteXml "httpfs-site.xml" cfg.httpfsSite}/* $out/ cp ${cfgFile "container-executor.cfg" cfg.containerExecutorCfg}/* $out/ cp ${pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions}/* $out/ cp ${pkgs.writeTextDir "hadoop-env.sh" hadoopEnv}/* $out/ diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix index da3e47b95d4d..90f22c48e055 100644 --- a/nixos/modules/services/cluster/hadoop/default.nix +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -15,7 +15,10 @@ with lib; "fs.defaultFS" = "hdfs://localhost"; } ''; - description = "Hadoop core-site.xml definition"; + description = '' + Hadoop core-site.xml definition + + ''; }; hdfsSite = mkOption { @@ -28,7 +31,10 @@ with lib; "dfs.nameservices" = "namenode1"; } ''; - description = "Hadoop hdfs-site.xml definition"; + description = '' + Hadoop hdfs-site.xml definition + + ''; }; mapredSite = mkOption { @@ -44,7 +50,10 @@ with lib; "mapreduce.map.java.opts" = "-Xmx900m -XX:+UseParallelGC"; } ''; - description = "Hadoop mapred-site.xml definition"; + description = '' + Hadoop mapred-site.xml definition + + ''; }; yarnSite = mkOption { @@ -67,7 +76,24 @@ with lib; "yarn.resourcemanager.hostname" = "''${config.networking.hostName}"; } ''; - description = "Hadoop yarn-site.xml definition"; + description = '' + Hadoop yarn-site.xml definition + + ''; + }; + + httpfsSite = mkOption { + default = { }; + type = types.attrsOf types.anything; + example = literalExpression '' + { + "hadoop.http.max.threads" = 500; + } + ''; + description = '' + Hadoop httpfs-site.xml definition + + ''; }; log4jProperties = mkOption { @@ -92,7 +118,10 @@ with lib; "feature.terminal.enabled" = 0; } ''; - description = "Yarn container-executor.cfg definition"; + description = '' + Yarn container-executor.cfg definition + + ''; }; extraConfDirs = mkOption { @@ -118,7 +147,8 @@ with lib; config = mkMerge [ (mkIf (builtins.hasAttr "yarn" config.users.users || - builtins.hasAttr "hdfs" config.users.users) { + builtins.hasAttr "hdfs" config.users.users || + builtins.hasAttr "httpfs" config.users.users) { users.groups.hadoop = { gid = config.ids.gids.hadoop; }; diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index e347b682b902..be667aa82d8a 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -17,11 +17,14 @@ in { options.services.hadoop.hdfs = { namenode = { - enabled = mkOption { + enable = mkEnableOption "Whether to run the HDFS NameNode"; + formatOnInit = mkOption { type = types.bool; default = false; description = '' - Whether to run the HDFS NameNode + Format HDFS namenode on first start. This is useful for quickly spinning up ephemeral HDFS clusters with a single namenode. + For HA clusters, initialization involves multiple steps across multiple nodes. Follow [this guide](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html) + to initialize an HA cluster manually. ''; }; inherit restartIfChanged; @@ -34,13 +37,7 @@ in }; }; datanode = { - enabled = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the HDFS DataNode - ''; - }; + enable = mkEnableOption "Whether to run the HDFS DataNode"; inherit restartIfChanged; openFirewall = mkOption { type = types.bool; @@ -50,18 +47,51 @@ in ''; }; }; + journalnode = { + enable = mkEnableOption "Whether to run the HDFS JournalNode"; + inherit restartIfChanged; + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Open firewall ports for journalnode + ''; + }; + }; + zkfc = { + enable = mkEnableOption "Whether to run the HDFS ZooKeeper failover controller"; + inherit restartIfChanged; + }; + httpfs = { + enable = mkEnableOption "Whether to run the HDFS HTTPfs server"; + tempPath = mkOption { + type = types.path; + default = "/tmp/hadoop/httpfs"; + description = '' + HTTPFS_TEMP path used by HTTPFS + ''; + }; + inherit restartIfChanged; + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Open firewall ports for HTTPFS + ''; + }; + }; }; config = mkMerge [ - (mkIf cfg.hdfs.namenode.enabled { + (mkIf cfg.hdfs.namenode.enable { systemd.services.hdfs-namenode = { description = "Hadoop HDFS NameNode"; wantedBy = [ "multi-user.target" ]; inherit (cfg.hdfs.namenode) restartIfChanged; - preStart = '' + preStart = (mkIf cfg.hdfs.namenode.formatOnInit '' ${cfg.package}/bin/hdfs --config ${hadoopConf} namenode -format -nonInteractive || true - ''; + ''); serviceConfig = { User = "hdfs"; @@ -74,9 +104,10 @@ in networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.namenode.openFirewall [ 9870 # namenode.http-address 8020 # namenode.rpc-address + 8022 # namenode. servicerpc-address ]); }) - (mkIf cfg.hdfs.datanode.enabled { + (mkIf cfg.hdfs.datanode.enable { systemd.services.hdfs-datanode = { description = "Hadoop HDFS DataNode"; wantedBy = [ "multi-user.target" ]; @@ -96,8 +127,64 @@ in 9867 # datanode.ipc.address ]); }) + (mkIf cfg.hdfs.journalnode.enable { + systemd.services.hdfs-journalnode = { + description = "Hadoop HDFS JournalNode"; + wantedBy = [ "multi-user.target" ]; + inherit (cfg.hdfs.journalnode) restartIfChanged; + + serviceConfig = { + User = "hdfs"; + SyslogIdentifier = "hdfs-journalnode"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} journalnode"; + Restart = "always"; + }; + }; + + networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.journalnode.openFirewall [ + 8480 # dfs.journalnode.http-address + 8485 # dfs.journalnode.rpc-address + ]); + }) + (mkIf cfg.hdfs.zkfc.enable { + systemd.services.hdfs-zkfc = { + description = "Hadoop HDFS ZooKeeper failover controller"; + wantedBy = [ "multi-user.target" ]; + inherit (cfg.hdfs.zkfc) restartIfChanged; + + serviceConfig = { + User = "hdfs"; + SyslogIdentifier = "hdfs-zkfc"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} zkfc"; + Restart = "always"; + }; + }; + }) + (mkIf cfg.hdfs.httpfs.enable { + systemd.services.hdfs-httpfs = { + description = "Hadoop httpfs"; + wantedBy = [ "multi-user.target" ]; + inherit (cfg.hdfs.httpfs) restartIfChanged; + + environment.HTTPFS_TEMP = cfg.hdfs.httpfs.tempPath; + + preStart = '' + mkdir -p $HTTPFS_TEMP + ''; + + serviceConfig = { + User = "httpfs"; + SyslogIdentifier = "hdfs-httpfs"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} httpfs"; + Restart = "always"; + }; + }; + networking.firewall.allowedTCPPorts = (mkIf cfg.hdfs.httpfs.openFirewall [ + 14000 # httpfs.http.port + ]); + }) (mkIf ( - cfg.hdfs.namenode.enabled || cfg.hdfs.datanode.enabled + cfg.hdfs.namenode.enable || cfg.hdfs.datanode.enable || cfg.hdfs.journalnode.enable || cfg.hdfs.zkfc.enable ) { users.users.hdfs = { description = "Hadoop HDFS user"; @@ -105,6 +192,12 @@ in uid = config.ids.uids.hdfs; }; }) - + (mkIf cfg.hdfs.httpfs.enable { + users.users.httpfs = { + description = "Hadoop HTTPFS user"; + group = "hadoop"; + isSystemUser = true; + }; + }) ]; } diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix index 0086a53e3b74..37c26ea10f76 100644 --- a/nixos/modules/services/cluster/hadoop/yarn.nix +++ b/nixos/modules/services/cluster/hadoop/yarn.nix @@ -17,13 +17,7 @@ in { options.services.hadoop.yarn = { resourcemanager = { - enabled = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the Hadoop YARN ResourceManager - ''; - }; + enable = mkEnableOption "Whether to run the Hadoop YARN ResourceManager"; inherit restartIfChanged; openFirewall = mkOption { type = types.bool; @@ -34,13 +28,7 @@ in }; }; nodemanager = { - enabled = mkOption { - type = types.bool; - default = false; - description = '' - Whether to run the Hadoop YARN NodeManager - ''; - }; + enable = mkEnableOption "Whether to run the Hadoop YARN NodeManager"; inherit restartIfChanged; addBinBash = mkOption { type = types.bool; @@ -62,7 +50,7 @@ in config = mkMerge [ (mkIf ( - cfg.yarn.resourcemanager.enabled || cfg.yarn.nodemanager.enabled + cfg.yarn.resourcemanager.enable || cfg.yarn.nodemanager.enable ) { users.users.yarn = { @@ -72,7 +60,7 @@ in }; }) - (mkIf cfg.yarn.resourcemanager.enabled { + (mkIf cfg.yarn.resourcemanager.enable { systemd.services.yarn-resourcemanager = { description = "Hadoop YARN ResourceManager"; wantedBy = [ "multi-user.target" ]; @@ -91,10 +79,11 @@ in 8030 # resourcemanager.scheduler.address 8031 # resourcemanager.resource-tracker.address 8032 # resourcemanager.address + 8033 # resourcemanager.admin.address ]); }) - (mkIf cfg.yarn.nodemanager.enabled { + (mkIf cfg.yarn.nodemanager.enable { # Needed because yarn hardcodes /bin/bash in container start scripts # These scripts can't be patched, they are generated at runtime systemd.tmpfiles.rules = [ diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix index caf89c84397f..53ad4df477fc 100644 --- a/nixos/modules/services/networking/unifi.nix +++ b/nixos/modules/services/networking/unifi.nix @@ -9,25 +9,6 @@ let ${optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \ -jar ${stateDir}/lib/ace.jar ''; - mountPoints = [ - { - what = "${cfg.unifiPackage}/dl"; - where = "${stateDir}/dl"; - } - { - what = "${cfg.unifiPackage}/lib"; - where = "${stateDir}/lib"; - } - { - what = "${cfg.mongodbPackage}/bin"; - where = "${stateDir}/bin"; - } - { - what = "${cfg.dataDir}"; - where = "${stateDir}/data"; - } - ]; - systemdMountPoints = map (m: "${utils.escapeSystemdPath m.where}.mount") mountPoints; in { @@ -68,16 +49,6 @@ in ''; }; - services.unifi.dataDir = mkOption { - type = types.str; - default = "${stateDir}/data"; - description = '' - Where to store the database and other data. - - This directory will be bind-mounted to ${stateDir}/data as part of the service startup. - ''; - }; - services.unifi.openPorts = mkOption { type = types.bool; default = true; @@ -136,32 +107,11 @@ in ]; }; - # We must create the binary directories as bind mounts instead of symlinks - # This is because the controller resolves all symlinks to absolute paths - # to be used as the working directory. - systemd.mounts = map ({ what, where }: { - bindsTo = [ "unifi.service" ]; - partOf = [ "unifi.service" ]; - unitConfig.RequiresMountsFor = stateDir; - options = "bind"; - what = what; - where = where; - }) mountPoints; - - systemd.tmpfiles.rules = [ - "d '${stateDir}' 0700 unifi - - -" - "d '${stateDir}/data' 0700 unifi - - -" - "d '${stateDir}/webapps' 0700 unifi - - -" - "L+ '${stateDir}/webapps/ROOT' - - - - ${cfg.unifiPackage}/webapps/ROOT" - ]; - systemd.services.unifi = { description = "UniFi controller daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] ++ systemdMountPoints; - partOf = systemdMountPoints; - bindsTo = systemdMountPoints; - unitConfig.RequiresMountsFor = stateDir; + after = [ "network.target" ]; + # This a HACK to fix missing dependencies of dynamic libs extracted from jars environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib"; # Make sure package upgrades trigger a service restart @@ -209,8 +159,27 @@ in SystemCallErrorNumber = "EPERM"; SystemCallFilter = [ "@system-service" ]; - # Required for ProtectSystem=strict - BindPaths = [ stateDir ]; + StateDirectory = "unifi"; + RuntimeDirectory = "unifi"; + LogsDirectory = "unifi"; + CacheDirectory= "unifi"; + + TemporaryFileSystem = [ + # required as we want to create bind mounts below + "${stateDir}/webapps:rw" + ]; + + # We must create the binary directories as bind mounts instead of symlinks + # This is because the controller resolves all symlinks to absolute paths + # to be used as the working directory. + BindPaths = [ + "/var/log/unifi:${stateDir}/logs" + "/run/unifi:${stateDir}/run" + "${cfg.unifiPackage}/dl:${stateDir}/dl" + "${cfg.unifiPackage}/lib:${stateDir}/lib" + "${cfg.mongodbPackage}/bin:${stateDir}/bin" + "${cfg.unifiPackage}/webapps/ROOT:${stateDir}/webapps/ROOT" + ]; # Needs network access PrivateNetwork = false; @@ -220,6 +189,9 @@ in }; }; + imports = [ + (mkRemovedOptionModule [ "services" "unifi" "dataDir" ] "You should move contents of dataDir to /var/lib/unifi/data" ) + ]; meta.maintainers = with lib.maintainers; [ erictapen pennae ]; } diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix index 7b25ffc440f8..480a9703cef3 100644 --- a/nixos/modules/virtualisation/vmware-guest.nix +++ b/nixos/modules/virtualisation/vmware-guest.nix @@ -38,7 +38,7 @@ in }; # Mount the vmblock for drag-and-drop and copy-and-paste. - systemd.mounts = [ + systemd.mounts = mkIf (!cfg.headless) [ { description = "VMware vmblock fuse mount"; documentation = [ "https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt" ]; @@ -52,8 +52,8 @@ in } ]; - security.wrappers.vmware-user-suid-wrapper = - { setuid = true; + security.wrappers.vmware-user-suid-wrapper = mkIf (!cfg.headless) { + setuid = true; owner = "root"; group = "root"; source = "${open-vm-tools}/bin/vmware-user-suid-wrapper"; diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 361160b1fdc2..34103ef7586b 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -119,7 +119,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { with subtest("Stop a container early"): machine.succeed(f"nixos-container stop {id1}") - machine.succeed(f"nixos-container start {id1} &") + machine.succeed(f"nixos-container start {id1} >&2 &") machine.wait_for_console_text("Stage 2") machine.succeed(f"nixos-container stop {id1}") machine.wait_for_console_text(f"Container {id1} exited successfully") diff --git a/nixos/tests/croc.nix b/nixos/tests/croc.nix index 75a8fc991d47..5d709eb3d1cb 100644 --- a/nixos/tests/croc.nix +++ b/nixos/tests/croc.nix @@ -38,7 +38,7 @@ in { sender.execute("echo Hello World > testfile01.txt") sender.execute("echo Hello Earth > testfile02.txt") sender.execute( - "croc --pass ${pass} --relay relay send --code topSecret testfile01.txt testfile02.txt &" + "croc --pass ${pass} --relay relay send --code topSecret testfile01.txt testfile02.txt >&2 &" ) # receive the testfiles and check them diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix index f673ec2db5a7..33c57ce7c36c 100644 --- a/nixos/tests/deluge.nix +++ b/nixos/tests/deluge.nix @@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; nodes = { - simple2 = { + simple = { services.deluge = { enable = true; package = pkgs.deluge-2_x; @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; }; - declarative2 = { + declarative = { services.deluge = { enable = true; package = pkgs.deluge-2_x; @@ -45,27 +45,16 @@ import ./make-test-python.nix ({ pkgs, ...} : { testScript = '' start_all() - simple1.wait_for_unit("deluged") - simple2.wait_for_unit("deluged") - simple1.wait_for_unit("delugeweb") - simple2.wait_for_unit("delugeweb") - simple1.wait_for_open_port("8112") - simple2.wait_for_open_port("8112") - declarative1.wait_for_unit("network.target") - declarative2.wait_for_unit("network.target") - declarative1.wait_until_succeeds("curl --fail http://simple1:8112") - declarative2.wait_until_succeeds("curl --fail http://simple2:8112") + simple.wait_for_unit("deluged") + simple.wait_for_unit("delugeweb") + simple.wait_for_open_port("8112") + declarative.wait_for_unit("network.target") + declarative.wait_until_succeeds("curl --fail http://simple:8112") - declarative1.wait_for_unit("deluged") - declarative2.wait_for_unit("deluged") - declarative1.wait_for_unit("delugeweb") - declarative2.wait_for_unit("delugeweb") - declarative1.wait_until_succeeds("curl --fail http://declarative1:3142") - declarative2.wait_until_succeeds("curl --fail http://declarative2:3142") - declarative1.succeed( - "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'" - ) - declarative2.succeed( + declarative.wait_for_unit("deluged") + declarative.wait_for_unit("delugeweb") + declarative.wait_until_succeeds("curl --fail http://declarative:3142") + declarative.succeed( "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'" ) ''; diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix index 58bcd095990a..e12da56021da 100644 --- a/nixos/tests/emacs-daemon.nix +++ b/nixos/tests/emacs-daemon.nix @@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { ) # connects to the daemon - machine.succeed("emacsclient --create-frame $EDITOR &") + machine.succeed("emacsclient --create-frame $EDITOR >&2 &") # checks that Emacs shows the edited filename machine.wait_for_text("emacseditor") diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix index 4623574ce92e..c5f0e208906b 100644 --- a/nixos/tests/enlightenment.nix +++ b/nixos/tests/enlightenment.nix @@ -88,7 +88,7 @@ import ./make-test-python.nix ({ pkgs, ...} : machine.screenshot("wizard12") with subtest("Run Terminology"): - machine.succeed("terminology &") + machine.succeed("terminology >&2 &") machine.sleep(5) machine.send_chars("ls --color -alF\n") machine.sleep(2) diff --git a/nixos/tests/etesync-dav.nix b/nixos/tests/etesync-dav.nix index da5c056f5349..6a747e23f76f 100644 --- a/nixos/tests/etesync-dav.nix +++ b/nixos/tests/etesync-dav.nix @@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { '' machine.wait_for_unit("multi-user.target") machine.succeed("etesync-dav --version") - machine.execute("etesync-dav &") + machine.execute("etesync-dav >&2 &") machine.wait_for_open_port(37358) with subtest("Check that the web interface is accessible"): assert "Add User" in machine.succeed("curl -s http://localhost:37358/.web/add/") diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index dcaf369b62bd..7216ad43b8e9 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -91,7 +91,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: { with subtest("Wait until Firefox has finished loading the Valgrind docs page"): machine.execute( - "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &" + "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &" ) machine.wait_for_window("Valgrind") machine.sleep(40) @@ -99,7 +99,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: { with subtest("Check whether Firefox can play sound"): with audio_recording(machine): machine.succeed( - "firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga &" + "firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &" ) wait_for_sound(machine) machine.copy_from_vm("/tmp/record.wav") diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix index c877054234ec..71eda43e2b24 100644 --- a/nixos/tests/ft2-clone.nix +++ b/nixos/tests/ft2-clone.nix @@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") - machine.execute("ft2-clone &") + machine.execute("ft2-clone >&2 &") machine.wait_for_window(r"Fasttracker") machine.sleep(5) diff --git a/nixos/tests/hadoop/hadoop.nix b/nixos/tests/hadoop/hadoop.nix index 46dfac26e065..b4ed0e17a852 100644 --- a/nixos/tests/hadoop/hadoop.nix +++ b/nixos/tests/hadoop/hadoop.nix @@ -1,70 +1,230 @@ +# This test is very comprehensive. It tests whether all hadoop services work well with each other. +# Run this when updating the Hadoop package or making significant changes to the hadoop module. +# For a more basic test, see hdfs.nix and yarn.nix import ../make-test-python.nix ({pkgs, ...}: { nodes = let package = pkgs.hadoop; coreSite = { - "fs.defaultFS" = "hdfs://master"; + "fs.defaultFS" = "hdfs://ns1"; + }; + hdfsSite = { + "dfs.namenode.rpc-bind-host" = "0.0.0.0"; + "dfs.namenode.http-bind-host" = "0.0.0.0"; + "dfs.namenode.servicerpc-bind-host" = "0.0.0.0"; + + # HA Quorum Journal Manager configuration + "dfs.nameservices" = "ns1"; + "dfs.ha.namenodes.ns1" = "nn1,nn2"; + "dfs.namenode.shared.edits.dir.ns1.nn1" = "qjournal://jn1:8485;jn2:8485;jn3:8485/ns1"; + "dfs.namenode.shared.edits.dir.ns1.nn2" = "qjournal://jn1:8485;jn2:8485;jn3:8485/ns1"; + "dfs.namenode.rpc-address.ns1.nn1" = "nn1:8020"; + "dfs.namenode.rpc-address.ns1.nn2" = "nn2:8020"; + "dfs.namenode.servicerpc-address.ns1.nn1" = "nn1:8022"; + "dfs.namenode.servicerpc-address.ns1.nn2" = "nn2:8022"; + "dfs.namenode.http-address.ns1.nn1" = "nn1:9870"; + "dfs.namenode.http-address.ns1.nn2" = "nn2:9870"; + + # Automatic failover configuration + "dfs.client.failover.proxy.provider.ns1" = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"; + "dfs.ha.automatic-failover.enabled.ns1" = "true"; + "dfs.ha.fencing.methods" = "shell(true)"; + "ha.zookeeper.quorum" = "zk1:2181"; + }; + yarnSiteHA = { + "yarn.resourcemanager.zk-address" = "zk1:2181"; + "yarn.resourcemanager.ha.enabled" = "true"; + "yarn.resourcemanager.ha.rm-ids" = "rm1,rm2"; + "yarn.resourcemanager.hostname.rm1" = "rm1"; + "yarn.resourcemanager.hostname.rm2" = "rm2"; + "yarn.resourcemanager.ha.automatic-failover.enabled" = "true"; + "yarn.resourcemanager.cluster-id" = "cluster1"; + # yarn.resourcemanager.webapp.address needs to be defined even though yarn.resourcemanager.hostname is set. This shouldn't be necessary, but there's a bug in + # hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/amfilter/AmFilterInitializer.java:70 + # that causes AM containers to fail otherwise. + "yarn.resourcemanager.webapp.address.rm1" = "rm1:8088"; + "yarn.resourcemanager.webapp.address.rm2" = "rm2:8088"; }; in { - master = {pkgs, options, ...}: { - services.hadoop = { - inherit package coreSite; - hdfs.namenode.enabled = true; - yarn.resourcemanager.enabled = true; - }; - virtualisation.memorySize = 1024; + zk1 = { ... }: { + services.zookeeper.enable = true; + networking.firewall.allowedTCPPorts = [ 2181 ]; }; - worker = {pkgs, options, ...}: { + # HDFS cluster + nn1 = {pkgs, options, ...}: { services.hadoop = { - inherit package coreSite; - hdfs.datanode.enabled = true; - yarn.nodemanager.enabled = true; - yarnSite = options.services.hadoop.yarnSite.default // { - "yarn.resourcemanager.hostname" = "master"; - }; + inherit package coreSite hdfsSite; + hdfs.namenode.enable = true; + hdfs.zkfc.enable = true; }; + }; + nn2 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.namenode.enable = true; + hdfs.zkfc.enable = true; + }; + }; + + jn1 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode.enable = true; + }; + }; + jn2 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode.enable = true; + }; + }; + jn3 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode.enable = true; + }; + }; + + dn1 = {pkgs, options, ...}: { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.datanode.enable = true; + }; + }; + + # YARN cluster + rm1 = {pkgs, options, ...}: { + virtualisation.memorySize = 1024; + services.hadoop = { + inherit package coreSite hdfsSite; + yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; + yarn.resourcemanager.enable = true; + }; + }; + rm2 = {pkgs, options, ...}: { + virtualisation.memorySize = 1024; + services.hadoop = { + inherit package coreSite hdfsSite; + yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; + yarn.resourcemanager.enable = true; + }; + }; + nm1 = {pkgs, options, ...}: { virtualisation.memorySize = 2048; + services.hadoop = { + inherit package coreSite hdfsSite; + yarnSite = options.services.hadoop.yarnSite.default // yarnSiteHA; + yarn.nodemanager.enable = true; + }; }; }; testScript = '' start_all() - master.wait_for_unit("network.target") - master.wait_for_unit("hdfs-namenode") + #### HDFS tests #### - master.wait_for_open_port(8020) - master.wait_for_open_port(9870) + zk1.wait_for_unit("network.target") + jn1.wait_for_unit("network.target") + jn2.wait_for_unit("network.target") + jn3.wait_for_unit("network.target") + nn1.wait_for_unit("network.target") + nn2.wait_for_unit("network.target") + dn1.wait_for_unit("network.target") - worker.wait_for_unit("network.target") - worker.wait_for_unit("hdfs-datanode") - worker.wait_for_open_port(9864) - worker.wait_for_open_port(9866) - worker.wait_for_open_port(9867) + zk1.wait_for_unit("zookeeper") + jn1.wait_for_unit("hdfs-journalnode") + jn2.wait_for_unit("hdfs-journalnode") + jn3.wait_for_unit("hdfs-journalnode") - master.succeed("curl -f http://worker:9864") - worker.succeed("curl -f http://master:9870") + zk1.wait_for_open_port(2181) + jn1.wait_for_open_port(8480) + jn1.wait_for_open_port(8485) + jn2.wait_for_open_port(8480) + jn2.wait_for_open_port(8485) - worker.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + # Namenodes must be stopped before initializing the cluster + nn1.succeed("systemctl stop hdfs-namenode") + nn2.succeed("systemctl stop hdfs-namenode") + nn1.succeed("systemctl stop hdfs-zkfc") + nn2.succeed("systemctl stop hdfs-zkfc") - master.wait_for_unit("yarn-resourcemanager") + # Initialize zookeeper for failover controller + nn1.succeed("sudo -u hdfs hdfs zkfc -formatZK 2>&1 | systemd-cat") - master.wait_for_open_port(8030) - master.wait_for_open_port(8031) - master.wait_for_open_port(8032) - master.wait_for_open_port(8088) - worker.succeed("curl -f http://master:8088") + # Format NN1 and start it + nn1.succeed("sudo -u hdfs hadoop namenode -format 2>&1 | systemd-cat") + nn1.succeed("systemctl start hdfs-namenode") + nn1.wait_for_open_port(9870) + nn1.wait_for_open_port(8022) + nn1.wait_for_open_port(8020) - worker.wait_for_unit("yarn-nodemanager") - worker.wait_for_open_port(8042) - worker.wait_for_open_port(8040) - master.succeed("curl -f http://worker:8042") + # Bootstrap NN2 from NN1 and start it + nn2.succeed("sudo -u hdfs hdfs namenode -bootstrapStandby 2>&1 | systemd-cat") + nn2.succeed("systemctl start hdfs-namenode") + nn2.wait_for_open_port(9870) + nn2.wait_for_open_port(8022) + nn2.wait_for_open_port(8020) + nn1.succeed("netstat -tulpne | systemd-cat") - assert "Total Nodes:1" in worker.succeed("yarn node -list") + # Start failover controllers + nn1.succeed("systemctl start hdfs-zkfc") + nn2.succeed("systemctl start hdfs-zkfc") - assert "Estimated value of Pi is" in worker.succeed("HADOOP_USER_NAME=hdfs yarn jar $(readlink $(which yarn) | sed -r 's~bin/yarn~lib/hadoop-*/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar~g') pi 2 10") - assert "SUCCEEDED" in worker.succeed("yarn application -list -appStates FINISHED") - worker.succeed("sudo -u hdfs hdfs dfs -ls / | systemd-cat") + # DN should have started by now, but confirm anyway + dn1.wait_for_unit("hdfs-datanode") + # Print states of namenodes + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + # Wait for cluster to exit safemode + dn1.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + # test R/W + dn1.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") + assert "testfilecontents" in dn1.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + + # Test NN failover + nn1.succeed("systemctl stop hdfs-namenode") + assert "active" in dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + assert "testfilecontents" in dn1.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + + nn1.succeed("systemctl start hdfs-namenode") + nn1.wait_for_open_port(9870) + nn1.wait_for_open_port(8022) + nn1.wait_for_open_port(8020) + assert "standby" in dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") + dn1.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState | systemd-cat") + + #### YARN tests #### + + rm1.wait_for_unit("network.target") + rm2.wait_for_unit("network.target") + nm1.wait_for_unit("network.target") + + rm1.wait_for_unit("yarn-resourcemanager") + rm1.wait_for_open_port(8088) + rm2.wait_for_unit("yarn-resourcemanager") + rm2.wait_for_open_port(8088) + + nm1.wait_for_unit("yarn-nodemanager") + nm1.wait_for_open_port(8042) + nm1.wait_for_open_port(8040) + nm1.wait_until_succeeds("yarn node -list | grep Nodes:1") + nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState | systemd-cat") + nm1.succeed("sudo -u yarn yarn node -list | systemd-cat") + + # Test RM failover + rm1.succeed("systemctl stop yarn-resourcemanager") + assert "standby" not in nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") + nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState | systemd-cat") + rm1.succeed("systemctl start yarn-resourcemanager") + rm1.wait_for_unit("yarn-resourcemanager") + rm1.wait_for_open_port(8088) + assert "standby" in nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") + nm1.succeed("sudo -u yarn yarn rmadmin -getAllServiceState | systemd-cat") + + assert "Estimated value of Pi is" in nm1.succeed("HADOOP_USER_NAME=hdfs yarn jar $(readlink $(which yarn) | sed -r 's~bin/yarn~lib/hadoop-*/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar~g') pi 2 10") + assert "SUCCEEDED" in nm1.succeed("yarn application -list -appStates FINISHED") ''; - }) +}) diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index f5907185c039..360dbd60ed27 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -1,36 +1,34 @@ +# Test a minimal HDFS cluster with no HA import ../make-test-python.nix ({...}: { nodes = { namenode = {pkgs, ...}: { + virtualisation.memorySize = 1024; services.hadoop = { package = pkgs.hadoop; - hdfs.namenode.enabled = true; + hdfs = { + namenode = { + enable = true; + formatOnInit = true; + }; + httpfs.enable = true; + }; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; - }; - hdfsSite = { - "dfs.replication" = 1; - "dfs.namenode.rpc-bind-host" = "0.0.0.0"; - "dfs.namenode.http-bind-host" = "0.0.0.0"; + "hadoop.proxyuser.httpfs.groups" = "*"; + "hadoop.proxyuser.httpfs.hosts" = "*"; }; }; - networking.firewall.allowedTCPPorts = [ - 9870 # namenode.http-address - 8020 # namenode.rpc-address - ]; }; datanode = {pkgs, ...}: { services.hadoop = { package = pkgs.hadoop; - hdfs.datanode.enabled = true; + hdfs.datanode.enable = true; coreSite = { "fs.defaultFS" = "hdfs://namenode:8020"; + "hadoop.proxyuser.httpfs.groups" = "*"; + "hadoop.proxyuser.httpfs.hosts" = "*"; }; }; - networking.firewall.allowedTCPPorts = [ - 9864 # datanode.http.address - 9866 # datanode.address - 9867 # datanode.ipc.address - ]; }; }; @@ -50,5 +48,13 @@ import ../make-test-python.nix ({...}: { namenode.succeed("curl -f http://namenode:9870") datanode.succeed("curl -f http://datanode:9864") + + datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") + assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + + namenode.wait_for_unit("hdfs-httpfs") + namenode.wait_for_open_port(14000) + assert "testfilecontents" in datanode.succeed("curl -f \"http://namenode:14000/webhdfs/v1/testfile?user.name=hdfs&op=OPEN\" 2>&1") ''; }) diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix index fbbb293eecd6..09bdb35791c7 100644 --- a/nixos/tests/hadoop/yarn.nix +++ b/nixos/tests/hadoop/yarn.nix @@ -1,28 +1,20 @@ +# This only tests if YARN is able to start its services import ../make-test-python.nix ({...}: { nodes = { resourcemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop; - services.hadoop.yarn.resourcemanager.enabled = true; + services.hadoop.yarn.resourcemanager.enable = true; services.hadoop.yarnSite = { "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler"; }; - networking.firewall.allowedTCPPorts = [ - 8088 # resourcemanager.webapp.address - 8031 # resourcemanager.resource-tracker.address - ]; }; nodemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop; - services.hadoop.yarn.nodemanager.enabled = true; + services.hadoop.yarn.nodemanager.enable = true; services.hadoop.yarnSite = { "yarn.resourcemanager.hostname" = "resourcemanager"; "yarn.nodemanager.log-dirs" = "/tmp/userlogs"; - "yarn.nodemanager.address" = "0.0.0.0:8041"; }; - networking.firewall.allowedTCPPorts = [ - 8042 # nodemanager.webapp.address - 8041 # nodemanager.address - ]; }; }; @@ -38,7 +30,6 @@ import ../make-test-python.nix ({...}: { nodemanager.wait_for_unit("yarn-nodemanager") nodemanager.wait_for_unit("network.target") nodemanager.wait_for_open_port(8042) - nodemanager.wait_for_open_port(8041) resourcemanager.succeed("curl -f http://localhost:8088") nodemanager.succeed("curl -f http://localhost:8042") diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 508e7aa64c0d..4f05b99a5a11 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -110,7 +110,7 @@ in makeTest { ) # Hibernate machine - hibernate.execute("systemctl hibernate &", check_return=False) + hibernate.execute("systemctl hibernate >&2 &", check_return=False) hibernate.wait_for_shutdown() # Restore machine from hibernation, validate our ramfs file is there. diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix index 98902187f6ac..685a200b3187 100644 --- a/nixos/tests/keepassxc.nix +++ b/nixos/tests/keepassxc.nix @@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, ...} : machine.wait_for_x() # start KeePassXC window - machine.execute("su - alice -c keepassxc &") + machine.execute("su - alice -c keepassxc >&2 &") machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}") machine.screenshot("KeePassXC") diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index 036b9cab04f2..b0d072167fad 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -18,7 +18,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { testScript = '' machine.wait_for_unit("multi-user.target") - machine.execute("systemctl kexec &", check_return=False) + machine.execute("systemctl kexec >&2 &", check_return=False) machine.connected = False machine.wait_for_unit("multi-user.target") ''; diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix index a18a05f90c6d..4306a9ae2cf9 100644 --- a/nixos/tests/keymap.nix +++ b/nixos/tests/keymap.nix @@ -46,7 +46,7 @@ let # set up process that expects all the keys to be entered machine.succeed( - "{} {} {} {} &".format( + "{} {} {} {} >&2 &".format( cmd, "${testReader}", len(inputs), diff --git a/nixos/tests/libreswan.nix b/nixos/tests/libreswan.nix index 17ae60af8eed..56ab908aed9a 100644 --- a/nixos/tests/libreswan.nix +++ b/nixos/tests/libreswan.nix @@ -89,7 +89,7 @@ in """ Sends a message as Alice to Bob """ - bob.execute("nc -lu ::0 1234 >/tmp/msg &") + bob.execute("nc -lu ::0 1234 >/tmp/msg >&2 &") alice.sleep(1) alice.succeed(f"echo '{msg}' | nc -uw 0 bob 1234") bob.succeed(f"grep '{msg}' /tmp/msg") @@ -100,7 +100,7 @@ in Starts eavesdropping on Alice and Bob """ match = "src host alice and dst host bob" - eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log &") + eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log >&2 &") start_all() @@ -120,7 +120,7 @@ in alice.succeed("ipsec verify 1>&2") with subtest("Alice and Bob can start the tunnel"): - alice.execute("ipsec auto --start tunnel &") + alice.execute("ipsec auto --start tunnel >&2 &") bob.succeed("ipsec auto --start tunnel") # apparently this is needed to "wake" the tunnel bob.execute("ping -c1 alice") diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix index c33c7503993d..147ae999fdb1 100644 --- a/nixos/tests/lorri/default.nix +++ b/nixos/tests/lorri/default.nix @@ -14,7 +14,7 @@ import ../make-test-python.nix { ) # Start the daemon and wait until it is ready - machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &") + machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr >&2 &") machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout") # Ping the daemon diff --git a/nixos/tests/magic-wormhole-mailbox-server.nix b/nixos/tests/magic-wormhole-mailbox-server.nix index afdf7124fdc5..54088ac60f28 100644 --- a/nixos/tests/magic-wormhole-mailbox-server.nix +++ b/nixos/tests/magic-wormhole-mailbox-server.nix @@ -29,7 +29,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # Create a secret file and send it to Bob client_alice.succeed("echo mysecret > secretfile") - client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile &") + client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile >&2 &") # Retrieve a secret file from Alice and check its content client_bob.succeed("wormhole --relay-url=ws://server:4000/v1 receive -0 --accept-file") diff --git a/nixos/tests/matrix-appservice-irc.nix b/nixos/tests/matrix-appservice-irc.nix index 79b07ef83c57..e1da410af060 100644 --- a/nixos/tests/matrix-appservice-irc.nix +++ b/nixos/tests/matrix-appservice-irc.nix @@ -25,7 +25,7 @@ import ./make-test-python.nix ({ pkgs, ... }: "bind_address" = ""; "port" = 8448; "resources" = [ - { "compress" = true; "names" = [ "client" "webclient" ]; } + { "compress" = true; "names" = [ "client" ]; } { "compress" = false; "names" = [ "federation" ]; } ]; "tls" = false; @@ -85,52 +85,108 @@ import ./make-test-python.nix ({ pkgs, ... }: client = { pkgs, ... }: { environment.systemPackages = [ (pkgs.writers.writePython3Bin "do_test" - { libraries = [ pkgs.python3Packages.matrix-client ]; } '' - import socket - from matrix_client.client import MatrixClient - from time import sleep + { + libraries = [ pkgs.python3Packages.matrix-nio ]; + flakeIgnore = [ + # We don't live in the dark ages anymore. + # Languages like Python that are whitespace heavy will overrun + # 79 characters.. + "E501" + ]; + } '' + import sys + import socket + import functools + from time import sleep + import asyncio - matrix = MatrixClient("${homeserverUrl}") - matrix.register_with_password(username="alice", password="foobar") - - irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - irc.connect(("ircd", 6667)) - irc.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - irc.send(b"USER bob bob bob :bob\n") - irc.send(b"NICK bob\n") - - m_room = matrix.join_room("#irc_#test:homeserver") - irc.send(b"JOIN #test\n") - - # plenty of time for the joins to happen - sleep(10) - - m_room.send_text("hi from matrix") - irc.send(b"PRIVMSG #test :hi from irc \r\n") - - print("Waiting for irc message...") - while True: - buf = irc.recv(10000) - if b"hi from matrix" in buf: - break - - print("Waiting for matrix message...") + from nio import AsyncClient, RoomMessageText, JoinResponse - def callback(room, e): - if "hi from irc" in e['content']['body']: - exit(0) + async def matrix_room_message_text_callback(matrix: AsyncClient, msg: str, _r, e): + print("Received matrix text message: ", e) + if msg in e.body: + print("Received hi from IRC") + await matrix.close() + exit(0) # Actual exit point - m_room.add_listener(callback, "m.room.message") - matrix.listen_forever() - '' + class IRC: + def __init__(self): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.connect(("ircd", 6667)) + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + sock.send(b"USER bob bob bob :bob\n") + sock.send(b"NICK bob\n") + self.sock = sock + + def join(self, room: str): + self.sock.send(f"JOIN {room}\n".encode()) + + def privmsg(self, room: str, msg: str): + self.sock.send(f"PRIVMSG {room} :{msg}\n".encode()) + + def expect_msg(self, body: str): + buffer = "" + while True: + buf = self.sock.recv(1024).decode() + buffer += buf + if body in buffer: + return + + + async def run(homeserver: str): + irc = IRC() + + matrix = AsyncClient(homeserver) + response = await matrix.register("alice", "foobar") + print("Matrix register response: ", response) + + response = await matrix.join("#irc_#test:homeserver") + print("Matrix join room response:", response) + assert isinstance(response, JoinResponse) + room_id = response.room_id + + irc.join("#test") + # FIXME: what are we waiting on here? Matrix? IRC? Both? + # 10s seem bad for busy hydra machines. + sleep(10) + + # Exchange messages + print("Sending text message to matrix room") + response = await matrix.room_send( + room_id=room_id, + message_type="m.room.message", + content={"msgtype": "m.text", "body": "hi from matrix"}, + ) + print("Matrix room send response: ", response) + irc.privmsg("#test", "hi from irc") + + print("Waiting for the matrix message to appear on the IRC side...") + irc.expect_msg("hi from matrix") + + callback = functools.partial( + matrix_room_message_text_callback, matrix, "hi from irc" + ) + matrix.add_event_callback(callback, RoomMessageText) + + print("Waiting for matrix message...") + await matrix.sync_forever() + + exit(1) # Unreachable + + + if __name__ == "__main__": + asyncio.run(run(sys.argv[1])) + '' ) ]; }; }; testScript = '' + import pathlib + start_all() ircd.wait_for_unit("ngircd.service") @@ -156,7 +212,6 @@ import ./make-test-python.nix ({ pkgs, ... }: homeserver.wait_for_open_port(8448) with subtest("ensure messages can be exchanged"): - client.succeed("do_test") + client.succeed("do_test ${homeserverUrl} >&2") ''; - }) diff --git a/nixos/tests/minecraft.nix b/nixos/tests/minecraft.nix index 3225ebac392a..1c34f04b4df2 100644 --- a/nixos/tests/minecraft.nix +++ b/nixos/tests/minecraft.nix @@ -20,7 +20,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { let user = nodes.client.config.users.users.alice; in '' client.wait_for_x() - client.execute("su - alice -c minecraft-launcher &") + client.execute("su - alice -c minecraft-launcher >&2 &") client.wait_for_text("Create a new Microsoft account") client.sleep(10) client.screenshot("launcher") diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix index 9e44862cb1b4..a4803f3cb5b5 100644 --- a/nixos/tests/mpv.nix +++ b/nixos/tests/mpv.nix @@ -21,7 +21,7 @@ in }; testScript = '' - machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &") + machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes >&2 &") machine.wait_for_open_port(${port}) assert "simple-mpv-webui" in machine.succeed("curl -s localhost:${port}") ''; diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 717f3c789288..2b5cc20163bc 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -38,8 +38,8 @@ in client1.wait_for_x() client2.wait_for_x() - client1.execute("mumble mumble://client1:testpassword\@server/test &") - client2.execute("mumble mumble://client2:testpassword\@server/test &") + client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &") + client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &") # cancel client audio configuration client1.wait_for_window(r"Audio Tuning Wizard") diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix index 96481a9a8bf4..7fd80d70df12 100644 --- a/nixos/tests/musescore.nix +++ b/nixos/tests/musescore.nix @@ -44,7 +44,7 @@ in ) # Start MuseScore window - machine.execute("DISPLAY=:0.0 mscore &") + machine.execute("DISPLAY=:0.0 mscore >&2 &") # Wait until MuseScore has launched machine.wait_for_window("MuseScore") diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix index 6a01089c0828..1e319a8eec81 100644 --- a/nixos/tests/nfs/simple.nix +++ b/nixos/tests/nfs/simple.nix @@ -66,7 +66,7 @@ in client2.succeed("time flock -n -s /data/lock true") with subtest("client 2 fails to acquire lock held by client 1"): - client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &") + client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' >&2 &") client1.wait_for_file("locked") client2.fail("flock -n -s /data/lock true") diff --git a/nixos/tests/nginx-etag.nix b/nixos/tests/nginx-etag.nix index 63ab2e0c6c27..a7bfc0d26958 100644 --- a/nixos/tests/nginx-etag.nix +++ b/nixos/tests/nginx-etag.nix @@ -76,7 +76,7 @@ import ./make-test-python.nix { server.wait_for_unit("nginx.service") client.wait_for_unit("multi-user.target") - client.execute("test-runner &") + client.execute("test-runner >&2 &") client.wait_for_file("/tmp/passed_stage1") server.succeed( diff --git a/nixos/tests/nixops/default.nix b/nixos/tests/nixops/default.nix index a5c4a82be91d..3fb81906a522 100644 --- a/nixos/tests/nixops/default.nix +++ b/nixos/tests/nixops/default.nix @@ -78,7 +78,7 @@ let # Put newlines on console, to flush the console reader's line buffer # in case nixops' last output did not end in a newline, as is the case # with a status line (if implemented?) - deployer.succeed("while sleep 60s; do echo [60s passed] >/dev/console; done &") + deployer.succeed("while sleep 60s; do echo [60s passed]; done >&2 &") deployer_do("cd ~/unicorn; ssh -oStrictHostKeyChecking=accept-new root@server echo hi") diff --git a/nixos/tests/openarena.nix b/nixos/tests/openarena.nix index 461a35e89fe7..63dc1b9a6857 100644 --- a/nixos/tests/openarena.nix +++ b/nixos/tests/openarena.nix @@ -38,8 +38,8 @@ in { client1.wait_for_x() client2.wait_for_x() - client1.execute("openarena +set r_fullscreen 0 +set name Foo +connect server &") - client2.execute("openarena +set r_fullscreen 0 +set name Bar +connect server &") + client1.execute("openarena +set r_fullscreen 0 +set name Foo +connect server >&2 &") + client2.execute("openarena +set r_fullscreen 0 +set name Bar +connect server >&2 &") server.wait_until_succeeds( "journalctl -u openarena -e | grep -q 'Foo.*entered the game'" diff --git a/nixos/tests/owncast.nix b/nixos/tests/owncast.nix index e54d2cc5dd48..debb34f5009d 100644 --- a/nixos/tests/owncast.nix +++ b/nixos/tests/owncast.nix @@ -1,21 +1,42 @@ -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../.. { inherit system config; } }: - -with import (nixpkgs + "/nixos/lib/testing-python.nix") { inherit system; }; -makeTest { +import ./make-test-python.nix ({ pkgs, ... }: { name = "owncast"; - meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ MayNiklas ]; }; + meta = with pkgs.lib.maintainers; { maintainers = [ MayNiklas ]; }; nodes = { - client = { ... }: { - environment.systemPackages = [ curl ]; - services.owncast = { enable = true; }; + client = { pkgs, ... }: with pkgs.lib; { + networking = { + dhcpcd.enable = false; + interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ]; + }; + }; + server = { pkgs, ... }: with pkgs.lib; { + networking = { + dhcpcd.enable = false; + useNetworkd = true; + useDHCP = false; + interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; + + firewall.allowedTCPPorts = [ 8080 ]; + }; + + services.owncast = { + enable = true; + listen = "0.0.0.0"; + }; }; }; testScript = '' start_all() - client.wait_for_unit("owncast.service") - client.succeed("curl localhost:8080/api/status") + + client.wait_for_unit("network-online.target") + server.wait_for_unit("network-online.target") + server.wait_for_unit("owncast.service") + server.wait_until_succeeds("ss -ntl | grep -q 8080") + + client.succeed("curl http://192.168.1.1:8080/api/status") + client.succeed("curl http://[fd00::1]:8080/api/status") ''; -} +}) diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix index ddd6a4c11946..af38b41813b7 100644 --- a/nixos/tests/plotinus.nix +++ b/nixos/tests/plotinus.nix @@ -14,7 +14,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.succeed("gnome-calculator &") + machine.succeed("gnome-calculator >&2 &") machine.wait_for_window("gnome-calculator") machine.succeed( "xdotool search --sync --onlyvisible --class gnome-calculator " diff --git a/nixos/tests/pt2-clone.nix b/nixos/tests/pt2-clone.nix index 3c090b7de428..364920c39871 100644 --- a/nixos/tests/pt2-clone.nix +++ b/nixos/tests/pt2-clone.nix @@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") - machine.execute("pt2-clone &") + machine.execute("pt2-clone >&2 &") machine.wait_for_window(r"ProTracker") machine.sleep(5) diff --git a/nixos/tests/shattered-pixel-dungeon.nix b/nixos/tests/shattered-pixel-dungeon.nix index d8c4b44819e4..d4e5de22ab9d 100644 --- a/nixos/tests/shattered-pixel-dungeon.nix +++ b/nixos/tests/shattered-pixel-dungeon.nix @@ -19,7 +19,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.execute("shattered-pixel-dungeon &") + machine.execute("shattered-pixel-dungeon >&2 &") machine.wait_for_window(r"Shattered Pixel Dungeon") machine.sleep(5) if "Enter" not in machine.get_screen_text(): diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix index 379af4d3912b..7bc7cfe18cf8 100644 --- a/nixos/tests/signal-desktop.nix +++ b/nixos/tests/signal-desktop.nix @@ -41,7 +41,7 @@ in { machine.wait_for_x() # start signal desktop - machine.execute("su - alice -c signal-desktop &") + machine.execute("su - alice -c signal-desktop >&2 &") # Wait for the Signal window to appear. Since usually the tests # are run sandboxed and therfore with no internet, we can not wait diff --git a/nixos/tests/soapui.nix b/nixos/tests/soapui.nix index 205128df91f4..76a87ed5efa1 100644 --- a/nixos/tests/soapui.nix +++ b/nixos/tests/soapui.nix @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.succeed("soapui &") + machine.succeed("soapui >&2 &") machine.wait_for_window(r"SoapUI \d+\.\d+\.\d+") machine.sleep(1) machine.screenshot("soapui") diff --git a/nixos/tests/tigervnc.nix b/nixos/tests/tigervnc.nix index 092eaf238d80..ed575682d933 100644 --- a/nixos/tests/tigervnc.nix +++ b/nixos/tests/tigervnc.nix @@ -35,13 +35,13 @@ makeTest { for host in [server, client]: host.succeed("echo foobar | vncpasswd -f > vncpasswd") - server.succeed("Xvnc -geometry 720x576 :1 -PasswordFile vncpasswd &") + server.succeed("Xvnc -geometry 720x576 :1 -PasswordFile vncpasswd >&2 &") server.wait_until_succeeds("nc -z localhost 5901", timeout=10) server.succeed("DISPLAY=:1 xwininfo -root | grep 720x576") - server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC WORLD' &") + server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC WORLD' >&2 &") client.wait_for_x() - client.execute("vncviewer server:1 -PasswordFile vncpasswd &") + client.execute("vncviewer server:1 -PasswordFile vncpasswd >&2 &") client.wait_for_window(r"VNC") client.screenshot("screenshot") text = client.get_screen_text() diff --git a/nixos/tests/turbovnc-headless-server.nix b/nixos/tests/turbovnc-headless-server.nix index dfa17d65f85e..7d705c56ecf3 100644 --- a/nixos/tests/turbovnc-headless-server.nix +++ b/nixos/tests/turbovnc-headless-server.nix @@ -97,7 +97,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { ) machine.execute( # Note trailing & for backgrounding. - f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr &", + f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr >&2 &", ) @@ -119,7 +119,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { def test_glxgears_failing_with_bad_driver_path(): machine.execute( # Note trailing & for backgrounding. - "(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr &" + "(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr >&2 &" ) machine.wait_until_succeeds("test -f /tmp/glxgears-should-fail.stderr") wait_until_terminated_or_succeeds( @@ -136,7 +136,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { def test_glxgears_prints_renderer(): machine.execute( # Note trailing & for backgrounding. - "(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr &" + "(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr >&2 &" ) machine.wait_until_succeeds("test -f /tmp/glxgears.stderr") wait_until_terminated_or_succeeds( diff --git a/nixos/tests/tuxguitar.nix b/nixos/tests/tuxguitar.nix index 6586132d3cd4..63a7b6c7dec9 100644 --- a/nixos/tests/tuxguitar.nix +++ b/nixos/tests/tuxguitar.nix @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { testScript = '' machine.wait_for_x() - machine.succeed("tuxguitar &") + machine.succeed("tuxguitar >&2 &") machine.wait_for_window("TuxGuitar - Untitled.tg") machine.sleep(1) machine.screenshot("tuxguitar") diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index 09314d93b7d0..f15412d365fa 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -430,7 +430,7 @@ in mapAttrs (mkVBoxTest false vboxVMs) { create_vm_simple() - machine.succeed(ru("VirtualBox &")) + machine.succeed(ru("VirtualBox >&2 &")) machine.wait_until_succeeds(ru("xprop -name 'Oracle VM VirtualBox Manager'")) machine.sleep(5) machine.screenshot("gui_manager_started") diff --git a/nixos/tests/vscodium.nix b/nixos/tests/vscodium.nix index ca75da35b1e1..033090aa0e3d 100644 --- a/nixos/tests/vscodium.nix +++ b/nixos/tests/vscodium.nix @@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ...} : # Start VSCodium with a file that doesn't exist yet machine.fail("ls /home/alice/foo.txt") - machine.succeed("su - alice -c 'codium foo.txt' &") + machine.succeed("su - alice -c 'codium foo.txt' >&2 &") # Wait for the window to appear machine.wait_for_text("VSCodium") diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix index 92eb7d4772ef..0e1d521c5ace 100644 --- a/nixos/tests/xrdp.nix +++ b/nixos/tests/xrdp.nix @@ -32,13 +32,13 @@ import ./make-test-python.nix ({ pkgs, ...} : { client.sleep(5) - client.execute("xterm &") + client.execute("xterm >&2 &") client.sleep(1) client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n") client.sleep(5) client.screenshot("localrdp") - client.execute("xterm &") + client.execute("xterm >&2 &") client.sleep(1) client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n") client.sleep(5) diff --git a/nixos/tests/xterm.nix b/nixos/tests/xterm.nix index 078d1dca9642..4ee31139ab52 100644 --- a/nixos/tests/xterm.nix +++ b/nixos/tests/xterm.nix @@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { testScript = '' machine.wait_for_x() - machine.succeed("DISPLAY=:0 xterm -title testterm -class testterm -fullscreen &") + machine.succeed("DISPLAY=:0 xterm -title testterm -class testterm -fullscreen >&2 &") machine.sleep(2) machine.send_chars("echo $XTERM_VERSION >> /tmp/xterm_version\n") machine.wait_for_file("/tmp/xterm_version") diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index 447bc7d6635d..aa9290d9477f 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "4.0.1"; + version = "4.0.7"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-yhCAKlbLjyBywkSYY1aqbUGFlAHBLR8g8xPDIqoUIZk="; + sha256 = "sha256-NAiwHLYhTAQH6xZw5u8bM7MOILcMclQMKtJc7MGJb+Q="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/pkgs/applications/audio/tonelib-jam/default.nix b/pkgs/applications/audio/tonelib-jam/default.nix index 54ed7a977f39..1c0d51ed88be 100644 --- a/pkgs/applications/audio/tonelib-jam/default.nix +++ b/pkgs/applications/audio/tonelib-jam/default.nix @@ -56,6 +56,6 @@ stdenv.mkDerivation rec { homepage = "https://tonelib.net/"; license = licenses.unfree; maintainers = with maintainers; [ dan4ik605743 ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/audio/tonelib-zoom/default.nix b/pkgs/applications/audio/tonelib-zoom/default.nix index 2eef1f7bd609..41539503e020 100644 --- a/pkgs/applications/audio/tonelib-zoom/default.nix +++ b/pkgs/applications/audio/tonelib-zoom/default.nix @@ -1,12 +1,18 @@ -{ stdenv -, dpkg -, lib -, autoPatchelfHook +{ lib +, stdenv , fetchurl -, webkitgtk -, libjack2 +, autoPatchelfHook +, dpkg , alsa-lib +, freetype +, libglvnd , curl +, libXcursor +, libXinerama +, libXrandr +, libXrender +, libjack2 +, webkitgtk }: stdenv.mkDerivation rec { @@ -18,36 +24,40 @@ stdenv.mkDerivation rec { sha256 = "sha256-4q2vM0/q7o/FracnO2xxnr27opqfVQoN7fsqTD9Tr/c="; }; - buildInputs = [ - dpkg - webkitgtk - libjack2 - alsa-lib - ]; - nativeBuildInputs = [ autoPatchelfHook + dpkg ]; - unpackPhase = '' - mkdir -p $TMP/ $out/ - dpkg -x $src $TMP - ''; + buildInputs = [ + stdenv.cc.cc.lib + alsa-lib + freetype + libglvnd + webkitgtk + ] ++ runtimeDependencies; + + runtimeDependencies = map lib.getLib [ + curl + libXcursor + libXinerama + libXrandr + libXrender + libjack2 + ]; + + unpackCmd = "dpkg -x $curSrc source"; installPhase = '' - cp -R $TMP/usr/* $out/ - mv $out/bin/ToneLib-Zoom $out/bin/tonelib-zoom + mv usr $out + substituteInPlace $out/share/applications/ToneLib-Zoom.desktop --replace /usr/ $out/ ''; - runtimeDependencies = [ - (lib.getLib curl) - ]; - meta = with lib; { description = "ToneLib Zoom – change and save all the settings in your Zoom(r) guitar pedal"; homepage = "https://tonelib.net/"; license = licenses.unfree; maintainers = with maintainers; [ dan4ik605743 ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix index e2f08e5e6b41..0d9da9b3cedc 100644 --- a/pkgs/applications/blockchains/btcpayserver/default.nix +++ b/pkgs/applications/blockchains/btcpayserver/default.nix @@ -3,13 +3,13 @@ buildDotnetModule rec { pname = "btcpayserver"; - version = "1.3.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-TAngdQz3FupoqPrqskjSQ9xSDbZV4/6+j7C4NjBFcFw="; + sha256 = "sha256-IBdQlVZx7Bt4y7B7FvHJihHUWO15a89hs+SGwcobDqY="; }; projectFile = "BTCPayServer/BTCPayServer.csproj"; diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 46a9b6c477ae..337479b16bc6 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -639,4 +639,99 @@ rec { }; }; + ivyde = buildEclipsePlugin rec { + name = "ivyde-${version}"; + version = "2.2.0.final-201311091524-RELEASE"; + + srcFeature = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.feature_${version}.jar"; + sha1 = "c8fb6c4aab32db13db0bd81c1a148032667fff31"; + }; + + srcPlugin = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse_${version}.jar"; + sha1 = "0c80c2e228a07f18efab1c56ea026448eda70c06"; + }; + + meta = with lib; { + homepage = "https://ant.apache.org/ivy/ivyde/index.html"; + description = "A plugin which integrates Apache Ivy's dependency management"; + license = licenses.asl20; + platforms = platforms.all; + maintainers = [ maintainers.r3dl3g ]; + }; + }; + + ivyderv = buildEclipsePlugin rec { + name = "ivyderv-${version}"; + version = "2.2.0.final-201311091524-RELEASE"; + + srcFeature = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.eclipse.resolvevisualizer.feature_${version}.jar"; + sha1 = "fb1941eaa2c0de54259de01b0da6d5a6b4a2cab1"; + }; + + srcPlugin = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse.resolvevisualizer_${version}.jar"; + sha1 = "225e0c8ccb010d622c159560638578c2fc51a67e"; + }; + + meta = with lib; { + homepage = "https://ant.apache.org/ivy/ivyde/index.html"; + description = "A graph viewer of the resolved dependencies."; + longDescription = '' + Apache IvyDE Resolve Visualizer is an optional dependency of Apache IvyDE since + it requires additional plugins to be installed (Zest). + ''; + license = licenses.asl20; + platforms = platforms.all; + maintainers = [ maintainers.r3dl3g ]; + }; + }; + + ivy = buildEclipsePlugin rec { + name = "ivy-${version}"; + version = "2.5.0.final_20191020104435"; + + srcFeature = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar"; + sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133"; + }; + + srcPlugin = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar"; + sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5"; + }; + + meta = with lib; { + homepage = "https://ant.apache.org/ivy/index.html"; + description = "A popular dependency manager focusing on flexibility and simplicity"; + license = licenses.asl20; + platforms = platforms.all; + maintainers = [ maintainers.r3dl3g ]; + }; + }; + + ivyant = buildEclipsePlugin rec { + name = "ivyant-${version}"; + version = "2.5.0.final_20191020104435"; + + srcFeature = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar"; + sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133"; + }; + + srcPlugin = fetchurl { + url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar"; + sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5"; + }; + + meta = with lib; { + homepage = "https://ant.apache.org/ivy/ivyde/index.html"; + description = "Ant Tasks integrated into Eclipse's Ant runtime"; + license = licenses.asl20; + platforms = platforms.all; + maintainers = [ maintainers.r3dl3g ]; + }; + }; } diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix index fb5cb4b8e4c1..20d25bb616ff 100644 --- a/pkgs/applications/editors/thonny/default.nix +++ b/pkgs/applications/editors/thonny/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, python3 }: +{ lib, fetchFromGitHub, python3, makeDesktopItem, copyDesktopItems }: with python3.pkgs; @@ -13,6 +13,17 @@ buildPythonApplication rec { sha256 = "13l8blq7y6p7a235x2lfiqml1bd4ba2brm3vfvs8wasjh3fvm9g5"; }; + nativeBuildInputs = [ copyDesktopItems ]; + + desktopItems = [ (makeDesktopItem { + name = "Thonny"; + exec = "thonny"; + icon = "thonny"; + desktopName = "Thonny"; + comment = "Python IDE for beginners"; + categories = "Development;IDE"; + }) ]; + propagatedBuildInputs = with python3.pkgs; [ jedi pyserial @@ -34,6 +45,10 @@ buildPythonApplication rec { --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath ${python3.pkgs.jedi}) ''; + postInstall = '' + install -Dm644 ./packaging/icons/thonny-48x48.png $out/share/icons/hicolor/48x48/apps/thonny.png + ''; + # Tests need a DISPLAY doCheck = false; diff --git a/pkgs/applications/misc/azuredatastudio/default.nix b/pkgs/applications/misc/azuredatastudio/default.nix index fca1ad12fd1c..f7e39396602e 100644 --- a/pkgs/applications/misc/azuredatastudio/default.nix +++ b/pkgs/applications/misc/azuredatastudio/default.nix @@ -1,9 +1,12 @@ { stdenv , lib , fetchurl +, copyDesktopItems +, makeDesktopItem , makeWrapper , libuuid , libunwind +, libxkbcommon , icu , openssl , zlib @@ -13,23 +16,69 @@ , gnutar , atomEnv , libkrb5 +, libdrm +, mesa +, xorg }: # from justinwoo/azuredatastudio-nix # https://github.com/justinwoo/azuredatastudio-nix/blob/537c48aa3981cd1a82d5d6e508ab7e7393b3d7c8/default.nix +let + desktopItem = makeDesktopItem { + name = "azuredatastudio"; + desktopName = "Azure Data Studio"; + comment = "Data Management Tool that enables you to work with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux."; + genericName = "Text Editor"; + exec = "azuredatastudio --no-sandbox --unity-launch %F"; + icon = "azuredatastudio"; + startupNotify = "true"; + categories = "Utility;TextEditor;Development;IDE;"; + mimeType = "text/plain;inode/directory;application/x-azuredatastudio-workspace;"; + extraEntries = '' + StartupWMClass=azuredatastudio + Actions=new-empty-window; + Keywords=azuredatastudio; + + [Desktop Action new-empty-window] + Name=New Empty Window + Exec=azuredatastudio --no-sandbox --new-window %F + Icon=azuredatastudio + ''; + }; + + urlHandlerDesktopItem = makeDesktopItem { + name = "azuredatastudio-url-handler"; + desktopName = "Azure Data Studio - URL Handler"; + comment = "Azure Data Studio"; + genericName = "Text Editor"; + exec = "azuredatastudio --no-sandbox --open-url %U"; + icon = "azuredatastudio"; + startupNotify = "true"; + categories = "Utility;TextEditor;Development;IDE;"; + mimeType = "x-scheme-handler/azuredatastudio;"; + extraEntries = '' + NoDisplay=true + Keywords=azuredatastudio; + ''; + }; +in stdenv.mkDerivation rec { pname = "azuredatastudio"; - version = "1.17.1"; + version = "1.33.0"; + + desktopItems = [ desktopItem urlHandlerDesktopItem ]; src = fetchurl { - url = "https://azuredatastudiobuilds.blob.core.windows.net/releases/${version}/azuredatastudio-linux-${version}.tar.gz"; - sha256 = "0px9n9vyjvyddca4x7d0zindd0dim7350vkjg5dd0506fm8dc38k"; + name = "${pname}-${version}.tar.gz"; + url = "https://azuredatastudio-update.azurewebsites.net/${version}/linux-x64/stable"; + sha256 = "0593xs44ryfyxy0hc31hdbj706q16h58jb0qyfyncn7ngybm3423"; }; nativeBuildInputs = [ makeWrapper + copyDesktopItems ]; buildInputs = [ @@ -38,7 +87,14 @@ stdenv.mkDerivation rec { at-spi2-atk ]; - dontInstall = true; + installPhase = '' + runHook preInstall + + mkdir -p $out/share/pixmaps + cp ${targetPath}/resources/app/resources/linux/code.png $out/share/pixmaps/azuredatastudio.png + + runHook postInstall + ''; # change this to azuredatastudio-insiders for insiders releases edition = "azuredatastudio"; @@ -60,7 +116,7 @@ stdenv.mkDerivation rec { ]; # this will most likely need to be updated when azuredatastudio's version changes - sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/2.0.0-release.56"; + sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/3.0.0-release.139"; rpath = lib.concatStringsSep ":" [ atomEnv.libPath @@ -71,6 +127,10 @@ stdenv.mkDerivation rec { at-spi2-atk stdenv.cc.cc.lib libkrb5 + libdrm + libxkbcommon + mesa + xorg.libxshmfence ] ) targetPath @@ -111,5 +171,6 @@ stdenv.mkDerivation rec { description = "A data management tool that enables working with SQL Server, Azure SQL DB and SQL DW"; homepage = "https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio"; license = lib.licenses.unfreeRedistributable; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix index f5a723f59018..43c2eb242241 100644 --- a/pkgs/applications/misc/haxor-news/default.nix +++ b/pkgs/applications/misc/haxor-news/default.nix @@ -15,6 +15,7 @@ let sha256 = "09h1153wgr5x2ny7ds0w2m81n3bb9j8hjb8sjfnrg506r01clkyx"; }; }); + click = self.callPackage ../../../development/python-modules/click/7.nix { }; }; }; in diff --git a/pkgs/applications/misc/snapmaker-luban/default.nix b/pkgs/applications/misc/snapmaker-luban/default.nix new file mode 100644 index 000000000000..84ad34637f58 --- /dev/null +++ b/pkgs/applications/misc/snapmaker-luban/default.nix @@ -0,0 +1,88 @@ +{ lib, stdenv, autoPatchelfHook, makeDesktopItem, copyDesktopItems, wrapGAppsHook, fetchurl +, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups +, gtk3, nss, glib, dbus, nspr, gdk-pixbuf +, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext +, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, pango +, gcc-unwrapped, udev +}: + +stdenv.mkDerivation rec { + pname = "snapmaker-luban"; + version = "4.0.3"; + + src = fetchurl { + url = "https://github.com/Snapmaker/Luban/releases/download/v${version}/snapmaker-luban-${version}-linux-x64.tar.gz"; + sha256 = "13qk7ssfawjaa5p4mnml4ndzzsqs26qpi76hc9qaipi74ss3jih4"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + wrapGAppsHook + copyDesktopItems + ]; + + buildInputs = [ + alsa-lib + at-spi2-atk + at-spi2-core + cairo + cups + gcc-unwrapped + gtk3 + libXdamage + libX11 + libXScrnSaver + libXtst + libxcb + nspr + nss + ]; + + libPath = lib.makeLibraryPath [ + stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups + gdk-pixbuf glib gtk3 libX11 libXcomposite + libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender + libXtst nspr nss libxcb pango libXScrnSaver udev + ]; + + dontWrapGApps = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,opt,share/pixmaps}/ + mv * $out/opt/ + + patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \ + $out/opt/snapmaker-luban + + wrapProgram $out/opt/snapmaker-luban \ + "''${gappsWrapperArgs[@]}" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ + --prefix LD_LIBRARY_PATH : ${libPath}:$out/snapmaker-luban + + ln -s $out/opt/snapmaker-luban $out/bin/snapmaker-luban + ln -s $out/opt/resources/app/app/resources/images/snap-luban-logo-64x64.png $out/share/pixmaps/snapmaker-luban.png + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = pname; + exec = "snapmaker-luban"; + icon = "snapmaker-luban"; + desktopName = "Snapmaker Luban"; + genericName = meta.description; + categories = "Office;Printing;"; + }) + ]; + + meta = with lib; { + description = "Snapmaker Luban is an easy-to-use 3-in-1 software tailor-made for Snapmaker machines"; + homepage = "https://github.com/Snapmaker/Luban"; + license = licenses.gpl3; + maintainers = [ maintainers.simonkampe ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/cisco-packet-tracer/7.nix b/pkgs/applications/networking/cisco-packet-tracer/7.nix new file mode 100644 index 000000000000..33f35ba12af3 --- /dev/null +++ b/pkgs/applications/networking/cisco-packet-tracer/7.nix @@ -0,0 +1,90 @@ +{ stdenv +, lib +, buildFHSUserEnvBubblewrap +, callPackage +, copyDesktopItems +, dpkg +, lndir +, makeDesktopItem +, makeWrapper +, requireFile +}: + +let + version = "7.3.1"; + + ptFiles = stdenv.mkDerivation { + name = "PacketTracer7drv"; + inherit version; + + dontUnpack = true; + src = requireFile { + name = "PacketTracer_${builtins.replaceStrings ["."] [""] version}_amd64.deb"; + sha256 = "c39802d15dd61d00ba27fb8c116da45fd8562ab4b49996555ad66b88deace27f"; + url = "https://www.netacad.com"; + }; + + nativeBuildInputs = [ dpkg makeWrapper ]; + + installPhase = '' + dpkg-deb -x $src $out + makeWrapper "$out/opt/pt/bin/PacketTracer7" "$out/bin/packettracer7" \ + --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" + ''; + }; + + desktopItem = makeDesktopItem { + name = "cisco-pt7.desktop"; + desktopName = "Cisco Packet Tracer 7"; + icon = "${ptFiles}/opt/pt/art/app.png"; + exec = "packettracer7 %f"; + mimeType = "application/x-pkt;application/x-pka;application/x-pkz;"; + }; + + fhs = buildFHSUserEnvBubblewrap { + name = "packettracer7"; + runScript = "${ptFiles}/bin/packettracer7"; + + targetPkgs = pkgs: with pkgs; [ + alsa-lib + dbus + expat + fontconfig + glib + libglvnd + libpulseaudio + libudev0-shim + libxkbcommon + libxml2 + libxslt + nspr + nss + xorg.libICE + xorg.libSM + xorg.libX11 + xorg.libXScrnSaver + ]; + }; +in stdenv.mkDerivation { + pname = "ciscoPacketTracer7"; + inherit version; + + dontUnpack = true; + + installPhase = '' + mkdir $out + ${lndir}/bin/lndir -silent ${fhs} $out + ''; + + desktopItems = [ desktopItem ]; + + nativeBuildInputs = [ copyDesktopItems ]; + + meta = with lib; { + description = "Network simulation tool from Cisco"; + homepage = "https://www.netacad.com/courses/packet-tracer"; + license = licenses.unfree; + maintainers = with maintainers; [ lucasew ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/cisco-packet-tracer/8.nix b/pkgs/applications/networking/cisco-packet-tracer/8.nix new file mode 100644 index 000000000000..c823dcbb1d35 --- /dev/null +++ b/pkgs/applications/networking/cisco-packet-tracer/8.nix @@ -0,0 +1,131 @@ +{ stdenv +, lib +, alsa-lib +, autoPatchelfHook +, buildFHSUserEnvBubblewrap +, callPackage +, copyDesktopItems +, dbus +, dpkg +, expat +, fontconfig +, glib +, libdrm +, libglvnd +, libpulseaudio +, libudev0-shim +, libxkbcommon +, libxml2 +, libxslt +, lndir +, makeDesktopItem +, makeWrapper +, nspr +, nss +, requireFile +, xorg +}: + +let + version = "8.0.1"; + + ptFiles = stdenv.mkDerivation { + name = "PacketTracer8Drv"; + inherit version; + + dontUnpack = true; + src = requireFile { + name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb"; + sha256 = "77a25351b016faed7c78959819c16c7013caa89c6b1872cb888cd96edd259140"; + url = "https://www.netacad.com"; + }; + + nativeBuildInputs = [ + alsa-lib + autoPatchelfHook + dbus + dpkg + expat + fontconfig + glib + libdrm + libglvnd + libpulseaudio + libudev0-shim + libxkbcommon + libxml2 + libxslt + makeWrapper + nspr + nss + ] ++ (with xorg; [ + libICE + libSM + libX11 + libxcb + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXScrnSaver + xcbutilimage + xcbutilkeysyms + xcbutilrenderutil + xcbutilwm + ]); + + installPhase = '' + dpkg-deb -x $src $out + chmod 755 "$out" + makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer" \ + --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" + + # Keep source archive cached, to avoid re-downloading + ln -s $src $out/usr/share/ + ''; + }; + + desktopItem = makeDesktopItem { + name = "cisco-pt8.desktop"; + desktopName = "Cisco Packet Tracer 8"; + icon = "${ptFiles}/opt/pt/art/app.png"; + exec = "packettracer8 %f"; + mimeType = "application/x-pkt;application/x-pka;application/x-pkz;"; + }; + + fhs = buildFHSUserEnvBubblewrap { + name = "packettracer8"; + runScript = "${ptFiles}/bin/packettracer"; + targetPkgs = pkgs: [ libudev0-shim ]; + + extraInstallCommands = '' + mkdir -p "$out/share/applications" + cp "${desktopItem}"/share/applications/* "$out/share/applications/" + ''; + }; +in stdenv.mkDerivation { + pname = "ciscoPacketTracer8"; + inherit version; + + dontUnpack = true; + + installPhase = '' + mkdir $out + ${lndir}/bin/lndir -silent ${fhs} $out + ''; + + desktopItems = [ desktopItem ]; + nativeBuildInputs = [ copyDesktopItems ]; + + meta = with lib; { + description = "Network simulation tool from Cisco"; + homepage = "https://www.netacad.com/courses/packet-tracer"; + license = licenses.unfree; + maintainers = with maintainers; [ lucasew ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix b/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix index 019ffb468d27..8cb748f54059 100644 --- a/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix +++ b/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix @@ -39,6 +39,10 @@ stdenv.mkDerivation { dontWrapGApps = true; preFixup = '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + # Users that set CLUTTER_BACKEND=wayland in their default environment will + # encounter a segfault due to: + # https://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/1100 . + qtWrapperArgs+=("--unset" "CLUTTER_BACKEND") ''; buildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/jami/daemon.nix b/pkgs/applications/networking/instant-messengers/jami/daemon.nix index 456ca85ed12c..2fe6d7191e74 100644 --- a/pkgs/applications/networking/instant-messengers/jami/daemon.nix +++ b/pkgs/applications/networking/instant-messengers/jami/daemon.nix @@ -49,6 +49,10 @@ let ++ lib.optionals stdenv.isLinux (readLinesToList ./config/ffmpeg_args_linux) ++ lib.optionals (stdenv.isx86_32 || stdenv.isx86_64) (readLinesToList ./config/ffmpeg_args_x86); outputs = [ "out" "doc" ]; + meta = old.meta // { + # undefined reference to `ff_nlmeans_init_aarch64' + broken = stdenv.isAarch64; + }; }); pjsip-jami = pjsip.overrideAttrs (old: diff --git a/pkgs/applications/networking/zerobin/default.nix b/pkgs/applications/networking/zerobin/default.nix index 16a52d670450..56d5274751fc 100644 --- a/pkgs/applications/networking/zerobin/default.nix +++ b/pkgs/applications/networking/zerobin/default.nix @@ -40,7 +40,7 @@ python3Packages.buildPythonApplication rec { # relax version constraints of some dependencies substituteInPlace setup.cfg \ --replace "clize==4.1.1" "clize" \ - --replace "bleach==3.1.5" "bleach>=3.1.5,<4" \ + --replace "bleach==3.1.5" "bleach>=3.1.5,<5" \ --replace "bottle==0.12.18" "bottle>=0.12.18,<1" \ --replace "Paste==3.4.3" "Paste>=3.4.3,<4" ''; diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix index b87e74c256f6..0b4ce74cdfa7 100644 --- a/pkgs/applications/office/jabref/default.nix +++ b/pkgs/applications/office/jabref/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { makeWrapper $out/lib/runtime/bin/java $out/bin/jabref \ --add-flags '-Djava.library.path=${systemLibPaths}' --add-flags "-p $out/lib/app -m org.jabref/org.jabref.JabRefLauncher" \ - --run 'export LD_LIBRARY_PATH=${systemLibPaths}:$LD_LIBRARY_PATH' + --prefix LD_LIBRARY_PATH : '${systemLibPaths}' cp -r ${desktopItem}/share/applications $out/share/ diff --git a/pkgs/applications/science/medicine/xmedcon/default.nix b/pkgs/applications/science/medicine/xmedcon/default.nix index e4a5f22891e8..3c2bec86a7a5 100644 --- a/pkgs/applications/science/medicine/xmedcon/default.nix +++ b/pkgs/applications/science/medicine/xmedcon/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "xmedcon"; - version = "0.21.0"; + version = "0.21.2"; src = fetchurl { url = "https://prdownloads.sourceforge.net/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "0yfnbrcil5i76z1wbg308pb1mnjbcxy6nih46qpqs038v1lhh4q8"; + sha256 = "0svff8rc3j2p47snaq1hx9mv4ydmxawpb0hf3d165g1ccjwvmm6m"; }; buildInputs = [ @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { homepage = "https://xmedcon.sourceforge.io/Main/HomePage"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ arianvp flokli ]; - platforms = with platforms; [ darwin linux ]; + platforms = platforms.darwin ++ platforms.linux; }; } diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 54378dbe13d3..1d1788ba0d80 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -30,8 +30,12 @@ edk2.mkDerivation projectDscPath { hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; + # Fails on i686 with: + # 'cc1: error: LTO support has not been enabled in this configuration' + NIX_CFLAGS_COMPILE = lib.optionals stdenv.isi686 [ "-fno-lto" ]; + buildFlags = - lib.optional secureBoot "-D SECURE_BOOT_ENABLE=TRUE" + lib.optionals secureBoot [ "-D SECURE_BOOT_ENABLE=TRUE" ] ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ] ++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ] ++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"]; diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix index c91bf3d142ab..2f09c3a29c77 100644 --- a/pkgs/applications/virtualization/crun/default.nix +++ b/pkgs/applications/virtualization/crun/default.nix @@ -37,13 +37,13 @@ let in stdenv.mkDerivation rec { pname = "crun"; - version = "1.2"; + version = "1.3"; src = fetchFromGitHub { owner = "containers"; repo = pname; rev = version; - sha256 = "sha256-7YDU7H4dVT6qI+Gt3bkm7vqHlU0Fr7ZhF4SWcA+RhYw="; + sha256 = "sha256-c0jXhqYdEpt4De1Z6VNwyrv0KJcf039Wp3ye0oTW0Qc="; fetchSubmodules = true; }; diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 4e0f459ac287..48b83140e42c 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -97,6 +97,19 @@ stdenv.mkDerivation rec { url = "https://gitlab.com/qemu-project/qemu/-/commit/13b250b12ad3c59114a6a17d59caf073ce45b33a.patch"; sha256 = "0lkzfc7gdlvj4rz9wk07fskidaqysmx8911g914ds1jnczgk71mf"; }) + # Fixes a crash that frequently happens in some setups that share /nix/store over 9p like nixos tests + # on some systems. Remove with next release. + (fetchpatch { + name = "fix-crash-in-v9fs_walk.patch"; + url = "https://gitlab.com/qemu-project/qemu/-/commit/f83df00900816476cca41bb536e4d532b297d76e.patch"; + sha256 = "sha256-LYGbBLS5YVgq8Bf7NVk7HBFxXq34NmZRPCEG79JPwk8="; + }) + # Fixes an io error on discard/unmap operation for aio/file backend. Remove with next release. + (fetchpatch { + name = "fix-aio-discard-return-value.patch"; + url = "https://gitlab.com/qemu-project/qemu/-/commit/13a028336f2c05e7ff47dfdaf30dfac7f4883e80.patch"; + sha256 = "sha256-23xVixVl+JDBNdhe5j5WY8CB4MsnUo+sjrkAkG+JS6M="; + }) ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch ++ lib.optionals stdenv.hostPlatform.isMusl [ (fetchpatch { diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix index 08160690dcbc..c2cc2f23cdb8 100644 --- a/pkgs/applications/window-managers/eww/default.nix +++ b/pkgs/applications/window-managers/eww/default.nix @@ -5,6 +5,7 @@ , gtk3 , withWayland ? false , gtk-layer-shell +, stdenv }: rustPlatform.buildRustPackage rec { @@ -39,5 +40,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/elkowar/eww"; license = licenses.mit; maintainers = with maintainers; [ figsoda legendofmiracles ]; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/window-managers/picom/picom-next.nix b/pkgs/applications/window-managers/picom/picom-next.nix new file mode 100644 index 000000000000..67b510396f7d --- /dev/null +++ b/pkgs/applications/window-managers/picom/picom-next.nix @@ -0,0 +1,13 @@ +{ picom, lib, fetchFromGitHub }: + +picom.overrideAttrs (oldAttrs: rec { + pname = "picom-next"; + version = "unstable-2021-10-31"; + src = fetchFromGitHub { + owner = "yshui"; + repo = "picom"; + rev = "fade045eadf171d2c732820d6ebde7d1943a1397"; + sha256 = "fPiLZ63+Bw5VCxVNqj9i5had2YLa+jFMMf85MYdqvHU="; + }; + meta.maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ]; +}) diff --git a/pkgs/data/icons/kora-icon-theme/default.nix b/pkgs/data/icons/kora-icon-theme/default.nix index 5c8f3d15b663..89fd80c468e5 100644 --- a/pkgs/data/icons/kora-icon-theme/default.nix +++ b/pkgs/data/icons/kora-icon-theme/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "kora-icon-theme"; - version = "1.4.5"; + version = "1.4.7"; src = fetchFromGitHub { owner = "bikass"; repo = "kora"; rev = "v${version}"; - sha256 = "sha256-5tXXAfGY5JQ5RiKayUuQJDgX6sPHRi8Hy2ht/Hl0hdo="; + sha256 = "sha256-Ol4DrQJmQT/LIU5qWJJEm6od7e29h7g913YTFQjudBQ="; }; nativeBuildInputs = [ diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix new file mode 100644 index 000000000000..bff703563d4b --- /dev/null +++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix @@ -0,0 +1,35 @@ +{ stdenv, buildGoModule, fetchFromGitHub, lib }: + +let + generator = buildGoModule rec { + pname = "v2ray-domain-list-community"; + version = "20211103073737"; + src = fetchFromGitHub { + owner = "v2fly"; + repo = "domain-list-community"; + rev = version; + sha256 = "sha256-NYgEXbow16w+XMRjbQG1cIn/BjPbbcj+uzb4kcVR6eI="; + }; + vendorSha256 = "sha256-JuLU9v1ukVfAEtz07tGk66st1+sO4SBz83BlK3IPQwU="; + meta = with lib; { + description = "community managed domain list"; + homepage = "https://github.com/v2fly/domain-list-community"; + license = licenses.mit; + maintainers = with maintainers; [ nickcao ]; + }; + }; +in +stdenv.mkDerivation { + inherit (generator) pname version src meta; + buildPhase = '' + runHook preBuild + ${generator}/bin/domain-list-community -datapath $src/data --exportlists=category-ads-all,tld-cn,cn,tld-\!cn,geolocation-\!cn,apple,icloud + runHook postBuild + ''; + installPhase = '' + runHook preInstall + install -Dm644 dlc.dat $out/share/v2ray/geosite.dat + runHook postInstall + ''; + passthru.generator = generator; +} diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix index c28d069d5f11..fd7c7758f2bc 100644 --- a/pkgs/desktops/lxqt/libfm-qt/default.nix +++ b/pkgs/desktops/lxqt/libfm-qt/default.nix @@ -16,13 +16,13 @@ mkDerivation rec { pname = "libfm-qt"; - version = "0.17.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = "libfm-qt"; rev = version; - sha256 = "0jdsqvwp81y4ylabrqdc673x80fp41rpp5w7c1v9zmk9k8z4s5ll"; + sha256 = "1kk2cv9cp2gdj2pzdgm72c009iyl3mhrvsiz05kdxd4v1kn38ci1"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix index b7aa5d95eaf1..8e17437b4721 100644 --- a/pkgs/desktops/lxqt/liblxqt/default.nix +++ b/pkgs/desktops/lxqt/liblxqt/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "liblxqt"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0n0pjz5wihchfcji8qal0lw8kzvv3im50v1lbwww4ymrgacz9h4l"; + sha256 = "08cqvq99pvz8lz13273hlpv8160r6zyz4f7h4kl1g8xdga7m45gr"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index 7abaed7c09ab..b6294e20dcef 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -10,13 +10,13 @@ mkDerivation rec { pname = "libqtxdg"; - version = "3.7.1"; + version = "3.8.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1x806hdics3d49ys0a2vkln9znidj82qscjnpcqxclxn26xqzd91"; + sha256 = "14jrzwdmhgn6bcggmhxx5rdapjzm93cfkjjls3nii1glnkwzncxz"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/libsysstat/default.nix b/pkgs/desktops/lxqt/libsysstat/default.nix index 8da7675d485c..bd5b6679259d 100644 --- a/pkgs/desktops/lxqt/libsysstat/default.nix +++ b/pkgs/desktops/lxqt/libsysstat/default.nix @@ -9,13 +9,13 @@ mkDerivation rec { pname = "libsysstat"; - version = "0.4.5"; + version = "0.4.6"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "14q55iayygmjh63zgsb9qa4af766gj9b0jsrmfn85fdiqb8p8yfz"; + sha256 = "0z2r8041vqssm59lkb3ka7qis9br4wvavxzd45m3pnqlp7wwhkbn"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix index 10e40f4ed9dc..510339b46f56 100644 --- a/pkgs/desktops/lxqt/lximage-qt/default.nix +++ b/pkgs/desktops/lxqt/lximage-qt/default.nix @@ -16,13 +16,13 @@ mkDerivation rec { pname = "lximage-qt"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1xajsblk2954crvligvrgwp7q1pj7124xdfnlq9k9q0ya2xc36lx"; + sha256 = "1bf0smkawyibrabw7zcynwr2afpsv7pnnyxn4nqgh6mxnp7al157"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix index 08e21736125a..abab373430bf 100644 --- a/pkgs/desktops/lxqt/lxqt-about/default.nix +++ b/pkgs/desktops/lxqt/lxqt-about/default.nix @@ -14,13 +14,13 @@ mkDerivation rec { pname = "lxqt-about"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "011jcab47iif741azfgvf52my118nwkny5m0pa7nsqyv8ad1fsiw"; + sha256 = "1fr2mx19ks4crh7cjc080vkrzldzgmghxvrzjqq7lspkzd5a0pjb"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix index a3fd034e3365..120014b25f62 100644 --- a/pkgs/desktops/lxqt/lxqt-admin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "lxqt-admin"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1xi169gz1sarv7584kg33ymckqlx9ddci7r9m0dlm4a7mw7fm0lf"; + sha256 = "06l7vs8aqx37bhrxf9xa16g7rdmia8j73q78qfj6syw57f3ssjr9"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix index 348ee3423de7..a6560198f6b5 100644 --- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix +++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix @@ -14,13 +14,13 @@ mkDerivation rec { pname = "lxqt-archiver"; - version = "0.4.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "lxqt"; repo = "lxqt-archiver"; rev = version; - sha256 = "0wpayzcyqcnvzk95bqql7p07l8p7mwdgdj7zlbcsdn0wis4yhjm6"; + sha256 = "033lq7n34a5qk2zv8kr1633p5x2cjimv4w4n86w33xmcwya4yiji"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix index fb2ed9e37d7b..15bc1941af3f 100644 --- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix +++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix @@ -13,13 +13,13 @@ mkDerivation rec { pname = "lxqt-build-tools"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0zhcv6cbdn9fr5lpglz26gzssbxkpi824sgc0g7w3hh1z6nqqf8l"; + sha256 = "1hb04zgpalxv6da3myf1dxsbjix15dczzfq8a24g5dg2zfhwpx21"; }; # Nix clang on darwin identifies as 'Clang', not 'AppleClang' diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix index 745c4e71b5ea..d46e8e05e09b 100644 --- a/pkgs/desktops/lxqt/lxqt-config/default.nix +++ b/pkgs/desktops/lxqt/lxqt-config/default.nix @@ -19,13 +19,13 @@ mkDerivation rec { pname = "lxqt-config"; - version = "0.17.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0b9jihmsqgdfdsisz15j3p53fgf1w30s8irj9zjh52fsj58p924p"; + sha256 = "0yllqjmj4xbqi5681ffjxmlwlf9k9bpy3hgs7li6lnn90yy46qmr"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix index 6dab1cbf736f..13983bb0881d 100644 --- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix +++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "lxqt-globalkeys"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "135292l8w9sngg437n1zigkap15apifyqd9847ln84bxsmcj8lay"; + sha256 = "015nrlzlcams4k8svrq7692xbjlai1dmwvjdldncsbrgrmfa702m"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix index 093706fd6eee..baa9784e4ef6 100644 --- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix +++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "lxqt-notificationd"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1r2cmxcjkm9lvb2ilq2winyqndnamsd9x2ynmfiqidby2pcr9i3a"; + sha256 = "06gb8k1p24gm5axy42npq7n4lmsxb03a9kvzqby44qmgwh8pn069"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix index a6fbfc2f5620..7f5f1e74f359 100644 --- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix +++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "lxqt-openssh-askpass"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "18pn7kw9aw7859jnwvjnjcvr50pqsi8gqcxsbx9rvsjrybw2qcgc"; + sha256 = "0fp5jq3j34p81y200jbyp7wcz04r7jk07bfwrigjwcyj2xknkrgw"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix index 34578e6bc5fe..b9b9936893fb 100644 --- a/pkgs/desktops/lxqt/lxqt-panel/default.nix +++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix @@ -30,13 +30,13 @@ mkDerivation rec { pname = "lxqt-panel"; - version = "0.17.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1wmm4sml7par5z9xcs5qx2y2pdbnnh66zs37jhx9f9ihcmh1sqlw"; + sha256 = "0i63jyjg31336davjdak7z3as34gazx1lri65fk2f07kka9dx1jl"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix index 0a84799d3728..51e46b00ce82 100644 --- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix +++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix @@ -19,13 +19,13 @@ mkDerivation rec { pname = "lxqt-policykit"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "15f0hnif8zs38qgckif63dds9zgpp3dmg9pg3ppgh664lkbxx7n7"; + sha256 = "0hmxzkkggnpci305xax9663cbjqdh6n0j0dawwcpwj4ks8mp7xh7"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix index 3713bcf0bb50..90f03f6b3a1e 100644 --- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix +++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix @@ -18,13 +18,13 @@ mkDerivation rec { pname = "lxqt-powermanagement"; - version = "0.17.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "04prx15l05kw97mwajc8yi2s7p3n6amzs5jnnmh9payxzp6glzmk"; + sha256 = "0dwz8z3463dz49d5k5bh7splb1zdi617xc4xzlqxxrxbf3n8x4ix"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix index 3095b2399261..05119e9da400 100644 --- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "lxqt-qtplugin"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "168ii015j57hkccdh27h2fdh8yzs8nzy8nw20wnx6fbcg5401666"; + sha256 = "1vr2hlv1q9xwkh9bapy29g9fi90d33xw7pr9zc1bfma6j152qs36"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix index 32d9194be670..b1d8ad352720 100644 --- a/pkgs/desktops/lxqt/lxqt-runner/default.nix +++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix @@ -20,13 +20,13 @@ mkDerivation rec { pname = "lxqt-runner"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "167gzn6aqk7akzbmrnm7nmcpkl0nphr8axbfgwnw552dnk6v8gn0"; + sha256 = "06b7l2jkh0h4ikddh82nxkz7qhg5ap7l016klg3jl2x659z59hpj"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix index b62ca157eeb4..cbda2a7185af 100644 --- a/pkgs/desktops/lxqt/lxqt-session/default.nix +++ b/pkgs/desktops/lxqt/lxqt-session/default.nix @@ -19,13 +19,13 @@ mkDerivation rec { pname = "lxqt-session"; - version = "0.17.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1nhw3y3dm4crawc1905l6drn0i79fs1dzs8iak0vmmplbiv3fvgg"; + sha256 = "0g355dmlyz8iljw953gp5jqlz02abd1ksssah826hxcy4j89mk7s"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix index 4daf40197e87..bef00af4febc 100644 --- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix +++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix @@ -16,13 +16,13 @@ mkDerivation rec { pname = "lxqt-sudo"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "10s8k83mkqiakh18mh1l7idjp95cy49rg8dh14cy159dk8mchcd0"; + sha256 = "1y2vq3n5sv6cxqpnz79kl3dybfbw65z93cahdz8m6gplzpp24gn4"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix index 985e84d03c25..7f7278528c44 100644 --- a/pkgs/desktops/lxqt/lxqt-themes/default.nix +++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix @@ -8,13 +8,13 @@ mkDerivation rec { pname = "lxqt-themes"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "13zh5yrq0f96cn5m6i7zdvgb9iw656fad5ps0s2zx6x8mj2mv64f"; + sha256 = "1viaqmcq4axwsq5vrr08j95swapbqnwmv064kaijm1jj9csadsvv"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix index 662930e4e37e..314a7554319d 100644 --- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix +++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix @@ -13,13 +13,13 @@ mkDerivation rec { pname = "pavucontrol-qt"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0syc4bc2k7961la2c77787akhcljspq3s2nyqvb7mq7ddq1xn0wx"; + sha256 = "1n8h8flcm0na7n295lkjv49brj6razwml21wwrinwllw7s948qp0"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix index ba913cd147f6..9f06d9f76d3b 100644 --- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix +++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix @@ -15,13 +15,13 @@ mkDerivation rec { pname = "pcmanfm-qt"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1awyncpypygsrg7d2nc6xh1l4xaln3ypdliy4xmq8bf94sh9rf0y"; + sha256 = "1g7pl9ygk4k72rsrcsfjnr7h2yzp3pfmlc5wq6bhyq9rqpr5yv7l"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix index 0a4918190b06..f8f134037755 100644 --- a/pkgs/desktops/lxqt/qps/default.nix +++ b/pkgs/desktops/lxqt/qps/default.nix @@ -14,13 +14,13 @@ mkDerivation rec { pname = "qps"; - version = "2.3.0"; + version = "2.4.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0fihhnb7vp6x072spg1fnxaip4sq9mbvhrfqdwnzph5dlyvs54nj"; + sha256 = "11mbzn4syfghb3zvdrw2011njagcw206ng6c8l9z9h3zlhmhcd57"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix index d383703199a8..e93e404762a2 100644 --- a/pkgs/desktops/lxqt/qterminal/default.nix +++ b/pkgs/desktops/lxqt/qterminal/default.nix @@ -12,13 +12,13 @@ mkDerivation rec { pname = "qterminal"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0mdcz45faj9ysw725qzg572968kf5sh6zfw7iiksi26s8kiyhbbp"; + sha256 = "12p3fnbkpj6z0iplg75304l8kvnn145iq6bpw30n9bwflxrd6yhd"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix index 94a9c651cc8c..20602573d282 100644 --- a/pkgs/desktops/lxqt/qtermwidget/default.nix +++ b/pkgs/desktops/lxqt/qtermwidget/default.nix @@ -10,13 +10,13 @@ mkDerivation rec { pname = "qtermwidget"; - version = "0.17.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0pmkk2mba8z6cgfsd8sy4vhf5d9fn9hvxszzyycyy1ndygjrc1v8"; + sha256 = "0i1w5wgac7r4p0jjrrswlvvwivkwrp1b88xh5ijjw6k9irjc7zf6"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix index 0ed305403b19..2e1c568a4890 100644 --- a/pkgs/desktops/lxqt/screengrab/default.nix +++ b/pkgs/desktops/lxqt/screengrab/default.nix @@ -17,13 +17,13 @@ mkDerivation rec { pname = "screengrab"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "16dycq40lbvk6jvpj7zp85m23cgvh8nj38fz99gxjfzn2nz1gy4a"; + sha256 = "1ca5yyvcahabyrdjcsznz9j66yrdlvnfa3650iwlz6922c3dkn2k"; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/llvm/rocm/llvm/default.nix b/pkgs/development/compilers/llvm/rocm/llvm/default.nix index 129cc69bf6dc..06dfd1870b07 100644 --- a/pkgs/development/compilers/llvm/rocm/llvm/default.nix +++ b/pkgs/development/compilers/llvm/rocm/llvm/default.nix @@ -74,7 +74,7 @@ in stdenv.mkDerivation rec { ''; preCheck = '' - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib ''; postInstall = '' diff --git a/pkgs/development/coq-modules/coqeal/default.nix b/pkgs/development/coq-modules/coqeal/default.nix index e9ce81c30a9d..3921104cb54b 100644 --- a/pkgs/development/coq-modules/coqeal/default.nix +++ b/pkgs/development/coq-modules/coqeal/default.nix @@ -10,12 +10,13 @@ with lib; inherit version; defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ - { cases = [ (isGe "8.10") (isGe "1.12.0") ]; out = "1.0.6"; } + { cases = [ (isGe "8.10") (isGe "1.12.0") ]; out = "1.1.0"; } { cases = [ (isGe "8.10") (range "1.11.0" "1.12.0") ]; out = "1.0.5"; } { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; } { cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; } ] null; + release."1.1.0".sha256 = "1vyhfna5frkkq2fl1fkg2mwzpg09k3sbzxxpyp14fjay81xajrxr"; release."1.0.6".sha256 = "0lqkyfj4qbq8wr3yk8qgn7mclw582n3fjl9l19yp8cnchspzywx0"; release."1.0.5".sha256 = "0cmvky8glb5z2dy3q62aln6qbav4lrf2q1589f6h1gn5bgjrbzkm"; release."1.0.4".sha256 = "1g5m26lr2lwxh6ld2gykailhay4d0ayql4bfh0aiwqpmmczmxipk"; diff --git a/pkgs/development/libraries/applet-window-buttons/default.nix b/pkgs/development/libraries/applet-window-buttons/default.nix index d1d20ef0e489..c58fb5bc240d 100644 --- a/pkgs/development/libraries/applet-window-buttons/default.nix +++ b/pkgs/development/libraries/applet-window-buttons/default.nix @@ -11,13 +11,13 @@ mkDerivation rec { pname = "applet-window-buttons"; - version = "0.9.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "psifidotos"; repo = "applet-window-buttons"; rev = version; - sha256 = "sha256-ikgUE8GaiTpNjwrz7SbNQ3+b8KiigDgMREQ7J2b+EEs="; + sha256 = "18h2g3jqzr88wkmws2iz71sgrz633zwkqvhn32sdi32sxxbrksgd"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix index db9e5be6f2ed..fbf84f34ca5c 100644 --- a/pkgs/development/libraries/arrow-cpp/default.nix +++ b/pkgs/development/libraries/arrow-cpp/default.nix @@ -1,8 +1,39 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, fixDarwinDylibNames -, autoconf, boost, brotli, cmake, flatbuffers, gflags, glog, gtest, jemalloc -, lz4, perl, python3, rapidjson, re2, snappy, thrift, tzdata , utf8proc, which -, zlib, zstd +{ stdenv +, lib +, fetchurl +, fetchFromGitHub +, fixDarwinDylibNames +, autoconf +, aws-sdk-cpp +, boost +, brotli +, c-ares +, cmake +, flatbuffers +, gflags +, glog +, grpc +, gtest +, jemalloc +, libnsl +, lz4 +, minio +, openssl +, perl +, protobuf +, python3 +, rapidjson +, re2 +, snappy +, thrift +, tzdata +, utf8proc +, which +, zlib +, zstd , enableShared ? !stdenv.hostPlatform.isStatic +, enableFlight ? !stdenv.isDarwin # libnsl is not supported on darwin +, enableS3 ? true }: let @@ -20,7 +51,8 @@ let hash = "sha256-GmOAS8gGhzDI0WzORMkWHRRUl/XBwmNen2d3VefZxxc="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "arrow-cpp"; version = "6.0.0"; @@ -78,7 +110,12 @@ in stdenv.mkDerivation rec { ] ++ lib.optionals enableShared [ python3.pkgs.python python3.pkgs.numpy - ]; + ] ++ lib.optionals enableFlight [ + grpc + libnsl + openssl + protobuf + ] ++ lib.optionals enableS3 [ aws-sdk-cpp openssl ]; preConfigure = '' patchShebangs build-support/ @@ -113,40 +150,53 @@ in stdenv.mkDerivation rec { # Parquet options: "-DARROW_PARQUET=ON" "-DPARQUET_BUILD_EXECUTABLES=ON" + "-DARROW_FLIGHT=${if enableFlight then "ON" else "OFF"}" + "-DARROW_S3=${if enableS3 then "ON" else "OFF"}" ] ++ lib.optionals (!enableShared) [ "-DARROW_TEST_LINKAGE=static" ] ++ lib.optionals stdenv.isDarwin [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" # needed for tests "-DCMAKE_INSTALL_RPATH=@loader_path/../lib" # needed for tools executables - ] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF"; + ] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF" + ++ lib.optional enableS3 "-DAWSSDK_CORE_HEADER_FILE=${aws-sdk-cpp}/include/aws/core/Aws.h"; doInstallCheck = true; - ARROW_TEST_DATA = - if doInstallCheck then "${arrow-testing}/data" else null; - PARQUET_TEST_DATA = - if doInstallCheck then "${parquet-testing}/data" else null; + ARROW_TEST_DATA = lib.optionalString doInstallCheck "${arrow-testing}/data"; + PARQUET_TEST_DATA = lib.optionalString doInstallCheck "${parquet-testing}/data"; GTEST_FILTER = - if doInstallCheck then let + let # Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11398 filteredTests = lib.optionals stdenv.hostPlatform.isAarch64 [ "TestFilterKernelWithNumeric/3.CompareArrayAndFilterRandomNumeric" "TestFilterKernelWithNumeric/7.CompareArrayAndFilterRandomNumeric" "TestCompareKernel.PrimitiveRandomTests" + ] ++ lib.optionals enableS3 [ + "S3RegionResolutionTest.PublicBucket" + "S3RegionResolutionTest.RestrictedBucket" + "S3RegionResolutionTest.NonExistentBucket" + "S3OptionsTest.FromUri" + "TestMinioServer.Connect" ]; - in "-${builtins.concatStringsSep ":" filteredTests}" else null; - installCheckInputs = [ perl which ]; + in + lib.optionalString doInstallCheck "-${builtins.concatStringsSep ":" filteredTests}"; + installCheckInputs = [ perl which ] ++ lib.optional enableS3 minio; installCheckPhase = - let - excludedTests = lib.optionals stdenv.isDarwin [ - # Some plasma tests need to be patched to use a shorter AF_UNIX socket - # path on Darwin. See https://github.com/NixOS/nix/pull/1085 - "plasma-external-store-tests" - "plasma-client-tests" - ]; - in '' - ctest -L unittest -V \ - --exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$' - ''; + let + excludedTests = lib.optionals stdenv.isDarwin [ + # Some plasma tests need to be patched to use a shorter AF_UNIX socket + # path on Darwin. See https://github.com/NixOS/nix/pull/1085 + "plasma-external-store-tests" + "plasma-client-tests" + ]; + in + '' + runHook preInstallCheck + + ctest -L unittest -V \ + --exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$' + + runHook postInstallCheck + ''; meta = with lib; { description = "A cross-language development platform for in-memory data"; diff --git a/pkgs/development/libraries/crc32c/default.nix b/pkgs/development/libraries/crc32c/default.nix index 521ae7f216d7..4a8afcfc2b3e 100644 --- a/pkgs/development/libraries/crc32c/default.nix +++ b/pkgs/development/libraries/crc32c/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { "-DCRC32C_BUILD_BENCHMARKS=0" "-DCRC32C_USE_GLOG=0" "-DBUILD_SHARED_LIBS=${if staticOnly then "0" else "1"}" + ] ++ lib.optionals stdenv.isDarwin [ + "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests ]; doCheck = false; diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix index 4bb20ebfd93e..38cd40377a5c 100644 --- a/pkgs/development/libraries/glog/default.nix +++ b/pkgs/development/libraries/glog/default.nix @@ -2,43 +2,46 @@ stdenv.mkDerivation rec { pname = "glog"; - version = "0.4.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "google"; repo = "glog"; rev = "v${version}"; - sha256 = "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b"; + sha256 = "17014q25c99qyis6l3fwxidw6222bb269fdlr74gn7pzmzg4lvg3"; }; - patches = lib.optionals stdenv.hostPlatform.isMusl [ - # TODO: Remove at next release that includes this commit. + patches = [ + # Fix duplicate-concatenated nix store path in cmake file, see: + # https://github.com/NixOS/nixpkgs/pull/144561#issuecomment-960296043 + # TODO: Remove when https://github.com/google/glog/pull/733 is merged and available. (fetchpatch { - name = "glog-Fix-symbolize_unittest-for-musl-builds.patch"; - url = "https://github.com/google/glog/commit/834dd780bf1fe0704b8ed0350ca355a55f711a9f.patch"; - sha256 = "0k4lanxg85anyvjsj3mh93bcgds8gizpiamcy2zvs3yyfjl40awn"; + name = "glog-cmake-Fix-incorrect-relative-path-concatenation.patch"; + url = "https://github.com/google/glog/pull/733/commits/57c636c02784f909e4b5d3c2f0ecbdbb47097266.patch"; + sha256 = "1py93gkzmcyi2ypcwyj3nri210z8fmlaif51yflzmrrv507zd7bi"; }) ]; - postPatch = lib.optionalString stdenv.isDarwin '' - # A path clash on case-insensitive file systems blocks creation of the build directory. - # The file in question is specific to bazel and does not influence the build result. - rm BUILD - ''; - nativeBuildInputs = [ cmake ]; propagatedBuildInputs = [ gflags ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + # Mak CMake place RPATHs such that tests will find the built libraries. + # See https://github.com/NixOS/nixpkgs/pull/144561#discussion_r742468811 and https://github.com/NixOS/nixpkgs/pull/108496 + "-DCMAKE_SKIP_BUILD_RPATH=OFF" + ]; + # TODO: Re-enable Darwin tests once we're on a release that has https://github.com/google/glog/issues/709#issuecomment-960381653 fixed + doCheck = !stdenv.isDarwin; checkInputs = [ perl ]; - doCheck = false; # fails with "Mangled symbols (28 out of 380) found in demangle.dm" meta = with lib; { homepage = "https://github.com/google/glog"; license = licenses.bsd3; description = "Library for application-level logging"; platforms = platforms.unix; + maintainers = with lib.maintainers; [ nh2 r-burns ]; }; } diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix index 9a5b0cbc7727..870e919357e0 100644 --- a/pkgs/development/libraries/google-cloud-cpp/default.nix +++ b/pkgs/development/libraries/google-cloud-cpp/default.nix @@ -6,8 +6,8 @@ , cmake , crc32c , curl -, grpc , gbenchmark +, grpc , gtest , ninja , nlohmann_json @@ -15,6 +15,7 @@ , protobuf # default list of APIs: https://github.com/googleapis/google-cloud-cpp/blob/v1.32.1/CMakeLists.txt#L173 , apis ? [ "*" ] +, staticOnly ? stdenv.hostPlatform.isStatic }: let googleapisRev = "ed739492993c4a99629b6430affdd6c0fb59d435"; @@ -24,6 +25,7 @@ let rev = googleapisRev; hash = "sha256:1xrnh77vb8hxmf1ywqsifzd39kylhbdyah0b0b9bm7nw0mnahssl"; }; + excludedTests = builtins.fromTOML (builtins.readFile ./skipped_tests.toml); in stdenv.mkDerivation rec { pname = "google-cloud-cpp"; @@ -45,6 +47,13 @@ stdenv.mkDerivation rec { cmake ninja pkg-config + ] ++ lib.optionals (!doInstallCheck) [ + # enable these dependencies when doInstallCheck failse because we're + # unconditionally building tests and benchmarks + # + # when doInstallCheck is true, these deps are added to installCheckInputs + gbenchmark + gtest ]; buildInputs = [ @@ -53,14 +62,57 @@ stdenv.mkDerivation rec { crc32c curl grpc - gbenchmark - gtest nlohmann_json protobuf ]; + doInstallCheck = true; + + preInstallCheck = + let + # These paths are added to (DY)LD_LIBRARY_PATH because they contain + # testing-only shared libraries that do not need to be installed, but + # need to be loadable by the test executables. + # + # Setting (DY)LD_LIBRARY_PATH is only necessary when building shared libraries. + additionalLibraryPaths = [ + "$PWD/google/cloud/bigtable" + "$PWD/google/cloud/bigtable/benchmarks" + "$PWD/google/cloud/pubsub" + "$PWD/google/cloud/spanner" + "$PWD/google/cloud/spanner/benchmarks" + "$PWD/google/cloud/storage" + "$PWD/google/cloud/storage/benchmarks" + "$PWD/google/cloud/testing_util" + ]; + ldLibraryPathName = "${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH"; + in + lib.optionalString doInstallCheck ( + lib.optionalString (!staticOnly) '' + export ${ldLibraryPathName}=${lib.concatStringsSep ":" additionalLibraryPaths} + '' + '' + export GTEST_FILTER="-${lib.concatStringsSep ":" excludedTests.cases}" + '' + ); + + installCheckPhase = lib.optionalString doInstallCheck '' + runHook preInstallCheck + + # disable tests that contact the internet + ctest --exclude-regex '^(${lib.concatStringsSep "|" excludedTests.whole})' + + runHook postInstallCheck + ''; + + installCheckInputs = lib.optionals doInstallCheck [ + gbenchmark + gtest + ]; + cmakeFlags = [ - "-DBUILD_SHARED_LIBS:BOOL=ON" + "-DBUILD_SHARED_LIBS:BOOL=${if staticOnly then "OFF" else "ON"}" + # unconditionally build tests to catch linker errors as early as possible + # this adds a good chunk of time to the build "-DBUILD_TESTING:BOOL=ON" "-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES:BOOL=OFF" ] ++ lib.optionals (apis != [ "*" ]) [ diff --git a/pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml b/pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml new file mode 100644 index 000000000000..c2fb2a24483a --- /dev/null +++ b/pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml @@ -0,0 +1,112 @@ +whole = [ + "bigquery_bigquery_read_integration_test", + "bigtable_admin_backup_integration_test", + "bigtable_admin_iam_policy_integration_test", + "bigtable_admin_integration_test", + "bigtable_apply_read_latency_benchmark", + "bigtable_data_async_future_integration_test", + "bigtable_data_integration_test", + "bigtable_endurance_benchmark", + "bigtable_filters_integration_test", + "bigtable_mutation_batcher_throughput_benchmark", + "bigtable_mutations_integration_test", + "bigtable_read_sync_vs_async_benchmark", + "bigtable_scan_throughput_benchmark", + "bigtable_table_sample_rows_integration_test", + "iam_iam_credentials_integration_test", + "iam_iam_integration_test", + "pubsub_endurance", + "pubsub_schema_admin_integration_test", + "pubsub_subscriber_integration_test", + "pubsub_subscription_admin_integration_test", + "pubsub_throughput", + "pubsub_topic_admin_integration_test", + "spanner_admin_backup_extra_integration_test", + "spanner_admin_database_admin_integration_test", + "spanner_admin_instance_admin_integration_test", + "spanner_backup_extra_integration_test", + "spanner_client_integration_test", + "spanner_client_stress_test", + "spanner_data_types_integration_test", + "spanner_database_admin_integration_test", + "spanner_instance_admin_integration_test", + "spanner_multiple_rows_cpu_benchmark", + "spanner_rpc_failure_threshold_integration_test", + "spanner_session_pool_integration_test", + "spanner_single_row_throughput_benchmark", + "storage_aggregate_download_throughput_benchmark", + "storage_aggregate_upload_throughput_benchmark", + "storage_alternative_endpoint_integration_test", + "storage_auto_finalize_integration_test", + "storage_bucket_integration_test", + "storage_create_client_integration_test", + "storage_create_dataset", + "storage_curl_download_request_integration_test", + "storage_curl_request_integration_test", + "storage_curl_resumable_upload_session_integration_test", + "storage_curl_sign_blob_integration_test", + "storage_grpc_integration_test", + "storage_key_file_integration_test", + "storage_minimal_iam_credentials_rest_integration_test", + "storage_object_basic_crud_integration_test", + "storage_object_checksum_integration_test", + "storage_object_compose_many_integration_test", + "storage_object_file_integration_test", + "storage_object_hash_integration_test", + "storage_object_insert_integration_test", + "storage_object_insert_preconditions_integration_test", + "storage_object_integration_test", + "storage_object_list_objects_versions_integration_test", + "storage_object_media_integration_test", + "storage_object_parallel_upload_integration_test", + "storage_object_plenty_clients_serially_integration_test", + "storage_object_plenty_clients_simultaneously_integration_test", + "storage_object_read_headers_integration_test", + "storage_object_read_preconditions_integration_test", + "storage_object_read_range_integration_test", + "storage_object_read_stream_integration_test", + "storage_object_resumable_parallel_upload_integration_test", + "storage_object_resumable_write_integration_test", + "storage_object_rewrite_integration_test", + "storage_object_write_preconditions_integration_test", + "storage_object_write_stream_integration_test", + "storage_object_write_streambuf_integration_test", + "storage_service_account_integration_test", + "storage_signed_url_integration_test", + "storage_small_reads_integration_test", + "storage_storage_file_transfer_benchmark", + "storage_storage_parallel_uploads_benchmark", + "storage_storage_throughput_vs_cpu_benchmark", + "storage_thread_integration_test", + "storage_throughput_experiment_test", + "storage_tracing_integration_test", + "storage_unified_credentials_integration_test", + "common_grpc_utils_internal_grpc_impersonate_service_account_integration_test" +] +cases = [ + "BackupExtraIntegrationTest.CreateBackupWithExpiredVersionTime", + "BackupExtraIntegrationTest.BackupWithExpiredVersionTime", + "BackupExtraIntegrationTest.BackupWithFutureVersionTime", + "BackupExtraIntegrationTest.CreateBackupWithFutureVersionTime", + "DatabaseAdminClientTest.CreateWithEncryptionKey", + "DatabaseAdminClientTest.CreateWithNonexistentEncryptionKey", + "DatabaseAdminClientTest.DatabaseBasicCRUD", + "DatabaseAdminClientTest.VersionRetentionPeriodCreate", + "DatabaseAdminClientTest.VersionRetentionPeriodCreateFailure", + "DatabaseAdminClientTest.VersionRetentionPeriodUpdate", + "DatabaseAdminClientTest.VersionRetentionPeriodUpdateFailure", + "InstanceAdminClientTest.InstanceConfig", + "InstanceAdminClientTest.InstanceIam", + "InstanceAdminClientTest.InstanceReadOperations", + "LoggingIntegrationTest.ListMonitoredResourceDescriptors", + "LoggingIntegrationTest.WriteLogEntries", + "ObjectFileMultiThreadedTest.Download", + "SubscriberIntegrationTest.FireAndForget", + "SubscriberIntegrationTest.PublishOrdered", + "SubscriberIntegrationTest.PublishPullAck", + "SubscriberIntegrationTest.RawStub", + "SubscriberIntegrationTest.ReportNotFound", + "SubscriberIntegrationTest.StreamingSubscriptionBatchSource", + "SubscriptionAdminIntegrationTest.SubscriptionCRUD", + "TopicAdminIntegrationTest.TopicCRUD" +] diff --git a/pkgs/development/libraries/libplctag/default.nix b/pkgs/development/libraries/libplctag/default.nix index f16e6eba0d9a..e17f8d6e239b 100644 --- a/pkgs/development/libraries/libplctag/default.nix +++ b/pkgs/development/libraries/libplctag/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "libplctag"; - version = "2.4.0"; + version = "2.4.2"; src = fetchFromGitHub { owner = "libplctag"; repo = "libplctag"; rev = "v${version}"; - sha256 = "sha256-ClNLU1BPNemUOu+nMHujFYQSE+wnYuUPhHytjD8snb4="; + sha256 = "sha256-LyFCKWOjqSHWGBm2p52R/eYuPjtf5IfqqMtrLCNWIV8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/openssl/3.0/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/3.0/nix-ssl-cert-file.patch new file mode 100644 index 000000000000..e7090f49db6a --- /dev/null +++ b/pkgs/development/libraries/openssl/3.0/nix-ssl-cert-file.patch @@ -0,0 +1,15 @@ +diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c +index 37d73ca84c..e328896234 100644 +--- a/crypto/x509/by_file.c ++++ b/crypto/x509/by_file.c +@@ -54,7 +54,9 @@ static int by_file_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argp, + switch (cmd) { + case X509_L_FILE_LOAD: + if (argl == X509_FILETYPE_DEFAULT) { +- file = ossl_safe_getenv(X509_get_default_cert_file_env()); ++ file = ossl_safe_getenv("NIX_SSL_CERT_FILE"); ++ if (!file) ++ file = ossl_safe_getenv(X509_get_default_cert_file_env()); + if (file) + ok = (X509_load_cert_crl_file_ex(ctx, file, X509_FILETYPE_PEM, + libctx, propq) != 0); diff --git a/pkgs/development/libraries/openssl/3.0/openssl-disable-kernel-detection.patch b/pkgs/development/libraries/openssl/3.0/openssl-disable-kernel-detection.patch new file mode 100644 index 000000000000..baf162e88d09 --- /dev/null +++ b/pkgs/development/libraries/openssl/3.0/openssl-disable-kernel-detection.patch @@ -0,0 +1,22 @@ +diff --git a/Configure b/Configure +index f0ad787bc4..a48d2008c6 100755 +--- a/Configure ++++ b/Configure +@@ -1688,17 +1688,6 @@ unless ($disabled{devcryptoeng}) { + unless ($disabled{ktls}) { + $config{ktls}=""; + if ($target =~ m/^linux/) { +- my $usr = "/usr/$config{cross_compile_prefix}"; +- chop($usr); +- if ($config{cross_compile_prefix} eq "") { +- $usr = "/usr"; +- } +- my $minver = (4 << 16) + (13 << 8) + 0; +- my @verstr = split(" ",`cat $usr/include/linux/version.h | grep LINUX_VERSION_CODE`); +- +- if ($verstr[2] < $minver) { +- disable('too-old-kernel', 'ktls'); +- } + } elsif ($target =~ m/^BSD/) { + my $cc = $config{CROSS_COMPILE}.$config{CC}; + system("printf '#include <sys/types.h>\n#include <sys/ktls.h>' | $cc -E - >/dev/null 2>&1"); diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index ca44788a289e..ca2e240dd869 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -198,11 +198,33 @@ in { ./1.1/nix-ssl-cert-file.patch (if stdenv.hostPlatform.isDarwin - then ./1.1/use-etc-ssl-certs-darwin.patch - else ./1.1/use-etc-ssl-certs.patch) + then ./use-etc-ssl-certs-darwin.patch + else ./use-etc-ssl-certs.patch) ] ++ lib.optionals (stdenv.isDarwin) [ ./1.1/macos-yosemite-compat.patch ]; withDocs = true; }; + + openssl_3_0 = common { + version = "3.0.0"; + sha256 = "sha256-We7fy0bCUhTJvTftYHgpe03wHQEiZ/6enu4x9hvHBTY="; + patches = [ + ./3.0/nix-ssl-cert-file.patch + + # openssl will only compile in KTLS if the current kernel supports it. + # This patch disables build-time detection. + ./3.0/openssl-disable-kernel-detection.patch + + (if stdenv.hostPlatform.isDarwin + then ./use-etc-ssl-certs-darwin.patch + else ./use-etc-ssl-certs.patch) + ]; + + withDocs = true; + + extraMeta = with lib; { + license = licenses.asl20; + }; + }; } diff --git a/pkgs/development/libraries/openssl/1.1/use-etc-ssl-certs-darwin.patch b/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch similarity index 100% rename from pkgs/development/libraries/openssl/1.1/use-etc-ssl-certs-darwin.patch rename to pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch diff --git a/pkgs/development/libraries/openssl/1.1/use-etc-ssl-certs.patch b/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch similarity index 100% rename from pkgs/development/libraries/openssl/1.1/use-etc-ssl-certs.patch rename to pkgs/development/libraries/openssl/use-etc-ssl-certs.patch diff --git a/pkgs/development/libraries/spdlog/default.nix b/pkgs/development/libraries/spdlog/default.nix index 0c75bdb9dd84..d21477d806e1 100644 --- a/pkgs/development/libraries/spdlog/default.nix +++ b/pkgs/development/libraries/spdlog/default.nix @@ -36,7 +36,7 @@ let ''; doCheck = true; - preCheck = "export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH"; + preCheck = "export LD_LIBRARY_PATH=$(pwd)\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"; meta = with lib; { description = "Very fast, header only, C++ logging library"; diff --git a/pkgs/development/python-modules/aioguardian/default.nix b/pkgs/development/python-modules/aioguardian/default.nix index 08b1a1402dd9..7b16e2ffc50d 100644 --- a/pkgs/development/python-modules/aioguardian/default.nix +++ b/pkgs/development/python-modules/aioguardian/default.nix @@ -4,6 +4,7 @@ , asyncio-dgram , asynctest , buildPythonPackage +, docutils , fetchFromGitHub , poetry-core , pytest-aiohttp @@ -15,13 +16,13 @@ buildPythonPackage rec { pname = "aioguardian"; - version = "2021.10.0"; + version = "2021.11.0"; src = fetchFromGitHub { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-LKtuBMbpaVnp/eQ5hW1RQiArEBw4Lw+29y/q6Dq/tyI="; + sha256 = "sha256-jQIRACm0d0a5mQqlwxSTgLZfJFvGLWuJTb/MacppmS4="; }; format = "pyproject"; @@ -34,6 +35,7 @@ buildPythonPackage rec { aiohttp async-timeout asyncio-dgram + docutils voluptuous ]; @@ -45,9 +47,18 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTestPaths = [ "examples/" ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'docutils = "<0.18"' 'docutils = "*"' + ''; - pythonImportsCheck = [ "aioguardian" ]; + disabledTestPaths = [ + "examples/" + ]; + + pythonImportsCheck = [ + "aioguardian" + ]; meta = with lib; { description = " Python library to interact with Elexa Guardian devices"; diff --git a/pkgs/development/python-modules/aiopvpc/default.nix b/pkgs/development/python-modules/aiopvpc/default.nix index efbe695673aa..74c85eb11a24 100644 --- a/pkgs/development/python-modules/aiopvpc/default.nix +++ b/pkgs/development/python-modules/aiopvpc/default.nix @@ -15,15 +15,16 @@ buildPythonPackage rec { pname = "aiopvpc"; - version = "2.2.0"; - disabled = pythonOlder "3.8"; + version = "2.2.2"; format = "pyproject"; + disabled = pythonOlder "3.8"; + src = fetchFromGitHub { owner = "azogue"; repo = pname; rev = "v${version}"; - sha256 = "1hk3giwzzlcqnpw9kx3zrr808nmdb7qwac60fki5395qffd2fpqw"; + sha256 = "sha256-wNMHzeKJ1kG0jnoI5fO3d5CBXE0cyoK92BkGunXK3pI="; }; nativeBuildInputs = [ @@ -49,7 +50,9 @@ buildPythonPackage rec { " --cov --cov-report term --cov-report html" "" ''; - pythonImportsCheck = [ "aiopvpc" ]; + pythonImportsCheck = [ + "aiopvpc" + ]; meta = with lib; { description = "Python module to download Spanish electricity hourly prices (PVPC)"; diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix index 06cfafc134f3..889c69d5313b 100644 --- a/pkgs/development/python-modules/astropy/default.nix +++ b/pkgs/development/python-modules/astropy/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "astropy"; - version = "4.2"; + version = "4.3.1"; format = "pyproject"; disabled = !isPy3k; # according to setup.py src = fetchPypi { inherit pname version; - sha256 = "2c194f8a429b8399de64a413a06881ea49f0525cabaa2d78fc132b9e970adc6a"; + sha256 = "sha256-LTlRIjtOt/No/K2Mg0DSc3TF2OO2NaY2J1rNs481zVE="; }; nativeBuildInputs = [ setuptools-scm astropy-helpers astropy-extension-helpers cython jinja2 ]; diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix index d0f90da8fe4f..7273b2c16d1d 100644 --- a/pkgs/development/python-modules/flux-led/default.nix +++ b/pkgs/development/python-modules/flux-led/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "flux_led"; - version = "0.24.12"; + version = "0.24.14"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "flux_led"; rev = version; - sha256 = "sha256-vhmqfHAqbgDUvbn+dR7TuA5SFjF72/nhCL1h+GPy+9c="; + sha256 = "sha256-lHsMQbKKgHjxzaPdnqAY7WAZK3CiWfVr5Z5DWXsvRWI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix index 82acdbb8548e..b62b2c67ef78 100644 --- a/pkgs/development/python-modules/geopandas/default.nix +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -1,32 +1,19 @@ -{ lib, stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, pythonOlder +{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder , pandas, shapely, fiona, pyproj , pytestCheckHook, Rtree }: buildPythonPackage rec { pname = "geopandas"; - version = "0.9.0"; + version = "0.10.2"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "geopandas"; repo = "geopandas"; rev = "v${version}"; - sha256 = "sha256-58X562OkRzZ4UTNMTwXW4U5czoa5tbSMBCcE90DqbaE="; + sha256 = "14azl3gppqn90k8h4hpjilsivj92k6p1jh7mdr6p4grbww1b7sdq"; }; - patches = [ - (fetchpatch { - name = "skip-pandas-master-fillna-test.patch"; - url = "https://github.com/geopandas/geopandas/pull/1878.patch"; - sha256 = "1yw3i4dbhaq7f02n329b9y2cqxbwlz9db81mhgrfc7af3whwysdb"; - }) - (fetchpatch { - name = "fix-proj4strings-test.patch"; - url = "https://github.com/geopandas/geopandas/pull/1958.patch"; - sha256 = "0kzmpq5ry87yvhqr6gnh9p2606b06d3ynzjvw0hpp9fncczpc2yn"; - }) - ]; - propagatedBuildInputs = [ pandas shapely @@ -35,6 +22,10 @@ buildPythonPackage rec { ]; doCheck = !stdenv.isDarwin; + preCheck = '' + # Wants to write test files into $HOME. + export HOME="$TMPDIR" + ''; checkInputs = [ pytestCheckHook Rtree ]; disabledTests = [ # requires network access diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix index 7ac02fa05ac9..10d333301641 100644 --- a/pkgs/development/python-modules/holidays/default.nix +++ b/pkgs/development/python-modules/holidays/default.nix @@ -7,17 +7,18 @@ , korean-lunar-calendar , pytestCheckHook , pythonOlder -, six }: buildPythonPackage rec { pname = "holidays"; version = "0.11.3.1"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "4855afe0ebf428efbcf848477828b889f8515be7f4f15ae26682919369d92774"; + sha256 = "sha256-SFWv4Ov0KO+8+EhHeCi4ifhRW+f08VriZoKRk2nZJ3Q="; }; propagatedBuildInputs = [ @@ -25,18 +26,19 @@ buildPythonPackage rec { python-dateutil hijri-converter korean-lunar-calendar - six ]; checkInputs = [ pytestCheckHook ]; - pythonImportsCheck = [ "holidays" ]; + pythonImportsCheck = [ + "holidays" + ]; meta = with lib; { - homepage = "https://github.com/dr-prodigy/python-holidays"; description = "Generate and work with holidays in Python"; + homepage = "https://github.com/dr-prodigy/python-holidays"; license = licenses.mit; maintainers = with maintainers; [ jluttine ]; }; diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix index f11abb0c13be..eb335d886e2c 100644 --- a/pkgs/development/python-modules/identify/default.nix +++ b/pkgs/development/python-modules/identify/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "identify"; - version = "2.3.1"; + version = "2.3.3"; src = fetchFromGitHub { owner = "pre-commit"; repo = pname; rev = "v${version}"; - sha256 = "sha256-6sErta+YnaXe7lHR3kR7UAoWuaw8He7e3gCML9vWYj8="; + sha256 = "sha256-mGTSl/aOPQpqFq5dqVDia/7NofO9Tz0N8nYXU2Pyi0c="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/mathlibtools/default.nix b/pkgs/development/python-modules/mathlibtools/default.nix index a788a9c60b7d..517d74563aea 100644 --- a/pkgs/development/python-modules/mathlibtools/default.nix +++ b/pkgs/development/python-modules/mathlibtools/default.nix @@ -1,5 +1,5 @@ { lib, buildPythonPackage, fetchPypi, PyGithub, GitPython, toml, click, tqdm, - paramiko, networkx, pydot, pyyaml }: + networkx, pydot, pyyaml, atomicwrites }: buildPythonPackage rec { pname = "mathlibtools"; @@ -11,7 +11,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - PyGithub GitPython toml click tqdm paramiko networkx pydot pyyaml + PyGithub GitPython toml click tqdm networkx pydot pyyaml atomicwrites ]; # requires internet access diff --git a/pkgs/development/python-modules/millheater/default.nix b/pkgs/development/python-modules/millheater/default.nix index f69e7e827cff..0ff22033f644 100644 --- a/pkgs/development/python-modules/millheater/default.nix +++ b/pkgs/development/python-modules/millheater/default.nix @@ -1,4 +1,3 @@ - { lib , aiohttp , async-timeout @@ -10,14 +9,14 @@ buildPythonPackage rec { pname = "millheater"; - version = "0.8.0"; + version = "0.8.1"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "Danielhiversen"; repo = "pymill"; rev = version; - sha256 = "sha256-PL9qP6SKE8gsBUdfrPf9Fs+vU/lkpOjmkvq3cWw3Uak="; + sha256 = "0269lhb6y4c13n6krsl2b66ldvzkd26jlax7bbnkvag2iv7g6hzj"; }; propagatedBuildInputs = [ @@ -29,7 +28,9 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "mill" ]; + pythonImportsCheck = [ + "mill" + ]; meta = with lib; { description = "Python library for Mill heater devices"; diff --git a/pkgs/development/python-modules/openbabel-bindings/default.nix b/pkgs/development/python-modules/openbabel-bindings/default.nix index 6488b8fad2fb..fad677987bf4 100644 --- a/pkgs/development/python-modules/openbabel-bindings/default.nix +++ b/pkgs/development/python-modules/openbabel-bindings/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { # some functionality to work (inparticular, pybel). # see https://openbabel.org/docs/dev/Installation/install.html BABEL_LIBDIR = "${openbabel}/lib/openbabel/3.1.0"; - LD_LIBRARY_PATH = "$LD_LIBRARY_PATH:${openbabel}/lib"; + LD_LIBRARY_PATH = "${openbabel}/lib"; doCheck = false; pythonImportsCheck = [ "openbabel" ]; diff --git a/pkgs/development/python-modules/parfive/default.nix b/pkgs/development/python-modules/parfive/default.nix index e551dbb3e765..822ae2113b2a 100644 --- a/pkgs/development/python-modules/parfive/default.nix +++ b/pkgs/development/python-modules/parfive/default.nix @@ -1,19 +1,24 @@ { lib +, aiofiles +, aioftp +, aiohttp , buildPythonPackage , fetchPypi -, tqdm -, aiohttp -, pytest -, setuptools-scm +, pytest-asyncio , pytest-localserver , pytest-socket -, pytest-asyncio -, aioftp +, pytestCheckHook +, pythonOlder +, setuptools-scm +, tqdm }: buildPythonPackage rec { pname = "parfive"; version = "1.5.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -25,27 +30,34 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ - tqdm - aiohttp aioftp + aiohttp + tqdm ]; checkInputs = [ - pytest + aiofiles + pytest-asyncio pytest-localserver pytest-socket - pytest-asyncio + pytestCheckHook ]; - checkPhase = '' - # these two tests require network connection - pytest parfive -k "not test_ftp and not test_ftp_http" - ''; + disabledTests = [ + # Requires network access + "test_ftp" + "test_ftp_pasv_command" + "test_ftp_http" + ]; + + pythonImportsCheck = [ + "parfive" + ]; meta = with lib; { description = "A HTTP and FTP parallel file downloader"; homepage = "https://parfive.readthedocs.io/"; license = licenses.mit; - maintainers = [ maintainers.costrouc ]; + maintainers = with maintainers; [ costrouc ]; }; } diff --git a/pkgs/development/python-modules/pyerfa/default.nix b/pkgs/development/python-modules/pyerfa/default.nix index 26a61ddca540..c67ce9a98064 100644 --- a/pkgs/development/python-modules/pyerfa/default.nix +++ b/pkgs/development/python-modules/pyerfa/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , fetchPypi , isPy3k +, setuptools-scm , liberfa , packaging , numpy @@ -10,17 +11,25 @@ buildPythonPackage rec { pname = "pyerfa"; format = "pyproject"; - version = "1.7.1.1"; + version = "2.0.0"; doCheck = false; src = fetchPypi { inherit pname version; - sha256 = "09i2qcsvxd3q04a5yaf6fwzg79paaslpksinan9d8smj7viql15i"; + sha256 = "sha256-+QQjHhpXD5REDgYUB5lZCJUQf5QoR7UqdTzoHJYJFi0="; }; - nativeBuildInputs = [ packaging ]; - propagatedBuildInputs = [ liberfa numpy ]; + nativeBuildInputs = [ + packaging + setuptools-scm + ]; + + propagatedBuildInputs = [ + liberfa + numpy + ]; + preBuild = '' export PYERFA_USE_SYSTEM_LIBERFA=1 ''; diff --git a/pkgs/development/python-modules/pymazda/default.nix b/pkgs/development/python-modules/pymazda/default.nix index 179202da8dff..f6fdd60a3872 100644 --- a/pkgs/development/python-modules/pymazda/default.nix +++ b/pkgs/development/python-modules/pymazda/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "pymazda"; - version = "0.2.2"; + version = "0.3.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-nngYdoVY3rXfszoCpUWFtJ0U0Rjczxix/wJDOZD+2O4="; + sha256 = "sha256-D0odz4GkKvjuafhEGlHtRnO8lk4rV9y3imaHl7jXqJw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-astropy/default.nix b/pkgs/development/python-modules/pytest-astropy/default.nix index 02b521fff4de..9a3f46d476c2 100644 --- a/pkgs/development/python-modules/pytest-astropy/default.nix +++ b/pkgs/development/python-modules/pytest-astropy/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "pytest-astropy"; version = "0.9.0"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -43,11 +43,8 @@ buildPythonPackage rec { pytest-remotedata ]; - # pytest-astropy is a meta package and has no tests - #doCheck = false; - checkPhase = '' - # 'doCheck = false;' still invokes the pytestCheckPhase which makes the build fail - ''; + # pytest-astropy is a meta package that only propagates requirements + doCheck = false; meta = with lib; { description = "Meta-package containing dependencies for testing"; diff --git a/pkgs/development/python-modules/pytest-sanic/default.nix b/pkgs/development/python-modules/pytest-sanic/default.nix index edcc430c1d8c..2bce8eaecb71 100644 --- a/pkgs/development/python-modules/pytest-sanic/default.nix +++ b/pkgs/development/python-modules/pytest-sanic/default.nix @@ -47,5 +47,6 @@ buildPythonPackage rec { homepage = "https://github.com/yunstanford/pytest-sanic/"; license = licenses.asl20; maintainers = with maintainers; [ costrouc ]; + broken = true; # 2021-11-04 }; } diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix index 4d0fdb745c89..e1f09a28c23c 100644 --- a/pkgs/development/python-modules/qcs-api-client/default.nix +++ b/pkgs/development/python-modules/qcs-api-client/default.nix @@ -18,13 +18,14 @@ buildPythonPackage rec { pname = "qcs-api-client"; - version = "0.14.0"; + version = "0.15.0"; + format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-CoiLMpaPRTISc0EO0jIMw/daTW8MyXQqaeGq0zaykmc="; + sha256 = "sha256-NzfHemIYQq2quYs3RNKF7NHfR6Vi8Sx4eRTVT2pTEYk="; }; propagatedBuildInputs = [ @@ -55,7 +56,9 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "qcs_api_client" ]; + pythonImportsCheck = [ + "qcs_api_client" + ]; meta = with lib; { description = "Python library for accessing the Rigetti QCS API"; diff --git a/pkgs/development/python-modules/radio_beam/default.nix b/pkgs/development/python-modules/radio_beam/default.nix index 58137e3adbdb..1fcf778a58cb 100644 --- a/pkgs/development/python-modules/radio_beam/default.nix +++ b/pkgs/development/python-modules/radio_beam/default.nix @@ -1,6 +1,7 @@ { lib , fetchPypi , buildPythonPackage +, setuptools-scm , astropy , pytestCheckHook , pytest-doctestplus @@ -17,6 +18,10 @@ buildPythonPackage rec { sha256 = "e34902d91713ccab9f450b9d3e82317e292cf46a30bd42f9ad3c9a0519fcddcd"; }; + nativeBuildInputs = [ + setuptools-scm + ]; + propagatedBuildInputs = [ astropy ]; checkInputs = [ pytestCheckHook pytest-doctestplus scipy ]; diff --git a/pkgs/development/python-modules/sanic-routing/default.nix b/pkgs/development/python-modules/sanic-routing/default.nix index 76eb72dc7086..b0ecc5ed122c 100644 --- a/pkgs/development/python-modules/sanic-routing/default.nix +++ b/pkgs/development/python-modules/sanic-routing/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "sanic-routing"; - version = "0.6.2"; + version = "0.7.2"; src = fetchFromGitHub { owner = "sanic-org"; repo = "sanic-routing"; rev = "v${version}"; - hash = "sha256-ZMl8PB9E401pUfUJ4tW7nBx1TgPQQtx9erVni3zP+lo="; + hash = "sha256-MN6A8CtDVxj34eehr3UIwCT09VOfcruVX+/iImr1MgY="; }; checkInputs = [ pytestCheckHook pytest-asyncio ]; diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix index cc7be4c93dc6..ae15567a29cd 100644 --- a/pkgs/development/python-modules/sanic/default.nix +++ b/pkgs/development/python-modules/sanic/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , aiofiles , beautifulsoup4 , buildPythonPackage @@ -10,7 +11,6 @@ , multidict , pytest-asyncio , pytest-benchmark -, pytest-sanic , pytest-sugar , pytestCheckHook , sanic-routing @@ -23,28 +23,19 @@ buildPythonPackage rec { pname = "sanic"; - version = "21.3.4"; + version = "21.9.1"; src = fetchFromGitHub { owner = "sanic-org"; repo = pname; rev = "v${version}"; - sha256 = "0vldlic8gqcf56fqb31igycqf11syd9csk66v34w6dim54lcny2b"; + sha256 = "sha256-TRrJr/L8AXLAARPjhBi2FxNh+jvxxdeMN24cT1njmqY="; }; - patches = [ - # Allow later websockets release, https://github.com/sanic-org/sanic/pull/2154 - (fetchpatch { - name = "later-websockets.patch"; - url = "https://github.com/sanic-org/sanic/commit/5fb820b5c1ce395e86a1ee11996790c65ec7bc65.patch"; - sha256 = "1glvq23pf1sxqjnrz0w8rr7nsnyz82k1479b3rm8szfkjg9q5d1w"; - }) - ]; - postPatch = '' # Loosen dependency requirements. substituteInPlace setup.py \ - --replace '"pytest==5.2.1"' '"pytest"' \ + --replace '"pytest==6.2.5"' '"pytest"' \ --replace '"gunicorn==20.0.4"' '"gunicorn"' \ --replace '"pytest-sanic",' "" \ # Patch a request headers test to allow brotli encoding @@ -68,7 +59,6 @@ buildPythonPackage rec { gunicorn pytest-asyncio pytest-benchmark - pytest-sanic pytest-sugar pytestCheckHook sanic-testing @@ -77,6 +67,11 @@ buildPythonPackage rec { inherit doCheck; + preCheck = '' + # Some tests depends on executables on PATH + PATH="$out/bin:${gunicorn}/bin:$PATH" + ''; + disabledTests = [ # Tests are flaky "test_keep_alive_client_timeout" @@ -84,8 +79,18 @@ buildPythonPackage rec { "test_check_timeouts_response_timeout" "test_reloader_live" "test_zero_downtime" + # Not working from 21.9.1 + "test_create_server_main" + "test_create_server_main_convenience" + "test_debug" + "test_auto_reload" + ] ++ lib.optionals stdenv.isDarwin [ + # https://github.com/sanic-org/sanic/issues/2298 + "test_no_exceptions_when_cancel_pending_request" ]; + # avoid usage of nixpkgs-review in darwin since tests will compete usage + # for the same local port __darwinAllowLocalNetworking = true; pythonImportsCheck = [ "sanic" ]; diff --git a/pkgs/development/python-modules/subprocess-tee/default.nix b/pkgs/development/python-modules/subprocess-tee/default.nix index df15dcdfb4f1..aae41b915beb 100644 --- a/pkgs/development/python-modules/subprocess-tee/default.nix +++ b/pkgs/development/python-modules/subprocess-tee/default.nix @@ -24,6 +24,11 @@ buildPythonPackage rec { enrich ]; + disabledTests = [ + # cyclic dependency on `molecule` (see https://github.com/pycontribs/subprocess-tee/issues/50) + "test_molecule" + ]; + pythonImportsCheck = [ "subprocess_tee" ]; diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix index 943bbd22c7fb..8101986f854f 100644 --- a/pkgs/development/python-modules/sunpy/default.nix +++ b/pkgs/development/python-modules/sunpy/default.nix @@ -31,12 +31,12 @@ buildPythonPackage rec { pname = "sunpy"; - version = "3.0.2"; + version = "3.1.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "5dcd2c5cbf2f419da00abde00798d067b515c2f082ce63f4fbe1de47682c1c41"; + sha256 = "sha256-0DF+/lQpsQKO5omBKJAe3gBjQ6QQb50IdRSacIRL/JA="; }; nativeBuildInputs = [ @@ -86,6 +86,20 @@ buildPythonPackage rec { disabledTestPaths = [ "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml" "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml" + # requires mpl-animators package + "sunpy/map/tests/test_compositemap.py" + "sunpy/map/tests/test_mapbase.py" + "sunpy/map/tests/test_mapsequence.py" + "sunpy/map/tests/test_plotting.py" + "sunpy/map/tests/test_reproject_to.py" + "sunpy/net/tests/test_helioviewer.py" + "sunpy/timeseries/tests/test_timeseriesbase.py" + "sunpy/visualization/animator/tests/test_basefuncanimator.py" + "sunpy/visualization/animator/tests/test_mapsequenceanimator.py" + "sunpy/visualization/animator/tests/test_wcs.py" + "sunpy/visualization/colormaps/tests/test_cm.py" + # requires cdflib package + "sunpy/timeseries/tests/test_timeseries_factory.py" ]; pytestFlagsArray = [ diff --git a/pkgs/development/python-modules/tern/default.nix b/pkgs/development/python-modules/tern/default.nix index 64e1951bf446..2517c49ce2d8 100644 --- a/pkgs/development/python-modules/tern/default.nix +++ b/pkgs/development/python-modules/tern/default.nix @@ -12,6 +12,7 @@ , GitPython , prettytable , idna +, packageurl-python }: buildPythonPackage rec { @@ -42,6 +43,7 @@ buildPythonPackage rec { GitPython prettytable idna + packageurl-python ]; # No tests diff --git a/pkgs/development/python-modules/threadpoolctl/default.nix b/pkgs/development/python-modules/threadpoolctl/default.nix index 7ba82aaec296..4a13af31216a 100644 --- a/pkgs/development/python-modules/threadpoolctl/default.nix +++ b/pkgs/development/python-modules/threadpoolctl/default.nix @@ -23,6 +23,11 @@ buildPythonPackage rec { }; checkInputs = [ pytestCheckHook numpy scipy ]; + disabledTests = [ + # accepts a limited set of cpu models based on project + # developers' hardware + "test_architecture" + ]; meta = with lib; { homepage = "https://github.com/joblib/threadpoolctl"; diff --git a/pkgs/development/python-modules/vcver/default.nix b/pkgs/development/python-modules/vcver/default.nix index a328cb104bc1..7277c61264f3 100644 --- a/pkgs/development/python-modules/vcver/default.nix +++ b/pkgs/development/python-modules/vcver/default.nix @@ -1,10 +1,13 @@ -{ lib, buildPythonPackage, fetchFromGitHub +{ lib +, buildPythonPackage +, fetchFromGitHub , packaging -, fetchurl, python }: +, python +}: buildPythonPackage rec { pname = "vcver"; - version = "0.2.10"; + version = "0.2.12"; src = fetchFromGitHub { owner = "toumorokoshi"; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 264969c8c118..12be37fd251f 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -309,6 +309,7 @@ let gert = [ pkgs.libgit2 ]; haven = with pkgs; [ libiconv zlib.dev ]; h5vc = [ pkgs.zlib.dev ]; + HDF5Array = [ pkgs.zlib.dev ]; HiCseg = [ pkgs.gsl ]; imager = [ pkgs.x11 ]; iBMQ = [ pkgs.gsl ]; diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix index 75541dc112a8..780ae828e28c 100644 --- a/pkgs/development/tools/analysis/sparse/default.nix +++ b/pkgs/development/tools/analysis/sparse/default.nix @@ -4,11 +4,11 @@ let GCC_BASE = "${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.uname.processor}-unknown-linux-gnu/${stdenv.cc.cc.version}"; in stdenv.mkDerivation rec { pname = "sparse"; - version = "0.6.3"; + version = "0.6.4"; src = fetchurl { url = "mirror://kernel/software/devel/sparse/dist/${pname}-${version}.tar.xz"; - sha256 = "16d8c4dhipjzjf8z4z7pix1pdpqydz0v4r7i345f5s09hjnxpxnl"; + sha256 = "sha256-arKLSZG8au29c1UCkTYKpqs99B9ZIGqb3paQIIpuOHw="; }; preConfigure = '' diff --git a/pkgs/development/tools/misc/netcoredbg/default.nix b/pkgs/development/tools/misc/netcoredbg/default.nix new file mode 100644 index 000000000000..1907eb8b3637 --- /dev/null +++ b/pkgs/development/tools/misc/netcoredbg/default.nix @@ -0,0 +1,78 @@ +{ lib, clangStdenv, stdenvNoCC, cmake, fetchFromGitHub, dotnetCorePackages, buildDotnetModule }: +let + pname = "netcoredbg"; + version = "1.2.0-825"; + + # according to CMakeLists.txt, this should be 3.1 even when building for .NET 5 + coreclr-version = "3.1.19"; + coreclr-src = fetchFromGitHub { + owner = "dotnet"; + repo = "coreclr"; + rev = "v${coreclr-version}"; + sha256 = "o1KafmXqNjX9axr6sSxPKrfUX0e+b/4ANiVQt4T2ybw="; + }; + + dotnet-sdk = dotnetCorePackages.sdk_5_0; + + src = fetchFromGitHub { + owner = "Samsung"; + repo = pname; + rev = version; + sha256 = "JQhDI1+bVbOIFNkXixZnFB/5+dzqCbInR0zJvykcFCg="; + }; + + unmanaged = clangStdenv.mkDerivation rec { + inherit src pname version; + + nativeBuildInputs = [ cmake ]; + + # Building the "unmanaged part" still involves compiling C# code. + preBuild = '' + export HOME=$(mktemp -d) + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + ''; + + hardeningDisable = [ "strictoverflow" ]; + + preConfigure = '' + dotnetVersion="$(${dotnet-sdk}/bin/dotnet --list-runtimes | grep -Po '^Microsoft.NETCore.App \K.*?(?= )')" + cmakeFlagsArray+=( + "-DDBGSHIM_RUNTIME_DIR=${dotnet-sdk}/shared/Microsoft.NETCore.App/$dotnetVersion" + ) + ''; + + cmakeFlags = [ + "-DCORECLR_DIR=${coreclr-src}" + "-DDOTNET_DIR=${dotnet-sdk}" + "-DBUILD_MANAGED=0" + ]; + }; + + managed = buildDotnetModule { + inherit pname version src dotnet-sdk; + + projectFile = "src/managed/ManagedPart.csproj"; + nugetDeps = ./deps.nix; + + executables = [ ]; + }; +in +stdenvNoCC.mkDerivation { + inherit pname version; + + buildCommand = '' + mkdir -p $out/share/netcoredbg $out/bin + cp ${unmanaged}/* $out/share/netcoredbg + cp ${managed}/lib/netcoredbg/* $out/share/netcoredbg + ln -s $out/share/netcoredbg/netcoredbg $out/bin/netcoredbg + ''; + + meta = with lib; { + description = "Managed code debugger with MI interface for CoreCLR"; + homepage = "https://github.com/Samsung/netcoredbg"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = [ maintainers.leo60228 ]; + }; +} diff --git a/pkgs/development/tools/misc/netcoredbg/deps.nix b/pkgs/development/tools/misc/netcoredbg/deps.nix new file mode 100644 index 000000000000..cbcef4c1720b --- /dev/null +++ b/pkgs/development/tools/misc/netcoredbg/deps.nix @@ -0,0 +1,84 @@ +{ fetchNuGet }: [ + (fetchNuGet { name = "Microsoft.CodeAnalysis.Analyzers"; version = "1.1.0"; sha256 = "08r667hj2259wbim1p3al5qxkshydykmb7nd9ygbjlg4mmydkapc"; }) + (fetchNuGet { name = "Microsoft.CodeAnalysis.Common"; version = "2.3.0"; sha256 = "1p29v4499qpyh7k7fv1li2y3c688zg95ic8gq9if1nqmjciz5w7p"; }) + (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp"; version = "2.3.0"; sha256 = "1g893rqc8hmd59hdigq0fwm3w261i7cm1h2wciqp7406f0gz67x5"; }) + (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "2.3.0"; sha256 = "121dhnfjd5jzm410dk79s8xk5jvd09xa0w5q3lbpqc7bs4wxmq4p"; }) + (fetchNuGet { name = "Microsoft.CodeAnalysis.Scripting.Common"; version = "2.3.0"; sha256 = "11f11kvgrdgs86ykz4104jx1iw78v6af48hpdrhmr7y7h5334ziq"; }) + (fetchNuGet { name = "Microsoft.CSharp"; version = "4.4.0"; sha256 = "1niyzqqfyhvh4zpxn8bcyyldynqlw0rfr1apwry4b3yrdnjh1hhh"; }) + (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) + (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) + (fetchNuGet { name = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) + (fetchNuGet { name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) + (fetchNuGet { name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) + (fetchNuGet { name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) + (fetchNuGet { name = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) + (fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) + (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) + (fetchNuGet { name = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) + (fetchNuGet { name = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) + (fetchNuGet { name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) + (fetchNuGet { name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) + (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) + (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) + (fetchNuGet { name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) + (fetchNuGet { name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) + (fetchNuGet { name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) + (fetchNuGet { name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) + (fetchNuGet { name = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) + (fetchNuGet { name = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) + (fetchNuGet { name = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) + (fetchNuGet { name = "System.Collections.Immutable"; version = "1.3.1"; sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva"; }) + (fetchNuGet { name = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) + (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { name = "System.Diagnostics.FileVersionInfo"; version = "4.3.0"; sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7"; }) + (fetchNuGet { name = "System.Diagnostics.StackTrace"; version = "4.3.0"; sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd"; }) + (fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) + (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) + (fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { name = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) + (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) + (fetchNuGet { name = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { name = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) + (fetchNuGet { name = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) + (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) + (fetchNuGet { name = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { name = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) + (fetchNuGet { name = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) + (fetchNuGet { name = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) + (fetchNuGet { name = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) + (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { name = "System.Reflection.Metadata"; version = "1.4.2"; sha256 = "08b7b43vczlliv8k7q43jinjfrxwpljsglw7sxmc6sd7d54pd1vi"; }) + (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) + (fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) + (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { name = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) + (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) + (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) + (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) + (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) + (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) + (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) + (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) + (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) + (fetchNuGet { name = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "4.3.0"; sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv"; }) + (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) + (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) + (fetchNuGet { name = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) + (fetchNuGet { name = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) + (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; }) + (fetchNuGet { name = "System.Threading.Tasks.Parallel"; version = "4.3.0"; sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh"; }) + (fetchNuGet { name = "System.Threading.Thread"; version = "4.3.0"; sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; }) + (fetchNuGet { name = "System.ValueTuple"; version = "4.3.0"; sha256 = "1227k7fxbxapq7dms4lvwwjdf3pr1jcsmhy2nzzhj6g6hs530hxn"; }) + (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) + (fetchNuGet { name = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) + (fetchNuGet { name = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; }) + (fetchNuGet { name = "System.Xml.XPath"; version = "4.3.0"; sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; }) + (fetchNuGet { name = "System.Xml.XPath.XDocument"; version = "4.3.0"; sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn"; }) +] diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix index eda2bb4960c6..5554ce163502 100644 --- a/pkgs/development/tools/ocaml/merlin/4.x.nix +++ b/pkgs/development/tools/ocaml/merlin/4.x.nix @@ -47,6 +47,9 @@ buildDunePackage { dot_merlin_reader = "${dot-merlin-reader}/bin/dot-merlin-reader"; dune = "${dune_2}/bin/dune"; }) + # This fixes the test-suite on macOS + # See https://github.com/ocaml/merlin/pull/1399 + ./test.patch ]; useDune2 = true; diff --git a/pkgs/development/tools/ocaml/merlin/test.patch b/pkgs/development/tools/ocaml/merlin/test.patch new file mode 100644 index 000000000000..0101e825b967 --- /dev/null +++ b/pkgs/development/tools/ocaml/merlin/test.patch @@ -0,0 +1,19 @@ +commit 282eed37f39ff216add8d53766fd59f3737eb87f +Author: Vincent Laporte <Vincent.Laporte@gmail.com> +Date: Thu Nov 4 06:24:07 2021 +0100 + + Ignore dune stderr in tests + +diff --git a/tests/test-dirs/document/src-documentation.t/run.t b/tests/test-dirs/document/src-documentation.t/run.t +index 2c9e1419..4f4c4327 100644 +--- a/tests/test-dirs/document/src-documentation.t/run.t ++++ b/tests/test-dirs/document/src-documentation.t/run.t +@@ -42,7 +42,7 @@ documentation for the non-last defined value (in the same file) is show + > jq '.value' + " List reversal. " + +- $ dune build --root=. ./doc.exe ++ $ dune build --root=. ./doc.exe 2> /dev/null + $ cat >.merlin <<EOF + > B _build/default/.doc.eobjs/byte + > S . diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index 145ee7580024..33d440d6d8a4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -62,7 +62,7 @@ let source = fetchGrammar grammar; location = if grammar ? location then grammar.location else null; }; - grammars' = (import ./grammars); + grammars' = (import ./grammars { inherit lib; }); grammars = grammars' // { tree-sitter-ocaml = grammars'.tree-sitter-ocaml // { location = "ocaml"; }; } // { tree-sitter-ocaml-interface = grammars'.tree-sitter-ocaml // { location = "interface"; }; } // diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix index ab1a5324c98e..e464a08c849c 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix @@ -1700,7 +1700,7 @@ self: super: if (!enableCuda) then '' export USE_CUDA=0 '' else '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${cudatoolkit}/targets/x86_64-linux/lib" ''; preFixup = lib.optionalString (!enableCuda) '' # For some reason pytorch retains a reference to libcuda even if it @@ -1739,9 +1739,9 @@ self: super: ]; preConfigure = if (enableCuda) then '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}" '' else '' - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${self.torch}/${self.python.sitePackages}/torch/lib" ''; })) { }; diff --git a/pkgs/development/tools/profiling/EZTrace/default.nix b/pkgs/development/tools/profiling/EZTrace/default.nix index e057fc8ebe18..41b343cdf1c5 100644 --- a/pkgs/development/tools/profiling/EZTrace/default.nix +++ b/pkgs/development/tools/profiling/EZTrace/default.nix @@ -1,31 +1,33 @@ -{ lib, stdenv -, fetchurl, autoconf, gfortran -, libelf, libiberty, zlib, libbfd, libopcodes -, buildPackages +{ lib, + stdenv, + fetchFromGitLab, + gfortran, + libelf, + libiberty, + zlib, + libbfd, + libopcodes, + buildPackages, + autoreconfHook }: stdenv.mkDerivation rec { - version = "1.1-7"; pname = "EZTrace"; + version = "1.1-11"; - src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/37155/eztrace-${version}.tar.gz"; - sha256 = "0cr2d4fdv4ljvag55dsz3rpha1jan2gc3jhr06ycyk43450pl58p"; + src = fetchFromGitLab { + owner = "eztrace"; + repo = "eztrace"; + rev = "eztrace-${version}"; + sha256 = "sha256-A6HMr4ib5Ka1lTbbTQOdq3kIdCoN/CwAKRdXdv9wpfU="; }; - # Goes past the rpl_malloc linking failure; fixes silent file breakage - preConfigure = '' - export ac_cv_func_malloc_0_nonnull=yes - substituteInPlace ./configure \ - --replace "/usr/bin/file" "${buildPackages.file}/bin/file" - ''; - - nativeBuildInputs = [ autoconf gfortran ]; + nativeBuildInputs = [ gfortran autoreconfHook ]; buildInputs = [ libelf libiberty zlib libbfd libopcodes ]; - meta = { + meta = with lib; { description = "Tool that aims at generating automatically execution trace from HPC programs"; - license = lib.licenses.cecill-b; - maintainers = with lib.maintainers; [ ]; + license = licenses.cecill-b; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/tools/rust/cargo-deadlinks/default.nix b/pkgs/development/tools/rust/cargo-deadlinks/default.nix index a7c1b885a6e4..446f3cec37d9 100644 --- a/pkgs/development/tools/rust/cargo-deadlinks/default.nix +++ b/pkgs/development/tools/rust/cargo-deadlinks/default.nix @@ -16,7 +16,9 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # uses internet "--skip non_existent_http_link --skip working_http_check" - ]; + ] ++ lib.optional (stdenv.hostPlatform.system != "x86_64-linux") + # assumes the target is x86_64-unknown-linux-gnu + "--skip simple_project::it_checks_okay_project_correctly"; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix index ba151a17549d..02bc561b1573 100644 --- a/pkgs/development/tools/rust/cargo-deny/default.nix +++ b/pkgs/development/tools/rust/cargo-deny/default.nix @@ -1,8 +1,11 @@ -{ stdenv -, lib +{ lib , rustPlatform , fetchFromGitHub -, perl, pkg-config, openssl, Security, libiconv, curl +, pkg-config +, openssl +, stdenv +, curl +, Security }: rustPlatform.buildRustPackage rec { @@ -20,17 +23,20 @@ rustPlatform.buildRustPackage rec { doCheck = false; - nativeBuildInputs = [ perl pkg-config ]; + nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.isDarwin [ Security libiconv curl ]; + buildInputs = [ openssl ] + ++ lib.optionals stdenv.isDarwin [ curl Security ]; + + cargoBuildFlags = [ "--no-default-features" ]; + + cargoTestFlags = cargoBuildFlags; meta = with lib; { description = "Cargo plugin to generate list of all licenses for a crate"; homepage = "https://github.com/EmbarkStudios/cargo-deny"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ matthiasbeyer ]; + changelog = "https://github.com/EmbarkStudios/cargo-deny/blob/${version}/CHANGELOG.md"; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ figsoda matthiasbeyer ]; }; } - diff --git a/pkgs/development/tools/rust/cargo-modules/default.nix b/pkgs/development/tools/rust/cargo-modules/default.nix index f894915c24ec..5ef0168383c5 100644 --- a/pkgs/development/tools/rust/cargo-modules/default.nix +++ b/pkgs/development/tools/rust/cargo-modules/default.nix @@ -1,22 +1,27 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ lib, rustPlatform, fetchFromGitHub, stdenv, CoreFoundation, CoreServices }: rustPlatform.buildRustPackage rec { pname = "cargo-modules"; - version = "0.5.0"; + version = "0.5.6"; src = fetchFromGitHub { owner = "regexident"; repo = pname; rev = version; - sha256 = "0y6ag8nar85l2fh2ca41fglkzc74cv1p5szxrhk1jdqnd2qzhvjp"; + sha256 = "sha256-bLljwxNrCmg1ZWfSninIxJIFIn2oHY8dmbHYPdwtD+M="; }; - cargoSha256 = "0m5r36p57w4vw2g3hg12s38ay328swjb0qfl381xwb2xqx10g8kx"; + cargoSha256 = "sha256-heyVeQwEIOA9qtyXnHY8lPo06YgIUJaWCtaht9dWLoo="; + + buildInputs = lib.optionals stdenv.isDarwin [ + CoreFoundation + CoreServices + ]; meta = with lib; { description = "A cargo plugin for showing a tree-like overview of a crate's modules"; homepage = "https://github.com/regexident/cargo-modules"; license = with licenses; [ mpl20 ]; - maintainers = with maintainers; [ rvarago ]; + maintainers = with maintainers; [ figsoda rvarago ]; }; } diff --git a/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/pkgs/development/tools/rust/cargo-spellcheck/default.nix index 92863d76de9a..43571a26ab6f 100644 --- a/pkgs/development/tools/rust/cargo-spellcheck/default.nix +++ b/pkgs/development/tools/rust/cargo-spellcheck/default.nix @@ -2,6 +2,8 @@ , rustPlatform , fetchFromGitHub , libclang +, stdenv +, Security }: rustPlatform.buildRustPackage rec { @@ -17,6 +19,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1p4iirblk6idvfhn8954v8lbxlzj0gbd8fv4wq03hfrdqisjqcsn"; + buildInputs = lib.optional stdenv.isDarwin Security; + LIBCLANG_PATH = "${libclang.lib}/lib"; checkFlags = [ diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix index e0e22f0f504f..f6717b36b203 100644 --- a/pkgs/development/tools/rust/racer/default.nix +++ b/pkgs/development/tools/rust/racer/default.nix @@ -1,17 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, substituteAll, Security }: +{ lib, rustPlatform, fetchCrate, makeWrapper, stdenv, Security }: rustPlatform.buildRustPackage rec { pname = "racer"; - version = "2.1.46"; + version = "2.1.48"; - src = fetchFromGitHub { - owner = "racer-rust"; - repo = "racer"; - rev = "v${version}"; - sha256 = "sha256-7h1w5Yyt5VN6+pYuTTbdM1Nrd8aDEhPLusxuIsdS+mQ="; + src = fetchCrate { + inherit pname version; + sha256 = "sha256-lat5s9+AMFI3VXiWqjLESZrtq3IwOZhlt+5BhYoonfA="; }; - cargoSha256 = "sha256-fllhB+so6H36b+joW0l+NBtz3PefOKdj6C8qKQPuJpk="; + cargoSha256 = "sha256-jGsvCmrPGVzWdx7V3J4bBK+SF2o+icORmVKuwqYxdh4="; nativeBuildInputs = [ makeWrapper ]; buildInputs = lib.optional stdenv.isDarwin Security; @@ -44,5 +42,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/racer-rust/racer"; license = licenses.mit; maintainers = with maintainers; [ jagajaga ]; + # error[E0199]: implementing the trait `Step` is not unsafe + broken = true; }; } diff --git a/pkgs/development/tools/selene/default.nix b/pkgs/development/tools/selene/default.nix index 810eee56cd19..2f6e731ea332 100644 --- a/pkgs/development/tools/selene/default.nix +++ b/pkgs/development/tools/selene/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "selene"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "kampfkarren"; repo = pname; rev = version; - sha256 = "0c228aakwf679wyxir0jwry3khv7phlaf77w675gn1wr4fxdg5gr"; + sha256 = "sha256-tA1exZ97N2tAagAljt+MOSGh6objOiqbZXUaBZ62Sls="; }; - cargoSha256 = "sha256-5GODuqjVo3b1SzRgXVBIKec2tSS335EAUAmRlcpbClE="; + cargoSha256 = "sha256-4vCKiTWwnibNK6/S1GOYRurgm2Aq1e9o4rAmp0hqGeA="; nativeBuildInputs = lib.optional robloxSupport pkg-config; diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix index 42afb791ddf1..556b9c4a2587 100644 --- a/pkgs/development/tools/skopeo/default.nix +++ b/pkgs/development/tools/skopeo/default.nix @@ -14,13 +14,13 @@ buildGoModule rec { pname = "skopeo"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { rev = "v${version}"; owner = "containers"; repo = "skopeo"; - sha256 = "sha256-75zrOYiwlpHbEgmpJ9THYKbF4sL4Jp009/+Fw12Wvys="; + sha256 = "sha256-GaOfONUAN+bNSyodDbZyahMheU5fnjuAp4/94jy+9Hg="; }; outputs = [ "out" "man" ]; diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix index 1290da858746..80071b1d0606 100644 --- a/pkgs/development/tools/sumneko-lua-language-server/default.nix +++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "sumneko-lua-language-server"; - version = "2.4.5"; + version = "2.4.7"; src = fetchFromGitHub { owner = "sumneko"; repo = "lua-language-server"; rev = version; - sha256 = "sha256-7eTYHZDJLmYTwe0K+RJMRl4tRz9o0DeniHD5+v9f1Jw="; + sha256 = "sha256-lO+FUuU7uihbRLI1X9qhOvgukRGfhDeSM/JdIqr96Fk="; fetchSubmodules = true; }; @@ -38,6 +38,9 @@ stdenv.mkDerivation rec { install -m644 -t "$out"/share/lua-language-server {debugger,main}.lua cp -r locale meta script "$out"/share/lua-language-server + # necessary for --version to work: + install -m644 -t "$out"/share/lua-language-server changelog.md + makeWrapper "$out"/share/lua-language-server/bin/Linux/lua-language-server \ $out/bin/lua-language-server \ --add-flags "-E $out/share/lua-language-server/main.lua \ diff --git a/pkgs/games/nudoku/default.nix b/pkgs/games/nudoku/default.nix index aaa6d3248094..d3e3d039d986 100644 --- a/pkgs/games/nudoku/default.nix +++ b/pkgs/games/nudoku/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gettext, ncurses }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gettext, ncurses }: stdenv.mkDerivation rec { pname = "nudoku"; @@ -11,6 +11,15 @@ stdenv.mkDerivation rec { sha256 = "12v00z3p0ymi8f3w4b4bgl4c76irawn3kmd147r0ap6s9ssx2q6m"; }; + patches = [ + # Pull upstream fix for ncurses-6.3 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/jubalh/nudoku/commit/93899a0fd72e04b9f257e5f54af53466106b5959.patch"; + sha256 = "1h3za0dnx8fk3vshql5mhcici8aw8j0vr7ra81p3r1rii4c479lm"; + }) + ]; + # Allow gettext 0.20 postPatch = '' substituteInPlace configure.ac --replace 0.19 0.20 diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index c0f9882cc145..822ab6e0dddd 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -2,51 +2,51 @@ "4.14": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-4.14.252-hardened1.patch", - "sha256": "1isqlqg4diz0i3f77rigvb07fs2p1v9w2h5165l0rnkb6h26i1gn", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.252-hardened1/linux-hardened-4.14.252-hardened1.patch" + "name": "linux-hardened-4.14.254-hardened1.patch", + "sha256": "1mg4zims7ckb0ddnnahk1cj73lhdh7x7xkjz4cgsvwndw0qvmhdi", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.254-hardened1/linux-hardened-4.14.254-hardened1.patch" }, - "sha256": "022rw51s8fzz6wcxa9xq6h60fglfx0hq7bmqgs5dlrci6plv4fwk", - "version": "4.14.252" + "sha256": "0ihdlsg4jg9wwhhcbjjmrcchnl9pc0szh21nwmbhwnxgqcdmrnfz", + "version": "4.14.254" }, "4.19": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-4.19.213-hardened1.patch", - "sha256": "03lk4m6sm3545s0xxx0w4sqgrsvrxqm8qg7swn05s36jj20viprm", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.213-hardened1/linux-hardened-4.19.213-hardened1.patch" + "name": "linux-hardened-4.19.215-hardened1.patch", + "sha256": "05m3x3aafwp9msmqb2h1mys54xlsq17477blhb0d3b3nyj3qv503", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.215-hardened1/linux-hardened-4.19.215-hardened1.patch" }, - "sha256": "162f5y3jplql3ca5xy889mq6izjinryx2kx16zp582yvsqf8rwiq", - "version": "4.19.213" + "sha256": "1czjqa5wbsmzgl7wwqlp9qbdig45ibq11m9pcykrjaclrgwn884y", + "version": "4.19.215" }, "5.10": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.10.75-hardened1.patch", - "sha256": "17gm50aislxihfnmr4vi0p0gpg13m2pbldjpi81clnx93a7rrfw2", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.75-hardened1/linux-hardened-5.10.75-hardened1.patch" + "name": "linux-hardened-5.10.77-hardened1.patch", + "sha256": "1y5rdd7irlljjsw7kdv6v8issbhab3hzywggz5igca72qiy7gcwl", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.77-hardened1/linux-hardened-5.10.77-hardened1.patch" }, - "sha256": "0jrhhk89587caw54nhnwms93kq33qdm75x5f18cp61xrxxgjyaqa", - "version": "5.10.75" + "sha256": "1hwgbcfv9wfx9ka25lsqjrnzskynfgmswcyp5vk14wnxq7glxdnk", + "version": "5.10.77" }, "5.14": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.14.14-hardened1.patch", - "sha256": "1hx5yal8jqnxr9c9ikvc6d0xp99kqjarj67720v9d4wvlmgsfabj", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.14.14-hardened1/linux-hardened-5.14.14-hardened1.patch" + "name": "linux-hardened-5.14.16-hardened1.patch", + "sha256": "0k9n9k25bmzn3wsqkmjc27md7vc5qwg5a79zmwfw0adwlfwlgi5y", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.14.16-hardened1/linux-hardened-5.14.16-hardened1.patch" }, - "sha256": "0snh17ah49wmfmazy6x42rhvl484h657y0iq4l09a885sjb4xzsd", - "version": "5.14.14" + "sha256": "005wis2y5dhksb6n0r4p3xjldppmdnd360dhxa04rfc4z2qwn3f3", + "version": "5.14.16" }, "5.4": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.4.155-hardened1.patch", - "sha256": "0l8h9i6asiypgbxl90370kzfsyyc3f4vwl2r191arvrsgw863bid", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.155-hardened1/linux-hardened-5.4.155-hardened1.patch" + "name": "linux-hardened-5.4.157-hardened1.patch", + "sha256": "0651l6qambsdy7p1jry2ylf806gr66v6zrfz8lk0dndlhsgbb3dq", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.157-hardened1/linux-hardened-5.4.157-hardened1.patch" }, - "sha256": "0f2hfz76rnhmv99zhbh7n1z48316ilxrxrnh4b5m3lj84y80y36c", - "version": "5.4.155" + "sha256": "0jl62j22vs59bc90mvzavv0ii9hvk436pbnrpqf3x9f8nfybngwz", + "version": "5.4.157" } } diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 5fc975b8c6f0..44740e746004 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "4.14.253"; + version = "4.14.254"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1mgl55c8fa2ry4qp0phkdkzjhwfnkbhvi266n348kyjyqnjl234f"; + sha256 = "0ihdlsg4jg9wwhhcbjjmrcchnl9pc0szh21nwmbhwnxgqcdmrnfz"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index afd34eaf9020..d69f10a33b84 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "4.19.214"; + version = "4.19.215"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0i08np4gxiks7chp6j328pdqb02apbba53mj4zvxb9v37qpxzqgz"; + sha256 = "1czjqa5wbsmzgl7wwqlp9qbdig45ibq11m9pcykrjaclrgwn884y"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index e5672de557ac..a4e3ee5f9da8 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,12 +1,12 @@ { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args: buildLinux (args // rec { - version = "4.4.290"; + version = "4.4.291"; extraMeta.branch = "4.4"; extraMeta.broken = stdenv.isAarch64; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1dcx58nmzkcc5nz2b5b7mgw4w7y28v3s9wd8h78czdqfa0kxrl20"; + sha256 = "0lbbvv3ha4d8nwzjh8bdk0aqyd12w6gw0nsxsdnp8pbmnndgb9vh"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index b929e930eb03..424d3b690e63 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,12 +1,12 @@ { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args: buildLinux (args // rec { - version = "4.9.288"; + version = "4.9.289"; extraMeta.branch = "4.9"; extraMeta.broken = stdenv.isAarch64; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0v5592v565bl924c23m1n7p5zddr0w7zn8m97pmikk6p7cyhjq9n"; + sha256 = "19kz74qgw5yzfinnsvljmn2zm855lr4cxgfpn8gwljmkspyx1hm5"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix index 3376f30212a7..0b7b0fd559f3 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.10.76"; + version = "5.10.77"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "140qkvs88b5zh6mxxzpf36z1r8bbvyh3yigripqjz1k236x0j2j8"; + sha256 = "1hwgbcfv9wfx9ka25lsqjrnzskynfgmswcyp5vk14wnxq7glxdnk"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.14.nix b/pkgs/os-specific/linux/kernel/linux-5.14.nix index e9d10e5d4683..84a82377e06e 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.14.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.14.15"; + version = "5.14.16"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "01m4qw1z7xn3ngsbm1bvcvikqpkjjr9n8585556wkmz9d469mwvl"; + sha256 = "005wis2y5dhksb6n0r4p3xjldppmdnd360dhxa04rfc4z2qwn3f3"; }; } // (args.argsOverride or { })) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix index 3c19d6314388..57b6ebdc88b8 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.4.156"; + version = "5.4.157"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1zkpqfhrc5n0yiij3jzvzywgabva53c8668f1ly1pkrzcbj77zh6"; + sha256 = "0jl62j22vs59bc90mvzavv0ii9hvk436pbnrpqf3x9f8nfybngwz"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index 85456ad49f7e..19608cb56579 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "18413"; - sha256 = "1s0nr3pnczr1ijv86307mfhmkk7xn5ah46wx6jrx857agcd73fzq"; + rev = "18452"; + sha256 = "0l9xnblid2nv6afp4d8g6kwlhwbw72cnqfaf2lix65bqc1ivdpl9"; } , ... }: diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index 51bd4d725a8b..d108ca0d0060 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -106,8 +106,16 @@ installPhase() { sed -E "s#(libEGL_nvidia)#$i/lib/\\1#" 10_nvidia.json > 10_nvidia.json.fixed sed -E "s#(libnvidia-egl-wayland)#$i/lib/\\1#" 10_nvidia_wayland.json > 10_nvidia_wayland.json.fixed - install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/nvidia.json - install -Dm644 10_nvidia_wayland.json.fixed $i/share/glvnd/egl_vendor.d/nvidia_wayland.json + install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/10_nvidia.json + install -Dm644 10_nvidia_wayland.json.fixed $i/share/egl/egl_external_platform.d/10_nvidia_wayland.json + + if [[ -f "15_nvidia_gbm.json" ]]; then + sed -E "s#(libnvidia-egl-gbm)#$i/lib/\\1#" 15_nvidia_gbm.json > 15_nvidia_gbm.json.fixed + install -Dm644 15_nvidia_gbm.json.fixed $i/share/egl/egl_external_platform.d/15_nvidia_gbm.json + + mkdir -p $i/lib/gbm + ln -s $i/lib/libnvidia-allocator.so $i/lib/gbm/nvidia-drm_gbm.so + fi fi done diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index 6f58e3e8f1d9..ed8c2a050955 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -41,7 +41,7 @@ let i686bundled = versionAtLeast version "391" && !disable32Bit; libPathFor = pkgs: pkgs.lib.makeLibraryPath [ pkgs.libdrm pkgs.xorg.libXext pkgs.xorg.libX11 - pkgs.xorg.libXv pkgs.xorg.libXrandr pkgs.xorg.libxcb pkgs.zlib pkgs.stdenv.cc.cc ]; + pkgs.xorg.libXv pkgs.xorg.libXrandr pkgs.xorg.libxcb pkgs.zlib pkgs.stdenv.cc.cc pkgs.wayland ]; self = stdenv.mkDerivation { name = "nvidia-x11-${version}${nameSuffix}"; diff --git a/pkgs/servers/code-server/darwin-fsevents.patch b/pkgs/servers/code-server/darwin-fsevents.patch deleted file mode 100644 index ec8fc68d5f67..000000000000 --- a/pkgs/servers/code-server/darwin-fsevents.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./lib/vscode/node_modules/fsevents/install.js -+++ ./lib/vscode/node_modules/fsevents/install.js -@@ -1,7 +1,3 @@ - if (process.platform === 'darwin') { -- var spawn = require('child_process').spawn; -- var args = ['install', '--fallback-to-build']; -- var options = {stdio: 'inherit'}; -- var child = spawn(require.resolve('node-pre-gyp/bin/node-pre-gyp'), args, options); -- child.on('close', process.exit); -+ process.stdout.write('fsevents disabled on Darwin by Nix build script\n') - } diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix index 039f0578569b..d6e39f8cdb1f 100644 --- a/pkgs/servers/code-server/default.nix +++ b/pkgs/servers/code-server/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand -, moreutils, jq, git, zip, rsync, pkg-config, yarn, python3 -, nodejs-14_x, libsecret, xorg, ripgrep +, moreutils, jq, git, cacert, zip, rsync, pkg-config, yarn, python3 +, esbuild, nodejs-14_x, libsecret, xorg, ripgrep , AppKit, Cocoa, Security, cctools }: let @@ -13,25 +13,25 @@ let in stdenv.mkDerivation rec { pname = "code-server"; - version = "3.9.0"; - commit = "fc6d123da59a4e5a675ac8e080f66e032ba01a1b"; + version = "3.12.0"; + commit = "798dc0baf284416dbbf951e4ef596beeab6cb6c4"; src = fetchFromGitHub { owner = "cdr"; repo = "code-server"; rev = "v${version}"; - sha256 = "0jgmf8d7hki1iv6yy1z0s5qjyxchxnwj8kv53jrwkllim08swbi3"; + sha256 = "17v3sz0wjrmikmzyh9xswr4kf1vcj9njlibqb4wwj0pq0d72wdvl"; }; cloudAgent = buildGoModule rec { pname = "cloud-agent"; - version = "0.2.1"; + version = "0.2.3"; src = fetchFromGitHub { owner = "cdr"; repo = "cloud-agent"; rev = "v${version}"; - sha256 = "06fpiwxjz2cgzw4ks9sk3376rprkd02khfnb10hg7dhn3y9gp7x8"; + sha256 = "14i1qq273f0yn5v52ryiqwj7izkd1yd212di4gh4bqypmmzhw3jj"; }; vendorSha256 = "0k9v10wkzx53r5syf6bmm81gr4s5dalyaa07y9zvx6vv5r2h0661"; @@ -46,9 +46,12 @@ in stdenv.mkDerivation rec { yarnCache = stdenv.mkDerivation { name = "${pname}-${version}-${system}-yarn-cache"; inherit src; - nativeBuildInputs = [ yarn' git ]; + nativeBuildInputs = [ yarn' git cacert ]; buildPhase = '' export HOME=$PWD + export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt" + + yarn --cwd "./vendor" install --modules-folder modules --ignore-scripts --frozen-lockfile yarn config set yarn-offline-mirror $out find "$PWD" -name "yarn.lock" -printf "%h\n" | \ @@ -61,9 +64,9 @@ in stdenv.mkDerivation rec { # to get hash values use nix-build -A code-server.prefetchYarnCache outputHash = { - x86_64-linux = "01nkqcfvx2qw9g60h8k9x221ibv3j58vdkjzcjnj7ph54a33ifih"; - aarch64-linux = "01nkqcfvx2qw9g60h8k9x221ibv3j58vdkjzcjnj7ph54a33ifih"; - x86_64-darwin = "01nkqcfvx2qw9g60h8k9x221ibv3j58vdkjzcjnj7ph54a33ifih"; + x86_64-linux = "1clfdl9hy5j2dj6jj6a9vgq0wzllfj0h2hbb73959k3w85y4ad2w"; + aarch64-linux = "1clfdl9hy5j2dj6jj6a9vgq0wzllfj0h2hbb73959k3w85y4ad2w"; + x86_64-darwin = "1clfdl9hy5j2dj6jj6a9vgq0wzllfj0h2hbb73959k3w85y4ad2w"; }.${system} or (throw "Unsupported system ${system}"); }; @@ -93,38 +96,9 @@ in stdenv.mkDerivation rec { patchShebangs ./ci - # remove unnecessary git config command - substituteInPlace lib/vscode/build/npm/postinstall.js \ - --replace "cp.execSync('git config pull.rebase true');" "" - - # allow offline install for postinstall scripts in extensions - grep -rl "yarn install" --include package.json lib/vscode/extensions \ - | xargs sed -i 's/yarn install/yarn install --offline/g' - - substituteInPlace ci/dev/postinstall.sh \ - --replace 'yarn' 'yarn --ignore-scripts' - - # use offline cache when installing release packages - substituteInPlace ci/build/npm-postinstall.sh \ - --replace 'yarn --production' 'yarn --production --offline' - - # disable automatic updates - sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \ - lib/vscode/src/vs/platform/update/common/update.config.contribution.ts - # inject git commit substituteInPlace ci/build/build-release.sh \ --replace '$(git rev-parse HEAD)' "$commit" - - # remove all built-in extensions, as these are 3rd party extensions that - # gets downloaded from vscode marketplace - jq --slurp '.[0] * .[1]' "lib/vscode/product.json" <( - cat << EOF - { - "builtInExtensions": [] - } - EOF - ) | sponge lib/vscode/product.json ''; configurePhase = '' @@ -140,6 +114,7 @@ in stdenv.mkDerivation rec { yarn --offline config set yarn-offline-mirror "${yarnCache}" # link coder-cloud agent from nix store + mkdir -p lib ln -s "${cloudAgent}/bin/cloud-agent" ./lib/coder-cloud-agent # skip unnecessary electron download @@ -151,40 +126,80 @@ in stdenv.mkDerivation rec { buildPhase = '' # install code-server dependencies - yarn --offline + yarn --offline --ignore-scripts - # install vscode dependencies without running script for all vscode packages - # that require patching for postinstall scripts to succeed - for d in lib/vscode lib/vscode/build; do - yarn --offline --cwd $d --offline --ignore-scripts - done + # patch shebangs of everything to allow binary packages to build + patchShebangs . + + # Skip shellcheck download + jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json + + # rebuild binary packages now that scripts have been patched + npm rebuild + + # Replicate ci/dev/postinstall.sh + echo "----- Replicate ci/dev/postinstall.sh" + yarn --cwd "./vendor" install --modules-folder modules --offline --ignore-scripts --frozen-lockfile + + # Replicate vendor/postinstall.sh + echo " ----- Replicate vendor/postinstall.sh" + yarn --cwd "./vendor/modules/code-oss-dev" --offline --frozen-lockfile --ignore-scripts install + + # remove all built-in extensions, as these are 3rd party extensions that + # get downloaded from vscode marketplace + jq --slurp '.[0] * .[1]' "vendor/modules/code-oss-dev/product.json" <( + cat << EOF + { + "builtInExtensions": [] + } + EOF + ) | sponge vendor/modules/code-oss-dev/product.json + + # disable automatic updates + sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \ + vendor/modules/code-oss-dev/src/vs/platform/update/common/update.config.contribution.ts # put ripgrep binary into bin, so postinstall does not try to download it find -name vscode-ripgrep -type d \ -execdir mkdir -p {}/bin \; \ -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \; - # patch shebangs of everything, also cached files, as otherwise postinstall - # will not be able to find /usr/bin/env, as it does not exist in sandbox - patchShebangs . - # Playwright is only needed for tests, we can disable it for builds. # There's an environment variable to disable downloads, but the package makes a breaking call to # sw_vers before that variable is checked. patch -p1 -i ${./playwright.patch} - '' + lib.optionalString stdenv.isDarwin '' - # fsevents build fails on Darwin. It's an optional package that's only installed as part of Darwin - # builds, so the patch will fail if run on non-Darwin systems. - patch -p1 -i ${./darwin-fsevents.patch} - '' + '' + + # Replicate install vscode dependencies without running script for all vscode packages + # that require patching for postinstall scripts to succeed + find ./vendor/modules/code-oss-dev -path "*node_modules" -prune -o \ + -path "./*/*/*/*/*" -name "yarn.lock" -printf "%h\n" | \ + xargs -I {} yarn --cwd {} \ + --frozen-lockfile --offline --ignore-scripts --ignore-engines + + # patch shebangs of everything to allow binary packages to build + patchShebangs . + + # patch build esbuild + mkdir -p vendor/modules/code-oss-dev/build/node_modules/esbuild/bin + jq "del(.scripts.postinstall)" vendor/modules/code-oss-dev/build/node_modules/esbuild/package.json | sponge vendor/modules/code-oss-dev/build/node_modules/esbuild/package.json + sed -i 's/0.12.6/${esbuild.version}/g' vendor/modules/code-oss-dev/build/node_modules/esbuild/lib/main.js + ln -s -f ${esbuild}/bin/esbuild vendor/modules/code-oss-dev/build/node_modules/esbuild/bin/esbuild + + # patch extensions esbuild + mkdir -p vendor/modules/code-oss-dev/extensions/node_modules/esbuild/bin + jq "del(.scripts.postinstall)" vendor/modules/code-oss-dev/extensions/node_modules/esbuild/package.json | sponge vendor/modules/code-oss-dev/extensions/node_modules/esbuild/package.json + sed -i 's/0.11.12/${esbuild.version}/g' vendor/modules/code-oss-dev/extensions/node_modules/esbuild/lib/main.js + ln -s -f ${esbuild}/bin/esbuild vendor/modules/code-oss-dev/extensions/node_modules/esbuild/bin/esbuild + # rebuild binaries, we use npm here, as yarn does not provide an alternative # that would not attempt to try to reinstall everything and break our # patching attempts - npm rebuild --prefix lib/vscode --update-binary + npm rebuild --prefix vendor/modules/code-oss-dev --update-binary - # run postinstall scripts, which eventually do yarn install on all - # additional requirements - yarn --cwd lib/vscode postinstall --frozen-lockfile --offline + # run postinstall scripts after patching + find ./vendor/modules/code-oss-dev -path "*node_modules" -prune -o \ + -path "./*/*/*/*/*" -name "yarn.lock" -printf "%h\n" | \ + xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true' # build code-server yarn build @@ -206,6 +221,7 @@ in stdenv.mkDerivation rec { yarn --offline --cwd "$out/libexec/code-server" --production # link coder-cloud agent from nix store + mkdir -p $out/libexec/code-server/lib ln -s "${cloudAgent}/bin/cloud-agent" $out/libexec/code-server/lib/coder-cloud-agent # create wrapper diff --git a/pkgs/servers/code-server/playwright.patch b/pkgs/servers/code-server/playwright.patch index e247950173f5..e03d7f82184a 100644 --- a/pkgs/servers/code-server/playwright.patch +++ b/pkgs/servers/code-server/playwright.patch @@ -1,10 +1,10 @@ ---- ./lib/vscode/node_modules/playwright/install.js -+++ ./lib/vscode/node_modules/playwright/install.js +--- ./vendor/modules/code-oss-dev/node_modules/playwright/install.js ++++ ./vendor/modules/code-oss-dev/node_modules/playwright/install.js @@ -14,6 +14,4 @@ * limitations under the License. */ -const { installBrowsersWithProgressBar } = require('./lib/install/installer'); - --installBrowsersWithProgressBar(__dirname); +-installBrowsersWithProgressBar(); +process.stdout.write('Browser install disabled by Nix build script\n'); diff --git a/pkgs/servers/code-server/remove-cloud-agent-download.patch b/pkgs/servers/code-server/remove-cloud-agent-download.patch index 76e9c4b8b912..dd8f6fccb5b9 100644 --- a/pkgs/servers/code-server/remove-cloud-agent-download.patch +++ b/pkgs/servers/code-server/remove-cloud-agent-download.patch @@ -1,11 +1,11 @@ --- ./ci/build/npm-postinstall.sh +++ ./ci/build/npm-postinstall.sh -@@ -24,13 +24,6 @@ main() { +@@ -56,13 +56,6 @@ ;; esac - OS="$(uname | tr '[:upper:]' '[:lower:]')" -- if curl -fsSL "https://storage.googleapis.com/coder-cloud-releases/agent/latest/$OS/cloud-agent" -o ./lib/coder-cloud-agent; then +- if curl -fsSL "https://github.com/cdr/cloud-agent/releases/latest/download/cloud-agent-$OS-$ARCH" -o ./lib/coder-cloud-agent; then - chmod +x ./lib/coder-cloud-agent - else - echo "Failed to download cloud agent; --link will not work" @@ -13,4 +13,4 @@ - if ! vscode_yarn; then echo "You may not have the required dependencies to build the native modules." - echo "Please see https://github.com/cdr/code-server/blob/master/doc/npm.md" + echo "Please see https://github.com/cdr/code-server/blob/master/docs/npm.md" diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index 6f0c7c9ab8fb..2c731b4f1ff8 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "knot-dns"; - version = "3.1.3"; + version = "3.1.4"; src = fetchurl { url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; - sha256 = "a3fc448cbce3209575f93a3cf1224fa37802fc6606f7c7d4bb3aa6dbeaed2c64"; + sha256 = "05ebca053b4ce62205a095b6885ed1a1167c629ccac2b3c8dcc431bd2deedf70"; }; outputs = [ "bin" "out" "dev" ]; diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index 1b63b06f2cb4..774a3cbe6deb 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ -{ callPackage, ... }@args: +{ callPackage, openssl_3_0, ... }@args: -callPackage ./generic.nix args { - version = "1.21.3"; - sha256 = "0nhps7igdqcpcy1r8677ar807rfclpylmz3y858a678m1np4lxql"; +callPackage ./generic.nix (args // { openssl = openssl_3_0; }) { + version = "1.21.4"; + sha256 = "1ziv3xargxhxycd5hp6r3r5mww54nvvydiywcpsamg3i9r3jzxyi"; } diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix index 841ee7915a43..90859efd3c48 100644 --- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }: stdenv.mkDerivation rec { pname = "fts-xapian"; - version = "1.4.11"; + version = "1.4.14"; src = fetchFromGitHub { owner = "grosjo"; repo = "fts-xapian"; rev = version; - sha256 = "sha256-HPmS2Z1PIEM9fc6EerCEigQJg5BK/115zOW2uxFqjP0="; + sha256 = "sha256-Banyg10AiM1Jw6Zfl4Dcpc0/6Km48lLVuQ3xRLylE7k="; }; buildInputs = [ dovecot xapian icu64 ]; diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/REVISION b/pkgs/servers/matrix-synapse/matrix-appservice-irc/REVISION new file mode 100644 index 000000000000..c25c8e5b7416 --- /dev/null +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/REVISION @@ -0,0 +1 @@ +0.30.0 diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix index 7b5779b958d2..33ac1fca4672 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix @@ -1,16 +1,22 @@ -{ pkgs, nodePackages, makeWrapper, nixosTests, nodejs, stdenv, lib, ... }: +{ pkgs, nodePackages, makeWrapper, nixosTests, nodejs, stdenv, lib, fetchFromGitHub }: let - - packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json)); - ourNodePackages = import ./node-composition.nix { inherit pkgs nodejs; inherit (stdenv.hostPlatform) system; }; + version = builtins.replaceStrings [ "\n" ] [ "" ] (builtins.readFile ./REVISION); in -ourNodePackages."${packageName}".override { +ourNodePackages.package.override { pname = "matrix-appservice-irc"; + inherit version; + + src = fetchFromGitHub { + owner = "matrix-org"; + repo = "matrix-appservice-irc"; + rev = version; + sha256 = "sha256-EncodJKptrLC54B5XipkiHXFgJ5cD+crcT3SOPOc+7M="; + }; nativeBuildInputs = [ makeWrapper nodePackages.node-gyp-build ]; diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/generate-dependencies.sh b/pkgs/servers/matrix-synapse/matrix-appservice-irc/generate-dependencies.sh index fc89486cfbc0..a7cafab319ee 100755 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/generate-dependencies.sh +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/generate-dependencies.sh @@ -3,9 +3,9 @@ ROOT="$(realpath "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"/../../../..)" $(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \ - --nodejs-12 \ + --nodejs-14 \ --node-env ../../../development/node-packages/node-env.nix \ --development \ - --input package.json \ + --lock ./package-lock-temp.json \ --output node-packages.nix \ --composition node-composition.nix diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix index e0d21f7d44d3..6fb86dfd79e7 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: let nodeEnv = import ../../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix index 290eae2c02ff..f2d2b6fc94c1 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix @@ -76,13 +76,13 @@ let sha512 = "YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg=="; }; }; - "@babel/parser-7.14.4" = { + "@babel/parser-7.14.3" = { name = "_at_babel_slash_parser"; packageName = "@babel/parser"; - version = "7.14.4"; + version = "7.14.3"; src = fetchurl { - url = "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz"; - sha512 = "ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA=="; + url = "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz"; + sha512 = "7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ=="; }; }; "@babel/runtime-7.14.0" = { @@ -112,13 +112,13 @@ let sha512 = "TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA=="; }; }; - "@babel/types-7.14.4" = { + "@babel/types-7.14.2" = { name = "_at_babel_slash_types"; packageName = "@babel/types"; - version = "7.14.4"; + version = "7.14.2"; src = fetchurl { - url = "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz"; - sha512 = "lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw=="; + url = "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz"; + sha512 = "SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw=="; }; }; "@dabh/diagnostics-2.0.2" = { @@ -130,103 +130,103 @@ let sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q=="; }; }; - "@eslint/eslintrc-0.4.2" = { + "@eslint/eslintrc-0.4.1" = { name = "_at_eslint_slash_eslintrc"; packageName = "@eslint/eslintrc"; - version = "0.4.2"; + version = "0.4.1"; src = fetchurl { - url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz"; - sha512 = "8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg=="; + url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz"; + sha512 = "5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ=="; }; }; - "@nodelib/fs.scandir-2.1.5" = { + "@nodelib/fs.scandir-2.1.4" = { name = "_at_nodelib_slash_fs.scandir"; packageName = "@nodelib/fs.scandir"; - version = "2.1.5"; + version = "2.1.4"; src = fetchurl { - url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"; - sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="; + url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz"; + sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA=="; }; }; - "@nodelib/fs.stat-2.0.5" = { + "@nodelib/fs.stat-2.0.4" = { name = "_at_nodelib_slash_fs.stat"; packageName = "@nodelib/fs.stat"; - version = "2.0.5"; + version = "2.0.4"; src = fetchurl { - url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"; - sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="; + url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz"; + sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q=="; }; }; - "@nodelib/fs.walk-1.2.7" = { + "@nodelib/fs.walk-1.2.6" = { name = "_at_nodelib_slash_fs.walk"; packageName = "@nodelib/fs.walk"; - version = "1.2.7"; + version = "1.2.6"; src = fetchurl { - url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz"; - sha512 = "BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA=="; + url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz"; + sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow=="; }; }; - "@sentry/core-5.30.0" = { + "@sentry/core-5.27.1" = { name = "_at_sentry_slash_core"; packageName = "@sentry/core"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz"; - sha512 = "TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg=="; + url = "https://registry.npmjs.org/@sentry/core/-/core-5.27.1.tgz"; + sha512 = "n5CxzMbOAT6HZK4U4cOUAAikkRnnHhMNhInrjfZh7BoiuX1k63Hru2H5xk5WDuEaTTr5RaBA/fqPl7wxHySlwQ=="; }; }; - "@sentry/hub-5.30.0" = { + "@sentry/hub-5.27.1" = { name = "_at_sentry_slash_hub"; packageName = "@sentry/hub"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz"; - sha512 = "2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ=="; + url = "https://registry.npmjs.org/@sentry/hub/-/hub-5.27.1.tgz"; + sha512 = "RBHo3T92s6s4Ian1pZcPlmNtFqB+HAP6xitU+ZNA48bYUK+R1vvqEcI8Xs83FyNaRGCgclp9erDFQYyAuxY4vw=="; }; }; - "@sentry/minimal-5.30.0" = { + "@sentry/minimal-5.27.1" = { name = "_at_sentry_slash_minimal"; packageName = "@sentry/minimal"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz"; - sha512 = "BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw=="; + url = "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.27.1.tgz"; + sha512 = "MHXCeJdA1NAvaJuippcM8nrWScul8iTN0Q5nnFkGctGIGmmiZHTXAYkObqJk7H3AK+CP7r1jqN2aQj5Nd9CtyA=="; }; }; - "@sentry/node-5.30.0" = { + "@sentry/node-5.27.1" = { name = "_at_sentry_slash_node"; packageName = "@sentry/node"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz"; - sha512 = "Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg=="; + url = "https://registry.npmjs.org/@sentry/node/-/node-5.27.1.tgz"; + sha512 = "OJCpUK6bbWlDCqiTZVP4ybQQDSly2EafbvvO7hoQ5ktr87WkRCgLpTNI7Doa5ANGuLNnVUvRNIsIH1DJqLZLNg=="; }; }; - "@sentry/tracing-5.30.0" = { + "@sentry/tracing-5.27.1" = { name = "_at_sentry_slash_tracing"; packageName = "@sentry/tracing"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz"; - sha512 = "dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw=="; + url = "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.27.1.tgz"; + sha512 = "GBmdR8Ky/nv4KOa6+DEnOSBkFOFhM+asR8Y/gw2qSUWCwzKuWHh9BEnDwxtSI8CMvgUwOIZ5wiiqJGc1unYfCw=="; }; }; - "@sentry/types-5.30.0" = { + "@sentry/types-5.27.1" = { name = "_at_sentry_slash_types"; packageName = "@sentry/types"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz"; - sha512 = "R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw=="; + url = "https://registry.npmjs.org/@sentry/types/-/types-5.27.1.tgz"; + sha512 = "g1aX0V0fz5BTo0mjgSVY9XmPLGZ6p+8OEzq3ubKzDUf59VHl+Vt8viZ8VXw/vsNtfAjBHn7BzSuzJo7cXJJBtA=="; }; }; - "@sentry/utils-5.30.0" = { + "@sentry/utils-5.27.1" = { name = "_at_sentry_slash_utils"; packageName = "@sentry/utils"; - version = "5.30.0"; + version = "5.27.1"; src = fetchurl { - url = "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz"; - sha512 = "zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww=="; + url = "https://registry.npmjs.org/@sentry/utils/-/utils-5.27.1.tgz"; + sha512 = "VIzK8utuvFO9EogZcKJPgmLnlJtYbaPQ0jCw7od9HRw1ckrSBc84sA0uuuY6pB6KSM+7k6EjJ5IdIBaCz5ep/A=="; }; }; "@sindresorhus/is-0.14.0" = { @@ -247,13 +247,13 @@ let sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA=="; }; }; - "@types/bluebird-3.5.35" = { + "@types/bluebird-3.5.32" = { name = "_at_types_slash_bluebird"; packageName = "@types/bluebird"; - version = "3.5.35"; + version = "3.5.32"; src = fetchurl { - url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.35.tgz"; - sha512 = "2WeeXK7BuQo7yPI4WGOBum90SzF/f8rqlvpaXx4rjeTmNssGRDHWf7fgDUH90xMB3sUOu716fUK5d+OVx0+ncQ=="; + url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz"; + sha512 = "dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g=="; }; }; "@types/body-parser-1.19.0" = { @@ -274,22 +274,22 @@ let sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ=="; }; }; - "@types/express-4.17.12" = { + "@types/express-4.17.8" = { name = "_at_types_slash_express"; packageName = "@types/express"; - version = "4.17.12"; + version = "4.17.8"; src = fetchurl { - url = "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz"; - sha512 = "pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q=="; + url = "https://registry.npmjs.org/@types/express/-/express-4.17.8.tgz"; + sha512 = "wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ=="; }; }; - "@types/express-serve-static-core-4.17.21" = { + "@types/express-serve-static-core-4.17.19" = { name = "_at_types_slash_express-serve-static-core"; packageName = "@types/express-serve-static-core"; - version = "4.17.21"; + version = "4.17.19"; src = fetchurl { - url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz"; - sha512 = "gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA=="; + url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz"; + sha512 = "DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA=="; }; }; "@types/extend-3.0.1" = { @@ -337,13 +337,13 @@ let sha512 = "qHQRLZ0e6l/XK/2Qb2v5N1ujmdttYkUvnRI4nPIifMy6vYwoAnER10xhX13isWjjQtNsrjNLinZgDDguzPmEKw=="; }; }; - "@types/node-15.12.2" = { + "@types/node-12.12.54" = { name = "_at_types_slash_node"; packageName = "@types/node"; - version = "15.12.2"; + version = "12.12.54"; src = fetchurl { - url = "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz"; - sha512 = "zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww=="; + url = "https://registry.npmjs.org/@types/node/-/node-12.12.54.tgz"; + sha512 = "ge4xZ3vSBornVYlDnk7yZ0gK6ChHf/CHB7Gl1I0Jhah8DDnEQqBzgohYG4FX4p81TNirSETOiSyn+y1r9/IR6w=="; }; }; "@types/nopt-3.0.29" = { @@ -400,67 +400,67 @@ let sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA=="; }; }; - "@typescript-eslint/eslint-plugin-4.26.1" = { + "@typescript-eslint/eslint-plugin-4.16.1" = { name = "_at_typescript-eslint_slash_eslint-plugin"; packageName = "@typescript-eslint/eslint-plugin"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.1.tgz"; - sha512 = "aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw=="; + url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz"; + sha512 = "SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ=="; }; }; - "@typescript-eslint/experimental-utils-4.26.1" = { + "@typescript-eslint/experimental-utils-4.16.1" = { name = "_at_typescript-eslint_slash_experimental-utils"; packageName = "@typescript-eslint/experimental-utils"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.1.tgz"; - sha512 = "sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ=="; + url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz"; + sha512 = "0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ=="; }; }; - "@typescript-eslint/parser-4.26.1" = { + "@typescript-eslint/parser-4.16.1" = { name = "_at_typescript-eslint_slash_parser"; packageName = "@typescript-eslint/parser"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.1.tgz"; - sha512 = "q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ=="; + url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz"; + sha512 = "/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg=="; }; }; - "@typescript-eslint/scope-manager-4.26.1" = { + "@typescript-eslint/scope-manager-4.16.1" = { name = "_at_typescript-eslint_slash_scope-manager"; packageName = "@typescript-eslint/scope-manager"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.26.1.tgz"; - sha512 = "TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ=="; + url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz"; + sha512 = "6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw=="; }; }; - "@typescript-eslint/types-4.26.1" = { + "@typescript-eslint/types-4.16.1" = { name = "_at_typescript-eslint_slash_types"; packageName = "@typescript-eslint/types"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.1.tgz"; - sha512 = "STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg=="; + url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz"; + sha512 = "nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA=="; }; }; - "@typescript-eslint/typescript-estree-4.26.1" = { + "@typescript-eslint/typescript-estree-4.16.1" = { name = "_at_typescript-eslint_slash_typescript-estree"; packageName = "@typescript-eslint/typescript-estree"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.1.tgz"; - sha512 = "l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg=="; + url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz"; + sha512 = "m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg=="; }; }; - "@typescript-eslint/visitor-keys-4.26.1" = { + "@typescript-eslint/visitor-keys-4.16.1" = { name = "_at_typescript-eslint_slash_visitor-keys"; packageName = "@typescript-eslint/visitor-keys"; - version = "4.26.1"; + version = "4.16.1"; src = fetchurl { - url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.1.tgz"; - sha512 = "IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw=="; + url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz"; + sha512 = "s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w=="; }; }; "abbrev-1.1.1" = { @@ -517,13 +517,13 @@ let sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="; }; }; - "ajv-8.6.0" = { + "ajv-8.4.0" = { name = "ajv"; packageName = "ajv"; - version = "8.6.0"; + version = "8.4.0"; src = fetchurl { - url = "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz"; - sha512 = "cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ=="; + url = "https://registry.npmjs.org/ajv/-/ajv-8.4.0.tgz"; + sha512 = "7QD2l6+KBSLwf+7MuYocbWvRPdOu63/trReTLu2KFwkgctnub1auoF+Y1WYcm09CTM7quuscrzqmASaLHC/K4Q=="; }; }; "another-json-0.2.0" = { @@ -1246,13 +1246,13 @@ let sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="; }; }; - "debug-4.3.2" = { + "debug-4.3.1" = { name = "debug"; packageName = "debug"; - version = "4.3.2"; + version = "4.3.1"; src = fetchurl { - url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"; - sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw=="; + url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"; + sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ=="; }; }; "decamelize-1.2.0" = { @@ -1408,13 +1408,13 @@ let sha512 = "zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA=="; }; }; - "domutils-2.7.0" = { + "domutils-2.6.0" = { name = "domutils"; packageName = "domutils"; - version = "2.7.0"; + version = "2.6.0"; src = fetchurl { - url = "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz"; - sha512 = "8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg=="; + url = "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz"; + sha512 = "y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA=="; }; }; "dot-prop-5.3.0" = { @@ -1561,15 +1561,6 @@ let sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; }; }; - "escape-string-regexp-2.0.0" = { - name = "escape-string-regexp"; - packageName = "escape-string-regexp"; - version = "2.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"; - sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="; - }; - }; "escape-string-regexp-4.0.0" = { name = "escape-string-regexp"; packageName = "escape-string-regexp"; @@ -1579,13 +1570,13 @@ let sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="; }; }; - "eslint-7.28.0" = { + "eslint-7.21.0" = { name = "eslint"; packageName = "eslint"; - version = "7.28.0"; + version = "7.21.0"; src = fetchurl { - url = "https://registry.npmjs.org/eslint/-/eslint-7.28.0.tgz"; - sha512 = "UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g=="; + url = "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz"; + sha512 = "W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg=="; }; }; "eslint-scope-5.1.1" = { @@ -1606,15 +1597,6 @@ let sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg=="; }; }; - "eslint-utils-3.0.0" = { - name = "eslint-utils"; - packageName = "eslint-utils"; - version = "3.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz"; - sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA=="; - }; - }; "eslint-visitor-keys-1.3.0" = { name = "eslint-visitor-keys"; packageName = "eslint-visitor-keys"; @@ -1723,15 +1705,6 @@ let sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g=="; }; }; - "extend-2.0.2" = { - name = "extend"; - packageName = "extend"; - version = "2.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/extend/-/extend-2.0.2.tgz"; - sha512 = "AgFD4VU+lVLP6vjnlNfF7OeInLTyeyckCNPEsuxz1vi786UuK/nk6ynPuhn/h+Ju9++TQyr5EpLRI14fc1QtTQ=="; - }; - }; "extend-3.0.2" = { name = "extend"; packageName = "extend"; @@ -1750,13 +1723,13 @@ let sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; }; }; - "fast-deep-equal-3.1.3" = { + "fast-deep-equal-3.1.1" = { name = "fast-deep-equal"; packageName = "fast-deep-equal"; - version = "3.1.3"; + version = "3.1.1"; src = fetchurl { - url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"; - sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="; + url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; + sha512 = "8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="; }; }; "fast-glob-3.2.5" = { @@ -1930,13 +1903,13 @@ let sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; }; }; - "forwarded-0.2.0" = { + "forwarded-0.1.2" = { name = "forwarded"; packageName = "forwarded"; - version = "0.2.0"; + version = "0.1.2"; src = fetchurl { - url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz"; - sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="; + url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"; + sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; }; }; "fresh-0.5.2" = { @@ -2092,13 +2065,13 @@ let sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="; }; }; - "globals-13.9.0" = { + "globals-12.4.0" = { name = "globals"; packageName = "globals"; - version = "13.9.0"; + version = "12.4.0"; src = fetchurl { - url = "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz"; - sha512 = "74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA=="; + url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz"; + sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg=="; }; }; "globby-11.0.3" = { @@ -2119,13 +2092,13 @@ let sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q=="; }; }; - "graceful-fs-4.2.6" = { + "graceful-fs-4.2.3" = { name = "graceful-fs"; packageName = "graceful-fs"; - version = "4.2.6"; + version = "4.2.3"; src = fetchurl { - url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz"; - sha512 = "nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="; + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz"; + sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="; }; }; "har-schema-2.0.0" = { @@ -2299,15 +2272,6 @@ let sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA=="; }; }; - "iconv-2.3.5" = { - name = "iconv"; - packageName = "iconv"; - version = "2.3.5"; - src = fetchurl { - url = "https://registry.npmjs.org/iconv/-/iconv-2.3.5.tgz"; - sha512 = "U5ajDbtDfadp7pvUMC0F2XbkP5vQn9Xrwa6UptePl+cK8EILxapAt3sXers9B3Gxagk+zVjL2ELKuzQvyqOwug=="; - }; - }; "iconv-lite-0.4.24" = { name = "iconv-lite"; packageName = "iconv-lite"; @@ -2407,6 +2371,15 @@ let sha1 = "633c2c83e3da42a502f52466022480f4208261de"; }; }; + "inherits-2.0.4" = { + name = "inherits"; + packageName = "inherits"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"; + sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="; + }; + }; "ini-1.3.7" = { name = "ini"; packageName = "ini"; @@ -2434,16 +2407,6 @@ let sha512 = "HtszKchBQTcqw1DC09uD7i7vvMayHGM1OCo6AHt5pkgZEyo99ClhHTMJdf+Ezc9ovuNNxcH89QfyclGthjZJOw=="; }; }; - "irc-git+https://matrix-org@github.com/matrix-org/node-irc.git#9028c2197c216dd8e6fc2cb3cc07ce2d6bf741a7" = { - name = "irc"; - packageName = "irc"; - version = "0.3.12"; - src = fetchgit { - url = "https://matrix-org@github.com/matrix-org/node-irc.git"; - rev = "9028c2197c216dd8e6fc2cb3cc07ce2d6bf741a7"; - sha256 = "0785d44389d34d7e7c614437c8c8e108f32b5d5022e6f29c47a6a40090d277a7"; - }; - }; "is-arrayish-0.2.1" = { name = "is-arrayish"; packageName = "is-arrayish"; @@ -2741,22 +2704,22 @@ let sha512 = "uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg=="; }; }; - "jasmine-3.7.0" = { + "jasmine-3.6.2" = { name = "jasmine"; packageName = "jasmine"; - version = "3.7.0"; + version = "3.6.2"; src = fetchurl { - url = "https://registry.npmjs.org/jasmine/-/jasmine-3.7.0.tgz"; - sha512 = "wlzGQ+cIFzMEsI+wDqmOwvnjTvolLFwlcpYLCqSPPH0prOQaW3P+IzMhHYn934l1imNvw07oCyX+vGUv3wmtSQ=="; + url = "https://registry.npmjs.org/jasmine/-/jasmine-3.6.2.tgz"; + sha512 = "Uc0o2MRnC8TS1MjDrB8jE1umKEo2mflzGvdg0Ncs+yuLtOJ+uz/Wz8VmGsNGtuASr8+E0LDgPkOpvdoC76m5WQ=="; }; }; - "jasmine-core-3.7.1" = { + "jasmine-core-3.6.0" = { name = "jasmine-core"; packageName = "jasmine-core"; - version = "3.7.1"; + version = "3.6.0"; src = fetchurl { - url = "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.7.1.tgz"; - sha512 = "DH3oYDS/AUvvr22+xUBW62m1Xoy7tUlY1tsxKEJvl5JeJ7q8zd1K5bUwiOxdH+erj6l2vAMM3hV25Xs9/WrmuQ=="; + url = "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz"; + sha512 = "8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw=="; }; }; "js-tokens-4.0.0" = { @@ -2768,13 +2731,13 @@ let sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="; }; }; - "js-yaml-3.14.1" = { + "js-yaml-3.14.0" = { name = "js-yaml"; packageName = "js-yaml"; - version = "3.14.1"; + version = "3.14.0"; src = fetchurl { - url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"; - sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="; + url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz"; + sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A=="; }; }; "js-yaml-4.1.0" = { @@ -2993,15 +2956,6 @@ let sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2"; }; }; - "lodash.merge-4.6.2" = { - name = "lodash.merge"; - packageName = "lodash.merge"; - version = "4.6.2"; - src = fetchurl { - url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"; - sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="; - }; - }; "lodash.truncate-4.4.2" = { name = "lodash.truncate"; packageName = "lodash.truncate"; @@ -3155,13 +3109,13 @@ let sha512 = "JFIMJPNGGqi0myzIlN94SQReUbCrWi1TW5PZih1OGXzUj2wXYz3puktV/f64HZYn6D1ZKcwxZdLuNCG8cRuCyw=="; }; }; - "matrix-org-irc-1.0.0-alpha4" = { + "matrix-org-irc-1.2.0" = { name = "matrix-org-irc"; packageName = "matrix-org-irc"; - version = "1.0.0-alpha4"; + version = "1.2.0"; src = fetchurl { - url = "https://registry.npmjs.org/matrix-org-irc/-/matrix-org-irc-1.0.0-alpha4.tgz"; - sha512 = "2wKzQSpITrG9vChfw9d0goDcQZgKdaL7hgPzQwaybO9NF96HLarXFhznaFtngJiaaBAN52jkEetsQKV/lEfPqA=="; + url = "https://registry.npmjs.org/matrix-org-irc/-/matrix-org-irc-1.2.0.tgz"; + sha512 = "RnfeR9FimJJD/iOWw0GiV7NIPRmBJobvFasUgjVmGre9A4qJ9klHIDOlQ5vXIoPPMjzG8XXuAf4WHgMCNBfZkQ=="; }; }; "media-typer-0.3.0" = { @@ -3227,22 +3181,22 @@ let sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; }; }; - "mime-db-1.48.0" = { + "mime-db-1.47.0" = { name = "mime-db"; packageName = "mime-db"; - version = "1.48.0"; + version = "1.47.0"; src = fetchurl { - url = "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz"; - sha512 = "FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="; + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz"; + sha512 = "QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw=="; }; }; - "mime-types-2.1.31" = { + "mime-types-2.1.30" = { name = "mime-types"; packageName = "mime-types"; - version = "2.1.31"; + version = "2.1.30"; src = fetchurl { - url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz"; - sha512 = "XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg=="; + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz"; + sha512 = "crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg=="; }; }; "mimic-response-1.0.1" = { @@ -3344,15 +3298,6 @@ let sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; }; }; - "nan-2.14.2" = { - name = "nan"; - packageName = "nan"; - version = "2.14.2"; - src = fetchurl { - url = "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz"; - sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="; - }; - }; "nanoid-3.1.23" = { name = "nanoid"; packageName = "nanoid"; @@ -3542,15 +3487,6 @@ let sha512 = "5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="; }; }; - "optimist-0.3.7" = { - name = "optimist"; - packageName = "optimist"; - version = "0.3.7"; - src = fetchurl { - url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz"; - sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9"; - }; - }; "optionator-0.9.1" = { name = "optionator"; packageName = "optionator"; @@ -3722,13 +3658,13 @@ let sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="; }; }; - "path-parse-1.0.7" = { + "path-parse-1.0.6" = { name = "path-parse"; packageName = "path-parse"; - version = "1.0.7"; + version = "1.0.6"; src = fetchurl { - url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"; - sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="; + url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"; + sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="; }; }; "path-to-regexp-0.1.7" = { @@ -3830,13 +3766,22 @@ let sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w=="; }; }; - "picomatch-2.3.0" = { + "picomatch-2.2.2" = { name = "picomatch"; packageName = "picomatch"; - version = "2.3.0"; + version = "2.2.2"; src = fetchurl { - url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz"; - sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw=="; + url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz"; + sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="; + }; + }; + "picomatch-2.2.3" = { + name = "picomatch"; + packageName = "picomatch"; + version = "2.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz"; + sha512 = "KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg=="; }; }; "pify-3.0.0" = { @@ -3965,13 +3910,13 @@ let sha512 = "jT9VccZCWrJWXdyEtQddCDszYsiuWj5T0ekrPszi/WEegj3IZy6Mm09iOOVM86A4IKMWq8hZkT2dD9MaSe+sng=="; }; }; - "proxy-addr-2.0.7" = { + "proxy-addr-2.0.6" = { name = "proxy-addr"; packageName = "proxy-addr"; - version = "2.0.7"; + version = "2.0.6"; src = fetchurl { - url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz"; - sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="; + url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz"; + sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw=="; }; }; "proxyquire-1.8.0" = { @@ -4154,22 +4099,13 @@ let sha512 = "cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ=="; }; }; - "rebuild-0.1.2" = { - name = "rebuild"; - packageName = "rebuild"; - version = "0.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/rebuild/-/rebuild-0.1.2.tgz"; - sha1 = "03acdea5515130b479092746e093daf8cf883e93"; - }; - }; - "regenerator-runtime-0.13.8" = { + "regenerator-runtime-0.13.7" = { name = "regenerator-runtime"; packageName = "regenerator-runtime"; - version = "0.13.8"; + version = "0.13.7"; src = fetchurl { - url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.8.tgz"; - sha512 = "o/ASGwgZ6UiVjspr4YnzHKF1NbBdX+mCPkSeymofk/d7I+csCYn3ZgZMMVtXeecpT8DBiI2nAlYkHd+xNCqu4A=="; + url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz"; + sha512 = "a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="; }; }; "regexpp-3.1.0" = { @@ -4487,13 +4423,13 @@ let sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw=="; }; }; - "signal-exit-3.0.3" = { + "signal-exit-3.0.2" = { name = "signal-exit"; packageName = "signal-exit"; - version = "3.0.3"; + version = "3.0.2"; src = fetchurl { - url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"; - sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"; + sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; }; }; "simple-swizzle-0.2.2" = { @@ -4586,13 +4522,13 @@ let sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="; }; }; - "spdx-license-ids-3.0.9" = { + "spdx-license-ids-3.0.8" = { name = "spdx-license-ids"; packageName = "spdx-license-ids"; - version = "3.0.9"; + version = "3.0.8"; src = fetchurl { - url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz"; - sha512 = "Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ=="; + url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.8.tgz"; + sha512 = "NDgA96EnaLSvtbM7trJj+t1LUR3pirkDCcz9nOUlPb5DMBGsH7oES6C3hs3j7R9oHEa1EMvReS/BUAIT5Tcr0g=="; }; }; "split2-3.2.2" = { @@ -4883,13 +4819,13 @@ let sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="; }; }; - "tslib-1.14.1" = { + "tslib-1.11.1" = { name = "tslib"; packageName = "tslib"; - version = "1.14.1"; + version = "1.11.1"; src = fetchurl { - url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"; - sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="; + url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz"; + sha512 = "aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA=="; }; }; "tsutils-3.21.0" = { @@ -4928,15 +4864,6 @@ let sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="; }; }; - "type-fest-0.20.2" = { - name = "type-fest"; - packageName = "type-fest"; - version = "0.20.2"; - src = fetchurl { - url = "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"; - sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="; - }; - }; "type-fest-0.8.1" = { name = "type-fest"; packageName = "type-fest"; @@ -4964,13 +4891,13 @@ let sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q=="; }; }; - "typescript-4.3.2" = { + "typescript-4.2.3" = { name = "typescript"; packageName = "typescript"; - version = "4.3.2"; + version = "4.2.3"; src = fetchurl { - url = "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz"; - sha512 = "zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw=="; + url = "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz"; + sha512 = "qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw=="; }; }; "undefsafe-2.0.3" = { @@ -5027,13 +4954,13 @@ let sha512 = "Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A=="; }; }; - "uri-js-4.4.1" = { + "uri-js-4.2.2" = { name = "uri-js"; packageName = "uri-js"; - version = "4.4.1"; + version = "4.2.2"; src = fetchurl { - url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"; - sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="; + url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"; + sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; }; }; "url-parse-lax-3.0.0" = { @@ -5189,15 +5116,6 @@ let sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="; }; }; - "wordwrap-0.0.3" = { - name = "wordwrap"; - packageName = "wordwrap"; - version = "0.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"; - sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; - }; - }; "wrap-ansi-5.1.0" = { name = "wrap-ansi"; packageName = "wrap-ansi"; @@ -5307,17 +5225,11 @@ let }; }; }; -in -{ - "matrix-appservice-irc-git+https://github.com/matrix-org/matrix-appservice-irc.git#0.26.1" = nodeEnv.buildNodePackage { + args = { name = "matrix-appservice-irc"; packageName = "matrix-appservice-irc"; - version = "0.26.1"; - src = fetchgit { - url = "https://github.com/matrix-org/matrix-appservice-irc.git"; - rev = "4edab6f7b02e0f08e7c3b24f72441be25b30b5b8"; - sha256 = "3715ba3e80d79cea98ceb108e1df87b4d864d4f9149f147df0f3b78c691f00d6"; - }; + version = "0.30.0"; + src = ./.; dependencies = [ sources."@babel/code-frame-7.12.11" (sources."@babel/generator-7.14.3" // { @@ -5329,18 +5241,8 @@ in sources."@babel/helper-get-function-arity-7.12.13" sources."@babel/helper-split-export-declaration-7.12.13" sources."@babel/helper-validator-identifier-7.14.0" - (sources."@babel/highlight-7.14.0" // { - dependencies = [ - sources."ansi-styles-3.2.1" - sources."chalk-2.4.2" - sources."color-convert-1.9.3" - sources."color-name-1.1.3" - sources."escape-string-regexp-1.0.5" - sources."has-flag-3.0.0" - sources."supports-color-5.5.0" - ]; - }) - sources."@babel/parser-7.14.4" + sources."@babel/highlight-7.14.0" + sources."@babel/parser-7.14.3" sources."@babel/runtime-7.14.0" (sources."@babel/template-7.12.13" // { dependencies = [ @@ -5353,37 +5255,36 @@ in sources."globals-11.12.0" ]; }) - sources."@babel/types-7.14.4" + sources."@babel/types-7.14.2" sources."@dabh/diagnostics-2.0.2" - (sources."@eslint/eslintrc-0.4.2" // { + (sources."@eslint/eslintrc-0.4.1" // { dependencies = [ sources."ignore-4.0.6" - sources."strip-json-comments-3.1.1" ]; }) - sources."@nodelib/fs.scandir-2.1.5" - sources."@nodelib/fs.stat-2.0.5" - sources."@nodelib/fs.walk-1.2.7" - sources."@sentry/core-5.30.0" - sources."@sentry/hub-5.30.0" - sources."@sentry/minimal-5.30.0" - sources."@sentry/node-5.30.0" - sources."@sentry/tracing-5.30.0" - sources."@sentry/types-5.30.0" - sources."@sentry/utils-5.30.0" + sources."@nodelib/fs.scandir-2.1.4" + sources."@nodelib/fs.stat-2.0.4" + sources."@nodelib/fs.walk-1.2.6" + sources."@sentry/core-5.27.1" + sources."@sentry/hub-5.27.1" + sources."@sentry/minimal-5.27.1" + sources."@sentry/node-5.27.1" + sources."@sentry/tracing-5.27.1" + sources."@sentry/types-5.27.1" + sources."@sentry/utils-5.27.1" sources."@sindresorhus/is-0.14.0" sources."@szmarczak/http-timer-1.1.2" - sources."@types/bluebird-3.5.35" + sources."@types/bluebird-3.5.32" sources."@types/body-parser-1.19.0" sources."@types/connect-3.4.34" - sources."@types/express-4.17.12" - sources."@types/express-serve-static-core-4.17.21" + sources."@types/express-4.17.8" + sources."@types/express-serve-static-core-4.17.19" sources."@types/extend-3.0.1" sources."@types/he-1.1.1" sources."@types/json-schema-7.0.7" sources."@types/mime-1.3.2" sources."@types/nedb-1.8.11" - sources."@types/node-15.12.2" + sources."@types/node-12.12.54" sources."@types/nopt-3.0.29" sources."@types/pg-8.6.0" sources."@types/qs-6.9.6" @@ -5395,25 +5296,25 @@ in ]; }) sources."@types/serve-static-1.13.9" - (sources."@typescript-eslint/eslint-plugin-4.26.1" // { + (sources."@typescript-eslint/eslint-plugin-4.16.1" // { dependencies = [ sources."lru-cache-6.0.0" sources."semver-7.3.5" sources."yallist-4.0.0" ]; }) - sources."@typescript-eslint/experimental-utils-4.26.1" - sources."@typescript-eslint/parser-4.26.1" - sources."@typescript-eslint/scope-manager-4.26.1" - sources."@typescript-eslint/types-4.26.1" - (sources."@typescript-eslint/typescript-estree-4.26.1" // { + sources."@typescript-eslint/experimental-utils-4.16.1" + sources."@typescript-eslint/parser-4.16.1" + sources."@typescript-eslint/scope-manager-4.16.1" + sources."@typescript-eslint/types-4.16.1" + (sources."@typescript-eslint/typescript-estree-4.16.1" // { dependencies = [ sources."lru-cache-6.0.0" sources."semver-7.3.5" sources."yallist-4.0.0" ]; }) - sources."@typescript-eslint/visitor-keys-4.26.1" + sources."@typescript-eslint/visitor-keys-4.16.1" sources."abbrev-1.1.1" sources."accepts-1.3.7" sources."acorn-7.4.1" @@ -5421,14 +5322,14 @@ in sources."agent-base-6.0.2" sources."ajv-6.12.6" sources."another-json-0.2.0" - (sources."ansi-align-3.0.0" // { - dependencies = [ - sources."string-width-3.1.0" - ]; - }) + sources."ansi-align-3.0.0" sources."ansi-colors-4.1.1" sources."ansi-regex-4.1.0" - sources."ansi-styles-4.3.0" + (sources."ansi-styles-4.3.0" // { + dependencies = [ + sources."color-convert-2.0.1" + ]; + }) sources."anymatch-3.1.2" sources."append-transform-1.0.0" sources."archy-1.0.0" @@ -5453,12 +5354,18 @@ in (sources."body-parser-1.19.0" // { dependencies = [ sources."debug-2.6.9" + sources."iconv-lite-0.4.24" sources."ms-2.0.0" ]; }) (sources."boxen-4.2.0" // { dependencies = [ + sources."ansi-regex-5.0.0" sources."chalk-3.0.0" + sources."has-flag-4.0.0" + sources."string-width-4.2.2" + sources."strip-ansi-6.0.0" + sources."supports-color-7.2.0" ]; }) sources."brace-expansion-1.1.11" @@ -5473,35 +5380,30 @@ in sources."lowercase-keys-2.0.0" ]; }) - (sources."caching-transform-3.0.2" // { - dependencies = [ - sources."make-dir-2.1.0" - sources."pify-4.0.1" - sources."write-file-atomic-2.4.3" - ]; - }) + sources."caching-transform-3.0.2" sources."call-bind-1.0.2" sources."callsites-3.1.0" sources."camelcase-5.3.1" sources."caseless-0.12.0" - sources."chalk-4.1.1" + (sources."chalk-2.4.2" // { + dependencies = [ + sources."ansi-styles-3.2.1" + sources."escape-string-regexp-1.0.5" + sources."supports-color-5.5.0" + ]; + }) sources."chardet-1.3.0" sources."chokidar-3.5.1" sources."ci-info-2.0.0" sources."cli-boxes-2.2.1" - (sources."cliui-5.0.0" // { - dependencies = [ - sources."string-width-3.1.0" - ]; - }) + sources."cliui-5.0.0" sources."clone-response-1.0.2" - (sources."color-3.0.0" // { + sources."color-3.0.0" + (sources."color-convert-1.9.3" // { dependencies = [ - sources."color-convert-1.9.3" sources."color-name-1.1.3" ]; }) - sources."color-convert-2.0.1" sources."color-name-1.1.4" sources."color-string-1.5.5" sources."colorette-1.2.2" @@ -5510,7 +5412,12 @@ in sources."combined-stream-1.0.8" sources."commondir-1.0.1" sources."concat-map-0.0.1" - sources."configstore-5.0.1" + (sources."configstore-5.0.1" // { + dependencies = [ + sources."make-dir-3.1.0" + sources."write-file-atomic-3.0.3" + ]; + }) sources."content-disposition-0.5.3" sources."content-type-1.0.4" sources."convert-source-map-1.7.0" @@ -5519,14 +5426,13 @@ in sources."core-util-is-1.0.2" (sources."cp-file-6.2.0" // { dependencies = [ - sources."make-dir-2.1.0" sources."pify-4.0.1" ]; }) sources."cross-spawn-7.0.3" sources."crypto-random-string-2.0.0" sources."dashdash-1.14.1" - sources."debug-4.3.2" + sources."debug-4.3.1" sources."decamelize-1.2.0" sources."decompress-response-3.3.0" sources."deep-extend-0.6.0" @@ -5546,7 +5452,7 @@ in }) sources."domelementtype-2.2.0" sources."domhandler-3.3.0" - (sources."domutils-2.7.0" // { + (sources."domutils-2.6.0" // { dependencies = [ sources."domhandler-4.2.0" ]; @@ -5555,7 +5461,7 @@ in sources."duplexer3-0.1.4" sources."ecc-jsbn-0.1.2" sources."ee-first-1.1.1" - sources."emoji-regex-7.0.3" + sources."emoji-regex-8.0.0" sources."enabled-2.0.0" sources."encodeurl-1.0.2" sources."end-of-stream-1.4.4" @@ -5569,26 +5475,26 @@ in sources."es6-error-4.1.1" sources."escape-goat-2.1.1" sources."escape-html-1.0.3" - sources."escape-string-regexp-2.0.0" - (sources."eslint-7.28.0" // { + sources."escape-string-regexp-4.0.0" + (sources."eslint-7.21.0" // { dependencies = [ sources."ansi-regex-5.0.0" - sources."escape-string-regexp-4.0.0" - (sources."eslint-utils-2.1.0" // { - dependencies = [ - sources."eslint-visitor-keys-1.3.0" - ]; - }) + sources."chalk-4.1.1" + sources."has-flag-4.0.0" sources."ignore-4.0.6" sources."lru-cache-6.0.0" sources."semver-7.3.5" sources."strip-ansi-6.0.0" - sources."strip-json-comments-3.1.1" + sources."supports-color-7.2.0" sources."yallist-4.0.0" ]; }) sources."eslint-scope-5.1.1" - sources."eslint-utils-3.0.0" + (sources."eslint-utils-2.1.0" // { + dependencies = [ + sources."eslint-visitor-keys-1.3.0" + ]; + }) sources."eslint-visitor-keys-2.1.0" (sources."espree-7.3.1" // { dependencies = [ @@ -5617,9 +5523,9 @@ in sources."ms-2.0.0" ]; }) - sources."extend-2.0.2" + sources."extend-3.0.2" sources."extsprintf-1.3.0" - sources."fast-deep-equal-3.1.3" + sources."fast-deep-equal-3.1.1" sources."fast-glob-3.2.5" sources."fast-json-stable-stringify-2.1.0" sources."fast-levenshtein-2.0.6" @@ -5636,12 +5542,7 @@ in sources."ms-2.0.0" ]; }) - (sources."find-cache-dir-2.1.0" // { - dependencies = [ - sources."make-dir-2.1.0" - sources."pify-4.0.1" - ]; - }) + sources."find-cache-dir-2.1.0" sources."find-up-3.0.0" sources."flat-cache-3.0.4" sources."flatted-3.1.1" @@ -5656,7 +5557,7 @@ in }) sources."forever-agent-0.6.1" sources."form-data-2.3.3" - sources."forwarded-0.2.0" + sources."forwarded-0.1.2" sources."fresh-0.5.2" sources."fs.realpath-1.0.0" sources."fsevents-2.3.2" @@ -5672,18 +5573,18 @@ in sources."glob-parent-5.1.2" sources."glob-to-regexp-0.4.1" sources."global-dirs-2.1.0" - (sources."globals-13.9.0" // { - dependencies = [ - sources."type-fest-0.20.2" - ]; - }) + sources."globals-12.4.0" sources."globby-11.0.3" sources."got-9.6.0" - sources."graceful-fs-4.2.6" + sources."graceful-fs-4.2.3" sources."har-schema-2.0.0" - sources."har-validator-5.1.5" + (sources."har-validator-5.1.5" // { + dependencies = [ + sources."ajv-6.12.6" + ]; + }) sources."has-1.0.3" - sources."has-flag-4.0.0" + sources."has-flag-3.0.0" sources."has-symbols-1.0.2" sources."has-yarn-2.1.0" sources."hash.js-1.1.7" @@ -5698,11 +5599,14 @@ in sources."htmlencode-0.0.4" sources."htmlparser2-4.1.0" sources."http-cache-semantics-4.1.0" - sources."http-errors-1.7.2" + (sources."http-errors-1.7.2" // { + dependencies = [ + sources."inherits-2.0.3" + ]; + }) sources."http-signature-1.2.0" sources."https-proxy-agent-5.0.0" - sources."iconv-2.3.5" - sources."iconv-lite-0.4.24" + sources."iconv-lite-0.6.3" sources."ignore-5.1.8" sources."ignore-by-default-1.0.1" sources."immediate-3.0.6" @@ -5710,17 +5614,16 @@ in sources."import-lazy-2.1.0" sources."imurmurhash-0.1.4" sources."inflight-1.0.6" - sources."inherits-2.0.3" + sources."inherits-2.0.4" sources."ini-1.3.7" sources."ipaddr.js-1.9.1" - sources."irc-git+https://matrix-org@github.com/matrix-org/node-irc.git#9028c2197c216dd8e6fc2cb3cc07ce2d6bf741a7" sources."irc-colors-1.5.0" sources."is-arrayish-0.3.2" sources."is-binary-path-2.1.0" sources."is-ci-2.0.0" sources."is-core-module-2.4.0" sources."is-extglob-2.1.1" - sources."is-fullwidth-code-point-2.0.0" + sources."is-fullwidth-code-point-3.0.0" sources."is-glob-4.0.1" sources."is-installed-globally-0.3.2" sources."is-my-ip-valid-1.0.0" @@ -5741,31 +5644,18 @@ in sources."isstream-0.1.2" sources."istanbul-lib-coverage-2.0.5" sources."istanbul-lib-hook-2.0.7" - (sources."istanbul-lib-instrument-3.3.0" // { - dependencies = [ - sources."semver-6.3.0" - ]; - }) - (sources."istanbul-lib-report-2.0.8" // { - dependencies = [ - sources."has-flag-3.0.0" - sources."make-dir-2.1.0" - sources."pify-4.0.1" - sources."supports-color-6.1.0" - ]; - }) + sources."istanbul-lib-instrument-3.3.0" + sources."istanbul-lib-report-2.0.8" (sources."istanbul-lib-source-maps-3.0.6" // { dependencies = [ - sources."make-dir-2.1.0" - sources."pify-4.0.1" sources."rimraf-2.7.1" ]; }) sources."istanbul-reports-2.2.7" - sources."jasmine-3.7.0" - sources."jasmine-core-3.7.1" + sources."jasmine-3.6.2" + sources."jasmine-core-3.6.0" sources."js-tokens-4.0.0" - sources."js-yaml-3.14.1" + sources."js-yaml-3.14.0" sources."jsbn-0.1.1" sources."jsesc-2.5.2" sources."json-buffer-3.0.0" @@ -5788,7 +5678,6 @@ in sources."lodash-4.17.21" sources."lodash.clonedeep-4.5.0" sources."lodash.flattendeep-4.4.0" - sources."lodash.merge-4.6.2" sources."lodash.truncate-4.4.2" sources."logform-2.2.0" sources."loglevel-1.7.1" @@ -5796,24 +5685,43 @@ in sources."lowercase-keys-1.0.1" sources."lru-cache-5.1.1" sources."lru_map-0.3.3" - (sources."make-dir-3.1.0" // { + (sources."make-dir-2.1.0" // { dependencies = [ - sources."semver-6.3.0" + sources."pify-4.0.1" + sources."semver-5.7.1" ]; }) sources."matrix-appservice-0.8.0" (sources."matrix-appservice-bridge-2.6.1" // { dependencies = [ sources."argparse-2.0.1" + sources."chalk-4.1.1" sources."extend-3.0.2" + sources."has-flag-4.0.0" sources."js-yaml-4.1.0" sources."nopt-5.0.0" + sources."supports-color-7.2.0" ]; }) (sources."matrix-bot-sdk-0.4.0" // { dependencies = [ sources."chalk-3.0.0" + sources."escape-string-regexp-1.0.5" + sources."has-flag-4.0.0" + (sources."postcss-7.0.35" // { + dependencies = [ + sources."ansi-styles-3.2.1" + (sources."chalk-2.4.2" // { + dependencies = [ + sources."supports-color-5.5.0" + ]; + }) + sources."has-flag-3.0.0" + sources."supports-color-6.1.0" + ]; + }) sources."sanitize-html-1.27.5" + sources."supports-color-7.2.0" ]; }) (sources."matrix-js-sdk-9.11.0" // { @@ -5822,20 +5730,20 @@ in ]; }) sources."matrix-lastactive-0.1.5" - (sources."matrix-org-irc-1.0.0-alpha4" // { - dependencies = [ - sources."iconv-lite-0.6.3" - ]; - }) + sources."matrix-org-irc-1.2.0" sources."media-typer-0.3.0" sources."merge-descriptors-1.0.1" sources."merge-source-map-1.1.0" sources."merge2-1.4.1" sources."methods-1.1.2" - sources."micromatch-4.0.4" + (sources."micromatch-4.0.4" // { + dependencies = [ + sources."picomatch-2.2.3" + ]; + }) sources."mime-1.6.0" - sources."mime-db-1.48.0" - sources."mime-types-2.1.31" + sources."mime-db-1.47.0" + sources."mime-types-2.1.30" sources."mimic-response-1.0.1" sources."minimalistic-assert-1.0.1" sources."minimatch-3.0.4" @@ -5851,7 +5759,6 @@ in ]; }) sources."ms-2.1.2" - sources."nan-2.14.2" sources."nanoid-3.1.23" sources."natural-compare-1.4.0" sources."nedb-1.8.0" @@ -5861,18 +5768,20 @@ in (sources."nodemon-2.0.7" // { dependencies = [ sources."debug-3.2.7" - sources."has-flag-3.0.0" + sources."semver-5.7.1" sources."supports-color-5.5.0" ]; }) sources."nopt-3.0.6" - sources."normalize-package-data-2.5.0" + (sources."normalize-package-data-2.5.0" // { + dependencies = [ + sources."semver-5.7.1" + ]; + }) sources."normalize-path-3.0.0" sources."normalize-url-4.5.1" (sources."nyc-14.1.1" // { dependencies = [ - sources."make-dir-2.1.0" - sources."pify-4.0.1" sources."rimraf-2.7.1" ]; }) @@ -5883,7 +5792,6 @@ in sources."on-headers-1.0.2" sources."once-1.4.0" sources."one-time-1.0.0" - sources."optimist-0.3.7" sources."optionator-0.9.1" sources."os-homedir-1.0.2" sources."p-cancelable-1.1.0" @@ -5894,11 +5802,7 @@ in sources."p-timeout-3.2.0" sources."p-try-2.2.0" sources."package-hash-3.0.0" - (sources."package-json-6.5.0" // { - dependencies = [ - sources."semver-6.3.0" - ]; - }) + sources."package-json-6.5.0" sources."packet-reader-1.0.0" sources."parent-module-1.0.1" sources."parse-json-4.0.0" @@ -5907,7 +5811,7 @@ in sources."path-exists-3.0.0" sources."path-is-absolute-1.0.1" sources."path-key-3.1.1" - sources."path-parse-1.0.7" + sources."path-parse-1.0.6" sources."path-to-regexp-0.1.7" sources."path-type-4.0.0" sources."performance-now-2.1.0" @@ -5918,24 +5822,10 @@ in sources."pg-protocol-1.5.0" sources."pg-types-2.2.0" sources."pgpass-1.0.4" - sources."picomatch-2.3.0" + sources."picomatch-2.2.2" sources."pify-3.0.0" sources."pkg-dir-3.0.0" - (sources."postcss-7.0.35" // { - dependencies = [ - sources."ansi-styles-3.2.1" - (sources."chalk-2.4.2" // { - dependencies = [ - sources."supports-color-5.5.0" - ]; - }) - sources."color-convert-1.9.3" - sources."color-name-1.1.3" - sources."escape-string-regexp-1.0.5" - sources."has-flag-3.0.0" - sources."supports-color-6.1.0" - ]; - }) + sources."postcss-8.3.0" sources."postgres-array-2.0.0" sources."postgres-bytea-1.0.0" sources."postgres-date-1.0.7" @@ -5945,7 +5835,7 @@ in sources."process-nextick-args-2.0.1" sources."progress-2.0.3" sources."prom-client-13.1.0" - sources."proxy-addr-2.0.7" + sources."proxy-addr-2.0.6" (sources."proxyquire-1.8.0" // { dependencies = [ sources."resolve-1.1.7" @@ -5961,8 +5851,16 @@ in sources."queue-microtask-1.2.3" sources."quick-lru-4.0.1" sources."range-parser-1.2.1" - sources."raw-body-2.4.0" - sources."rc-1.2.8" + (sources."raw-body-2.4.0" // { + dependencies = [ + sources."iconv-lite-0.4.24" + ]; + }) + (sources."rc-1.2.8" // { + dependencies = [ + sources."strip-json-comments-2.0.1" + ]; + }) (sources."read-pkg-3.0.0" // { dependencies = [ sources."path-type-3.0.0" @@ -5971,8 +5869,7 @@ in sources."read-pkg-up-4.0.0" sources."readable-stream-3.6.0" sources."readdirp-3.5.0" - sources."rebuild-0.1.2" - sources."regenerator-runtime-0.13.8" + sources."regenerator-runtime-0.13.7" sources."regexpp-3.1.0" sources."registry-auth-token-4.2.1" sources."registry-url-5.1.0" @@ -6002,15 +5899,10 @@ in sources."domhandler-4.2.0" sources."escape-string-regexp-4.0.0" sources."htmlparser2-6.1.0" - sources."postcss-8.3.0" - ]; - }) - sources."semver-5.7.1" - (sources."semver-diff-3.1.1" // { - dependencies = [ - sources."semver-6.3.0" ]; }) + sources."semver-6.3.0" + sources."semver-diff-3.1.1" (sources."send-0.17.1" // { dependencies = [ (sources."debug-2.6.9" // { @@ -6027,14 +5919,10 @@ in sources."shebang-command-2.0.0" sources."shebang-regex-3.0.0" sources."side-channel-1.0.4" - sources."signal-exit-3.0.3" + sources."signal-exit-3.0.2" sources."simple-swizzle-0.2.2" sources."slash-3.0.0" - (sources."slice-ansi-4.0.0" // { - dependencies = [ - sources."is-fullwidth-code-point-3.0.0" - ]; - }) + sources."slice-ansi-4.0.0" sources."source-map-0.6.1" sources."source-map-js-0.6.2" (sources."spawn-wrap-1.4.3" // { @@ -6046,7 +5934,7 @@ in sources."spdx-correct-3.1.1" sources."spdx-exceptions-2.3.0" sources."spdx-expression-parse-3.0.1" - sources."spdx-license-ids-3.0.9" + sources."spdx-license-ids-3.0.8" sources."split2-3.2.2" sources."sprintf-js-1.0.3" sources."sshpk-1.16.1" @@ -6054,12 +5942,10 @@ in sources."statuses-1.5.0" sources."stealthy-require-1.1.1" sources."steno-0.4.4" - (sources."string-width-4.2.2" // { + (sources."string-width-3.1.0" // { dependencies = [ - sources."ansi-regex-5.0.0" - sources."emoji-regex-8.0.0" - sources."is-fullwidth-code-point-3.0.0" - sources."strip-ansi-6.0.0" + sources."emoji-regex-7.0.3" + sources."is-fullwidth-code-point-2.0.0" ]; }) (sources."string_decoder-1.3.0" // { @@ -6069,13 +5955,14 @@ in }) sources."strip-ansi-5.2.0" sources."strip-bom-3.0.0" - sources."strip-json-comments-2.0.1" - sources."supports-color-7.2.0" + sources."strip-json-comments-3.1.1" + sources."supports-color-6.1.0" (sources."table-6.7.1" // { dependencies = [ - sources."ajv-8.6.0" + sources."ajv-8.4.0" sources."ansi-regex-5.0.0" sources."json-schema-traverse-1.0.0" + sources."string-width-4.2.2" sources."strip-ansi-6.0.0" ]; }) @@ -6095,7 +5982,7 @@ in }) sources."tough-cookie-2.5.0" sources."triple-beam-1.3.0" - sources."tslib-1.14.1" + sources."tslib-1.11.1" sources."tsutils-3.21.0" sources."tunnel-agent-0.6.0" sources."tweetnacl-0.14.5" @@ -6103,7 +5990,7 @@ in sources."type-fest-0.8.1" sources."type-is-1.6.18" sources."typedarray-to-buffer-3.1.5" - sources."typescript-4.3.2" + sources."typescript-4.2.3" (sources."undefsafe-2.0.3" // { dependencies = [ sources."debug-2.6.9" @@ -6117,9 +6004,11 @@ in (sources."update-notifier-4.1.3" // { dependencies = [ sources."chalk-3.0.0" + sources."has-flag-4.0.0" + sources."supports-color-7.2.0" ]; }) - sources."uri-js-4.4.1" + sources."uri-js-4.2.2" sources."url-parse-lax-3.0.0" sources."utf-8-validate-5.0.5" sources."util-deprecate-1.0.2" @@ -6131,7 +6020,13 @@ in sources."verror-1.10.0" sources."which-2.0.2" sources."which-module-2.0.0" - sources."widest-line-3.1.0" + (sources."widest-line-3.1.0" // { + dependencies = [ + sources."ansi-regex-5.0.0" + sources."string-width-4.2.2" + sources."strip-ansi-6.0.0" + ]; + }) (sources."winston-3.3.3" // { dependencies = [ sources."async-3.2.0" @@ -6145,26 +6040,18 @@ in ]; }) sources."word-wrap-1.2.3" - sources."wordwrap-0.0.3" (sources."wrap-ansi-5.1.0" // { dependencies = [ sources."ansi-styles-3.2.1" - sources."color-convert-1.9.3" - sources."color-name-1.1.3" - sources."string-width-3.1.0" ]; }) sources."wrappy-1.0.2" - sources."write-file-atomic-3.0.3" + sources."write-file-atomic-2.4.3" sources."xdg-basedir-4.0.0" sources."xtend-4.0.2" sources."y18n-4.0.3" sources."yallist-3.1.1" - (sources."yargs-13.3.2" // { - dependencies = [ - sources."string-width-3.1.0" - ]; - }) + sources."yargs-13.3.2" sources."yargs-parser-13.1.2" ]; buildInputs = globalBuildInputs; @@ -6174,6 +6061,25 @@ in }; production = false; bypassCache = true; - reconstructLock = true; + reconstructLock = false; }; +in +{ + args = args; + sources = sources; + tarball = nodeEnv.buildNodeSourceDist args; + package = nodeEnv.buildNodePackage args; + shell = nodeEnv.buildNodeShell args; + nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args { + src = stdenv.mkDerivation { + name = args.name + "-package-json"; + src = nix-gitignore.gitignoreSourcePure [ + "*" + "!package.json" + "!package-lock.json" + ] args.src; + dontBuild = true; + installPhase = "mkdir -p $out; cp -r ./* $out;"; + }; + }); } diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json index ae1326275a26..998515f568e6 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json @@ -1,3 +1,69 @@ -[ - {"matrix-appservice-irc": "git+https://github.com/matrix-org/matrix-appservice-irc.git#0.26.1" } -] +{ + "name": "matrix-appservice-irc", + "version": "0.30.0", + "description": "An IRC Bridge for Matrix", + "main": "app.js", + "bin": "./bin/matrix-appservice-irc", + "engines": { + "node": ">=12" + }, + "scripts": { + "prepare": "npm run build", + "build": "tsc --project ./tsconfig.json", + "test": "BLUEBIRD_DEBUG=1 jasmine --stop-on-failure=true", + "lint": "eslint -c .eslintrc --max-warnings 0 'spec/**/*.js' 'src/**/*.ts'", + "check": "npm test && npm run lint", + "ci-test": "nyc --report text jasmine", + "ci": "npm run lint && npm run ci-test" + }, + "repository": { + "type": "git", + "url": "https://github.com/matrix-org/matrix-appservice-irc.git" + }, + "author": "", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/matrix-org/matrix-appservice-irc/issues" + }, + "dependencies": { + "@sentry/node": "^5.27.1", + "bluebird": "^3.7.2", + "escape-string-regexp": "^4.0.0", + "extend": "^3.0.2", + "he": "^1.2.0", + "logform": "^2.2.0", + "matrix-appservice": "^0.8.0", + "matrix-appservice-bridge": "^2.6.1", + "matrix-lastactive": "^0.1.5", + "matrix-org-irc": "^1.2.0", + "nedb": "^1.1.2", + "nodemon": "^2.0.7", + "nopt": "^3.0.1", + "p-queue": "^6.6.2", + "pg": "^8.6.0", + "quick-lru": "^4.0.1", + "request": "^2.54.0", + "request-promise-native": "^1.0.9", + "sanitize-html": "^2.4.0", + "winston": "^3.3.3", + "winston-daily-rotate-file": "^4.5.5" + }, + "devDependencies": { + "@types/bluebird": "^3.5.32", + "@types/express": "^4.17.7", + "@types/extend": "^3.0.1", + "@types/he": "^1.1.1", + "@types/nedb": "^1.8.11", + "@types/nopt": "^3.0.29", + "@types/pg": "^8.6.0", + "@types/sanitize-html": "^2.3.1", + "@typescript-eslint/eslint-plugin": "^4.16.1", + "@typescript-eslint/parser": "^4.16.1", + "eslint": "^7.21.0", + "jasmine": "^3.6.2", + "nyc": "^14.1.1", + "prom-client": "^13.0.0", + "proxyquire": "^1.4.0", + "typescript": "^4.2.2" + } +} diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh b/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh index f6cf0c029765..462512dd0f4d 100755 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq +#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq nix set -euo pipefail # cd to the folder containing this script @@ -15,10 +15,15 @@ fi echo "matrix-appservice-irc: $CURRENT_VERSION -> $TARGET_VERSION" -sed -i "s/#$CURRENT_VERSION/#$TARGET_VERSION/" package.json +rm -f package.json package-lock.json +wget https://github.com/matrix-org/matrix-appservice-irc/raw/$TARGET_VERSION/package.json +wget -O package-lock-temp.json https://github.com/matrix-org/matrix-appservice-irc/raw/$TARGET_VERSION/package-lock.json +echo "$TARGET_VERSION" > ./REVISION ./generate-dependencies.sh +rm ./package-lock-temp.json + # Apparently this is done by r-ryantm, so only uncomment for manual usage #git add ./package.json ./node-packages.nix #git commit -m "matrix-appservice-irc: ${CURRENT_VERSION} -> ${TARGET_VERSION}" diff --git a/pkgs/servers/monitoring/zabbix/agent2.nix b/pkgs/servers/monitoring/zabbix/agent2.nix index 97179fa26680..74b23c0bbd25 100644 --- a/pkgs/servers/monitoring/zabbix/agent2.nix +++ b/pkgs/servers/monitoring/zabbix/agent2.nix @@ -12,7 +12,7 @@ import ./versions.nix ({ version, sha256 }: modRoot = "src/go"; - vendorSha256 = "1iyi7lnknr42gbv25illqnnjc7mshv73ih9anc6rxbf87n9s46ac"; + vendorSha256 = "1417qi061xc4m55z0vz420fr7qpi24kw5yj9wq7iic92smakgkjn"; nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ libiconv openssl pcre zlib ]; diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix index 9cfc26925cc6..8311d0aa58f3 100644 --- a/pkgs/servers/prowlarr/default.nix +++ b/pkgs/servers/prowlarr/default.nix @@ -16,14 +16,14 @@ let }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); hash = { - x64-linux_hash = "sha256-9DoqyotXAUha2TMSgDIot5PD8ABpfZ8gsshS1ypr5SY="; - arm64-linux_hash = "sha256-r22c70OuevRsF8gOHZOkkhlRtoD4nsTHnXF82elQIF8="; - x64-osx_hash = "sha256-6jVM4iSGT7tpagocI/1nuBPVvAegfFqsCfrz2fPKCI4="; + x64-linux_hash = "sha256-wrBfgwzb+HI6cu9EyC70xZ5WsfkW+o+Q69jeCjoZRtI="; + arm64-linux_hash = "sha256-wnuLqd1T/21QyqjHbpK2w+WRyW1rd4pHqcRLFrIKHW8="; + x64-osx_hash = "sha256-gu+eByulCs9zLe3AXfVfcOXB49q6V7MWQ2DN2O/enfk="; }."${arch}-${os}_hash"; in stdenv.mkDerivation rec { pname = "prowlarr"; - version = "0.1.1.978"; + version = "0.1.1.1030"; src = fetchurl { url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz"; diff --git a/pkgs/servers/unpfs/default.nix b/pkgs/servers/unpfs/default.nix index f1d1e52b6c6e..106d52479bc5 100644 --- a/pkgs/servers/unpfs/default.nix +++ b/pkgs/servers/unpfs/default.nix @@ -2,18 +2,18 @@ rustPlatform.buildRustPackage rec { pname = "unpfs"; - version = "0.0.2019-05-17"; + version = "unstable-2021-04-23"; src = fetchFromGitHub { owner = "pfpacket"; repo = "rust-9p"; - rev = "01cf9c60bff0f35567d876db7be7fb86032b44eb"; - sha256 = "0mhmr1912z5nyfpcvhnlgb3v67a5n7i2n9l5abi05sfqffqssi79"; + rev = "6d9b62aa182c5764e00b96f93109feb605d9eac9"; + sha256 = "sha256-zyDkUb+bFsVnxAE4UODbnRtDim7gqUNuY22vuxMsLZM="; }; sourceRoot = "source/example/unpfs"; - cargoSha256 = "1vdk99qz23lkh5z03qjjs3d6p2vdmxrmd2km9im94gzgcyb2fvjs"; + cargoSha256 = "sha256-v8hbxKuxux0oYglEIK5dM9q0oBQzjyYDP1JB1cYR/T0="; RUSTC_BOOTSTRAP = 1; diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index cf765a53c53f..01f9661bb899 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -1,22 +1,22 @@ -{ lib, python3, groff, less, fetchFromGitHub, fetchpatch }: +{ lib, python3, groff, less, fetchFromGitHub }: let py = python3.override { packageOverrides = self: super: { awscrt = super.awscrt.overridePythonAttrs (oldAttrs: rec { - version = "0.11.24"; + version = "0.12.4"; src = self.fetchPypi { inherit (oldAttrs) pname; inherit version; - sha256 = "sha256-uKpovKQEvwCFvgVw7/W1QtAffo48D5sIWav+XgcBYv8="; + sha256 = "sha256:1cmfkcv2zzirxsb989vx1hvna9nv24pghcvypl0zaxsjphv97mka"; }; }); botocore = super.botocore.overridePythonAttrs (oldAttrs: rec { - version = "2.0.0dev148"; + version = "2.0.0dev155"; src = fetchFromGitHub { owner = "boto"; repo = "botocore"; - rev = "c0734f100f61bbef413cb04d9890bbffbccd230f"; - sha256 = "sha256-ndSJdBF3NMNtpyHgYAksCUBDqlwPhugTkIK6Nby20oI="; + rev = "7083e5c204e139dc41f646e0ad85286b5e7c0c23"; + sha256 = "sha256-aiCc/CXoTem0a9wI/AMBRK3g2BXJi7LpnUY/BxBEKVM="; }; propagatedBuildInputs = super.botocore.propagatedBuildInputs ++ [py.pkgs.awscrt]; }); @@ -40,24 +40,17 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli2"; - version = "2.2.40"; # N.B: if you change this, change botocore to a matching version too + version = "2.3.4"; # N.B: if you change this, change botocore to a matching version too src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; rev = version; - sha256 = "sha256-IHnNRER9ePKVI9ez15HgxLDR1n6QR0iRESgNqbxQPx8="; + sha256 = "sha256-C/NrU+1AixuN4T1N5Zs8xduUQiwuQWvXkitQRnPJdNw="; }; - patches = [ - (fetchpatch { - url = "https://github.com/mgorny/aws-cli/commit/85361123d2fa12eaedf912c046ffe39aebdd2bad.patch"; - sha256 = "sha256-1Rb+/CY7ze1/DbJ6TfqHF01cfI2vixZ1dT91bmHTg/A="; - }) - ]; - postPatch = '' - substituteInPlace setup.py \ + substituteInPlace setup.cfg \ --replace "colorama>=0.2.5,<0.4.4" "colorama" \ --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \ --replace "docutils>=0.10,<0.16" "docutils" \ @@ -67,7 +60,7 @@ with py.pkgs; buildPythonApplication rec { --replace "distro>=1.5.0,<1.6.0" "distro" ''; - checkInputs = [ jsonschema mock nose ]; + checkInputs = [ jsonschema mock pytestCheckHook pytest-xdist ]; propagatedBuildInputs = [ awscrt @@ -93,8 +86,6 @@ with py.pkgs; buildPythonApplication rec { # https://github.com/NixOS/nixpkgs/issues/16144#issuecomment-225422439 export HOME=$TMP - - AWS_TEST_COMMAND=$out/bin/aws python scripts/ci/run-tests ''; postInstall = '' diff --git a/pkgs/tools/filesystems/dduper/default.nix b/pkgs/tools/filesystems/dduper/default.nix index 5d91e8d0dcc6..e7eecbf766ee 100644 --- a/pkgs/tools/filesystems/dduper/default.nix +++ b/pkgs/tools/filesystems/dduper/default.nix @@ -5,8 +5,8 @@ let patches = [ (fetchpatch { name = "0001-Print-csum-for-a-given-file-on-stdout.patch"; - url = "https://raw.githubusercontent.com/Lakshmipathi/dduper/8fab08e0f1901bf54411d25f1767b48c978074cb/patch/btrfs-progs-v5.9/0001-Print-csum-for-a-given-file-on-stdout.patch"; - sha256 = "1li9lslrap70ibad8sij3bgpxn5lqs0j10l60bmy3c36y866q3g1"; + url = "https://raw.githubusercontent.com/Lakshmipathi/dduper/f45d04854a40cb52ae0e6736916d5955cb68b8ee/patch/btrfs-progs-v5.12.1/0001-Print-csum-for-a-given-file-on-stdout.patch"; + sha256 = "0c7dd44q2ww6k9nk5dh6m0f0wbd8x84vb2m61fk6a44nsv2fwz1x"; }) ]; }); diff --git a/pkgs/tools/filesystems/sshfs-fuse/common.nix b/pkgs/tools/filesystems/sshfs-fuse/common.nix index f85faa712dd4..187efa1604e0 100644 --- a/pkgs/tools/filesystems/sshfs-fuse/common.nix +++ b/pkgs/tools/filesystems/sshfs-fuse/common.nix @@ -56,6 +56,7 @@ in stdenv.mkDerivation rec { longDescription = macfuse-stubs.warning; homepage = "https://github.com/libfuse/sshfs"; license = licenses.gpl2Plus; + mainProgram = "sshfs"; maintainers = with maintainers; [ primeos ]; }; } diff --git a/pkgs/tools/games/gamemode/preload-nix-workaround.patch b/pkgs/tools/games/gamemode/preload-nix-workaround.patch index 06989ff984ab..9c8db37f5d91 100644 --- a/pkgs/tools/games/gamemode/preload-nix-workaround.patch +++ b/pkgs/tools/games/gamemode/preload-nix-workaround.patch @@ -6,7 +6,7 @@ index 573b3e4..6f2799e 100755 # ld will find the right path to load the library, including for 32-bit apps. LD_PRELOAD="${GAMEMODEAUTO_NAME}${LD_PRELOAD:+:$LD_PRELOAD}" -+LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ++LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" -exec env LD_PRELOAD="${LD_PRELOAD}" $GAMEMODERUNEXEC "$@" +exec env LD_PRELOAD="${LD_PRELOAD}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" $GAMEMODERUNEXEC "$@" diff --git a/pkgs/tools/networking/connman/connman.nix b/pkgs/tools/networking/connman/connman.nix index 311fffb40874..c92cceeabc6f 100644 --- a/pkgs/tools/networking/connman/connman.nix +++ b/pkgs/tools/networking/connman/connman.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchurl +, fetchpatch , pkg-config , file , glib @@ -61,6 +62,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-GleufOI0qjoXRKrDvlwhIdmNzpmUQO+KucxO39XtyxI="; }; + patches = lib.optionals stdenv.hostPlatform.isMusl [ + # Fix Musl build by avoiding a Glibc-only API. + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/community/connman/libresolv.patch?id=e393ea84386878cbde3cccadd36a30396e357d1e"; + sha256 = "1kg2nml7pdxc82h5hgsa3npvzdxy4d2jpz2f93pa97if868i8d43"; + }) + ]; + buildInputs = [ glib dbus diff --git a/pkgs/tools/networking/mcrcon/default.nix b/pkgs/tools/networking/mcrcon/default.nix index ed2596bc88ba..713a3dbfd91b 100644 --- a/pkgs/tools/networking/mcrcon/default.nix +++ b/pkgs/tools/networking/mcrcon/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mcrcon"; - version = "0.7.1"; + version = "0.7.2"; src = fetchFromGitHub { owner = "Tiiffi"; repo = "mcrcon"; rev = "v${version}"; - sha256 = "004h1glagyw1mic1k461bky0w2fxdfhrhcqjzr9wp6gvyy9s8bix"; + sha256 = "sha256-cedeKsZgEyu0jqN4kBSgMJzFNUfCVXCEwH3M54miSG4="; }; buildPhase = '' diff --git a/pkgs/tools/networking/ngrep/default.nix b/pkgs/tools/networking/ngrep/default.nix index 1e57ac75843e..bee8678d1c93 100644 --- a/pkgs/tools/networking/ngrep/default.nix +++ b/pkgs/tools/networking/ngrep/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { # 'BSD-like' license but that the 'regex' library (in the ngrep tarball) is # GPLv2. license = "ngrep"; # Some custom BSD-style, see LICENSE.txt - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/tools/networking/tox-node/default.nix b/pkgs/tools/networking/tox-node/default.nix index 5ed6aa632d33..80d20a7ce7f7 100644 --- a/pkgs/tools/networking/tox-node/default.nix +++ b/pkgs/tools/networking/tox-node/default.nix @@ -1,6 +1,7 @@ { lib, rustPlatform, fetchFromGitHub , libsodium, openssl , pkg-config +, fetchpatch }: with rustPlatform; @@ -16,6 +17,14 @@ buildRustPackage rec { sha256 = "sha256-tB6v2NEBdTNHf89USdQOr/pV0mbxxb8ftOYPPJMvz5Y="; }; + cargoPatches = [ + # update cargo lock + (fetchpatch { + url = "https://github.com/tox-rs/tox-node/commit/63712d49d84e55df7bba9710e129780bbc636de3.patch"; + sha256 = "sha256-jI6b5IHsAuGuM+7sPCdFnOOuV6K9rBmc5QqU5x72Fl0="; + }) + ]; + buildInputs = [ libsodium openssl ]; nativeBuildInputs = [ pkg-config ]; @@ -23,13 +32,13 @@ buildRustPackage rec { doCheck = false; - cargoSha256 = "sha256-J/0KO33vZmOvm6V7qCXInuAJTbRqyy5/qj6p6dEmoas="; + cargoSha256 = "sha256-yHsYjKJJNjepvcNszj4XQ0DbOY3AEJMZOnz0cAiwO1A="; meta = with lib; { description = "A server application to run tox node written in pure Rust"; homepage = "https://github.com/tox-rs/tox-node"; license = [ licenses.gpl3Plus ]; platforms = platforms.linux; - maintainers = with maintainers; [ suhr ]; + maintainers = with maintainers; [ suhr kurnevsky ]; }; } diff --git a/pkgs/tools/nix/statix/default.nix b/pkgs/tools/nix/statix/default.nix index c78ace218c08..1a1f5c4a2431 100644 --- a/pkgs/tools/nix/statix/default.nix +++ b/pkgs/tools/nix/statix/default.nix @@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec { pname = "statix"; # also update version of the vim plugin in pkgs/misc/vim-plugins/overrides.nix # the version can be found in flake.nix of the source code - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "nerdypepper"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vJvHmg6X/B6wQYjeX1FZC4MDGo0HkKbTmQH+l4tZAwg="; + sha256 = "sha256-fsEqPr+qtLNmTtxUxjcVDPoG7fjqFImnVHwscy2IBkE="; }; - cargoSha256 = "sha256-OfLpnVe1QIjpjpD4ticG/7AxPGFMMjBWN3DdLZq6pA8="; + cargoSha256 = "sha256-7fSJhRqZh7lUIe8vVzIVx+1phd+Am+GNzKN62NSuOYs="; cargoBuildFlags = lib.optionals withJson [ "--features" "json" ]; diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index 3166571b4257..440da49c2e3d 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2021-11-04"; + version = "2021-11-05"; src = fetchFromGitHub { owner = "offensive-security"; repo = pname; rev = version; - sha256 = "sha256-4qNQcmBq0q+FDRGtunUfngO+1jAK+fUBUHsq8E2rAy0="; + sha256 = "sha256-G+toeAMnP26Wzs5gPeT+YKJ8uiy/mgFwBGxDY9w0qyM="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/pwncat/default.nix b/pkgs/tools/security/pwncat/default.nix index 67cfac9085fa..398132c4cee7 100644 --- a/pkgs/tools/security/pwncat/default.nix +++ b/pkgs/tools/security/pwncat/default.nix @@ -5,11 +5,11 @@ buildPythonApplication rec { pname = "pwncat"; - version = "0.1.1"; + version = "0.1.2"; src = fetchPypi { inherit pname version; - sha256 = "62e625e9061f037cfca7b7455a4f7db4213c1d1302e73d4c475c63f924f1805f"; + sha256 = "1230fdn5mx3wwr3a3nn6z2vwh973n248m11hnx9y3fjq7bgpky67"; }; # Tests requires to start containers diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 171e7f110b47..9278e67b9dd9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10243,6 +10243,8 @@ with pkgs; v2ray = callPackage ../tools/networking/v2ray { }; + v2ray-domain-list-community = callPackage ../data/misc/v2ray-domain-list-community { }; + vacuum = callPackage ../applications/networking/instant-messengers/vacuum {}; vampire = callPackage ../applications/science/logic/vampire {}; @@ -12785,7 +12787,9 @@ with pkgs; cargo-make = callPackage ../development/tools/rust/cargo-make { inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration; }; - cargo-modules = callPackage ../development/tools/rust/cargo-modules { }; + cargo-modules = callPackage ../development/tools/rust/cargo-modules { + inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices; + }; cargo-msrv = callPackage ../development/tools/rust/cargo-msrv { inherit (darwin.apple_sdk.frameworks) Security; }; @@ -12795,7 +12799,9 @@ with pkgs; }; cargo-readme = callPackage ../development/tools/rust/cargo-readme {}; cargo-sort = callPackage ../development/tools/rust/cargo-sort { }; - cargo-spellcheck = callPackage ../development/tools/rust/cargo-spellcheck { }; + cargo-spellcheck = callPackage ../development/tools/rust/cargo-spellcheck { + inherit (darwin.apple_sdk.frameworks) Security; + }; cargo-supply-chain = callPackage ../development/tools/rust/cargo-supply-chain { inherit (darwin.apple_sdk.frameworks) Security; }; @@ -18845,7 +18851,8 @@ with pkgs; inherit (callPackages ../development/libraries/openssl { }) openssl_1_0_2 - openssl_1_1; + openssl_1_1 + openssl_3_0; openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix { }; @@ -24129,6 +24136,10 @@ with pkgs; clapper = callPackage ../applications/video/clapper { }; + ciscoPacketTracer7 = callPackage ../applications/networking/cisco-packet-tracer/7.nix { }; + + ciscoPacketTracer8 = callPackage ../applications/networking/cisco-packet-tracer/8.nix { }; + claws-mail-gtk2 = callPackage ../applications/networking/mailreaders/claws-mail { inherit (xorg) libSM; useGtk3 = false; @@ -27020,6 +27031,8 @@ with pkgs; jdk = jdk11; }; + netcoredbg = callPackage ../development/tools/misc/netcoredbg { }; + ncdu = callPackage ../tools/misc/ncdu { }; ncdc = callPackage ../applications/networking/p2p/ncdc { }; @@ -27972,6 +27985,8 @@ with pkgs; super-slicer-staging = (callPackage ../applications/misc/prusa-slicer/super-slicer.nix { }).staging; + snapmaker-luban = callPackage ../applications/misc/snapmaker-luban { }; + robustirc-bridge = callPackage ../servers/irc/robustirc-bridge { }; skrooge = libsForQt5.callPackage ../applications/office/skrooge {}; @@ -29069,6 +29084,8 @@ with pkgs; picom = callPackage ../applications/window-managers/picom {}; + picom-next = callPackage ../applications/window-managers/picom/picom-next.nix { }; + xd = callPackage ../applications/networking/p2p/xd {}; xdaliclock = callPackage ../tools/misc/xdaliclock {}; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f49883923034..22c4cd0e9695 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5804,6 +5804,20 @@ let }; }; + DateTimeFormatRFC3339 = buildPerlPackage rec { + pname = "DateTime-Format-RFC3339"; + version = "1.2.0"; + src = fetchurl { + url = "mirror://cpan/authors/id/I/IK/IKEGAMI/DateTime-Format-RFC3339-v${version}.tar.gz"; + sha256 = "1xqdbbiksy6kapc3mv3ayjahmxxlzmb5x7rad4by1iii9hif2vhk"; + }; + propagatedBuildInputs = [ DateTime ]; + meta = { + description = "Parse and format RFC3339 datetime strings"; + license = lib.licenses.cc0; + }; + }; + DateTimeSet = buildPerlModule { pname = "DateTime-Set"; version = "0.3900"; @@ -24686,7 +24700,8 @@ let sha256 = "068nhmld1031grgi4qm7k5niwxlbn6qd08zf6g1gj4c7qfas62q1"; }; SKIP_SAX_INSTALL = 1; - buildInputs = [ AlienBuild AlienLibxml2 ]; + buildInputs = [ AlienBuild AlienLibxml2 ] + ++ lib.optional stdenv.isDarwin pkgs.libiconv; propagatedBuildInputs = [ XMLSAX ]; };