diff --git a/doc/stdenv/meta.chapter.md b/doc/stdenv/meta.chapter.md index ac518cee524c..d3e1dd5b27d8 100644 --- a/doc/stdenv/meta.chapter.md +++ b/doc/stdenv/meta.chapter.md @@ -192,10 +192,6 @@ meta.hydraPlatforms = []; If set to `true`, the package is marked as "broken", meaning that it won’t show up in `nix-env -qa`, and cannot be built or installed. Such packages should be removed from Nixpkgs eventually unless they are fixed. -### `updateWalker` {#var-meta-updateWalker} - -If set to `true`, the package is tested to be updated correctly by the `update-walker.sh` script without additional settings. Such packages have `meta.version` set and their homepage (or the page specified by `meta.downloadPage`) contains a direct link to the package tarball. - ## Licenses {#sec-meta-license} The `meta.license` attribute should preferably contain a value from `lib.licenses` defined in [`nixpkgs/lib/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix), or in-place license description of the same format if the license is unlikely to be useful in another expression. diff --git a/flake.nix b/flake.nix index 39553cde0ab5..29dffa9fa4e4 100644 --- a/flake.nix +++ b/flake.nix @@ -48,10 +48,6 @@ system.nixos.versionSuffix = ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}"; system.nixos.revision = final.mkIf (self ? rev) self.rev; - - # NOTE: This assumes that `nixpkgs.config` is _not_ used when - # nixpkgs.pkgs is set OR _module.args.pkgs is set. - nixpkgs.config.path = self.outPath; } ]; }); @@ -66,7 +62,7 @@ }).nixos.manual.x86_64-linux; }; - legacyPackages = forAllSystems (system: import ./. { inherit system; config.path = self.outPath; }); + legacyPackages = forAllSystems (system: import ./. { inherit system; }); nixosModules = { notDetected = import ./nixos/modules/installer/scan/not-detected.nix; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 9f5279732fe4..8d8d70440e84 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -531,6 +531,29 @@ was added. + + + The configuration portion of the nix-daemon + module has been reworked and exposed as + nix.settings: + + + + + Legacy options have been mapped to the corresponding + options under under + nix.settings + but may be deprecated in the future. + + + + + nix.buildMachines.publicHostKey + has been added. + + + + The diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index 6c7fc57f8d83..ab2a5d83a089 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -453,7 +453,7 @@ Allow ad-hoc remote builders for building the new system. This requires the user executing nixos-rebuild (usually root) to be configured as a trusted user in the Nix daemon. This can be achieved by - using the nix.trustedUsers NixOS option. Examples + using the nix.settings.trusted-users NixOS option. Examples values for that option are described in the Remote builds chapter in the Nix manual, (i.e. --builders "ssh://bigbrother x86_64-linux"). By specifying an empty string diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 629672259b21..61305fe70d65 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -183,6 +183,10 @@ In addition to numerous new and upgraded packages, this release has the followin Similarly [virtualisation.vmVariantWithBootloader](#opt-virtualisation.vmVariantWithBootLoader) was added. +- The configuration portion of the `nix-daemon` module has been reworked and exposed as [nix.settings](options.html#opt-nix-settings): + * Legacy options have been mapped to the corresponding options under under [nix.settings](options.html#opt-nix.settings) but may be deprecated in the future. + * [nix.buildMachines.publicHostKey](options.html#opt-nix.buildMachines.publicHostKey) has been added. + - The `writers.writePyPy2`/`writers.writePyPy3` and corresponding `writers.writePyPy2Bin`/`writers.writePyPy3Bin` convenience functions to create executable Python 2/3 scripts using the PyPy interpreter were added. - The `influxdb2` package was split into `influxdb2-server` and diff --git a/nixos/maintainers/scripts/azure-new/examples/basic/system.nix b/nixos/maintainers/scripts/azure-new/examples/basic/system.nix index 855bd3bab719..d283742701d1 100644 --- a/nixos/maintainers/scripts/azure-new/examples/basic/system.nix +++ b/nixos/maintainers/scripts/azure-new/examples/basic/system.nix @@ -17,7 +17,7 @@ in description = "Azure NixOS Test User"; openssh.authorizedKeys.keys = [ (builtins.readFile ~/.ssh/id_ed25519.pub) ]; }; - nix.trustedUsers = [ username ]; + nix.settings.trusted-users = [ username ]; virtualisation.azureImage.diskSize = 2500; diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index 2768e17590b3..27a7651382b2 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -25,7 +25,7 @@ with lib; installer.cloneConfigExtra = '' # Let demo build as a trusted user. - # nix.trustedUsers = [ "demo" ]; + # nix.settings.trusted-users = [ "demo" ]; # Mount a VirtualBox shared folder. # This is configurable in the VirtualBox menu at diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 2afa43a3fe71..b7746ddc2115 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -61,85 +61,17 @@ let in scrubbedEval.options; baseOptionsJSON = let - filterIntoStore = + filter = builtins.filterSource (n: t: (t == "directory" -> baseNameOf n != "tests") && (t == "file" -> hasSuffix ".nix" n) ); - - # Figure out if Nix runs in pure evaluation mode. May return true in - # impure mode, but this is highly unlikely. - # We need to know because of https://github.com/NixOS/nix/issues/1888 - # and https://github.com/NixOS/nix/issues/5868 - isPureEval = builtins.getEnv "PATH" == "" && builtins.getEnv "_" == ""; - - # Return a nixpkgs subpath with minimal copying. - # - # The sources for the base options json derivation can come in one of - # two forms: - # - single source: a store path with all of nixpkgs, postfix with - # subpaths to access various directories. This has the benefit of - # not creating copies of these subtrees in the Nix store, but - # can cause unnecessary rebuilds if you update the Nixpkgs `pkgs` - # tree often. - # - split sources: multiple store paths with subdirectories of - # nixpkgs that exclude the bulk of the pkgs directory. - # This requires more copying and hashing during evaluation but - # requires fewer files to be copied. This method produces fewer - # unnecessary rebuilds of the base options json. - # - # Flake - # - # Flakes always put a copy of the full nixpkgs sources in the store, - # so we can use the "single source" method. This method is ideal - # for using nixpkgs as a dependency, as the base options json will be - # substitutable from cache.nixos.org. - # - # This requires that the `self.outPath` is wired into `pkgs` correctly, - # which is done for you if `pkgs` comes from the `lib.nixosSystem` or - # `legacyPackages` flake attributes. - # - # Other Nixpkgs invocation - # - # If you do not use the known-correct flake attributes, but rather - # invoke Nixpkgs yourself, set `config.path` to the correct path value, - # e.g. `import nixpkgs { config.path = nixpkgs; }`. - # - # Choosing between single or split source paths - # - # We make assumptions based on the type and contents of `pkgs.path`. - # By passing a different `config.path` to Nixpkgs, you can influence - # how your documentation cache is evaluated and rebuilt. - # - # Single source - # - If pkgs.path is a string containing a store path, the code has no - # choice but to create this store path, if it hasn't already been. - # We assume that the "single source" method is most efficient. - # - If pkgs.path is a path value containing that is a store path, - # we try to convert it to a string with context without copying. - # This occurs for example when nixpkgs was fetched and using its - # default `config.path`, which is `./.`. - # Nix currently does not allow this conversion when evaluating in - # pure mode. If the conversion is not possible, we use the - # "split source" method. - # - # Split source - # - If pkgs.path is a path value that is not a store path, we assume - # that it's unlikely for all of nixpkgs to end up in the store for - # other reasons and try to keep both the copying and rebuilds low. - pull = - if builtins.typeOf pkgs.path == "string" && isStorePath pkgs.path then - dir: "${pkgs.path}/${dir}" - else if !isPureEval && isStorePath pkgs.path then - dir: "${builtins.storePath pkgs.path}/${dir}" - else - dir: filterIntoStore "${toString pkgs.path}/${dir}"; in pkgs.runCommand "lazy-options.json" { - libPath = pull "lib"; - pkgsLibPath = pull "pkgs/pkgs-lib"; - nixosPath = pull "nixos"; + libPath = filter "${toString pkgs.path}/lib"; + pkgsLibPath = filter "${toString pkgs.path}/pkgs/pkgs-lib"; + nixosPath = filter "${toString pkgs.path}/nixos"; modules = map (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy; } '' export NIX_STORE_DIR=$TMPDIR/store diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 14dd1d816dbe..69967c8a7601 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -59,8 +59,6 @@ let inherit (cfg) config overlays localSystem crossSystem; }; - # NOTE: flake.nix assumes that nixpkgs.config is only used with ../../.. - # as nixpkgs.config.path should be equivalent to ../../.. finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs; in diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix index 3f8f78f012a7..856ee480fc0b 100644 --- a/nixos/modules/profiles/hardened.nix +++ b/nixos/modules/profiles/hardened.nix @@ -17,7 +17,7 @@ with lib; boot.kernelPackages = mkDefault pkgs.linuxPackages_hardened; - nix.allowedUsers = mkDefault [ "@users" ]; + nix.settings.allowed-users = mkDefault [ "@users" ]; environment.memoryAllocator.provider = mkDefault "scudo"; environment.variables.SCUDO_OPTIONS = mkDefault "ZeroContents=1"; diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix index e7abc1e0d597..c20e067b8cc7 100644 --- a/nixos/modules/security/misc.nix +++ b/nixos/modules/security/misc.nix @@ -123,8 +123,8 @@ with lib; boot.kernel.sysctl."user.max_user_namespaces" = 0; assertions = [ - { assertion = config.nix.useSandbox -> config.security.allowUserNamespaces; - message = "`nix.useSandbox = true` conflicts with `!security.allowUserNamespaces`."; + { assertion = config.nix.settings.sandbox -> config.security.allowUserNamespaces; + message = "`nix.settings.sandbox = true` conflicts with `!security.allowUserNamespaces`."; } ]; }) diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix index d4b8541c6a1b..dc58c6345239 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix @@ -147,7 +147,7 @@ in concurrent = mkOption { type = types.int; default = 1; - example = literalExpression "config.nix.maxJobs"; + example = literalExpression "config.nix.settings.max-jobs"; description = '' Limits how many jobs globally can be run concurrently. The most upper limit of jobs using all defined runners. diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix index 968bc8f1e54e..ef1933e12284 100644 --- a/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix +++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix @@ -67,7 +67,7 @@ in # Trusted user allows simplified configuration and better performance # when operating in a cluster. - nix.trustedUsers = [ config.systemd.services.hercules-ci-agent.serviceConfig.User ]; + nix.settings.trusted-users = [ config.systemd.services.hercules-ci-agent.serviceConfig.User ]; services.hercules-ci-agent = { settings = { nixUserIsTrusted = true; diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix index ccb7cc21734e..cc5de97d6d10 100644 --- a/nixos/modules/services/continuous-integration/hydra/default.nix +++ b/nixos/modules/services/continuous-integration/hydra/default.nix @@ -258,8 +258,6 @@ in uid = config.ids.uids.hydra-www; }; - nix.trustedUsers = [ "hydra-queue-runner" ]; - services.hydra.extraConfig = '' using_frontend_proxy = 1 @@ -277,16 +275,21 @@ in environment.variables = hydraEnv; - nix.extraOptions = '' - keep-outputs = true - keep-derivations = true + nix.settings = mkMerge [ + { + keep-outputs = true; + keep-derivations = true; + trusted-users = [ "hydra-queue-runner" ]; + } - - '' + optionalString (versionOlder (getVersion config.nix.package.out) "2.4pre") '' - # The default (`true') slows Nix down a lot since the build farm - # has so many GC roots. - gc-check-reachability = false - ''; + (mkIf (versionOlder (getVersion config.nix.package.out) "2.4pre") + { + # The default (`true') slows Nix down a lot since the build farm + # has so many GC roots. + gc-check-reachability = false; + } + ) + ]; systemd.services.hydra-init = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 869feb05eb7b..10f9a4afb36c 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -6,20 +6,20 @@ let cfg = config.nix; - nix = cfg.package.out; + nixPackage = cfg.package.out; - nixVersion = getVersion nix; - - isNix23 = versionAtLeast nixVersion "2.3pre"; + isNixAtLeast = versionAtLeast (getVersion nixPackage); makeNixBuildUser = nr: { - name = "nixbld${toString nr}"; + name = "nixbld${toString nr}"; value = { description = "Nix build user ${toString nr}"; - /* For consistency with the setgid(2), setuid(2), and setgroups(2) - calls in `libstore/build.cc', don't add any supplementary group - here except "nixbld". */ + /* + For consistency with the setgid(2), setuid(2), and setgroups(2) + calls in `libstore/build.cc', don't add any supplementary group + here except "nixbld". + */ uid = builtins.add config.ids.uids.nixbld nr; isSystemUser = true; group = "nixbld"; @@ -30,43 +30,82 @@ let nixbldUsers = listToAttrs (map makeNixBuildUser (range 1 cfg.nrBuildUsers)); nixConf = - assert versionAtLeast nixVersion "2.2"; - pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } ( - '' - cat > $out </dev/null - '') - ); + ${mkKeyValuePairs cfg.settings} + ${cfg.extraOptions} + ''; + checkPhase = + if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then '' + echo "Ignoring validation for cross-compilation" + '' + else '' + echo "Validating generated nix.conf" + ln -s $out ./nix.conf + set -e + set +o pipefail + NIX_CONF_DIR=$PWD \ + ${cfg.package}/bin/nix show-config ${optionalString (isNixAtLeast "2.3pre") "--no-net --option experimental-features nix-command"} \ + |& sed -e 's/^warning:/error:/' \ + | (! grep '${if cfg.checkConfig then "^error:" else "^error: unknown setting"}') + set -o pipefail + ''; + }; + + legacyConfMappings = { + useSandbox = "sandbox"; + buildCores = "cores"; + maxJobs = "max-jobs"; + sandboxPaths = "extra-sandbox-paths"; + binaryCaches = "substituters"; + trustedBinaryCaches = "trusted-substituters"; + binaryCachePublicKeys = "trusted-public-keys"; + autoOptimiseStore = "auto-optimise-store"; + requireSignedBinaryCaches = "require-sigs"; + trustedUsers = "trusted-users"; + allowedUsers = "allowed-users"; + systemFeatures = "system-feature"; + }; + + semanticConfType = with types; + let + confAtom = nullOr + (oneOf [ + bool + int + float + str + path + package + ]) // { + description = "Nix config atom (null, bool, int, float, str, path or package)"; + }; + in + attrsOf (either confAtom (listOf confAtom)); in @@ -76,7 +115,7 @@ in (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ]) (mkRenamedOptionModule [ "nix" "daemonIONiceLevel" ] [ "nix" "daemonIOSchedPriority" ]) (mkRemovedOptionModule [ "nix" "daemonNiceLevel" ] "Consider nix.daemonCPUSchedPolicy instead.") - ]; + ] ++ mapAttrsToList (oldConf: newConf: mkRenamedOptionModule [ "nix" oldConf ] [ "nix" "settings" newConf ]) legacyConfMappings; ###### interface @@ -102,81 +141,6 @@ in ''; }; - maxJobs = mkOption { - type = types.either types.int (types.enum ["auto"]); - default = "auto"; - example = 64; - description = '' - This option defines the maximum number of jobs that Nix will try to - build in parallel. The default is auto, which means it will use all - available logical cores. It is recommend to set it to the total - number of logical cores in your system (e.g., 16 for two CPUs with 4 - cores each and hyper-threading). - ''; - }; - - autoOptimiseStore = mkOption { - type = types.bool; - default = false; - example = true; - description = '' - If set to true, Nix automatically detects files in the store that have - identical contents, and replaces them with hard links to a single copy. - This saves disk space. If set to false (the default), you can still run - nix-store --optimise to get rid of duplicate files. - ''; - }; - - buildCores = mkOption { - type = types.int; - default = 0; - example = 64; - description = '' - This option defines the maximum number of concurrent tasks during - one build. It affects, e.g., -j option for make. - The special value 0 means that the builder should use all - available CPU cores in the system. Some builds may become - non-deterministic with this option; use with care! Packages will - only be affected if enableParallelBuilding is set for them. - ''; - }; - - useSandbox = mkOption { - type = types.either types.bool (types.enum ["relaxed"]); - default = true; - description = " - If set, Nix will perform builds in a sandboxed environment that it - will set up automatically for each build. This prevents impurities - in builds by disallowing access to dependencies outside of the Nix - store by using network and mount namespaces in a chroot environment. - This is enabled by default even though it has a possible performance - impact due to the initial setup time of a sandbox for each build. It - doesn't affect derivation hashes, so changing this option will not - trigger a rebuild of packages. - "; - }; - - sandboxPaths = mkOption { - type = types.listOf types.str; - default = []; - example = [ "/dev" "/proc" ]; - description = - '' - Directories from the host filesystem to be included - in the sandbox. - ''; - }; - - extraOptions = mkOption { - type = types.lines; - default = ""; - example = '' - keep-outputs = true - keep-derivations = true - ''; - description = "Additional text appended to nix.conf."; - }; - distributedBuilds = mkOption { type = types.bool; default = false; @@ -187,7 +151,7 @@ in }; daemonCPUSchedPolicy = mkOption { - type = types.enum ["other" "batch" "idle"]; + type = types.enum [ "other" "batch" "idle" ]; default = "other"; example = "batch"; description = '' @@ -218,7 +182,7 @@ in }; daemonIOSchedClass = mkOption { - type = types.enum ["best-effort" "idle"]; + type = types.enum [ "best-effort" "idle" ]; default = "best-effort"; example = "idle"; description = '' @@ -250,11 +214,11 @@ in scheduling policy: With idle, priorities are not used in scheduling decisions. best-effort supports values in the range 0 (high) to 7 (low). - ''; + ''; }; buildMachines = mkOption { - type = types.listOf (types.submodule ({ + type = types.listOf (types.submodule { options = { hostName = mkOption { type = types.str; @@ -276,7 +240,7 @@ in }; systems = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "x86_64-linux" "aarch64-linux" ]; description = '' The system types the build machine can execute derivations on. @@ -293,7 +257,7 @@ in The username to log in as on the remote host. This user must be able to log in and run nix commands non-interactively. It must also be privileged to build derivations, so must be included in - . + . ''; }; sshKey = mkOption { @@ -331,7 +295,7 @@ in }; mandatoryFeatures = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "big-parallel" ]; description = '' A list of features mandatory for this builder. The builder will @@ -342,7 +306,7 @@ in }; supportedFeatures = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "kvm" "big-parallel" ]; description = '' A list of features supported by this builder. The builder will @@ -350,9 +314,18 @@ in list. ''; }; + publicHostKey = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The (base64-encoded) public host key of this builder. The field + is calculated via base64 -w0 /etc/ssh/ssh_host_type_key.pub. + If null, SSH will use its regular known-hosts file when connecting. + ''; + }; }; - })); - default = []; + }); + default = [ ]; description = '' This option lists the machines to be used if distributed builds are enabled (see ). @@ -366,7 +339,7 @@ in envVars = mkOption { type = types.attrs; internal = true; - default = {}; + default = { }; description = "Environment variables used by Nix."; }; @@ -391,92 +364,13 @@ in ''; }; - binaryCaches = mkOption { - type = types.listOf types.str; - description = '' - List of binary cache URLs used to obtain pre-built binaries - of Nix packages. - - By default https://cache.nixos.org/ is added, - to override it use lib.mkForce []. - ''; - }; - - trustedBinaryCaches = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "https://hydra.nixos.org/" ]; - description = '' - List of binary cache URLs that non-root users can use (in - addition to those specified using - ) by passing - --option binary-caches to Nix commands. - ''; - }; - - requireSignedBinaryCaches = mkOption { - type = types.bool; - default = true; - description = '' - If enabled (the default), Nix will only download binaries from binary caches if - they are cryptographically signed with any of the keys listed in - . If disabled, signatures are neither - required nor checked, so it's strongly recommended that you use only - trustworthy caches and https to prevent man-in-the-middle attacks. - ''; - }; - - binaryCachePublicKeys = mkOption { - type = types.listOf types.str; - example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ]; - description = '' - List of public keys used to sign binary caches. If - is enabled, - then Nix will use a binary from a binary cache if and only - if it is signed by any of the keys - listed here. By default, only the key for - cache.nixos.org is included. - ''; - }; - - trustedUsers = mkOption { - type = types.listOf types.str; - default = [ "root" ]; - example = [ "root" "alice" "@wheel" ]; - description = '' - A list of names of users that have additional rights when - connecting to the Nix daemon, such as the ability to specify - additional binary caches, or to import unsigned NARs. You - can also specify groups by prefixing them with - @; for instance, - @wheel means all users in the wheel - group. - ''; - }; - - allowedUsers = mkOption { - type = types.listOf types.str; - default = [ "*" ]; - example = [ "@wheel" "@builders" "alice" "bob" ]; - description = '' - A list of names of users (separated by whitespace) that are - allowed to connect to the Nix daemon. As with - , you can specify groups by - prefixing them with @. Also, you can - allow all users by specifying *. The - default is *. Note that trusted users are - always allowed to connect. - ''; - }; - nixPath = mkOption { type = types.listOf types.str; - default = - [ - "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" - "nixos-config=/etc/nixos/configuration.nix" - "/nix/var/nix/profiles/per-user/root/channels" - ]; + default = [ + "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" + "nixos-config=/etc/nixos/configuration.nix" + "/nix/var/nix/profiles/per-user/root/channels" + ]; description = '' The default Nix expression search path, used by the Nix evaluator to look up paths enclosed in angle brackets @@ -484,45 +378,44 @@ in ''; }; - systemFeatures = mkOption { - type = types.listOf types.str; - example = [ "kvm" "big-parallel" "gccarch-skylake" ]; - description = '' - The supported features of a machine - ''; - }; - checkConfig = mkOption { type = types.bool; default = true; description = '' - If enabled (the default), checks that Nix can parse the generated nix.conf. + If enabled (the default), checks for data type mismatches and that Nix + can parse the generated nix.conf. ''; }; registry = mkOption { type = types.attrsOf (types.submodule ( let - inputAttrs = types.attrsOf (types.oneOf [types.str types.int types.bool types.package]); + referenceAttrs = with types; attrsOf (oneOf [ + str + int + bool + package + ]); in { config, name, ... }: - { options = { + { + options = { from = mkOption { - type = inputAttrs; + type = referenceAttrs; example = { type = "indirect"; id = "nixpkgs"; }; description = "The flake reference to be rewritten."; }; to = mkOption { - type = inputAttrs; + type = referenceAttrs; example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; }; - description = "The flake reference to which is to be rewritten."; + description = "The flake reference is rewritten to."; }; flake = mkOption { type = types.nullOr types.attrs; default = null; example = literalExpression "nixpkgs"; description = '' - The flake input to which is to be rewritten. + The flake input is rewritten to. ''; }; exact = mkOption { @@ -537,35 +430,232 @@ in }; config = { from = mkDefault { type = "indirect"; id = name; }; - to = mkIf (config.flake != null) - ({ type = "path"; - path = config.flake.outPath; - } // lib.filterAttrs - (n: v: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash") - config.flake); + to = mkIf (config.flake != null) (mkDefault + { + type = "path"; + path = config.flake.outPath; + } // filterAttrs + (n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash") + config.flake); }; } )); - default = {}; + default = { }; description = '' A system-wide flake registry. ''; }; - }; + extraOptions = mkOption { + type = types.lines; + default = ""; + example = '' + keep-outputs = true + keep-derivations = true + ''; + description = "Additional text appended to nix.conf."; + }; + settings = mkOption { + type = types.submodule { + freeformType = semanticConfType; + + options = { + max-jobs = mkOption { + type = types.either types.int (types.enum [ "auto" ]); + default = "auto"; + example = 64; + description = '' + This option defines the maximum number of jobs that Nix will try to + build in parallel. The default is auto, which means it will use all + available logical cores. It is recommend to set it to the total + number of logical cores in your system (e.g., 16 for two CPUs with 4 + cores each and hyper-threading). + ''; + }; + + auto-optimise-store = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + If set to true, Nix automatically detects files in the store that have + identical contents, and replaces them with hard links to a single copy. + This saves disk space. If set to false (the default), you can still run + nix-store --optimise to get rid of duplicate files. + ''; + }; + + cores = mkOption { + type = types.int; + default = 0; + example = 64; + description = '' + This option defines the maximum number of concurrent tasks during + one build. It affects, e.g., -j option for make. + The special value 0 means that the builder should use all + available CPU cores in the system. Some builds may become + non-deterministic with this option; use with care! Packages will + only be affected if enableParallelBuilding is set for them. + ''; + }; + + sandbox = mkOption { + type = types.either types.bool (types.enum [ "relaxed" ]); + default = true; + description = '' + If set, Nix will perform builds in a sandboxed environment that it + will set up automatically for each build. This prevents impurities + in builds by disallowing access to dependencies outside of the Nix + store by using network and mount namespaces in a chroot environment. + This is enabled by default even though it has a possible performance + impact due to the initial setup time of a sandbox for each build. It + doesn't affect derivation hashes, so changing this option will not + trigger a rebuild of packages. + ''; + }; + + extra-sandbox-paths = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "/dev" "/proc" ]; + description = '' + Directories from the host filesystem to be included + in the sandbox. + ''; + }; + + substituters = mkOption { + type = types.listOf types.str; + description = '' + List of binary cache URLs used to obtain pre-built binaries + of Nix packages. + + By default https://cache.nixos.org/ is added. + ''; + }; + + trusted-substituters = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "https://hydra.nixos.org/" ]; + description = '' + List of binary cache URLs that non-root users can use (in + addition to those specified using + ) by passing + --option binary-caches to Nix commands. + ''; + }; + + require-sigs = mkOption { + type = types.bool; + default = true; + description = '' + If enabled (the default), Nix will only download binaries from binary caches if + they are cryptographically signed with any of the keys listed in + . If disabled, signatures are neither + required nor checked, so it's strongly recommended that you use only + trustworthy caches and https to prevent man-in-the-middle attacks. + ''; + }; + + trusted-public-keys = mkOption { + type = types.listOf types.str; + example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ]; + description = '' + List of public keys used to sign binary caches. If + is enabled, + then Nix will use a binary from a binary cache if and only + if it is signed by any of the keys + listed here. By default, only the key for + cache.nixos.org is included. + ''; + }; + + trusted-users = mkOption { + type = types.listOf types.str; + default = [ "root" ]; + example = [ "root" "alice" "@wheel" ]; + description = '' + A list of names of users that have additional rights when + connecting to the Nix daemon, such as the ability to specify + additional binary caches, or to import unsigned NARs. You + can also specify groups by prefixing them with + @; for instance, + @wheel means all users in the wheel + group. + ''; + }; + + system-features = mkOption { + type = types.listOf types.str; + example = [ "kvm" "big-parallel" "gccarch-skylake" ]; + description = '' + The set of features supported by the machine. Derivations + can express dependencies on system features through the + requiredSystemFeatures attribute. + + By default, pseudo-features nixos-test, benchmark, + and big-parallel used in Nixpkgs are set, kvm + is also included in it is avaliable. + ''; + }; + + allowed-users = mkOption { + type = types.listOf types.str; + default = [ "*" ]; + example = [ "@wheel" "@builders" "alice" "bob" ]; + description = '' + A list of names of users (separated by whitespace) that are + allowed to connect to the Nix daemon. As with + , you can specify groups by + prefixing them with @. Also, you can + allow all users by specifying *. The + default is *. Note that trusted users are + always allowed to connect. + ''; + }; + }; + }; + default = { }; + example = literalExpression '' + { + use-sandbox = true; + show-trace = true; + + system-features = [ "big-parallel" "kvm" "recursive-nix" ]; + sandbox-paths = { "/bin/sh" = "''${pkgs.busybox-sandbox-shell.out}/bin/busybox"; }; + } + ''; + description = '' + Configuration for Nix, see + or + + nix.conf + 5 + for avalaible options. + The value declared here will be translated directly to the key-value pairs Nix expects. + + + You can use nix-instantiate --eval --strict '<nixpkgs/nixos>' -A config.nix.settings + to view the current value. By default it is empty. + + + Nix configurations defined under will be translated and applied to this + option. In addition, configuration specified in which will be appended + verbatim to the resulting config file. + ''; + }; + }; }; ###### implementation config = mkIf cfg.enable { - - nix.binaryCachePublicKeys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; - nix.binaryCaches = [ "https://cache.nixos.org/" ]; - environment.systemPackages = - [ nix + [ + nixPackage pkgs.nix-info ] ++ optional (config.programs.bash.enableCompletion) pkgs.nix-bash-completions; @@ -579,44 +669,49 @@ in # List of machines for distributed Nix builds in the format # expected by build-remote.pl. - environment.etc."nix/machines" = - { enable = cfg.buildMachines != []; - text = - concatMapStrings (machine: - "${if machine.sshUser != null then "${machine.sshUser}@" else ""}${machine.hostName} " - + (if machine.system != null then machine.system else concatStringsSep "," machine.systems) - + " ${if machine.sshKey != null then machine.sshKey else "-"} ${toString machine.maxJobs} " - + toString (machine.speedFactor) - + " " - + concatStringsSep "," (machine.mandatoryFeatures ++ machine.supportedFeatures) - + " " - + concatStringsSep "," machine.mandatoryFeatures + environment.etc."nix/machines" = mkIf (cfg.buildMachines != [ ]) { + text = + concatMapStrings + (machine: + (concatStringsSep " " [ + "${optionalString (machine.sshUser != null) "${machine.sshUser}@"}${machine.hostName}" + (if machine.system != null then machine.system else if machine.systems != [ ] then concatStringsSep "," machine.systems else "-") + (if machine.sshKey != null then machine.sshKey else "-") + (toString machine.maxJobs) + (toString machine.speedFactor) + (concatStringsSep "," machine.supportedFeatures) + (concatStringsSep "," machine.mandatoryFeatures) + ] + ++ optional (isNixAtLeast "2.4pre") (if machine.publicHostKey != null then machine.publicHostKey else "-")) + "\n" - ) cfg.buildMachines; - }; + ) + cfg.buildMachines; + }; + assertions = - let badMachine = m: m.system == null && m.systems == []; - in [ + let badMachine = m: m.system == null && m.systems == [ ]; + in + [ { - assertion = !(builtins.any badMachine cfg.buildMachines); + assertion = !(any badMachine cfg.buildMachines); message = '' At least one system type (via system or systems) must be set for every build machine. Invalid machine specifications: '' + " " + - (builtins.concatStringsSep "\n " - (builtins.map (m: m.hostName) - (builtins.filter (badMachine) cfg.buildMachines))); + (concatStringsSep "\n " + (map (m: m.hostName) + (filter (badMachine) cfg.buildMachines))); } ]; - - systemd.packages = [ nix ]; + systemd.packages = [ nixPackage ]; systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ]; systemd.services.nix-daemon = - { path = [ nix pkgs.util-linux config.programs.ssh.package ] + { + path = [ nixPackage pkgs.util-linux config.programs.ssh.package ] ++ optionals cfg.distributedBuilds [ pkgs.gzip ]; environment = cfg.envVars @@ -626,7 +721,8 @@ in unitConfig.RequiresMountsFor = "/nix/store"; serviceConfig = - { CPUSchedulingPolicy = cfg.daemonCPUSchedPolicy; + { + CPUSchedulingPolicy = cfg.daemonCPUSchedPolicy; IOSchedulingClass = cfg.daemonIOSchedClass; IOSchedulingPriority = cfg.daemonIOSchedPriority; LimitNOFILE = 4096; @@ -636,9 +732,7 @@ in }; # Set up the environment variables for running Nix. - environment.sessionVariables = cfg.envVars // - { NIX_PATH = cfg.nixPath; - }; + environment.sessionVariables = cfg.envVars // { NIX_PATH = cfg.nixPath; }; environment.extraInit = '' @@ -647,7 +741,7 @@ in fi ''; - nix.nrBuildUsers = mkDefault (lib.max 32 (if cfg.maxJobs == "auto" then 0 else cfg.maxJobs)); + nix.nrBuildUsers = mkDefault (max 32 (if cfg.settings.max-jobs == "auto" then 0 else cfg.settings.max-jobs)); users.users = nixbldUsers; @@ -663,14 +757,26 @@ in fi ''; - nix.systemFeatures = mkDefault ( - [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ - optionals (pkgs.hostPlatform ? gcc.arch) ( - # a builder can run code for `gcc.arch` and inferior architectures - [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++ - map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch} - ) - ); + # Legacy configuration conversion. + nix.settings = mkMerge [ + { + trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; + substituters = [ "https://cache.nixos.org/" ]; + + system-features = mkDefault ( + [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ + optionals (pkgs.hostPlatform ? gcc.arch) ( + # a builder can run code for `gcc.arch` and inferior architectures + [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++ + map (x: "gccarch-${x}") systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch} + ) + ); + } + + (mkIf (!cfg.distributedBuilds) { builders = null; }) + + (mkIf (isNixAtLeast "2.3pre") { sandbox-fallback = false; }) + ]; }; diff --git a/nixos/modules/services/misc/nix-ssh-serve.nix b/nixos/modules/services/misc/nix-ssh-serve.nix index d5c64fdb2647..355fad5db468 100644 --- a/nixos/modules/services/misc/nix-ssh-serve.nix +++ b/nixos/modules/services/misc/nix-ssh-serve.nix @@ -20,7 +20,7 @@ in { write = mkOption { type = types.bool; default = false; - description = "Whether to enable writing to the Nix store as a remote store via SSH. Note: the sshServe user is named nix-ssh and is not a trusted-user. nix-ssh should be added to the nix.trustedUsers option in most use cases, such as allowing remote building of derivations."; + description = "Whether to enable writing to the Nix store as a remote store via SSH. Note: the sshServe user is named nix-ssh and is not a trusted-user. nix-ssh should be added to the option in most use cases, such as allowing remote building of derivations."; }; keys = mkOption { diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 9bacdaa9be98..b7aa2eba81cf 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -394,7 +394,8 @@ in # Extra UDEV rules used by Solid services.udev.packages = [ - pkgs.libmtp + # libmtp has "bin", "dev", "out" outputs. UDEV rules file is in "out". + pkgs.libmtp.out pkgs.media-player-info ]; diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 18ac717f5dd6..40afa551c7fc 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -156,7 +156,7 @@ in specialisation = mkOption { default = {}; - example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.buildCores = 0; nix.maxJobs = 1; }; }"; + example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.settings = { core = 0; max-jobs = 1; }; }"; description = '' Additional configurations to build. If inheritParentConfig is true, the system diff --git a/nixos/modules/system/boot/binfmt.nix b/nixos/modules/system/boot/binfmt.nix index 5bc603530f7e..33748358e45b 100644 --- a/nixos/modules/system/boot/binfmt.nix +++ b/nixos/modules/system/boot/binfmt.nix @@ -300,18 +300,15 @@ in { interpreterSandboxPath = dirOf (dirOf interpreterReg); } // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}")); }) cfg.emulatedSystems); - # TODO: add a nix.extraPlatforms option to NixOS! - nix.extraOptions = lib.mkIf (cfg.emulatedSystems != []) '' - extra-platforms = ${toString (cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux")} - ''; - nix.sandboxPaths = lib.mkIf (cfg.emulatedSystems != []) ( - let + nix.settings = lib.mkIf (cfg.emulatedSystems != []) { + extra-platforms = cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux"; + extra-sandbox-paths = let ruleFor = system: cfg.registrations.${system}; hasWrappedRule = lib.any (system: (ruleFor system).wrapInterpreterInShell) cfg.emulatedSystems; in [ "/run/binfmt" ] ++ lib.optional hasWrappedRule "${pkgs.bash}" - ++ (map (system: (ruleFor system).interpreterSandboxPath) cfg.emulatedSystems) - ); + ++ (map (system: (ruleFor system).interpreterSandboxPath) cfg.emulatedSystems); + }; environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf" (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations)); diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index a126a5480c03..14001657bee0 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -10,8 +10,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { # XXX: Sandbox setup fails while trying to hardlink files from the host's # store file system into the prepared chroot directory. - nix.useSandbox = false; - nix.binaryCaches = []; # don't try to access cache.nixos.org + nix.settings.sandbox = false; + nix.settings.substituters = []; # don't try to access cache.nixos.org virtualisation.writableStore = true; # Make sure we always have all the required dependencies for creating a diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix index da7e0972e131..dc455f971f5c 100644 --- a/nixos/tests/hardened.nix +++ b/nixos/tests/hardened.nix @@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, ... } : { users.users.sybil = { isNormalUser = true; group = "wheel"; }; imports = [ ../modules/profiles/hardened.nix ]; environment.memoryAllocator.provider = "graphene-hardened"; - nix.useSandbox = false; + nix.settings.sandbox = false; virtualisation.emptyDiskImages = [ 4096 ]; boot.initrd.postDeviceCommands = '' ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 4f05b99a5a11..3880f1649bd3 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -45,11 +45,11 @@ in makeTest { ../modules/profiles/base.nix ]; - nix.binaryCaches = mkForce [ ]; - nix.extraOptions = '' - hashed-mirrors = - connect-timeout = 1 - ''; + nix.settings = { + substituters = mkForce []; + hashed-mirrors = null; + connect-timeout = 1; + }; virtualisation.diskSize = 8 * 1024; virtualisation.emptyDiskImages = [ diff --git a/nixos/tests/hydra/common.nix b/nixos/tests/hydra/common.nix index 1a3a4d8fb3d4..fdf2b2c6f6dc 100644 --- a/nixos/tests/hydra/common.nix +++ b/nixos/tests/hydra/common.nix @@ -42,7 +42,7 @@ hostName = "localhost"; systems = [ system ]; }]; - binaryCaches = []; + settings.substituters = []; }; }; } diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 7c7eb004e550..761020571fa6 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -334,11 +334,11 @@ let (pkgs.grub2_efi.override { inherit zfsSupport; }) ]); - nix.binaryCaches = mkForce [ ]; - nix.extraOptions = '' - hashed-mirrors = - connect-timeout = 1 - ''; + nix.settings = { + substituters = mkForce []; + hashed-mirrors = null; + connect-timeout = 1; + }; }; }; diff --git a/nixos/tests/iscsi-multipath-root.nix b/nixos/tests/iscsi-multipath-root.nix index a26fea503b62..92ae9990c947 100644 --- a/nixos/tests/iscsi-multipath-root.nix +++ b/nixos/tests/iscsi-multipath-root.nix @@ -111,11 +111,11 @@ import ./make-test-python.nix ( environment.etc."initiator-root-disk-closure".source = nodes.initiatorRootDisk.config.system.build.toplevel; - nix.binaryCaches = lib.mkForce [ ]; - nix.extraOptions = '' - hashed-mirrors = - connect-timeout = 1 - ''; + nix.settings = { + substituters = lib.mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; + }; }; initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: { diff --git a/nixos/tests/iscsi-root.nix b/nixos/tests/iscsi-root.nix index bda51d2c2e42..eb0719edc379 100644 --- a/nixos/tests/iscsi-root.nix +++ b/nixos/tests/iscsi-root.nix @@ -95,11 +95,11 @@ import ./make-test-python.nix ( system.extraDependencies = [ nodes.initiatorRootDisk.config.system.build.toplevel ]; - nix.binaryCaches = lib.mkForce []; - nix.extraOptions = '' - hashed-mirrors = - connect-timeout = 1 - ''; + nix.settings = { + substituters = lib.mkForce []; + hashed-mirrors = null; + connect-timeout = 1; + }; }; initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: { diff --git a/nixos/tests/nixops/default.nix b/nixos/tests/nixops/default.nix index ec3d028aabae..b25fc95f4b30 100644 --- a/nixos/tests/nixops/default.nix +++ b/nixos/tests/nixops/default.nix @@ -23,7 +23,7 @@ let deployer = { config, lib, nodes, pkgs, ... }: { imports = [ ../../modules/installer/cd-dvd/channel.nix ]; environment.systemPackages = [ nixopsPkg ]; - nix.binaryCaches = lib.mkForce [ ]; + nix.settings.substituters = lib.mkForce [ ]; users.users.person.isNormalUser = true; virtualisation.writableStore = true; virtualisation.additionalPaths = [ diff --git a/nixos/tests/nixops/legacy/base-configuration.nix b/nixos/tests/nixops/legacy/base-configuration.nix index dba960f595c2..7f1c07a5c4a9 100644 --- a/nixos/tests/nixops/legacy/base-configuration.nix +++ b/nixos/tests/nixops/legacy/base-configuration.nix @@ -16,7 +16,7 @@ in (modulesPath + "/testing/test-instrumentation.nix") ]; virtualisation.writableStore = true; - nix.binaryCaches = lib.mkForce [ ]; + nix.settings.substituters = lib.mkForce [ ]; virtualisation.graphics = false; documentation.enable = false; services.qemuGuest.enable = true; diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix index c1e29b0f68b4..90375450fe1b 100644 --- a/nixos/tests/os-prober.nix +++ b/nixos/tests/os-prober.nix @@ -43,11 +43,11 @@ let # vda is a filesystem without partition table forceInstall = true; }; - nix.binaryCaches = lib.mkForce [ ]; - nix.extraOptions = '' - hashed-mirrors = - connect-timeout = 1 - ''; + nix.settings = { + substituters = lib.mkForce []; + hashed-mirrors = null; + connect-timeout = 1; + }; # save some memory documentation.enable = false; }; diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index f38bd678d9ef..ddc426416006 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -10,14 +10,14 @@ let # If an update breaks things, one of those might have valuable info: # https://aur.archlinux.org/packages/spotify/ # https://community.spotify.com/t5/Desktop-Linux - version = "1.1.72.439.gc253025e"; + version = "1.1.77.643.g3c4c6fc6"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "56"; + rev = "57"; deps = [ alsa-lib @@ -80,7 +80,7 @@ stdenv.mkDerivation { # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - sha512 = "b2bd3d49a18dfebaa4660f9c39d11d57fb80a4ef15ec7b7973e3cc07be74f74aebd2d8c66360d79fe778244c533ed02f9dfca4085f99aae0e5faae7c003ba4ef"; + sha512 = "d9f8fe692db479bcce1f47c87b65c5ac6d62e16b76a0f9b2d693d82d2b9ed2c7cf370cb091ce8ecd291c47d1efdbaa897c9bffb210edd901dc3d5425995229f7"; }; nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ]; diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index 16e6a818e5ae..5ca31cc04052 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, flex, bison, pkg-config, zlib, libtiff, libpng, fftw -, cairo, readline, ffmpeg, makeWrapper, wxGTK30, netcdf, blas +, cairo, readline, ffmpeg, makeWrapper, wxGTK30, wxmac, netcdf, blas , proj, gdal, geos, sqlite, postgresql, libmysqlclient, python3Packages, libLAS, proj-datumgrid , zstd, pdal, wrapGAppsHook }: @@ -16,10 +16,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo - readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql libmysqlclient blas - libLAS proj-datumgrid zstd pdal wrapGAppsHook ] - ++ (with python3Packages; [ python python-dateutil wxPython_4_1 numpy ]); + buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite + readline ffmpeg makeWrapper netcdf geos postgresql libmysqlclient blas + libLAS proj-datumgrid zstd wrapGAppsHook ] + ++ lib.optionals stdenv.isLinux [ cairo pdal wxGTK30 ] + ++ lib.optional stdenv.isDarwin wxmac + ++ (with python3Packages; [ python python-dateutil numpy ] + ++ lib.optional stdenv.isDarwin wxPython_4_0 + ++ lib.optional stdenv.isLinux wxPython_4_1); # On Darwin the installer tries to symlink the help files into a system # directory @@ -33,12 +37,11 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-proj-share=${proj}/share/proj" "--with-proj-includes=${proj.dev}/include" - "--with-proj-lib=${proj}/lib" + "--with-proj-libs=${proj}/lib" "--without-opengl" "--with-readline" "--with-wxwidgets" "--with-netcdf" - "--with-pdal" "--with-geos" "--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/" @@ -51,6 +54,12 @@ stdenv.mkDerivation rec { "--with-zstd" "--with-fftw" "--with-pthread" + ] ++ lib.optionals stdenv.isLinux [ + "--with-pdal" + ] ++ lib.optionals stdenv.isDarwin [ + "--without-cairo" + "--without-freetype" + "--without-x" ]; # Otherwise a very confusing "Can't load GDAL library" error diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index 3b215ea24fc7..76490682477a 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libtool +{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, libtool , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre , lcms2, openexr, libjxl, libpng, liblqr1, libraw, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif , ApplicationServices @@ -27,6 +27,14 @@ stdenv.mkDerivation rec { sha256 = "0r8zmk2cfmf09l94hqzfz4aspnzn178ggdbgm7w4hr0p864cbvc3"; }; + patches = [ + # fix a type confusion bug introduced in 7.1.0-20 with commit 075565e93c71bcaaabf0ce70b7d1060bccdf0020 + (fetchpatch { + url = "https://github.com/ImageMagick/ImageMagick/commit/62845d5672eca4446b952dd0ab2e3e0dab0309d4.patch"; + sha256 = "1kni5i8b5hl69niypidm90mhir8cafi6r9i857fxdlv045h3dg4p"; + }) + ]; + outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big outputMan = "out"; # it's tiny diff --git a/pkgs/applications/graphics/qiv/default.upstream b/pkgs/applications/graphics/qiv/default.upstream deleted file mode 100644 index e6c7ef2408e8..000000000000 --- a/pkgs/applications/graphics/qiv/default.upstream +++ /dev/null @@ -1,3 +0,0 @@ -url http://spiegl.de/qiv/download/ -version_link '[.]tgz$' -do_overwrite() { do_overwrite_just_version; } diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix index b82c3ff96288..ffa76a6c07ab 100644 --- a/pkgs/applications/graphics/tev/default.nix +++ b/pkgs/applications/graphics/tev/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "tev"; - version = "1.19"; + version = "1.22"; src = fetchFromGitHub { owner = "Tom94"; repo = pname; rev = "v${version}"; fetchSubmodules = true; - sha256 = "sha256-laP47xOND6PMA6dwTcCupcTIW+9zCaxO6rHzvDSL9JU="; + sha256 = "sha256-WLDQaN6wHnadvp0JyUzlcZVNiSbFudmmBSNYRMaE6U4="; }; nativeBuildInputs = [ cmake wrapGAppsHook ]; @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { changelog = "https://github.com/Tom94/tev/releases/tag/v${version}"; license = licenses.bsd3; platforms = platforms.unix; + badPlatforms = [ "aarch64-linux" ]; # fails on Hydra since forever maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix index 4a41493a525c..29a3bdc97bb8 100644 --- a/pkgs/applications/kde/kio-extras.nix +++ b/pkgs/applications/kde/kio-extras.nix @@ -19,5 +19,12 @@ mkDerivation { kpty syntax-highlighting libmtp libssh openexr openslp phonon qtsvg samba solid gperf ]; + + # org.kde.kmtpd5 DBUS service launches kiod5 binary from kio derivation, not from kio-extras + postInstall = '' + substituteInPlace $out/share/dbus-1/services/org.kde.kmtpd5.service \ + --replace Exec=$out Exec=${kio} + ''; + CXXFLAGS = [ "-I${ilmbase.dev}/include/OpenEXR" ]; } diff --git a/pkgs/applications/misc/auto-multiple-choice/default.nix b/pkgs/applications/misc/auto-multiple-choice/default.nix index 174d6e22ccb3..d8db5441df5e 100644 --- a/pkgs/applications/misc/auto-multiple-choice/default.nix +++ b/pkgs/applications/misc/auto-multiple-choice/default.nix @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/auto-multiple-choice \ ''${makeWrapperArgs[@]} \ - --prefix PERL5LIB : "${with perlPackages; makePerlPath [ + --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ ArchiveZip DBDSQLite Cairo @@ -75,6 +75,7 @@ stdenv.mkDerivation rec { GlibObjectIntrospection Gtk3 LocaleGettext + OpenOfficeOODoc PerlMagick TextCSV XMLParser diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix index 26c76988169e..8f5eaf47b550 100644 --- a/pkgs/applications/misc/gallery-dl/default.nix +++ b/pkgs/applications/misc/gallery-dl/default.nix @@ -2,11 +2,11 @@ buildPythonApplication rec { pname = "gallery_dl"; - version = "1.20.1"; + version = "1.20.3"; src = fetchPypi { inherit pname version; - sha256 = "a1c06625381485f82aa14a038a622d40ab9cc2c8d150dd65c66df96dbf427f62"; + sha256 = "6d1d97bd08a2a0dcfb0578e759fb83c4902b395405b3e3238673f684973b0556"; }; propagatedBuildInputs = [ requests yt-dlp ]; diff --git a/pkgs/applications/misc/mupdf/default.upstream b/pkgs/applications/misc/mupdf/default.upstream deleted file mode 100644 index 852233633ca5..000000000000 --- a/pkgs/applications/misc/mupdf/default.upstream +++ /dev/null @@ -1,7 +0,0 @@ -url https://mupdf.com/downloads/archive/ -do_overwrite(){ - ensure_hash - ensure_version - set_var_value version $CURRENT_VERSION - set_var_value sha256 $CURRENT_HASH -} diff --git a/pkgs/applications/misc/tomboy/default.nix b/pkgs/applications/misc/tomboy/default.nix deleted file mode 100644 index 5aaec7a1e600..000000000000 --- a/pkgs/applications/misc/tomboy/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, itstool, intltool, pkg-config -, libxml2, gnome2, atk, gtk2, glib -, mono, mono-addins, dbus-sharp-2_0, dbus-sharp-glib-2_0, gnome-sharp, gtk-sharp-2_0 -, makeWrapper, lib}: - -let - version = "1.15.9"; -in - -stdenv.mkDerivation { - pname = "tomboy"; - inherit version; - - src = fetchurl { - url = "https://github.com/tomboy-notes/tomboy/releases/download/${version}/tomboy-${version}.tar.xz"; - sha256 = "0j5jmd079bm2fydqaic5ymbfdxna3qlx6fkp2mqhgcdr7prsbl3q"; - }; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ itstool intltool - libxml2 gnome2.GConf atk gtk2 - mono mono-addins dbus-sharp-2_0 dbus-sharp-glib-2_0 gnome-sharp gtk-sharp-2_0 - makeWrapper ]; - - postInstall = '' - makeWrapper "${mono}/bin/mono" "$out/bin/tomboy" \ - --add-flags "$out/lib/tomboy/Tomboy.exe" \ - --prefix MONO_GAC_PREFIX : ${dbus-sharp-2_0} \ - --prefix MONO_GAC_PREFIX : ${dbus-sharp-glib-2_0} \ - --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \ - --prefix MONO_GAC_PREFIX : ${gnome-sharp} \ - --prefix MONO_GAC_PREFIX : ${mono-addins} \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk-sharp-2_0 gtk-sharp-2_0.gtk gnome2.GConf ]} - ''; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Tomboy"; - description = "A simple note-taking application with synchronization"; - platforms = platforms.linux; - license = lib.licenses.lgpl2; - maintainers = with maintainers; [ stesie ]; - }; -} diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix index 2765cd5ad7aa..e3f2e80c47a5 100644 --- a/pkgs/applications/misc/vifm/default.nix +++ b/pkgs/applications/misc/vifm/default.nix @@ -38,7 +38,6 @@ in stdenv.mkDerivation rec { license = licenses.gpl2; downloadPage = "https://vifm.info/downloads.shtml"; homepage = "https://vifm.info/"; - updateWalker = true; changelog = "https://github.com/vifm/vifm/blob/v${version}/ChangeLog"; }; } diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix index 54eaf06e12fb..7ea8fa76cfb2 100644 --- a/pkgs/applications/networking/cluster/fluxcd/default.nix +++ b/pkgs/applications/networking/cluster/fluxcd/default.nix @@ -1,9 +1,9 @@ { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }: let - version = "0.24.1"; - sha256 = "18jzf5kd06c10f45y4crvaqa5r10dhq2ashlhppzrmhigiyavxac"; - manifestsSha256 = "0qbdik65irnwgw7klj5w0z00jxflm855gikpnqb9gsxd7rbw8ysk"; + version = "0.25.3"; + sha256 = "1j7jw6vfki67dz9lkx3f94b9hi6d2bc504yy3nfppp3hx8nwxb37"; + manifestsSha256 = "1akp1i3xasfjq6zqbk7mnbkhnzmq7if7v82q6zdp2678xrg6xps5"; manifests = fetchzip { url = @@ -23,7 +23,7 @@ in buildGoModule rec { inherit sha256; }; - vendorSha256 = "sha256-HoAVdY+kZLpUEl3mE7obbTzAJUyt5MBPjGhs6ZDSnzU="; + vendorSha256 = "sha256-/VeJq6l3kSZ9qcYf2ypyyoXVKME+rig6aDdWDoRqNzA="; postUnpack = '' cp -r ${manifests} source/cmd/flux/manifests diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 05a8b9969575..3c56d84db4b5 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -87,7 +87,6 @@ python3.pkgs.buildPythonApplication rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ raskin abbradar ]; downloadPage = "http://gajim.org/downloads.php"; - updateWalker = true; platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix index 2ca94953c4f6..3acd11a9a0d3 100644 --- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix +++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix @@ -38,8 +38,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; [ pSub ]; platforms = with platforms; linux; - updateWalker = true; downloadPage = "http://mcabber.com/files/"; - downloadURLRegexp = "mcabber-[0-9.]+[.]tar[.][a-z0-9]+$"; }; } diff --git a/pkgs/applications/radio/soapyhackrf/default.nix b/pkgs/applications/radio/soapyhackrf/default.nix index 8fe3dc90008f..1d2aaca9362b 100644 --- a/pkgs/applications/radio/soapyhackrf/default.nix +++ b/pkgs/applications/radio/soapyhackrf/default.nix @@ -3,7 +3,7 @@ } : let - version = "0.3.3"; + version = "0.3.4"; in stdenv.mkDerivation { pname = "soapyhackrf"; @@ -13,7 +13,7 @@ in stdenv.mkDerivation { owner = "pothosware"; repo = "SoapyHackRF"; rev = "soapy-hackrf-${version}"; - sha256 = "1awn89z462500gb3fjb7x61b1znkjri9n1d39bqfip1qk4s11pxc"; + sha256 = "sha256-fzPYHJAPX8FkFxPXpLlUagTd/NoamRX0YnxHwkbV1nI="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/science/logic/leo2/default.upstream b/pkgs/applications/science/logic/leo2/default.upstream deleted file mode 100644 index 52b8ed1cdaa2..000000000000 --- a/pkgs/applications/science/logic/leo2/default.upstream +++ /dev/null @@ -1,6 +0,0 @@ -url http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html -version_link '[.]tgz' -version '.*_v([0-9.]+)[.][a-z0-9]+$' '\1' -do_overwrite () { - do_overwrite_just_version -} diff --git a/pkgs/applications/science/logic/potassco/clingo.upstream b/pkgs/applications/science/logic/potassco/clingo.upstream deleted file mode 100644 index 062577d1451b..000000000000 --- a/pkgs/applications/science/logic/potassco/clingo.upstream +++ /dev/null @@ -1,6 +0,0 @@ -target clingo.nix -attribute_name clingo -url https://github.com/potassco/clingo/releases/ -ensure_choice -version '.*/v([0-9.]+)[.]tar[.].*' '\1' -minimize_overwrite diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix index 9bfad1fa010e..7a523bbf24ef 100644 --- a/pkgs/applications/science/logic/satallax/default.nix +++ b/pkgs/applications/science/logic/satallax/default.nix @@ -66,6 +66,5 @@ stdenv.mkDerivation rec { platforms = lib.platforms.linux; downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads.php"; homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/index.php"; - updateWalker = true; }; } diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index 4ba1d5c6b474..a9c002d210f2 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -82,6 +82,5 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ ertes AndersonTorres ] ++ teams.sage.members; platforms = platforms.linux ++ platforms.darwin; - updateWalker = true; }; } diff --git a/pkgs/applications/science/math/ratpoints/default.nix b/pkgs/applications/science/math/ratpoints/default.nix index ec5d9ef366f8..dd8258a3456d 100644 --- a/pkgs/applications/science/math/ratpoints/default.nix +++ b/pkgs/applications/science/math/ratpoints/default.nix @@ -31,6 +31,5 @@ stdenv.mkDerivation rec { maintainers = [lib.maintainers.raskin]; platforms = lib.platforms.unix; homepage = "http://www.mathe2.uni-bayreuth.de/stoll/programs/"; - updateWalker = true; }; } diff --git a/pkgs/applications/science/misc/golly/default.upstream b/pkgs/applications/science/misc/golly/default.upstream deleted file mode 100644 index e8ce81586a8d..000000000000 --- a/pkgs/applications/science/misc/golly/default.upstream +++ /dev/null @@ -1,5 +0,0 @@ -url https://sourceforge.net/projects/golly/files/golly/ -version_link '[-][0-9.]+/$' -SF_version_tarball 'src' -SF_redirect -minimize_overwrite diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 85993487fb37..405b9394552c 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -92,7 +92,6 @@ let downloadPage = "https://www.mercurial-scm.org/release/"; license = licenses.gpl2Plus; maintainers = with maintainers; [ eelco lukegb pacien ]; - updateWalker = true; platforms = platforms.unix; }; }; diff --git a/pkgs/applications/version-management/monotone/default.upstream b/pkgs/applications/version-management/monotone/default.upstream deleted file mode 100644 index e0d01fb190c6..000000000000 --- a/pkgs/applications/version-management/monotone/default.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url http://www.monotone.ca/downloads.php - -do_overwrite(){ - ensure_version - ensure_hash - set_var_value version $CURRENT_VERSION - set_var_value sha256 $CURRENT_HASH -} diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index 8a2522397ae1..957911e239c9 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -6,11 +6,11 @@ python3Packages.buildPythonApplication rec { pname = "streamlink"; - version = "3.1.0"; + version = "3.1.1"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "sha256-T2M0vg+BYIdr21CcdrrBf7bVVlZU+tKJWG2xfBMoMlg="; + sha256 = "sha256-hVzTHpAOOuHVMoo3Ejv//irsUBoddLzdEvDSonWAYOQ="; }; checkInputs = with python3Packages; [ diff --git a/pkgs/build-support/trivial-builders/test/references.nix b/pkgs/build-support/trivial-builders/test/references.nix index a2bee51b13e7..989722121cb0 100644 --- a/pkgs/build-support/trivial-builders/test/references.nix +++ b/pkgs/build-support/trivial-builders/test/references.nix @@ -28,7 +28,7 @@ nixosTest { virtualisation.writableStore = true; # Test runs without network, so we don't substitute and prepare our deps - nix.binaryCaches = lib.mkForce []; + nix.settings.substituters = lib.mkForce []; environment.etc."pre-built-paths".source = writeText "pre-built-paths" ( builtins.toJSON [hello figlet stdenvNoCC] ); diff --git a/pkgs/build-support/upstream-updater/attrset-to-dir.nix b/pkgs/build-support/upstream-updater/attrset-to-dir.nix deleted file mode 100644 index 006537278dae..000000000000 --- a/pkgs/build-support/upstream-updater/attrset-to-dir.nix +++ /dev/null @@ -1,19 +0,0 @@ -a : -a.stdenv.mkDerivation { - buildCommand = '' - mkdir -p "$out/attributes" - '' + (a.lib.concatStrings (map - (n: '' - ln -s "${a.writeTextFile {name=n; text=builtins.getAttr n a.theAttrSet;}}" $out/attributes/${n}; - '') - (builtins.attrNames a.theAttrSet) - )); - - name = "attribute-set"; - meta = { - description = "Contents of an attribute set"; - maintainers = [ - a.lib.maintainers.raskin - ]; - }; -} diff --git a/pkgs/build-support/upstream-updater/create-src-info-git.sh b/pkgs/build-support/upstream-updater/create-src-info-git.sh deleted file mode 100755 index 6687a1f8f411..000000000000 --- a/pkgs/build-support/upstream-updater/create-src-info-git.sh +++ /dev/null @@ -1,24 +0,0 @@ -#! /bin/sh - -[ -z "$1" ] && { - echo "Use $0 expression-basename repo-url branch-name package-base-name" - echo "Like:" - echo "$0 default http://git.example.com/repo origin/master hello" - exit 1; -} >&2 - -own_dir="$(cd "$(dirname "$0")"; sh -c pwd)" - -cp "$own_dir/../builder-defs/template-bdp-uud.nix" "$1.nix" -sed -e "s@src-for-default.nix@src-for-$1.nix@g; - s@fetchUrlFromSrcInfo@fetchGitFromSrcInfo@g" -i "$1.nix" -echo '{}' > "src-for-$1.nix" -cat << EOF > src-info-for-$1.nix -{ - repoUrl = "$2"; - rev = "$3"; - baseName = "$4"; - method = "fetchgit"; -} -EOF - diff --git a/pkgs/build-support/upstream-updater/create-src-info.sh b/pkgs/build-support/upstream-updater/create-src-info.sh deleted file mode 100755 index fbbbe33a9e7b..000000000000 --- a/pkgs/build-support/upstream-updater/create-src-info.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh - -[ -z "$1" ] && { - echo "Use $0 expression-basename download-page package-base-name" - echo "Like:" - echo "$0 default http://example.com/downloads hello" - exit 1; -} >&2 - -own_dir="$(cd "$(dirname "$0")"; sh -c pwd)" - -cp "$own_dir/../builder-defs/template-auto-callable.nix" "$1.nix" -sed -e "s@src-for-default.nix@src-for-$1.nix@g" -i "$1.nix" -echo '{}' > "src-for-$1.nix" -cat << EOF > src-info-for-$1.nix -{ - downloadPage = "$2"; - baseName = "$3"; -} -EOF diff --git a/pkgs/build-support/upstream-updater/design.txt b/pkgs/build-support/upstream-updater/design.txt deleted file mode 100644 index 128be89d2075..000000000000 --- a/pkgs/build-support/upstream-updater/design.txt +++ /dev/null @@ -1,29 +0,0 @@ -Next to file.nix we get src-for-file.nix -src-for-file.nix should evaluate to a flat attribute set with -string values. -It is supposed to be imported in the main expression. -In the ideal world it can export url, hash, version. - -src-for-file.nix generation is directed by -src-info-for-file.nix. - -Attributes: - -src-info-for-file.nix: - -downloadPage -rev (for repos) -baseName (default = unnamed-package) -sourceRegexp (default = '.*[.]tar[.].*') -choiceCommand (default = 'head -1') -versionExtractorSedScript (default = 's/.*-([0-9.]+)[.].*/\1/') -versionReferenceCreator (default = 's/-([0-9.]+)[.]/-${version}./') -mirrorSedScript (default = none) - -src-for-file.nix: - -advertisedUrl (its match is the check for update presence) -url -hash -version -name diff --git a/pkgs/build-support/upstream-updater/snippets.sh b/pkgs/build-support/upstream-updater/snippets.sh deleted file mode 100644 index 2c06696c928f..000000000000 --- a/pkgs/build-support/upstream-updater/snippets.sh +++ /dev/null @@ -1,14 +0,0 @@ -# sed scripts - -#http://sourceforge.net/projects/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz/download -#http://downloads.sourceforge.net/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz -skipRedirectSF='s@sourceforge.net/projects@downloads.sourceforge.net/project@; s@/files@@; s@/download$@@;' -extractReleaseSF='s@.*/([^/]+)/[^/]+@\1@' -extractVersionSF='s@.*/[^/0-9]*([0-9].*)[.](tar|tgz|tbz2|zip).*@\1@' -apacheMirror='s@http://www.apache.org/dist/@mirror://apache/@' -skipRedirectApache='s@/dyn/closer.cgi[?]path=@/dist@' - -replaceAllVersionOccurences() { - echo s/"$version"/\${version}/g -} -dashDelimitedVersion='s/.*-([0-9.]+)-.*/\1/' diff --git a/pkgs/build-support/upstream-updater/test-case.nix b/pkgs/build-support/upstream-updater/test-case.nix deleted file mode 100644 index 498f15c28a78..000000000000 --- a/pkgs/build-support/upstream-updater/test-case.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - a=1; - b="text"; - c='' - text - ''; - d='' - Multi-line text with special characters - - like \ (backslash) and ''${} (dollar + - curly braces) and $ (dollar) and ' (quote) - and " (double quote). - ''; -} diff --git a/pkgs/build-support/upstream-updater/update-upstream-data.sh b/pkgs/build-support/upstream-updater/update-upstream-data.sh deleted file mode 100755 index 38c0d13a723d..000000000000 --- a/pkgs/build-support/upstream-updater/update-upstream-data.sh +++ /dev/null @@ -1,182 +0,0 @@ -#! /bin/sh - -set -x - -own_dir="$(cd "$(dirname "$0")"; sh -c pwd)" - -source "$own_dir/snippets.sh" - -[ -z "$1" ] && { - echo "Specify main expression filename." - exit 1; -} - -main_file="$1" -main_dir="$(cd "$(dirname "$main_file")" ; sh -c pwd)" -file_name="$(basename "$main_file")" -defs_file="$main_dir"/src-info-for-"$file_name" -src_file="$main_dir"/src-for-"$file_name" -# OK, [vcs] revert is always possible -new_src_file="$main_dir"/src-for-"$file_name" - -forcedUrl="$2" - -defs_dir="$("$own_dir"/attrset-to-dir.sh "$defs_file")" -src_defs_dir="$("$own_dir"/attrset-to-dir.sh "$src_file")" - -getAttr () { - file="$defs_dir"/"$1" - data="$( ( [ -f "$file" ] && cat "$file" ) || echo "$2" )" - echo "attribute $1 obtained as: [[$data]]" >&2 - echo "$data" -} - -method="$(getAttr method fetchurl)" -baseName="$(getAttr baseName 'unnamed-package')" -commonPrefetchVars=" version name hash" - -prefetchClause="" -[ fetchSFdirs = "$method" ] && { - if [ -z "$forcedUrl" ]; then - freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" | - eval "egrep '$(getAttr sourceRegexp '[-][0-9.]+/$')'" | - eval "egrep -v '$(getAttr blacklistRegexp '^$')'" | - eval "$(getAttr choiceCommand 'head -n 1')" | - eval "$(getAttr versionToFileCommand "sed -re 's@/([^/]*-[0-9.]+)/@/\1/\1$(getAttr fileSuffix .tar.gz)@'")" - )" - - if ! egrep ':' <<< "$freshUrl" ; then - freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl" - fi - - echo "Found download link: $freshUrl" >&2 - else - freshUrl="$forcedUrl" - fi - - freshUrl="$(echo "$freshUrl" | sed -re "$skipRedirectSF")" - echo "Sourceforge-corrected URL: $freshUrl" >&2 - - version="$(echo "$freshUrl" | - sed -re "$(getAttr versionExtractorSedScript "$extractVersionSF")")" - baseName="$(getAttr baseName "$(echo "$freshUrl" | sed -re 's@.*/project/([^/]+)/.*@\1@')")" - url="$freshUrl" - name="$baseName-$version" - advertisedUrl="$freshUrl" - - if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then - echo "Source link not changed" >&2 - exit - fi - hash=$(nix-prefetch-url "$freshUrl") - - prefetchVars="url advertisedUrl"; -} -[ fetchSF = "$method" ] && { - if [ -z "$forcedUrl" ]; then - freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" | - eval "egrep \"$(getAttr sourceRegexp '.*[.]tar[.].*|.*[.]tgz$|.*[.]tbz2$')\"" | - eval "egrep -v \"$(getAttr blacklistRegexp '^$')\"" | - eval "$(getAttr choiceCommand 'head -1')")" - - if ! egrep ':' <<< "$freshUrl" ; then - freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl" - fi - - echo "Found download link: $freshUrl" >&2 - else - freshUrl="$forcedUrl" - fi - - freshUrl="$(echo "$freshUrl" | sed -re "$skipRedirectSF")" - echo "Sourceforge-corrected URL: $freshUrl" >&2 - - version="$(echo "$freshUrl" | - sed -re "$(getAttr versionExtractorSedScript "$extractVersionSF")")" - baseName="$(getAttr baseName "$(echo "$freshUrl" | sed -re 's@.*/project/([^/]+)/.*@\1@')")" - url="$freshUrl" - name="$baseName-$version" - advertisedUrl="$freshUrl" - - if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then - echo "Source link not changed" >&2 - exit - fi - hash=$(nix-prefetch-url "$freshUrl") - - prefetchVars="url advertisedUrl"; -} -[ fetchurl = "$method" ] && { - if [ -z "$forcedUrl" ] ; then - freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" | - eval "egrep \"$(getAttr sourceRegexp '.*[.]tar[.].*|.*[.]tgz$|.*[.]tbz2$')\"" | - eval "egrep -v \"$(getAttr blacklistRegexp '^$')\"" | - eval "$(getAttr choiceCommand 'head -1')")" - - if ! egrep ':' <<< "$freshUrl" ; then - freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl" - fi - - echo "Found download link: $freshUrl" >&2 - else - freshUrl="$forcedUrl" - fi - - version="$(echo "$freshUrl" | - eval "sed -re \"$(getAttr versionExtractorSedScript \ - 's/.*-([0-9.]+)[.].*/\1/')\"")" - - mirrorUrl="$(echo "$freshUrl" | - eval "sed -r -e \"$(getAttr versionReferenceCreator \ - 's/-'"${version}"'[.]/-\${version}./')\"" | - eval "sed -r -e \"$(getAttr mirrorSedScript)\"")" - url="$mirrorUrl" - - name="$baseName-$version" - - advertisedUrl="$freshUrl" - url="$mirrorUrl" - - if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then - echo "Source link not changed" >&2 - exit - fi - hash=$(nix-prefetch-url "$freshUrl") - - prefetchVars="url advertisedUrl"; -} -[ "fetchgit" = "$method" ] && { - repoUrl="$(getAttr repoUrl)" - export NIX_PREFETCH_GIT_CHECKOUT_HOOK=" - cat .git/HEAD - " - export NIX_HASH_ALGO=sha256 - rev="$(getAttr rev '')"; - rev_and_hash="$("$own_dir"/../fetchgit/nix-prefetch-git "$repoUrl" "$rev" | tee /dev/stderr | tail -2)" - - rev="$(echo "$rev_and_hash" | head -1)" - url="$repoUrl"; - hash="$(echo "$rev_and_hash" | tail -1)" - version="$rev" - name="$baseName-$version" - - prefetchVars="rev url"; -} - -prefetchAssignments=""; -for i in $commonPrefetchVars $prefetchVars; do - prefetchAssignments="$prefetchAssignments $i=\"$(eval echo \"\$$i\")\";$(echo -e '\n ')" -done; - -extraAssignments="" -for i in $(getAttr extraVars ''); do - eval "$(getAttr "eval_$i" 'i=""')" - extraAssignments="$extraAssignments $i=\"$(eval echo \"\$$i\")\";$(echo -e '\n ')" -done - -cat << EOF > "$new_src_file" -rec { - $prefetchAssignments - $extraAssignments -} -EOF diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh deleted file mode 100644 index d92d223845e6..000000000000 --- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh +++ /dev/null @@ -1,20 +0,0 @@ -SF_redirect () { - redirect 99 - process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/' - process '[?].*' '' -} - -SF_version_dir () { - version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$' -} - -SF_version_tarball () { - version_link "${1:-[.]tar[.]}.*/download\$" -} - -GH_latest () { - prefetch_command_rel ../fetchgit/nix-prefetch-git - revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )" - version '.*' "git-$(date +%Y-%m-%d)" - NEED_TO_CHOOSE_URL= -} diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh deleted file mode 100755 index 9172a41718c8..000000000000 --- a/pkgs/build-support/upstream-updater/update-walker.sh +++ /dev/null @@ -1,320 +0,0 @@ -#! /bin/sh - -own_dir="$(cd "$(dirname "$0")"; pwd)" - -URL_WAS_SET= -DL_URL_RE= -CURRENT_URL= -CURRENT_REV= -PREFETCH_COMMAND= -NEED_TO_CHOOSE_URL=1 - -url () { - URL_WAS_SET=1 - CURRENT_URL="$1" -} - -dl_url_re () { - DL_URL_RE="$1" -} - -version_unpack () { - sed -re ' - s/[.]/ /g; - s@/@ / @g - s/-(rc|pre)/ -1 \1 /g; - s/-(gamma)/ -2 \1 /g; - s/-(beta)/ -3 \1 /g; - s/-(alpha)/ -4 \1 /g; - s/[-]/ - /g; - ' -} - -version_repack () { - sed -re ' - s/ - /-/g; - s/ -[0-9]+ ([a-z]+) /-\1/g; - s@ / @/@g - s/ /./g; - ' -} - -version_sort () { - version_unpack | - sort -t ' ' -n $(for i in $(seq 30); do echo " -k${i}n" ; done) | tac | - version_repack -} - -position_choice () { - head -n "${1:-1}" | tail -n "${2:-1}" -} - -matching_links () { - "$own_dir"/urls-from-page.sh "$CURRENT_URL" | grep -E "$1" -} - -link () { - CURRENT_URL="$(matching_links "$1" | position_choice "$2" "$3")" - unset NEED_TO_CHOOSE_URL - echo "Linked by: $*" - echo "URL: $CURRENT_URL" >&2 -} - -version_link () { - CURRENT_URL="$(matching_links "$1" | version_sort | position_choice "$2" "$3")" - unset NEED_TO_CHOOSE_URL - echo "Linked version by: $*" - echo "URL: $CURRENT_URL" >&2 -} - -redirect () { - CURRENT_URL="$(curl -I -L --max-redirs "${1:-99}" "$CURRENT_URL" | - grep -E '^[Ll]ocation: ' | position_choice "${2:-999999}" "$3" | - sed -e 's/^[Ll]ocation: //; s/\r//')" - echo "Redirected: $*" - echo "URL: $CURRENT_URL" >&2 -} - -replace () { - sed -re "s $1 $2 g" -} - -process () { - CURRENT_URL="$(echo "$CURRENT_URL" | replace "$1" "$2")" - echo "Processed: $*" - echo "URL: $CURRENT_URL" >&2 -} - -version () { - CURRENT_VERSION="$(echo "$CURRENT_URL" | replace "$1" "$2")" - echo "Version: $CURRENT_VERSION" >&2 -} - -ensure_version () { - echo "Ensuring version. CURRENT_VERSION: $CURRENT_VERSION" >&2 - [ -z "$CURRENT_VERSION" ] && version '.*-([0-9.]+)[-._].*' '\1' -} - -ensure_target () { - echo "Ensuring target. CURRENT_TARGET: $CURRENT_TARGET" >&2 - [ -z "$CURRENT_TARGET" ] && target "$(basename "$CONFIG_NAME" .upstream).nix" -} - -ensure_name () { - echo "Ensuring name. CURRENT_NAME: $CURRENT_NAME" >&2 - [ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")" - echo "Resulting name: $CURRENT_NAME" -} - -ensure_attribute_name () { - echo "Ensuring attribute name. CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2 - ensure_name - [ -z "$CURRENT_ATTRIBUTE_NAME" ] && attribute_name "$CURRENT_NAME" - echo "Resulting attribute name: $CURRENT_ATTRIBUTE_NAME" -} - -ensure_url () { - echo "Ensuring starting URL. CURRENT_URL: $CURRENT_URL" >&2 - ensure_attribute_name - [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadPage)" - [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadpage)" - [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta homepage)" - echo "Resulting URL: $CURRENT_URL" -} - -ensure_choice () { - echo "Ensuring that choice is made." >&2 - echo "NEED_TO_CHOOSE_URL: [$NEED_TO_CHOOSE_URL]." >&2 - echo "CURRENT_URL: $CURRENT_URL" >&2 - [ -z "$URL_WAS_SET" ] && [ -z "$CURRENT_URL" ] && ensure_url - [ -n "$NEED_TO_CHOOSE_URL" ] && { - version_link "${DL_URL_RE:-[.]tar[.]([^./])+\$}" - unset NEED_TO_CHOOSE_URL - } - [ -z "$CURRENT_URL" ] && { - echo "Error: empty CURRENT_URL" - echo "Error: empty CURRENT_URL" >&2 - exit 1 - } -} - -revision () { - CURRENT_REV="$1" - echo "CURRENT_REV: $CURRENT_REV" -} - -prefetch_command () { - PREFETCH_COMMAND="$1" -} - -prefetch_command_rel () { - PREFETCH_COMMAND="$(dirname "$0")/$1" -} - -ensure_hash () { - echo "Ensuring hash. CURRENT_HASH: $CURRENT_HASH" >&2 - [ -z "$CURRENT_HASH" ] && hash -} - -hash () { - CURRENT_HASH="$(${PREFETCH_COMMAND:-nix-prefetch-url} "$CURRENT_URL" $CURRENT_REV)" - echo "CURRENT_HASH: $CURRENT_HASH" >&2 -} - -name () { - CURRENT_NAME="$1" - echo "CURRENT_NAME: $CURRENT_NAME" >&2 -} - -attribute_name () { - CURRENT_ATTRIBUTE_NAME="$1" - echo "CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2 -} - -retrieve_meta () { - nix-instantiate --eval-only '' -A "$CURRENT_ATTRIBUTE_NAME".meta."$1" | xargs -} - -retrieve_version () { - PACKAGED_VERSION="$(retrieve_meta version)" -} - -ensure_dl_url_re () { - echo "Ensuring DL_URL_RE. DL_URL_RE: $DL_URL_RE" >&2 - [ -z "$DL_URL_RE" ] && dl_url_re "$(retrieve_meta downloadURLRegexp)" - echo "DL_URL_RE: $DL_URL_RE" >&2 -} - -directory_of () { - cd "$(dirname "$1")"; pwd -} - -full_path () { - echo "$(directory_of "$1")/$(basename "$1")" -} - -target () { - CURRENT_TARGET="$1" - { [ "$CURRENT_TARGET" = "${CURRENT_TARGET#/}" ] && CURRENT_TARGET="$CONFIG_DIR/$CURRENT_TARGET"; } - echo "Target set to: $CURRENT_TARGET" -} - -marker () { - BEGIN_EXPRESSION="$1" -} - -update_found () { - echo "Compare: $CURRENT_VERSION vs $PACKAGED_VERSION" - [ "$CURRENT_VERSION" != "$PACKAGED_VERSION" ] -} - -do_write_expression () { - echo "${1}rec {" - echo "${1} baseName=\"$CURRENT_NAME\";" - echo "${1} version=\"$CURRENT_VERSION\";" - echo "${1} name=\"\${baseName}-\${version}\";" - echo "${1} hash=\"$CURRENT_HASH\";" - echo "${1} url=\"$CURRENT_URL\";" - [ -n "$CURRENT_REV" ] && echo "${1} rev=\"$CURRENT_REV\";" - echo "${1} sha256=\"$CURRENT_HASH\";" - echo "$2" -} - -line_position () { - file="$1" - regexp="$2" - count="${3:-1}" - grep -E "$regexp" -m "$count" -B 999999 "$file" | wc -l -} - -replace_once () { - file="$1" - regexp="$2" - replacement="$3" - instance="${4:-1}" - - echo "Replacing once:" - echo "file: [[$file]]" - echo "regexp: [[$regexp]]" - echo "replacement: [[$replacement]]" - echo "instance: [[$instance]]" - - position="$(line_position "$file" "$regexp" "$instance")" - sed -re "${position}s $regexp $replacement " -i "$file" -} - -set_var_value () { - var="${1}" - value="${2}" - instance="${3:-1}" - file="${4:-$CURRENT_TARGET}" - no_quotes="${5:-0}" - - quote='"' - let "$no_quotes" && quote="" - - replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};" "$instance" -} - -do_regenerate () { - BEFORE="$(cat "$1" | grep -F "$BEGIN_EXPRESSION" -B 999999;)" - AFTER_EXPANDED="$(cat "$1" | grep -F "$BEGIN_EXPRESSION" -A 999999 | grep -E '^ *[}] *; *$' -A 999999;)" - AFTER="$(echo "$AFTER_EXPANDED" | tail -n +2)" - CLOSE_BRACE="$(echo "$AFTER_EXPANDED" | head -n 1)" - SPACING="$(echo "$CLOSE_BRACE" | sed -re 's/[^ ].*//')" - - echo "$BEFORE" - do_write_expression "$SPACING" "$CLOSE_BRACE" - echo "$AFTER" -} - -do_overwrite () { - ensure_hash - do_regenerate "$1" > "$1.new.tmp" - mv "$1.new.tmp" "$1" -} - -do_overwrite_just_version () { - ensure_hash - set_var_value version $CURRENT_VERSION - set_var_value sha256 $CURRENT_HASH -} - -minimize_overwrite() { - do_overwrite(){ - do_overwrite_just_version - } -} - -process_config () { - CONFIG_DIR="$(directory_of "$1")" - CONFIG_NAME="$(basename "$1")" - BEGIN_EXPRESSION='# Generated upstream information'; - if [ -f "$CONFIG_DIR/$CONFIG_NAME" ] && - [ "${CONFIG_NAME}" = "${CONFIG_NAME%.nix}" ]; then - source "$CONFIG_DIR/$CONFIG_NAME" - else - CONFIG_NAME="${CONFIG_NAME%.nix}" - ensure_attribute_name - [ -n "$(retrieve_meta updateWalker)" ] || - [ -n "$FORCE_UPDATE_WALKER" ] || { - echo "Error: package not marked as safe for update-walker" >&2 - echo "Set FORCE_UPDATE_WALKER=1 to override" >&2 - exit 1; - } - [ -z "$(retrieve_meta fullRegenerate)" ] && eval " - minimize_overwrite - " - fi - ensure_attribute_name - retrieve_version - ensure_dl_url_re - ensure_choice - ensure_version - ensure_target - update_found && do_overwrite "$CURRENT_TARGET" -} - -source "$own_dir/update-walker-service-specific.sh" - -process_config "$1" diff --git a/pkgs/build-support/upstream-updater/update-walker.txt b/pkgs/build-support/upstream-updater/update-walker.txt deleted file mode 100644 index ae47e5590294..000000000000 --- a/pkgs/build-support/upstream-updater/update-walker.txt +++ /dev/null @@ -1,118 +0,0 @@ -update-walker is an imperative semiautomated update helper. - -It runs the X.upstream file to find the freshest version of the package in -the specified upstream source and updates the corresponding X.nix file. - - - -The simplest available commands: - -url: set the upstream source list URL equal to $1; the default is -meta.downloadPage with meta.homepage fallback - -dl_url_re: set the regular expression used to select download links to $1; the -default is meta.downloadURLRegexp or '[.]tar[.]([^./])+\$' if it is not set - -target: specify target expression; default is to replace .upstream extension -with .nix extension - -name: specify the derivation name; default is the basename of the dirname -of the .upstream file - -attribute_name: specify the attribute name to evaluate for getting the current -version from meta.version; default is to use the derivation name - -minimize_overwrite: set config options that mean that only version= and -sha256= have to be replaced; the default is to regenerate a full upstream -description block with url, name, version, hash etc. - - - -A lot of packages can be updated in a pseudo-declarative style using only -the commands from the previous paragraph. - -Some packages do not need any non-default settings, in these case just setting -meta.updateWalker to true is enough, you can run update-walker directly on the -.nix file afterwards. In this case minimize_overwrite it implied unless -meta.fullRegenerate is set. - - - -The packages that require more fine-grained control than the described options -allow, you need to take into account the default control flow of the tool. - -First, the definitions from update-walker script and additional definitions -from update-walker-service-specific.sh are loaded. Then the config is executed -as a shell script. Some of the commands it can use do remember whether they -have been used. Afterwards the following steps happen: - -attribute_name is set to name unless it has been already set - -meta.version is read from the NixPkgs package called attribute_name - -download URL regexp is set to default unless it has been already set in the -updater script - -the download page URL gets set to default value unless it has been set -previously - -if the action of getting the download page and choosing the freshest link by -version has not yet been taken, it happens - -if the version has not yet been extracted from the URL, it gets extracted - -target nix expression to update gets set to the default value unless it has -been set explicitly - -if the URL version is fresher than the packaged version, the new file gets -downloaded and its hash is calculated - -do_overwrite function is called; the default calculates a big upstream data -block and puts it after the '# Generated upstream information' marker (the -marker can be changed by the command marker) - - - -If the update needs some special logic, it is put into the updater script and -the corresponding steps are skipped because the needed action has already been -performed. - -For example: - -minimize_overwrite is exactly the same as - -do_overwrite() { do_overwrite_just_version; } - -redefinition. You can do a more complex do_overwrite redifinition, if needed. -It can probably use ensure_hash to download the source and calculate the hash -and set_var_value. - -set_var_value alters the $3-th instance of assigning the $1 name in the -expression to the value $2. $3 defaults to 1. It can modify $4 instead of the -current target, it can put the value without quotes if $5 is 1. - - - -Typical steps include: - -ensure_choice: download current URL and find the freshest version link on the -page, it is now the new URL - -ensure_hash: download current URL and calculate the source package hash - -ensure_version: extract version from the URL - -SF_redirect: replace the current URL with a SourceForge.net mirror:// URL - -SF_version_dir: assume SourceForge.net layout and choose the freshest -version-named subdirectory in the file catalog; you can optionally specify $1 -as a directory name regexp (digits and periods will be required after it) - -SF_version_tarball: assume SourceForge.net layout and choose the freshest -tarball download link - -version: apply replacement of $1 with $2 (extended regexp format) to extract -the version from URL - -version_link: choose the freshest versioned link, $1 is the regexp of -acceptable links diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 64a3083c6c2c..fbad5aa7a012 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-network"; - version = "2.4.1"; + version = "2.4.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0nqihsbrpjw4nx1c50g854bqybniw38adi78vzg8nyl6ikj2r0z4"; + sha256 = "sha256-CdSX4p98HQNC0VF5Ae/ZnDqm000+9KJ6JhQWhSHC4CI="; }; patches = [ diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix index 588061b22e1b..24ce7b5ad56b 100644 --- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , nix-update-script , pkg-config , meson @@ -20,24 +19,15 @@ stdenv.mkDerivation rec { pname = "elementary-capnet-assist"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "elementary"; repo = "capnet-assist"; rev = version; - sha256 = "sha256-UdkS+w61c8z2TCJyG7YsDb0n0b2LOpFyaHzMbdCJsZI="; + sha256 = "sha256-8hhp37EBzZxEVvPaRw9PohjaPWKQZ/AfqqvwLxQCBKk="; }; - patches = [ - # Fix build with meson 0.61 - # https://github.com/elementary/capnet-assist/pull/76 - (fetchpatch { - url = "https://github.com/elementary/capnet-assist/commit/0e77bf8023ba1b35e3a5badb72c246cabf6552b9.patch"; - sha256 = "sha256-B/KEs/TCxR+i3uQSRtWxTi2+cu0n6QLcfKCbMCvSsvs="; - }) - ]; - nativeBuildInputs = [ desktop-file-utils meson diff --git a/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix b/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix index 3ceff2095d2b..614be5603a8e 100644 --- a/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix +++ b/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "xdg-desktop-portal-pantheon"; - version = "1.0.1"; + version = "1.1.0"; src = fetchFromGitHub { owner = "elementary"; repo = "portals"; rev = version; - sha256 = "sha256-8gBMjCMEzrFmKHhkXsgcIESC93EOT0ADkRUIJMmerjw="; + sha256 = "sha256-YICNOeNrpO2tJFyULjQEhZQCrrMyQau59EC7c5K9q40="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/fpc/default.upstream b/pkgs/development/compilers/fpc/default.upstream deleted file mode 100644 index 9f16c1b645cd..000000000000 --- a/pkgs/development/compilers/fpc/default.upstream +++ /dev/null @@ -1,6 +0,0 @@ -url https://sourceforge.net/projects/freepascal/files/Source/ -SF_version_dir -version_link 'fpcbuild-[0-9.]+[.]tar[.]gz/download$' -SF_redirect -version '.*-([0-9.]+)[.]tar[.]gz' '\1' -do_overwrite () { do_overwrite_just_version; } diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix index 9ce6a98e1cd9..f53e9a038963 100644 --- a/pkgs/development/compilers/graalvm/community-edition/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/default.nix @@ -9,7 +9,7 @@ in inherit mkGraal; graalvm11-ce = mkGraal rec { - version = "21.3.0"; + version = "22.0.0.2"; javaVersion = "11"; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; }; @@ -20,7 +20,7 @@ in # directory"/tmp/SVM-4194439592488143713"): error=0, Failed to exec spawn # helper: pid: 19865, exit value: 1" graalvm17-ce = mkGraal rec { - version = "21.3.0"; + version = "22.0.0.2"; javaVersion = "17"; platforms = [ "x86_64-linux" "x86_64-darwin" ]; }; diff --git a/pkgs/development/compilers/graalvm/community-edition/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/hashes.nix index 98f3b2703c4f..f21fdb252708 100644 --- a/pkgs/development/compilers/graalvm/community-edition/hashes.nix +++ b/pkgs/development/compilers/graalvm/community-edition/hashes.nix @@ -3,55 +3,55 @@ [ { sha256 = { - "11-linux-aarch64" = "0hsjxp6ly7jsn9k94fddcl7afc5gda66jyppcnfvslishbizqd0i"; - "17-linux-aarch64" = "09hzl80m7f5ppmcvryz9aq0yw9scdkp5dqhblrqnkzyhvdjl5ycn"; - "11-linux-amd64" = "1ylk5l933z813k0k1xlayiv8fa0f1gmpr66bma51532iy3mch6rs"; - "17-linux-amd64" = "1xn3shwkai61vvzsg595k8776a21ds00w2pjlscvfcbs1ag07n0i"; - "11-darwin-amd64" = "0qpqnnmqxvxzj3mwz05acpg4n8ffqsz0sji8lbl03fgswpvgfavc"; - "17-darwin-amd64" = "1akpsrd9r2igcls0cvhpqw3jrnh59m8z80knx83lmj0cj836a8v0"; + "11-linux-aarch64" = "0n1cgd9rn5aw7rzbd45nlzpnqif095zwl3999vddlhpnjlyjdh0w"; + "17-linux-aarch64" = "1iw27igiyzzl43yfgid1h6h7hd0xnv0rfdkp4r7r8i51sa3q7my7"; + "11-linux-amd64" = "00vipkrhc7d5xxznm07pjrdjahhfg5s5vxg49xz8qxz2nwxhi1mw"; + "17-linux-amd64" = "1m4v2s1b2878r6dqpcxvbqpc3s2l8l0xcbna37bbfx6rsc73wx2g"; + "11-darwin-amd64" = "08v37avg439hywx2yqx0bnfpazwaja2xhyc0kj1imib6iadib042"; + "17-darwin-amd64" = "16lg3qfx7j8w8cxc3abl7c19nj6jhkni99wmff153lyhyk8zjjnm"; }.${javaVersionPlatform} or null; - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java${javaVersionPlatform}-21.3.0.tar.gz"; + url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java${javaVersionPlatform}-22.0.0.2.tar.gz"; } { sha256 = { - "11-linux-aarch64" = "0qlmg5fwvqsb5ab3irj2hrcd5jc94mibnlz1gvzpnq85rw1zcb6h"; - "17-linux-aarch64" = "0jmarhwngs6vpbcgsix0dxhj42qj9vnk3vln8fhdxmydwnns8r1m"; - "11-linux-amd64" = "0kvnjr55rizy53vn0ff9w27z1qh9d1vp3s7r1kdl0wyhrbhd8n49"; - "17-linux-amd64" = "0h14sml42jda54agjs1prfnyjaxxsc67350fr51n8p20nl28lj6z"; - "11-darwin-amd64" = "1mg8c8hh8wmbwsisgarmp35jd0dall1fwdv49mggp74hicbc32h3"; - "17-darwin-amd64" = "0qz0xf2ph9gi45vvri7vphxh35m11nk7sa8nkwxl28l8bza0kb40"; + "11-linux-aarch64" = "17h0yfw0lxsiblqv1nzpc6i71vh6hbwf1x6lp7kziass1a4ixm2i"; + "17-linux-aarch64" = "1nvm04smzbis1jy9znac2a4yf9ajqvvmadcf5ffr521rm784g2br"; + "11-linux-amd64" = "07g7fab0zj1h77a30kiswqm0hvr1m5s6crszcbyvha2v3x2a6145"; + "17-linux-amd64" = "0c8qi7b63zkjrz3sz01bbmfni7pcz9nq1jv1f34lj9lcsm8gc9cc"; + "11-darwin-amd64" = "0xn1frj1f4pzrd5gm6xwq31blgvz8l9249c97q3yh7p6rkk7vhh3"; + "17-darwin-amd64" = "1dr80314fxcklmhi19jn3pqrsz3iivbvcxnphdzl978krm1afzq0"; }.${javaVersionPlatform} or null; - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/native-image-installable-svm-java${javaVersionPlatform}-21.3.0.jar"; + url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar"; } { sha256 = { - "11-linux-aarch64" = "02rvwl1nng8d3qn226rjx5yq2blxs4yz009ab928qanhmb4vhv8b"; - "17-linux-aarch64" = "13kaxbgfp9pm6s28i5hfyg957iiwzrxf0ibibkv2yndgj64vj8xg"; - "11-linux-amd64" = "0zz62zr7imjaw9a3j5m66xs7c72cqb1i74ab3rnlh0dgs1mdpljg"; - "17-linux-amd64" = "1v2iwznlav8dsjj30nlhvsvv7pxmyzkhkp1p7spjjma09d34q4iv"; - "11-darwin-amd64" = "1wiv0299b2xrc229alczmjfj1bsn90p0wdm64rr39xnyyhbqrr80"; - "17-darwin-amd64" = "095sii8ibjcvvc6wnxk77ax151c4zgj8bpp81q3kyaazgpzvrk5s"; + "11-linux-aarch64" = "103d91sz2dmlc5hcbi9v3d3irgb83755hz16vkknfhbbkhm5iyz0"; + "17-linux-aarch64" = "0vas98knpvpajmv8bkgcf0fh7n5fy361nd47002cpppg6hrp7k9q"; + "11-linux-amd64" = "0h4s1dgx2wn63pabdckl85s70s1kw97vp0c8z7izihdn2fy7w3z9"; + "17-linux-amd64" = "1g98ashyvscwyn1k8mamih6qhcbxsk62x6ynd7x81ndy1karlv6q"; + "11-darwin-amd64" = "1y8d6c2ri7hrvsv3aqbcp49pmxh9yppcsfnx0jcwm88wlach0p52"; + "17-darwin-amd64" = "13a6rchnaczpmxga6g405z55913ayq5gwihzlvyy6shk6gwbcppw"; }.${javaVersionPlatform} or null; - url = "https://github.com/oracle/truffleruby/releases/download/vm-21.3.0/ruby-installable-svm-java${javaVersionPlatform}-21.3.0.jar"; + url = "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar"; } { sha256 = { - "11-linux-aarch64" = "1ck4c1z98h1zn4i6xhh1hb6w2jab6n17ddykb72xxw4vig9nhlc7"; - "17-linux-aarch64" = "0p9gx5iq730br9wvacxs4403anxnjln6mx8v0dl4w4lhikjxsy8x"; - "11-linux-amd64" = "0gy8jj9d9msmj0i44sysiwq3j2k2w2g47fhq6y1aq47n3kmwj9kv"; - "17-linux-amd64" = "0qk8rgbmnk84isnb33x5bbh17bnnmq9yqasfgy5p953min6pbxj7"; - "11-darwin-amd64" = "0agw6k3jn2jh8wyc9h8rvzlgs96qh4nlj0y8nyzsmidvwq2ahl00"; - "17-darwin-amd64" = "0l1il0rq48sw6sha9jr0xphjgrm7q0kywy8z94mabm9maqh7l3rn"; + "11-linux-aarch64" = "135zkpqm8z5nzcyn5h6vdx3c09f9wb6jgzmp0llcnx8w76p71154"; + "17-linux-aarch64" = "0pij3kh70lxrzmbzx8zw97f9nb0rr492l7x3n13wcr859cr8akas"; + "11-linux-amd64" = "0ppvsgs216jmm5p8m34lqg2kv0awadh1dlkxb7qzcw2b6x0grzf0"; + "17-linux-amd64" = "1gf0jfmqy8lp6w7bimjp0j5abzmi0ndsn4hcjvfv7123lbj52zkz"; + "11-darwin-amd64" = "1mq6013crjmrpf3yvxwv9p4yn0rcdzg5z9hq9l6fpf47i8522k6p"; + "17-darwin-amd64" = "15l7p48vsca4cvqxbpb9lcmafysmdsxpv6avrpxajz705j3nsvmp"; }.${javaVersionPlatform} or null; - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/wasm-installable-svm-java${javaVersionPlatform}-21.3.0.jar"; + url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar"; } { sha256 = { - "11-linux-amd64" = "1l5av2v459q88zfl83877h7b3426z3d86kp6wqjvz2441brvidi0"; - "17-linux-amd64" = "100p1cgw0z4yfy4axb3gr32m8jnyx1f8bj6f6kk0mf3l8fv2kb7p"; - "11-darwin-amd64" = "06694n74dzsfwlli1sjdsrfbj9ngw7bhrcayvy4sgy2va5qpdjs0"; - "17-darwin-amd64" = "1qwg45q0760lsa62h0nk2zdv0r1npr82bh6p1z3md6pjppm7i025"; + "11-linux-amd64" = "0m8cqqqdks34b2zv7i6qw9kzqxi1rfqsmknqa9wm0b7dqaxx209g"; + "17-linux-amd64" = "12nszxp2yv35y8zkm94bnd0mnanah48y41r61ypymd19plaqmdxk"; + "11-darwin-amd64" = "00g6akpv0gkw8gcxfbgcyipn6gj25yr32k1lb7iqj08bq4f2zvk7"; + "17-darwin-amd64" = "1hd71qg0nmklyakl4cc29vl10fxalbyd2b5yn7x9iv6m0h1pp25g"; }.${javaVersionPlatform} or null; - url = "https://github.com/graalvm/graalpython/releases/download/vm-21.3.0/python-installable-svm-java${javaVersionPlatform}-21.3.0.jar"; + url = "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar"; } ] diff --git a/pkgs/development/compilers/sbcl/common.nix b/pkgs/development/compilers/sbcl/common.nix index 9cfb38109f7b..6a3b40066d99 100644 --- a/pkgs/development/compilers/sbcl/common.nix +++ b/pkgs/development/compilers/sbcl/common.nix @@ -119,7 +119,5 @@ stdenv.mkDerivation rec { } ''); - meta = sbclBootstrap.meta // { - updateWalker = true; - }; + meta = sbclBootstrap.meta; } diff --git a/pkgs/development/coq-modules/gaia/default.nix b/pkgs/development/coq-modules/gaia/default.nix index cf52916605e9..c7c64c9d257c 100644 --- a/pkgs/development/coq-modules/gaia/default.nix +++ b/pkgs/development/coq-modules/gaia/default.nix @@ -10,7 +10,7 @@ with lib; mkCoqDerivation { inherit version; defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.10" "8.14") (isGe "1.12.0") ]; out = "1.13"; } + { cases = [ (range "8.10" "8.15") (isGe "1.12.0") ]; out = "1.13"; } { cases = [ (range "8.10" "8.12") "1.11.0" ]; out = "1.11"; } ] null; diff --git a/pkgs/development/coq-modules/mathcomp-zify/default.nix b/pkgs/development/coq-modules/mathcomp-zify/default.nix index fd3f31d3fe0d..ce2bd98f3d01 100644 --- a/pkgs/development/coq-modules/mathcomp-zify/default.nix +++ b/pkgs/development/coq-modules/mathcomp-zify/default.nix @@ -9,7 +9,7 @@ with lib; mkCoqDerivation rec { defaultVersion = with versions; switch [ coq.coq-version mathcomp-algebra.version ] [ - { cases = [ (range "8.13" "8.14") (isGe "1.12") ]; out = "1.1.0+1.12+8.13"; } + { cases = [ (range "8.13" "8.15") (isGe "1.12") ]; out = "1.1.0+1.12+8.13"; } ] null; release."1.0.0+1.12+8.13".sha256 = "1j533vx6lacr89bj1bf15l1a0s7rvrx4l00wyjv99aczkfbz6h6k"; diff --git a/pkgs/development/coq-modules/paramcoq/default.nix b/pkgs/development/coq-modules/paramcoq/default.nix index d73d14c84a0c..7f65e6643c55 100644 --- a/pkgs/development/coq-modules/paramcoq/default.nix +++ b/pkgs/development/coq-modules/paramcoq/default.nix @@ -4,10 +4,11 @@ with lib; mkCoqDerivation { pname = "paramcoq"; inherit version; defaultVersion = with versions; switch coq.version [ - { case = range "8.10" "8.14"; out = "1.1.3+coq${coq.coq-version}"; } + { case = range "8.10" "8.15"; out = "1.1.3+coq${coq.coq-version}"; } { case = range "8.7" "8.13"; out = "1.1.2+coq${coq.coq-version}"; } ] null; displayVersion = { paramcoq = "..."; }; + release."1.1.3+coq8.15".sha256 = "0sl7ihznwz05d2x2v78w1zd4q55c1sgy06vxasbcls4v2pkw53hl"; release."1.1.3+coq8.14".sha256 = "00zqq9dc2p5v0ib1jgizl25xkwxrs9mrlylvy0zvb96dpridjc71"; release."1.1.3+coq8.13".sha256 = "06ndly736k4pmdn4baqa7fblp6lx7a9pxm9gvz1vzd6ic51825wp"; release."1.1.3+coq8.12".sha256 = "sha256:10j23ws8ymqpxhapni75sxbzz0dl4n9sgasrx618i7s7b705y2rh"; diff --git a/pkgs/development/coq-modules/serapi/default.nix b/pkgs/development/coq-modules/serapi/default.nix index 5820f98fa0f9..b3bff95b5eaf 100644 --- a/pkgs/development/coq-modules/serapi/default.nix +++ b/pkgs/development/coq-modules/serapi/default.nix @@ -2,8 +2,8 @@ let release = { - "8.14.0+0.14.0".sha256 = "sha256:1kh80yb791yl771qbqkvwhbhydfii23a7lql0jgifvllm2k8hd8d"; - "8.14+rc1+0.14.0".sha256 = "1w7d7anvcfx8vz51mnrf1jkw6rlpzjkjlr06avf58wlhymww7pja"; + "8.15.0+0.15.0".sha256 = "1vh99ya2dq6a8xl2jrilgs0rpj4j227qx8zvzd2v5xylx0p4bbrp"; + "8.14.0+0.14.0".sha256 = "1kh80yb791yl771qbqkvwhbhydfii23a7lql0jgifvllm2k8hd8d"; "8.13.0+0.13.0".sha256 = "0k69907xn4k61w4mkhwf8kh8drw9pijk9ynijsppihw98j8w38fy"; "8.12.0+0.12.1".sha256 = "048x3sgcq4h845hi6hm4j4dsfca8zfj70dm42w68n63qcm6xf9hn"; "8.11.0+0.11.1".sha256 = "1phmh99yqv71vlwklqgfxiq2vj99zrzxmryj2j4qvg5vav3y3y6c"; @@ -17,6 +17,7 @@ in defaultVersion = with versions; switch coq.version [ + { case = isEq "8.15"; out = "8.15.0+0.15.0"; } { case = isEq "8.14"; out = "8.14.0+0.14.0"; } { case = isEq "8.13"; out = "8.13.0+0.13.0"; } { case = isEq "8.12"; out = "8.12.0+0.12.1"; } @@ -55,9 +56,6 @@ in let inherit (o) version; in { src = fetchzip { url = - if version == "8.14+rc1+0.14.0" - then "https://github.com/ejgallego/coq-serapi/archive/refs/tags/8.14+rc1+0.14.0.tar.gz" - else "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${ if version == "8.11.0+0.11.1" then version else builtins.replaceStrings [ "+" ] [ "." ] version diff --git a/pkgs/development/interpreters/regina/default.upstream b/pkgs/development/interpreters/regina/default.upstream deleted file mode 100644 index 481d9848f830..000000000000 --- a/pkgs/development/interpreters/regina/default.upstream +++ /dev/null @@ -1,5 +0,0 @@ -url https://sourceforge.net/projects/regina-rexx/files/regina-rexx/ -SF_version_dir -SF_version_tarball -SF_redirect -minimize_overwrite diff --git a/pkgs/development/libraries/botan/2.0.upstream b/pkgs/development/libraries/botan/2.0.upstream deleted file mode 100644 index 74eb1a2ca83f..000000000000 --- a/pkgs/development/libraries/botan/2.0.upstream +++ /dev/null @@ -1,10 +0,0 @@ -url https://botan.randombit.net/ -version_link 'Botan-[0-9]+([.][0-9]+)*[.](tgz|tbz|tbz2|tar[.]bz2)$' -ensure_version -attribute_name botan2 -do_overwrite(){ - ensure_hash - set_var_value sha256 $CURRENT_HASH - set_var_value baseVersion ${CURRENT_VERSION%.*} - set_var_value revision ${CURRENT_VERSION##*.} -} diff --git a/pkgs/development/libraries/botan/default.upstream b/pkgs/development/libraries/botan/default.upstream deleted file mode 100644 index 43f6a3b268ee..000000000000 --- a/pkgs/development/libraries/botan/default.upstream +++ /dev/null @@ -1,9 +0,0 @@ -url http://botan.randombit.net/download.html -version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$' -ensure_version -do_overwrite(){ - ensure_hash - set_var_value sha256 $CURRENT_HASH - set_var_value baseVersion ${CURRENT_VERSION%.*} - set_var_value revision ${CURRENT_VERSION##*.} -} diff --git a/pkgs/development/libraries/eigen/default.upstream b/pkgs/development/libraries/eigen/default.upstream deleted file mode 100644 index c0c05efc466c..000000000000 --- a/pkgs/development/libraries/eigen/default.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://eigen.tuxfamily.org/ -ensure_choice -version '.*/([-0-9.]+)[.]tar[.].*' '\1' -do_overwrite() { do_overwrite_just_version; } diff --git a/pkgs/development/libraries/flint/default.nix b/pkgs/development/libraries/flint/default.nix index 858144b150aa..6873508eb7dc 100644 --- a/pkgs/development/libraries/flint/default.nix +++ b/pkgs/development/libraries/flint/default.nix @@ -51,6 +51,5 @@ stdenv.mkDerivation rec { platforms = platforms.unix; homepage = "https://www.flintlib.org/"; downloadPage = "https://www.flintlib.org/downloads.html"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/iml/default.nix b/pkgs/development/libraries/iml/default.nix index 474605fe7696..884cebab2e30 100644 --- a/pkgs/development/libraries/iml/default.nix +++ b/pkgs/development/libraries/iml/default.nix @@ -24,6 +24,5 @@ stdenv.mkDerivation rec { maintainers = [lib.maintainers.raskin]; platforms = lib.platforms.unix; homepage = "https://cs.uwaterloo.ca/~astorjoh/iml.html"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/libzmf/default.nix b/pkgs/development/libraries/libzmf/default.nix index 7965c934df3e..378a7202f371 100644 --- a/pkgs/development/libraries/libzmf/default.nix +++ b/pkgs/development/libraries/libzmf/default.nix @@ -20,6 +20,5 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; homepage = "https://wiki.documentfoundation.org/DLP/Libraries/libzmf"; downloadPage = "http://dev-www.libreoffice.org/src/libzmf/"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix index a8d9b23cc84c..fb5409a7e727 100644 --- a/pkgs/development/libraries/loudmouth/default.nix +++ b/pkgs/development/libraries/loudmouth/default.nix @@ -22,8 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for the Jabber protocol"; platforms = platforms.all; downloadPage = "http://mcabber.com/files/loudmouth/"; - downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$"; - updateWalker = true; license = licenses.lgpl21; }; } diff --git a/pkgs/development/libraries/mdds/default.upstream b/pkgs/development/libraries/mdds/default.upstream deleted file mode 100644 index 96c5bc35d169..000000000000 --- a/pkgs/development/libraries/mdds/default.upstream +++ /dev/null @@ -1,10 +0,0 @@ -url https://gitlab.com/mdds/mdds -version_link 'mdds-.*[.]tar[.][a-z0-9]+$' -version '.*-([0-9.]+)[.]tar[.].*' '\1' - -do_overwrite(){ - ensure_hash - ensure_version - set_var_value version $CURRENT_VERSION - set_var_value sha256 $CURRENT_HASH -} diff --git a/pkgs/development/libraries/mpir/default.nix b/pkgs/development/libraries/mpir/default.nix index b8ee4fb4e765..b7d31066de1a 100644 --- a/pkgs/development/libraries/mpir/default.nix +++ b/pkgs/development/libraries/mpir/default.nix @@ -21,6 +21,5 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; downloadPage = "https://mpir.org/downloads.html"; homepage = "https://mpir.org/"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index bbf5bd9aa16d..390227cfe95c 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -9,11 +9,6 @@ , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform }: -assert ( - lib.assertMsg (!withPerl -> stdenv.hostPlatform != stdenv.buildPlatform) - "withPerl should not be disabled unless cross compiling" -); - # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or # cgit) that are needed here should be included directly in Nixpkgs as diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream deleted file mode 100644 index ba0ed2a9b299..000000000000 --- a/pkgs/development/libraries/osip/default.upstream +++ /dev/null @@ -1,3 +0,0 @@ -url http://ftp.u-tx.net/gnu/osip/ -attribute_name libosip -minimize_overwrite diff --git a/pkgs/development/libraries/phash/default.nix b/pkgs/development/libraries/phash/default.nix index 8d3f3e987023..4596c5aaf4f6 100644 --- a/pkgs/development/libraries/phash/default.nix +++ b/pkgs/development/libraries/phash/default.nix @@ -31,6 +31,5 @@ stdenv.mkDerivation rec { platforms = platforms.all; homepage = "http://www.phash.org"; downloadPage = "https://github.com/clearscene/pHash"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/safefile/default.nix b/pkgs/development/libraries/safefile/default.nix index 2865ab06319f..1f49afbacff2 100644 --- a/pkgs/development/libraries/safefile/default.nix +++ b/pkgs/development/libraries/safefile/default.nix @@ -8,20 +8,11 @@ stdenv.mkDerivation rec { sha256 = "1y0gikds2nr8jk8smhrl617njk23ymmpxyjb2j1xbj0k82xspv78"; }; - passthru = { - updateScript = '' - #!${runtimeShell} - cd ${toString ./.} - ${toString path}/pkgs/build-support/upstream-updater/update-walker.sh default.nix - ''; - }; - - meta = { + meta = with lib; { description = "File open routines to safely open a file when in the presence of an attack"; - license = lib.licenses.asl20 ; - maintainers = [lib.maintainers.raskin]; - platforms = lib.platforms.all; + license = licenses.asl20; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.all; homepage = "https://research.cs.wisc.edu/mist/safefile/"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index 406603e66225..f2bc63d4f6d6 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -29,6 +29,5 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [raskin]; license = lib.licenses.gpl2; downloadPage = "http://www.soft-switch.org/downloads/spandsp/"; - updateWalker = true; }; } diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix index 7aef5ba74768..7913f05354d4 100644 --- a/pkgs/development/libraries/tbb/default.nix +++ b/pkgs/development/libraries/tbb/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { postInstall = let pcTemplate = fetchurl { - url = "https://github.com/oneapi-src/oneTBB/raw/master/integration/pkg-config/tbb.pc.in"; + url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in"; sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI="; }; in '' diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix index 1f63b2cfc871..5f2557514804 100644 --- a/pkgs/development/libraries/xmlsec/default.nix +++ b/pkgs/development/libraries/xmlsec/default.nix @@ -73,7 +73,6 @@ stdenv.mkDerivation rec { description = "XML Security Library in C based on libxml2"; license = lib.licenses.mit; platforms = with lib.platforms; linux ++ darwin; - updateWalker = true; }; } ) diff --git a/pkgs/development/misc/resholve/oildev.nix b/pkgs/development/misc/resholve/oildev.nix index 635aca9aa57a..7f51342fbde9 100644 --- a/pkgs/development/misc/resholve/oildev.nix +++ b/pkgs/development/misc/resholve/oildev.nix @@ -79,8 +79,8 @@ rec { patchSrc = fetchFromGitHub { owner = "abathur"; repo = "nix-py-dev-oil"; - rev = "v0.8.12.1"; - hash = "sha256-7JVnosdcvmVFN3h6SIeeqcJFcyFkai//fFuzi7ThNMY="; + rev = "v0.8.12.2"; + hash = "sha256-+dVxzPKMGNKFE+7Ggzx9iWjjvwW2Ow3UqmjjUud9Mqo="; }; patches = [ "${patchSrc}/0001-add_setup_py.patch" @@ -88,6 +88,7 @@ rec { "${patchSrc}/0004-disable-internal-py-yajl-for-nix-built.patch" "${patchSrc}/0006-disable_failing_libc_tests.patch" "${patchSrc}/0007-namespace_via_init.patch" + "${patchSrc}/0009-avoid_nix_arch64_darwin_toolchain_bug.patch" ]; buildInputs = [ readline cmark py-yajl ]; diff --git a/pkgs/development/misc/resholve/resholve.nix b/pkgs/development/misc/resholve/resholve.nix index fbddc4d72dd2..f364b73158e9 100644 --- a/pkgs/development/misc/resholve/resholve.nix +++ b/pkgs/development/misc/resholve/resholve.nix @@ -1,4 +1,5 @@ { lib +, stdenv , callPackage , python27Packages , installShellFiles @@ -17,7 +18,18 @@ python27Packages.buildPythonApplication { nativeBuildInputs = [ installShellFiles ]; - propagatedBuildInputs = [ oildev python27Packages.configargparse ]; + propagatedBuildInputs = [ + oildev + /* + Disable configargparse's tests on aarch64-darwin. + Several of py27 scandir's tests fail on aarch64-darwin. Chain: + configargparse -> pytest-check-hook -> pytest -> pathlib2 -> scandir + TODO: drop if https://github.com/NixOS/nixpkgs/issues/156807 resolves? + */ + (python27Packages.configargparse.overridePythonAttrs (old: { + doCheck = stdenv.hostPlatform.system != "aarch64-darwin"; + })) + ]; patchPhase = '' for file in resholve; do diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix index 5166c8ead8e4..37a30147aa5f 100644 --- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { - version = "20.0.0"; + version = "20.1.0"; pname = "azure-mgmt-resource"; disabled = !isPy3k; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "622dca4484be64f9f5ce335d327dffabf3e71e14e8a3f4a1051dc85a5c3ebbca"; + sha256 = "4fbb2158320e0bdd367882642f266a6dfb3b4b8610792b3afbbca39089f212d7"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-web/default.nix b/pkgs/development/python-modules/azure-mgmt-web/default.nix index ad7930016ab0..cd19e88e9bd0 100644 --- a/pkgs/development/python-modules/azure-mgmt-web/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-web/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-web"; - version = "6.0.0"; + version = "6.1.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "a58750df23d5d4cb8eff283a93312e933ee3ef4272324576005c3dc8c22ce944"; + sha256 = "c26635089276515b0488fcf014aab50a0446f54800c6e0e5583cc493ac8d738f"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/chalice/default.nix b/pkgs/development/python-modules/chalice/default.nix index 43767cb1a319..07259d5e59cf 100644 --- a/pkgs/development/python-modules/chalice/default.nix +++ b/pkgs/development/python-modules/chalice/default.nix @@ -61,7 +61,8 @@ buildPythonPackage rec { postPatch = '' sed -i setup.py -e "/pip>=/c\'pip'," substituteInPlace setup.py \ - --replace 'typing==3.6.4' 'typing' + --replace "typing==3.6.4" "typing" \ + --replace "attrs>=19.3.0,<21.3.0" "attrs" ''; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix index eff55de1d90e..451a993c22f8 100644 --- a/pkgs/development/python-modules/fakeredis/default.nix +++ b/pkgs/development/python-modules/fakeredis/default.nix @@ -2,7 +2,8 @@ , aioredis , async_generator , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, fetchpatch , hypothesis , lupa , pytest-asyncio @@ -19,11 +20,13 @@ buildPythonPackage rec { version = "1.7.0"; format = "setuptools"; - disabled = pythonOlder "3.5"; + disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-yb0S5DAzbL0+GJ+uDpHrmZl7k+dtv91u1n+jUtxoTHE="; + src = fetchFromGitHub { + owner = "jamesls"; + repo = pname; + rev = version; + hash = "sha256-P6PUg9SY0Qshlvj+iV1xdrzVLJ9JXUV4cGHUynKO3m0="; }; propagatedBuildInputs = [ @@ -42,6 +45,15 @@ buildPythonPackage rec { pytestCheckHook ]; + patches = [ + # Support for redis <= 4.1.0, https://github.com/jamesls/fakeredis/pull/324 + (fetchpatch { + name = "support-redis-4.1.0.patch"; + url = "https://github.com/jamesls/fakeredis/commit/8ef8dc6dacc9baf571d66a25ffbf0fadd7c70f78.patch"; + sha256 = "sha256-4DrF/5WEWQWlJZtAi4qobMDyRAAcO/weHIaK9waN00k="; + }) + ]; + disabledTestPaths = [ # AttributeError: 'AsyncGenerator' object has no attribute XXXX "test/test_aioredis2.py" diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix index 0834b5fa22ed..d49c965c86ec 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.28.11"; + version = "0.28.17"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "flux_led"; rev = version; - sha256 = "sha256-6EBHFqfCCDKMY9T8suPDIOoiA2LugMJh0OJiHoICioU="; + sha256 = "1brh2wmv29vsvnndsjf1nbh2brwrkxicwcyj9brs9kgsrhvlv71s"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ftputil/default.nix b/pkgs/development/python-modules/ftputil/default.nix index 501b95f81f14..e9e445f11c3d 100644 --- a/pkgs/development/python-modules/ftputil/default.nix +++ b/pkgs/development/python-modules/ftputil/default.nix @@ -1,32 +1,45 @@ -{ stdenv, lib, buildPythonPackage, fetchPypi, pythonOlder, pytest, freezegun }: +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, freezegun +, pytestCheckHook +, pythonOlder +}: buildPythonPackage rec { - version = "5.0.2"; pname = "ftputil"; + version = "5.0.3"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "afa2ba402235e8c6583c1d2630269628344134c9246b961ff14f182047f3e633"; + hash = "sha256-m4buZ8GYDOHYmxN1K8SLlJP+4GNJy0doKFlOduCPhIg="; }; - checkInputs = [ pytest freezegun ]; + checkInputs = [ + freezegun + pytestCheckHook + ]; - checkPhase = '' - touch Makefile - # Disable tests that require network access or access /home or assume execution before year 2020 - py.test test \ - -k "not test_public_servers and not test_real_ftp \ - and not test_set_parser and not test_repr \ - and not test_conditional_upload and not test_conditional_download_with_older_target \ - '' - # need until https://ftputil.sschwarzer.net/trac/ticket/140#ticket is fixed - + lib.optionalString stdenv.isDarwin "and not test_error_message_reuse" - + ''"''; + disabledTests = [ + # Tests require network access + "test_public_servers" + "test_real_ftp" + "test_set_parser" + "test_upload" + ]; + + pythonImportsCheck = [ + "ftputil" + ]; meta = with lib; { description = "High-level FTP client library (virtual file system and more)"; homepage = "http://ftputil.sschwarzer.net/"; - license = licenses.bsd2; # "Modified BSD license, says pypi" + license = licenses.bsd2; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix index a3418e3a9029..d2e3abef82d1 100644 --- a/pkgs/development/python-modules/google-cloud-dlp/default.nix +++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "google-cloud-dlp"; - version = "3.5.0"; + version = "3.6.0"; src = fetchPypi { inherit pname version; - sha256 = "3a757a3fafab46f28ffd2465ae06c5f87071aee1b41aee13f44255074483d480"; + sha256 = "20abce8d8d3939db243cbc0da62a73ff1a4e3b3b341f7ced0cfeb5e2c4a66621"; }; propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ]; diff --git a/pkgs/development/python-modules/halohome/default.nix b/pkgs/development/python-modules/halohome/default.nix index b87b59a46ec0..7d8dbe2efbb8 100644 --- a/pkgs/development/python-modules/halohome/default.nix +++ b/pkgs/development/python-modules/halohome/default.nix @@ -9,7 +9,8 @@ buildPythonPackage rec { pname = "halohome"; - version = "0.4.0"; + version = "0.5.0"; + format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +18,7 @@ buildPythonPackage rec { owner = "nayaverdier"; repo = pname; rev = version; - sha256 = "W7cqBJmoBUT0VvXeNKxUK0FfAuprjfvFv6rgyL2gqYQ="; + sha256 = "sha256-xnUOObqVg1E7mTDKHZMoC95KI9ZIn0YpkQjoASa5Dds="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ibm-watson/default.nix b/pkgs/development/python-modules/ibm-watson/default.nix index a0c12758069b..e8ecdfff32ba 100644 --- a/pkgs/development/python-modules/ibm-watson/default.nix +++ b/pkgs/development/python-modules/ibm-watson/default.nix @@ -10,19 +10,30 @@ , python-dateutil , websocket-client , ibm-cloud-sdk-core +, pythonOlder }: buildPythonPackage rec { pname = "ibm-watson"; - version = "5.3.0"; + version = "5.3.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "watson-developer-cloud"; repo = "python-sdk"; rev = "v${version}"; - sha256 = "0g63h7rf0710bxcsr115857bvz69sl2g5d13k5a7qi7hjh33bxrk"; + sha256 = "1x6r8j0xyi81jb0q4pzr6l7aglykrwqz8nw45clv79v33i2sgdcs"; }; + propagatedBuildInputs = [ + requests + python-dateutil + websocket-client + ibm-cloud-sdk-core + ]; + checkInputs = [ responses pytestCheckHook @@ -31,18 +42,15 @@ buildPythonPackage rec { tox ]; - propagatedBuildInputs = [ - requests - python-dateutil - websocket-client - ibm-cloud-sdk-core - ]; - postPatch = '' substituteInPlace setup.py \ --replace websocket-client==1.1.0 websocket-client>=1.1.0 ''; + pythonImportsCheck = [ + "ibm_watson" + ]; + meta = with lib; { description = "Client library to use the IBM Watson Services"; homepage = "https://github.com/watson-developer-cloud/python-sdk"; diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix index 36b6efa724e2..83ff792a62a3 100644 --- a/pkgs/development/python-modules/losant-rest/default.nix +++ b/pkgs/development/python-modules/losant-rest/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "losant-rest"; - version = "1.15.1"; + version = "1.15.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Losant"; repo = "losant-rest-python"; rev = "v${version}"; - sha256 = "sha256-j8Vzr83pvl/AnXfA+nl5uRXf+y6ndKmQHM3bl306wFM="; + sha256 = "sha256-JmLQ3Hj9WnL/XfMxDiVAizGFASWMwF36ohp8asErUMM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix index 83485f4252b8..51e3292a92de 100644 --- a/pkgs/development/python-modules/mailchecker/default.nix +++ b/pkgs/development/python-modules/mailchecker/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "mailchecker"; - version = "4.1.9"; + version = "4.1.10"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-vr70AB8EiOmb8lgwrq78iTnHdrp14Ppyh57Trh8SQ8Q="; + hash = "sha256-SOUOoVPrWc+NqXyBchtvtreufqSeQPJg+MgBr8n+U/Y="; }; # Module has no tests diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix index 9ddabb97ec83..9193d0590697 100644 --- a/pkgs/development/python-modules/meshtastic/default.nix +++ b/pkgs/development/python-modules/meshtastic/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "meshtastic"; - version = "1.2.75"; + version = "1.2.76"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "meshtastic"; repo = "Meshtastic-python"; rev = version; - sha256 = "sha256-VIeW7RloEIBU7YNG7f2e8PdFR+FauIwKLkd7v4qRCOA="; + sha256 = "sha256-LQo7TwD91o9j/fJ5BTNV7WoCDFXnJVy1PDObH5FiNtk="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/minikerberos/default.nix b/pkgs/development/python-modules/minikerberos/default.nix index d1e0616cfb68..ebd2b3f0b6bd 100644 --- a/pkgs/development/python-modules/minikerberos/default.nix +++ b/pkgs/development/python-modules/minikerberos/default.nix @@ -4,15 +4,19 @@ , buildPythonPackage , fetchPypi , oscrypto +, pythonOlder }: buildPythonPackage rec { pname = "minikerberos"; - version = "0.2.14"; + version = "0.2.15"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-MND7r4Gkx9RnEMgEl62QXFYr1NEloihQ2HeU9hyhsx8="; + sha256 = "20fae3cf1b329451eb3cba55d6b3c5b44501db5a23e49f47bc770e7461308672"; }; propagatedBuildInputs = [ @@ -24,7 +28,9 @@ buildPythonPackage rec { # no tests are published: https://github.com/skelsec/minikerberos/pull/5 doCheck = false; - pythonImportsCheck = [ "minikerberos" ]; + pythonImportsCheck = [ + "minikerberos" + ]; meta = with lib; { description = "Kerberos manipulation library in Python"; diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix index a6c9b150ead7..e3dcfafb958f 100644 --- a/pkgs/development/python-modules/ocrmypdf/default.nix +++ b/pkgs/development/python-modules/ocrmypdf/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "ocrmypdf"; - version = "13.2.0"; + version = "13.3.0"; src = fetchFromGitHub { owner = "jbarlow83"; @@ -39,7 +39,7 @@ buildPythonPackage rec { extraPostFetch = '' rm "$out/.git_archival.txt" ''; - sha256 = "sha256-mVPKcxTKoRgttwJdsY7r0kF7W1+G45iCc+mFctDipSM="; + sha256 = "sha256-8QOxHka2kl/keYbsP1zOZ8hrZ+15ZGJaw91F+cpWvcA="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index f52467f3e59e..ca8133549164 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "pikepdf"; - version = "4.3.1"; + version = "4.4.0"; disabled = ! isPy3k; src = fetchFromGitHub { @@ -38,7 +38,7 @@ buildPythonPackage rec { extraPostFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-u/NDDJGCcctWL3ivxtU+8CSlQH+5qkmXUcF4RkQOiPI="; + hash = "sha256-AfHqKcb+ejEmY53irbIv9+1fPEczMgd7/VaFt01cNUs="; }; patches = [ diff --git a/pkgs/development/python-modules/pycm/default.nix b/pkgs/development/python-modules/pycm/default.nix index 878e36e5c07a..90bd83f85d29 100644 --- a/pkgs/development/python-modules/pycm/default.nix +++ b/pkgs/development/python-modules/pycm/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pycm"; - version = "3.3"; + version = "3.4"; format = "setuptools"; disabled = pythonOlder "3.5"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "sepandhaghighi"; repo = pname; rev = "v${version}"; - sha256 = "0i3qpb20mnc22qny1ar3yvxb1dac7njwi8bvi5sy5kywz10c5dkw"; + sha256 = "0agis9jh6kjf7k1vf1fiyf5h3lb9p0w9k710wwpsby292ydazr4f"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyeight/default.nix b/pkgs/development/python-modules/pyeight/default.nix index dc390120f600..f84612716975 100644 --- a/pkgs/development/python-modules/pyeight/default.nix +++ b/pkgs/development/python-modules/pyeight/default.nix @@ -3,19 +3,21 @@ , async-timeout , buildPythonPackage , fetchFromGitHub -, isPy3k +, pythonOlder }: buildPythonPackage rec { pname = "pyeight"; - version = "0.1.9"; - disabled = !isPy3k; + version = "0.2.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "mezz64"; repo = "pyEight"; rev = version; - sha256 = "1ybhs09wyzzaryghd6ijxhajp3677x63c4qzqsgln1mmxhj8wm5k"; + sha256 = "sha256-ERilZWroFaBCYjTfU7W0vegJaGibmJYVcgt0z84TPEI="; }; propagatedBuildInputs = [ @@ -23,9 +25,12 @@ buildPythonPackage rec { async-timeout ]; - # Project has no tests + # Module has no tests doCheck = false; - pythonImportsCheck = [ "pyeight" ]; + + pythonImportsCheck = [ + "pyeight" + ]; meta = with lib; { description = "Python library to interface with the Eight Sleep API"; diff --git a/pkgs/development/python-modules/pylaunches/default.nix b/pkgs/development/python-modules/pylaunches/default.nix index 56e93af84a06..8f2ed7083580 100644 --- a/pkgs/development/python-modules/pylaunches/default.nix +++ b/pkgs/development/python-modules/pylaunches/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pylaunches"; - version = "1.2.2"; + version = "1.3.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "ludeeus"; repo = pname; rev = version; - sha256 = "16fh901qlcxwycq6gqgqn076dybjnj432hb596i28avaplml4qzx"; + sha256 = "1b41j384lqg3gc7dsmdzp7anrsymqgc1895lc5j8g43x2mfgbjnh"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix index 30bf2a43b78e..9f102c5c924c 100644 --- a/pkgs/development/python-modules/rokuecp/default.nix +++ b/pkgs/development/python-modules/rokuecp/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "rokuecp"; - version = "0.11.0"; + version = "0.12.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "ctalkington"; repo = "python-rokuecp"; rev = version; - sha256 = "sha256-Y4Ge7IOR7//MJ0w7kdOgchLWFGR1qJbY0PSpJrjucaQ="; + sha256 = "1pqiba4zgx7knm1k53p6w6b9a81dalqfq2agdyrz3734nhl6gx1h"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix index 2ba415adda0d..4b1d79d0e572 100644 --- a/pkgs/development/python-modules/sendgrid/default.nix +++ b/pkgs/development/python-modules/sendgrid/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "sendgrid"; - version = "6.9.4"; + version = "6.9.5"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = pname; repo = "sendgrid-python"; rev = version; - sha256 = "sha256-xNd0IPhaVw4X6URsg6hrDJhxmBRWam4bqgLN0uvMUxI="; + sha256 = "1r8xh0c6wivrajj6gl1hv25vsb9i79n19nd4x53207i5vz9d55g5"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix index 4dcaa7c43232..f312b522add3 100644 --- a/pkgs/development/tools/database/sqlfluff/default.nix +++ b/pkgs/development/tools/database/sqlfluff/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "sqlfluff"; - version = "0.9.2"; + version = "0.9.3"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - hash = "sha256-BzO7S2sxZeklzIh1qRHJ4mGLsKLNpg8PuGGRVAkPlzc="; + hash = "sha256-Cg85NdbbZs0tkBy2kq5ZRKDuQwLIixdhggOBSFpUM04="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index b7b8e3ed3b71..e5fdce7cf285 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -80,14 +80,14 @@ rec { headers = "1idam1xirxqxqg4g7n33kdx2skk0r351m00g59a8yx9z82g06ah9"; }; - electron_13 = mkElectron "13.6.7" { - armv7l-linux = "13acf496801d2a311f9c0644d086df26976259e915cb2201fd29665d8122a98b"; - aarch64-linux = "8d751e9e998f5eece15dba8cae1a7aa4b780da1b802235bafcd86a3540f4efe2"; - x86_64-linux = "af93b62e197a40c648c964d44939d24fc56ff4fa8ccac22cfb020660c726f4e7"; - i686-linux = "68085a6849aa571fea7682b66207abd2b6adb0a515195a00862776f37f2ff3f0"; - x86_64-darwin = "70d51ac6adc50df3195af022e700d3d10056c9e1fb770c79540215cdee9d67b3"; - aarch64-darwin = "4d9facf75a94f6d053c02db97ca4012833274b3d3f9ab0438733a302d4a28f60"; - headers = "1ydyl2s58vf65ywih2n3iam8l6yggmsn6hv0jhwp1rsash8hl4x4"; + electron_13 = mkElectron "13.6.8" { + armv7l-linux = "94cf65f1454ea26017d80cd98a9fd3d9c9767d2a2ba7030d29d674d643814d59"; + aarch64-linux = "5579b20438e5637f0ec8e0f07a46d5359691bfd631290372d538217c1904e07b"; + x86_64-linux = "054f2a83a1361ea25438b609a681adb8c8dec8a2f03fd5b3605b10818799ea01"; + i686-linux = "87cb2af357ba568fb56c99aea0a25714501fbacd02ce27c9ba55e3db8deb5535"; + x86_64-darwin = "d8fa0254c4a5fe61f5a047f9cb6968a2dbc817cbd10cac1fd9c9d362608bc58d"; + aarch64-darwin = "8e59ea97744791f7edaf3ff4c2fa1a144f9737c165c29ee0f0d13175a2140399"; + headers = "0s253jdmfyfgb5mwslqd50g623fwj3dgsgsq4cn3pl5qfpmcm26x"; }; electron_14 = mkElectron "14.2.4" { diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix index f18d09bf7d0e..5671f5dbe641 100644 --- a/pkgs/development/tools/jq/default.nix +++ b/pkgs/development/tools/jq/default.nix @@ -72,6 +72,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin globin ]; platforms = platforms.unix; downloadPage = "https://stedolan.github.io/jq/download/"; - updateWalker = true; }; } diff --git a/pkgs/development/tools/misc/luarocks/3.7.nix b/pkgs/development/tools/misc/luarocks/3.7.nix index aa49af753b32..95fa79c6d125 100644 --- a/pkgs/development/tools/misc/luarocks/3.7.nix +++ b/pkgs/development/tools/misc/luarocks/3.7.nix @@ -77,6 +77,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [raskin teto]; platforms = platforms.linux ++ platforms.darwin; downloadPage = "http://luarocks.org/releases/"; - updateWalker = true; }; } diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index c2449de5dd28..58f5996992af 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -77,6 +77,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [raskin teto]; platforms = platforms.linux ++ platforms.darwin; downloadPage = "http://luarocks.org/releases/"; - updateWalker = true; }; } diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix index d0f33d750c23..a63822428b26 100644 --- a/pkgs/development/tools/mold/default.nix +++ b/pkgs/development/tools/mold/default.nix @@ -7,6 +7,7 @@ , xxHash , zlib , openssl +, nix-update-script }: stdenv.mkDerivation rec { @@ -29,6 +30,12 @@ stdenv.mkDerivation rec { LTO = 1; makeFlags = [ "PREFIX=${placeholder "out"}" ]; + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + meta = with lib; { description = "A high performance drop-in replacement for existing unix linkers"; homepage = "https://github.com/rui314/mold"; diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix index a3e176216216..021ba8c7f93b 100644 --- a/pkgs/development/tools/sentry-cli/default.nix +++ b/pkgs/development/tools/sentry-cli/default.nix @@ -9,13 +9,13 @@ }: rustPlatform.buildRustPackage rec { pname = "sentry-cli"; - version = "1.72.0"; + version = "1.72.1"; src = fetchFromGitHub { owner = "getsentry"; repo = "sentry-cli"; rev = version; - sha256 = "sha256-2Aj2Y0c8JR8s6Ek7sZfU+5RENkoCVSAxtOvkHilfb48="; + sha256 = "sha256-qFEvDslAjXpIpSanM4iorgTRfKWQPKKzxxwguFUlFZA="; }; doCheck = false; @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; nativeBuildInputs = [ pkg-config ]; - cargoSha256 = "sha256-sSIQ7Wa0otbq82WELxP3oFYa1FoaoZz2jCB59Ob6zNM="; + cargoSha256 = "sha256-PRyQWohxlSNRiVj3r7xTxFVWsYL+C50bkhDU4NLaMBo="; meta = with lib; { homepage = "https://docs.sentry.io/cli/"; diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix index 0c33e170f954..b2da64427cb5 100644 --- a/pkgs/development/tools/symfony-cli/default.nix +++ b/pkgs/development/tools/symfony-cli/default.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "symfony-cli"; - version = "5.2.1"; - vendorSha256 = "sha256-vnevuJoDiAx/Z6uKO/SX3UV3j/jsXXNlnui6Nzm+tBA="; + version = "5.2.2"; + vendorSha256 = "sha256-/ct1DNSCB1KzajyHWe6guF5iYm5AAEbPunn7xYLw25I="; src = fetchFromGitHub { owner = "symfony-cli"; repo = "symfony-cli"; rev = "v${version}"; - sha256 = "sha256-51TkiOf3QkwuLv3l+aj5r5tgpDD/VglqeAjliCm5E5M="; + sha256 = "sha256-qTt9FxphGi8o5hc3IaQGuIN+6t3KE/9xH9dv7i+C4ec="; }; # Tests requires network access diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix index 18533469a0c9..6958a7b11d94 100644 --- a/pkgs/development/tools/typos/default.nix +++ b/pkgs/development/tools/typos/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "typos"; - version = "1.3.5"; + version = "1.3.7"; src = fetchFromGitHub { owner = "crate-ci"; repo = pname; rev = "v${version}"; - sha256 = "sha256-zL9Ylrl541RCSOliH+X7TfvRZyEXvISsH3N1agjoC8U="; + sha256 = "sha256-bsPwyTucFJdKp+r8uJ2XLOzvbTM4i5EmSY+3VgyAFuE="; }; - cargoSha256 = "sha256-qc32MX56/0JaHx/x/5em3SoNi6YM5nduVLrDOQbMZDg="; + cargoSha256 = "sha256-2wJXx8xHPrjzKupuen3XfRMSviYEwYK3nbL5/uTDIzE="; meta = with lib; { description = "Source code spell checker"; diff --git a/pkgs/development/tools/zprint/default.nix b/pkgs/development/tools/zprint/default.nix index d28574637a14..41c2522dd01f 100644 --- a/pkgs/development/tools/zprint/default.nix +++ b/pkgs/development/tools/zprint/default.nix @@ -2,11 +2,11 @@ buildGraalvmNativeImage rec { pname = "zprint"; - version = "1.2.0"; + version = "1.2.1"; src = fetchurl { url = "https://github.com/kkinnear/${pname}/releases/download/${version}/${pname}-filter-${version}"; - sha256 = "sha256-av1DsTijNzLdnBjTF2fEFqEM/X2VUVFvNuC09ikeDGM="; + sha256 = "sha256-yC3ByAmR0btaWZQj8n9ITyOAw+wgsmSfNE0Q3QSdzqo="; }; extraNativeImageBuildArgs = [ diff --git a/pkgs/games/blobby/default.upstream b/pkgs/games/blobby/default.upstream deleted file mode 100644 index 8f2804e07946..000000000000 --- a/pkgs/games/blobby/default.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url https://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/ -SF_version_dir -version_link '[.]tar[.][^.]+/download$' -SF_redirect -do_overwrite(){ - do_overwrite_just_version - set_var_value url $CURRENT_URL -} diff --git a/pkgs/games/sgt-puzzles/default.upstream b/pkgs/games/sgt-puzzles/default.upstream deleted file mode 100644 index b6d048b68ae9..000000000000 --- a/pkgs/games/sgt-puzzles/default.upstream +++ /dev/null @@ -1,5 +0,0 @@ -minimize_overwrite -url http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles.tar.gz -redirect -NEED_TO_CHOOSE_URL= -version '.*[-_.]([0-9]{8}[.][^.]+)[.]tar[.].*' '\1' diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index b90f75f6a042..5c30040f4912 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -62,6 +62,5 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ raskin ]; platforms = lib.platforms.unix; # Once had cygwin problems downloadPage = "https://www.jwz.org/xscreensaver/download.html"; - updateWalker = true; }; } diff --git a/pkgs/os-specific/linux/atop/default.upstream b/pkgs/os-specific/linux/atop/default.upstream deleted file mode 100644 index 46099d9c9595..000000000000 --- a/pkgs/os-specific/linux/atop/default.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://atoptool.nl/downloadatop.php -version_link '[.]tar[.]' -version '[^0-9]*[-.]([0-9]([-0-9.]*[0-9])?)[.].*' '\1' -minimize_overwrite diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 50730597d9e6..c6dc10f32bac 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -49,6 +49,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ fpletz ]; license = licenses.gpl2; downloadPage = "https://www.netfilter.org/projects/iptables/files/"; - updateWalker = true; }; } diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix index d15838868874..22602d12bd5a 100644 --- a/pkgs/os-specific/linux/sssd/default.nix +++ b/pkgs/os-specific/linux/sssd/default.nix @@ -13,13 +13,13 @@ let in stdenv.mkDerivation rec { pname = "sssd"; - version = "2.6.2"; + version = "2.6.3"; src = fetchFromGitHub { owner = "SSSD"; repo = pname; rev = version; - sha256 = "sha256-qKd6CwjiznoA97G4cnIt4FpVaLQMJYBt3JD2l7h72Z4="; + sha256 = "sha256-m0ArsN9xopfBPnHTiPDEOPuhQHQ2zoICGwVM7P05k3U="; }; postPatch = '' diff --git a/pkgs/os-specific/linux/sysdig/default.upstream b/pkgs/os-specific/linux/sysdig/default.upstream deleted file mode 100644 index 485de5741d79..000000000000 --- a/pkgs/os-specific/linux/sysdig/default.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url https://github.com/draios/sysdig/releases -ensure_choice -version '.*/([0-9.]+)[.]tar[.].*' '\1' -do_overwrite () { - ensure_hash - set_var_value sha256 $CURRENT_HASH - set_var_value version $CURRENT_VERSION -} diff --git a/pkgs/servers/http/nginx/mainline.upstream b/pkgs/servers/http/nginx/mainline.upstream deleted file mode 100644 index 7bb025499592..000000000000 --- a/pkgs/servers/http/nginx/mainline.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url http://nginx.org/en/download.html -version_link '.*-([0-9]+[.][0-9]+([.][0-9]+)*)[.]tar[.][a-z0-9]*$' - -do_overwrite() { - ensure_hash - set_var_value version "$CURRENT_VERSION" - set_var_value sha256 "$CURRENT_HASH" -} diff --git a/pkgs/servers/http/nginx/stable.upstream b/pkgs/servers/http/nginx/stable.upstream deleted file mode 100644 index c20139017436..000000000000 --- a/pkgs/servers/http/nginx/stable.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url http://nginx.org/en/download.html -version_link '.*-([0-9]+[.][0-9]*[02468]([.][0-9]+)*)[.]tar[.][a-z0-9]*$' - -do_overwrite() { - ensure_hash - set_var_value version "$CURRENT_VERSION" - set_var_value sha256 "$CURRENT_HASH" -} diff --git a/pkgs/servers/mail/sympa/default.nix b/pkgs/servers/mail/sympa/default.nix index 4d439bf760af..196cd07ceff8 100644 --- a/pkgs/servers/mail/sympa/default.nix +++ b/pkgs/servers/mail/sympa/default.nix @@ -61,13 +61,13 @@ let in stdenv.mkDerivation rec { pname = "sympa"; - version = "6.2.66"; + version = "6.2.68"; src = fetchFromGitHub { owner = "sympa-community"; repo = pname; rev = version; - sha256 = "sha256-rD6sYsEsAyu+4Vy2wMtWCtlzXoLeZgeu9hkoxOvwiP4="; + sha256 = "sha256-biTF2We9/ZBFBNpltyJonAe5tpXz+eNam+Bu6esJPiY="; }; configureFlags = [ diff --git a/pkgs/servers/monitoring/fusion-inventory/default.nix b/pkgs/servers/monitoring/fusion-inventory/default.nix index c55c67f5f62d..c4e2cc53291b 100644 --- a/pkgs/servers/monitoring/fusion-inventory/default.nix +++ b/pkgs/servers/monitoring/fusion-inventory/default.nix @@ -63,6 +63,7 @@ perlPackages.buildPerlPackage rec { cp -r bin $out cp -r lib $out + cp -r share $out for cur in $out/bin/*; do if [ -x "$cur" ]; then diff --git a/pkgs/servers/sshportal/default.nix b/pkgs/servers/sshportal/default.nix new file mode 100644 index 000000000000..73aec946fd91 --- /dev/null +++ b/pkgs/servers/sshportal/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "sshportal"; + version = "1.18.5"; + + src = fetchFromGitHub { + owner = "moul"; + repo = "sshportal"; + rev = "v${version}"; + sha256 = "1d9zws7b6ng23vyk8di5jmnbsxz7kaj4z8wz43wkwr6b65c2h0bf"; + }; + + ldflags = [ "-X main.GitTag=${version}" "-X main.GitSha=${version}" "-s" "-w" ]; + + vendorSha256 = "0fnn455adw4bhz68dpqaii08wv7lifdd5kx95rpqxsi2sqrzr4br"; + + meta = with lib; { + description = "Simple, fun and transparent SSH (and telnet) bastion server"; + homepage = "https://manfred.life/sshportal"; + license = licenses.asl20; + maintainers = with maintainers; [ zaninime ]; + }; +} diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index ba3c8eef20e6..7a70accb723f 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -236,7 +236,6 @@ let name = str; version = str; tag = str; - updateWalker = bool; executables = listOf str; outputsToInstall = listOf str; position = str; @@ -244,7 +243,6 @@ let repositories = attrsOf str; isBuildPythonPackage = platforms; schedulingPriority = int; - downloadURLRegexp = str; isFcitxEngine = bool; isIbusEngine = bool; isGutenprint = bool; diff --git a/pkgs/tools/X11/autocutsel/default.nix b/pkgs/tools/X11/autocutsel/default.nix index 036ba8bc4e9a..61a80bcbcdd6 100644 --- a/pkgs/tools/X11/autocutsel/default.nix +++ b/pkgs/tools/X11/autocutsel/default.nix @@ -20,6 +20,5 @@ stdenv.mkDerivation rec { description = "Tracks changes in the server's cutbuffer and CLIPBOARD selection"; license = lib.licenses.gpl2Plus; platforms = with lib.platforms; all; - updateWalker = true; }; } diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 78aaa355d6e2..330722898ce6 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -135,7 +135,6 @@ in buildPythonApplication rec { meta = { homepage = "https://xpra.org/"; downloadPage = "https://xpra.org/src/"; - downloadURLRegexp = "xpra-.*[.]tar[.][gx]z$"; description = "Persistent remote applications for X"; platforms = platforms.linux; license = licenses.gpl2; diff --git a/pkgs/tools/admin/colmena/default.nix b/pkgs/tools/admin/colmena/default.nix index e95475be3395..f7ba90ac2ad2 100644 --- a/pkgs/tools/admin/colmena/default.nix +++ b/pkgs/tools/admin/colmena/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "colmena"; - version = "0.2.0"; + version = "0.2.1"; src = fetchFromGitHub { owner = "zhaofengli"; repo = "colmena"; rev = "v${version}"; - sha256 = "sha256-WY8SYapnDcfaoLr1iFgwc9/E7xSfOFN2AvMDpk74AI8="; + sha256 = "sha256-5UU8iBzwO7xM8B+LulnFkJFv5j5lu7mfq0XMmOCaKcQ="; }; - cargoSha256 = "sha256-ZNSg3hXWKHNQ9yHJS1qW3tFYwzU4ZDa1N0yvoGLmWns="; + cargoSha256 = "sha256-wMC2GAVVxkwrgJtOIJL0P+Uxh+ouW4VwLDrXJlD10AA="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/admin/procs/default.nix b/pkgs/tools/admin/procs/default.nix index 25287dca9c5f..382ce503622a 100644 --- a/pkgs/tools/admin/procs/default.nix +++ b/pkgs/tools/admin/procs/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "procs"; - version = "0.12.0"; + version = "0.12.1"; src = fetchFromGitHub { owner = "dalance"; repo = pname; rev = "v${version}"; - sha256 = "sha256-UZTt/+K8jDFhkNIMRfyDzRqOlceAEQKWwgEf1lcZIkY="; + sha256 = "sha256-hJe9JAUZZY2fx4I6+pVg1BYwzZrUWCkqPvQUT2OQXDo="; }; - cargoSha256 = "sha256-VE161UZKUiG2WW7CwjazQfR9ouOAsYCjiA5dczFQliM="; + cargoSha256 = "sha256-BChYzSnM9jnLioRhRDez6XOjJwGrU+giV4Ld3rp/57M="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix index e843c0d347a0..04f66eaba95a 100644 --- a/pkgs/tools/admin/stripe-cli/default.nix +++ b/pkgs/tools/admin/stripe-cli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "stripe-cli"; - version = "1.7.9"; + version = "1.7.10"; src = fetchFromGitHub { owner = "stripe"; repo = pname; rev = "v${version}"; - sha256 = "sha256-rCo3iHLfiEH/+APNztKKSdoJerz161jF7sNx8qTFw3U="; + sha256 = "sha256-F1+goZURc0f1dWV/PGxSVtqHkuePACq4+UzfMTEVJ0M="; }; vendorSha256 = "sha256-Duu6lP87KKLC1eGIebycBSIPw7FN6BBxPexize9+jPE="; diff --git a/pkgs/tools/compression/lrzip/default.upstream b/pkgs/tools/compression/lrzip/default.upstream deleted file mode 100644 index 1b8345986374..000000000000 --- a/pkgs/tools/compression/lrzip/default.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url http://ck.kolivas.org/apps/lrzip/ -version_link '[.]tar[.]bz2$' - -do_overwrite () { - ensure_hash - set_var_value version "$CURRENT_VERSION" - set_var_value sha256 "$CURRENT_HASH" -} diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix index 3c2dfaf2f1d3..fe2047a6f139 100644 --- a/pkgs/tools/filesystems/nilfs-utils/default.nix +++ b/pkgs/tools/filesystems/nilfs-utils/default.nix @@ -47,6 +47,5 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = with licenses; [ gpl2 lgpl21 ]; downloadPage = "http://nilfs.sourceforge.net/en/download.html"; - updateWalker = true; }; } diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix index bb042a95ecc4..a1831d44ada4 100644 --- a/pkgs/tools/filesystems/smbnetfs/default.nix +++ b/pkgs/tools/filesystems/smbnetfs/default.nix @@ -17,7 +17,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.gpl2; downloadPage = "https://sourceforge.net/projects/smbnetfs/files/smbnetfs"; - updateWalker = true; homepage = "https://sourceforge.net/projects/smbnetfs/"; }; } diff --git a/pkgs/tools/filesystems/smbnetfs/default.upstream b/pkgs/tools/filesystems/smbnetfs/default.upstream deleted file mode 100644 index d56fa42f1d1b..000000000000 --- a/pkgs/tools/filesystems/smbnetfs/default.upstream +++ /dev/null @@ -1,6 +0,0 @@ -url https://sourceforge.net/projects/smbnetfs/files/smbnetfs/ -version_link '[-][0-9.]+[a-z]*/$' -version_link '[.]tar[.][a-z0-9]+/download$' -SF_redirect -version '.*[-]([0-9.]+[a-z]*)[.]tar[.].*' '\1' -do_overwrite () { do_overwrite_just_version; } diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix index e77e8fae0c23..eed06602a5dd 100644 --- a/pkgs/tools/graphics/barcode/default.nix +++ b/pkgs/tools/graphics/barcode/default.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; # Maybe other non-darwin Unix downloadPage = "https://ftp.gnu.org/gnu/barcode/"; - updateWalker = true; homepage = "https://www.gnu.org/software/barcode/"; license = licenses.gpl3; }; diff --git a/pkgs/tools/graphics/cuneiform/default.upstream b/pkgs/tools/graphics/cuneiform/default.upstream deleted file mode 100644 index 4fb85a2a1e89..000000000000 --- a/pkgs/tools/graphics/cuneiform/default.upstream +++ /dev/null @@ -1,8 +0,0 @@ -url https://launchpad.net/cuneiform-linux/+download - -do_overwrite () { - ensure_hash - set_var_value version "$CURRENT_VERSION" - set_var_value sha256 "$CURRENT_HASH" - set_var_value ' url' "$CURRENT_URL" -} diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix index 0b2d57371418..f0984696fe3f 100644 --- a/pkgs/tools/misc/dua/default.nix +++ b/pkgs/tools/misc/dua/default.nix @@ -2,7 +2,7 @@ rustPlatform.buildRustPackage rec { pname = "dua"; - version = "2.16.0"; + version = "2.17.0"; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ]; @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { owner = "Byron"; repo = "dua-cli"; rev = "v${version}"; - sha256 = "sha256-16qe5FKMC8cpGDR5HRVslYfG/OA8NSCuAbHpG7dfb3A="; + sha256 = "sha256-yac/WUVL10JU1V5f9LYh57yYzZ2JMf24jMd8Mun7OMU="; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. extraPostFetch = '' @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoSha256 = "sha256-FX8fkG+Ecx9ZnbpX8UlLKYh4V6IJ98IbvBln0gCdD2M="; + cargoSha256 = "sha256-Q0ZLMbnQeG/64QvAIPpa3k+lI6dbSSQcdYb5e2rX8U0="; doCheck = false; diff --git a/pkgs/tools/misc/ised/default.upstream b/pkgs/tools/misc/ised/default.upstream deleted file mode 100644 index 6539bf477e54..000000000000 --- a/pkgs/tools/misc/ised/default.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://ised.sourceforge.net/web_nav.html -SF_version_tarball -SF_redirect -minimize_overwrite diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix index 511314324fc2..3b12175fb567 100644 --- a/pkgs/tools/misc/mc/default.nix +++ b/pkgs/tools/misc/mc/default.nix @@ -94,6 +94,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ sander ]; platforms = with platforms; linux ++ darwin; repositories.git = "https://github.com/MidnightCommander/mc.git"; - updateWalker = true; }; } diff --git a/pkgs/tools/misc/nncp/default.nix b/pkgs/tools/misc/nncp/default.nix index 8008ffe77065..a9c2a43734e9 100644 --- a/pkgs/tools/misc/nncp/default.nix +++ b/pkgs/tools/misc/nncp/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "nncp"; - version = "8.3.0"; + version = "8.5.0"; outputs = [ "out" "doc" "info" ]; src = fetchurl { url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz"; - sha256 = "sha256-bBSIep72htYRLyCW7R2la6q+X+tLqSVziazGsm0KI+o="; + sha256 = "sha256-6IUNJ3DE+nRc+bmpDO7l1gXlD6UDGggTSYRMFT57v/Q="; }; nativeBuildInputs = [ go redo-apenwarr ]; diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix index 54c9c9fca050..dc508ff53efe 100644 --- a/pkgs/tools/networking/getmail6/default.nix +++ b/pkgs/tools/networking/getmail6/default.nix @@ -28,7 +28,6 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "A program for retrieving mail"; homepage = "https://getmail6.org"; - updateWalker = true; license = licenses.gpl2Plus; maintainers = with maintainers; [ abbe dotlambda ]; }; diff --git a/pkgs/tools/security/doas/default.nix b/pkgs/tools/security/doas/default.nix index f88abbd7e1ba..b79dba7c325f 100644 --- a/pkgs/tools/security/doas/default.nix +++ b/pkgs/tools/security/doas/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "doas"; - version = "6.8.1"; + version = "6.8.2"; src = fetchFromGitHub { owner = "Duncaen"; repo = "OpenDoas"; rev = "v${version}"; - sha256 = "sha256-F0FVVspGDZmzxy4nsb/wsEoCw4eHscymea7tIKrWzD0="; + sha256 = "9uOQ2Ta5HzEpbCz2vbqZEEksPuIjL8lvmfmynfqxMeM="; }; # otherwise confuses ./configure diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix index ce996bf7c6f4..f7501d768034 100644 --- a/pkgs/tools/system/dd_rescue/default.nix +++ b/pkgs/tools/system/dd_rescue/default.nix @@ -36,6 +36,5 @@ stdenv.mkDerivation rec { platforms = platforms.linux; homepage = "http://www.garloff.de/kurt/linux/ddrescue/"; license = licenses.gpl2Plus; - updateWalker = true; }; } diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix index 6dcd3e87f68f..06d91305909c 100644 --- a/pkgs/tools/system/di/default.nix +++ b/pkgs/tools/system/di/default.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { description = "Disk information utility; displays everything 'df' does and more"; homepage = "https://gentoo.com/di/"; license = licenses.zlib; - updateWalker = true; maintainers = with maintainers; [ manveru ]; platforms = platforms.all; }; diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix index 9d2e66876239..a3bb99735a17 100644 --- a/pkgs/tools/system/freeipmi/default.nix +++ b/pkgs/tools/system/freeipmi/default.nix @@ -37,7 +37,5 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ raskin ]; platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice - - updateWalker = true; }; } diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream deleted file mode 100644 index 45e3a936825a..000000000000 --- a/pkgs/tools/system/ipmiutil/default.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url https://sourceforge.net/projects/ipmiutil/files/ -SF_version_tarball -SF_redirect -minimize_overwrite diff --git a/pkgs/tools/text/vgrep/default.nix b/pkgs/tools/text/vgrep/default.nix index 928f401c3839..8da1917fdd01 100644 --- a/pkgs/tools/text/vgrep/default.nix +++ b/pkgs/tools/text/vgrep/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "vgrep"; - version = "2.5.5"; + version = "2.6.0"; src = fetchFromGitHub { owner = "vrothberg"; repo = pname; rev = "v${version}"; - sha256 = "sha256-pWRc1EjL09zFT/8HLrosuCJ5qTDj2VaizoI/Eu8jsgM="; + sha256 = "sha256-RLyEOvNhb1oXPYYxVZKc+xN2uCgUaWMxh8dPEOUfAFA="; }; vendorSha256 = null; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7b1ff86b2405..d5c16434362d 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1030,6 +1030,7 @@ mapAliases ({ tftp_hpa = tftp-hpa; # added 2015-04-03 timescale-prometheus = promscale; # added 2020-09-29 timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # added 2021-09-05 + tomboy = throw "tomboy is not actively developed anymore and was removed."; # added 2022-01-27 tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # added 2021-06-16 tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # added 2021-06-16 tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life."; # added 2020-03-11 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 63961133bbe3..c780aaeff3ca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -67,7 +67,7 @@ with pkgs; clangStdenvNoLibs = mkStdenvNoLibs clangStdenv; # For convenience, allow callers to get the path to Nixpkgs. - path = config.path; + path = ../..; ### Helper functions. @@ -26793,7 +26793,10 @@ with pkgs; fluxctl = callPackage ../applications/networking/cluster/fluxctl { }; - fluxcd = callPackage ../applications/networking/cluster/fluxcd { }; + fluxcd = callPackage ../applications/networking/cluster/fluxcd { + # Fix-Me: This locking should be removed once PR #154059 is merged. + buildGoModule = buildGo117Module; + }; linkerd = callPackage ../applications/networking/cluster/linkerd { }; linkerd_edge = callPackage ../applications/networking/cluster/linkerd/edge.nix { }; @@ -33771,6 +33774,8 @@ with pkgs; vnote = libsForQt5.callPackage ../applications/office/vnote { }; + sshportal = callPackage ../servers/sshportal { }; + ssh-audit = callPackage ../tools/security/ssh-audit { }; ssh-tools = callPackage ../applications/misc/ssh-tools { }; @@ -34162,8 +34167,6 @@ with pkgs; tomb = callPackage ../os-specific/linux/tomb {}; - tomboy = callPackage ../applications/misc/tomboy { }; - imatix_gsl = callPackage ../development/tools/imatix_gsl {}; sccache = callPackage ../development/tools/misc/sccache { diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index bb4f668d60f1..7a5b4bdd1798 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -32,20 +32,6 @@ let feature = "run checkPhase by default"; }; - path = mkOption { - type = types.path; - default = ../..; - defaultText = lib.literalDocBook "a path expression"; - internal = true; - description = '' - A reference to Nixpkgs' own sources. - - This is overridable in order to avoid copying sources unnecessarily, - as a path expression that references a store path will not short-circuit - to the store path itself, but copy the store path instead. - ''; - }; - }; in { diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e8cdd09e544f..f7d291928f37 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11863,8 +11863,8 @@ let pname = "libnet"; version = "3.12"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.12.tar.gz"; - sha256 = "1px35q9qchzd7rxqldj87vbrall8v31blidhmh0d25d5hyq9lw25"; + url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.13.tar.gz"; + sha256 = "sha256-WjX7Hy1KopFoDrGvOImfq0U8IsKOcffHvTdHtaPbNIw="; }; patches = [ (fetchpatch { @@ -17024,6 +17024,20 @@ let doCheck = false; }; + OpenOfficeOODoc = buildPerlPackage { + pname = "OpenOffice-OODoc"; + version = "2.125"; + src = fetchurl { + url = "mirror://cpan/authors/id/J/JM/JMGDOC/OpenOffice-OODoc-2.125.tar.gz"; + sha256 = "1dnsj63svxq0hi3aci4x7binql8kr754inlkks5jmi4k0sblh561"; + }; + propagatedBuildInputs = [ ArchiveZip XMLTwig ]; + meta = { + license = with lib.licenses; [ lgpl21 ]; + maintainers = [ maintainers.wentasah ]; + }; + }; + NetOpenIDCommon = buildPerlPackage { pname = "Net-OpenID-Common"; version = "1.20";