diff options
234 files changed, 3127 insertions, 4222 deletions
diff --git a/doc/build-helpers/special/checkpoint-build.section.md b/doc/build-helpers/special/checkpoint-build.section.md index 5f01e699b947..f60afe801ed4 100644 --- a/doc/build-helpers/special/checkpoint-build.section.md +++ b/doc/build-helpers/special/checkpoint-build.section.md @@ -2,35 +2,38 @@ `pkgs.checkpointBuildTools` provides a way to build derivations incrementally. It consists of two functions to make checkpoint builds using Nix possible. -For hermeticity, Nix derivations do not allow any state to carry over between builds, making a transparent incremental build within a derivation impossible. +For hermeticity, Nix derivations do not allow any state to be carried over between builds, making a transparent incremental build within a derivation impossible. However, we can tell Nix explicitly what the previous build state was, by representing that previous state as a derivation output. This allows the passed build state to be used for an incremental build. To change a normal derivation to a checkpoint based build, these steps must be taken: - - apply `prepareCheckpointBuild` on the desired derivation - e.g.: + - apply `prepareCheckpointBuild` on the desired derivation, e.g. ```nix checkpointArtifacts = (pkgs.checkpointBuildTools.prepareCheckpointBuild pkgs.virtualbox); ``` - - change something you want in the sources of the package. (e.g. using a source override) + - change something you want in the sources of the package, e.g. use a source override: ```nix changedVBox = pkgs.virtualbox.overrideAttrs (old: { src = path/to/vbox/sources; -} +}); ``` - - use `mkCheckpointedBuild changedVBox buildOutput` + - use `mkCheckpointBuild changedVBox checkpointArtifacts` - enjoy shorter build times ## Example {#sec-checkpoint-build-example} ```nix -{ pkgs ? import <nixpkgs> {} }: with (pkgs) checkpointBuildTools; +{ pkgs ? import <nixpkgs> {} }: let - helloCheckpoint = checkpointBuildTools.prepareCheckpointBuild pkgs.hello; + inherit (pkgs.checkpointBuildTools) + prepareCheckpointBuild + mkCheckpointBuild + ; + helloCheckpoint = prepareCheckpointBuild pkgs.hello; changedHello = pkgs.hello.overrideAttrs (_: { doCheck = false; patchPhase = '' sed -i 's/Hello, world!/Hello, Nix!/g' src/hello.c ''; }); -in checkpointBuildTools.mkCheckpointBuild changedHello helloCheckpoint +in mkCheckpointBuild changedHello helloCheckpoint ``` diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index da619869ede2..078936c59290 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3864,6 +3864,12 @@ githubId = 6821729; github = "criyle"; }; + crschnick = { + email = "crschnick@xpipe.io"; + name = "Christopher Schnick"; + github = "crschnick"; + githubId = 72509152; + }; CRTified = { email = "carl.schneider+nixos@rub.de"; matrix = "@schnecfk:ruhr-uni-bochum.de"; @@ -11896,6 +11902,12 @@ github = "Mephistophiles"; githubId = 4850908; }; + mevatron = { + email = "mevatron@gmail.com"; + name = "mevatron"; + github = "mevatron"; + githubId = 714585; + }; mfossen = { email = "msfossen@gmail.com"; github = "mfossen"; @@ -14982,6 +14994,12 @@ githubId = 18549627; name = "Proglodyte"; }; + proglottis = { + email = "proglottis@gmail.com"; + github = "proglottis"; + githubId = 74465; + name = "James Fargher"; + }; progval = { email = "progval+nix@progval.net"; github = "progval"; @@ -18172,6 +18190,12 @@ githubId = 2389333; name = "Andy Tockman"; }; + teatwig = { + email = "nix@teatwig.net"; + name = "tea"; + github = "teatwig"; + githubId = 18734648; + }; techknowlogick = { email = "techknowlogick@gitea.com"; github = "techknowlogick"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 7310d5ea1b3e..648064643930 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -49,9 +49,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS. -- `k9s` was updated to v0.30. There have been various breaking changes in the config file format, - check out the changelog of [v0.29](https://github.com/derailed/k9s/releases/tag/v0.29.0) and - [v0.30](https://github.com/derailed/k9s/releases/tag/v0.30.0) for details. It is recommended +- `k9s` was updated to v0.31. There have been various breaking changes in the config file format, + check out the changelog of [v0.29](https://github.com/derailed/k9s/releases/tag/v0.29.0), + [v0.30](https://github.com/derailed/k9s/releases/tag/v0.30.0) and + [v0.31](https://github.com/derailed/k9s/releases/tag/v0.31.0) for details. It is recommended to back up your current configuration and let k9s recreate the new base configuration. - `idris2` was updated to v0.7.0. This version introduces breaking changes. Check out the [changelog](https://github.com/idris-lang/Idris2/blob/v0.7.0/CHANGELOG.md#v070) for details. @@ -157,6 +158,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `services.zfs.zed.enableMail` now uses the global `sendmail` wrapper defined by an email module (such as msmtp or Postfix). It no longer requires using a special ZFS build with email support. +- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`. + - Gitea 1.21 upgrade has several breaking changes, including: - Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*` - New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command. diff --git a/nixos/modules/config/krb5/default.nix b/nixos/modules/config/krb5/default.nix deleted file mode 100644 index df7a3f48236f..000000000000 --- a/nixos/modules/config/krb5/default.nix +++ /dev/null @@ -1,369 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.krb5; - - # This is to provide support for old configuration options (as much as is - # reasonable). This can be removed after 18.03 was released. - defaultConfig = { - libdefaults = optionalAttrs (cfg.defaultRealm != null) - { default_realm = cfg.defaultRealm; }; - - realms = optionalAttrs (lib.all (value: value != null) [ - cfg.defaultRealm cfg.kdc cfg.kerberosAdminServer - ]) { - ${cfg.defaultRealm} = { - kdc = cfg.kdc; - admin_server = cfg.kerberosAdminServer; - }; - }; - - domain_realm = optionalAttrs (lib.all (value: value != null) [ - cfg.domainRealm cfg.defaultRealm - ]) { - ".${cfg.domainRealm}" = cfg.defaultRealm; - ${cfg.domainRealm} = cfg.defaultRealm; - }; - }; - - mergedConfig = (recursiveUpdate defaultConfig { - inherit (config.krb5) - kerberos libdefaults realms domain_realm capaths appdefaults plugins - extraConfig config; - }); - - filterEmbeddedMetadata = value: if isAttrs value then - (filterAttrs - (attrName: attrValue: attrName != "_module" && attrValue != null) - value) - else value; - - indent = " "; - - mkRelation = name: value: - if (isList value) then - concatMapStringsSep "\n" (mkRelation name) value - else "${name} = ${mkVal value}"; - - mkVal = value: - if (value == true) then "true" - else if (value == false) then "false" - else if (isInt value) then (toString value) - else if (isAttrs value) then - let configLines = concatLists - (map (splitString "\n") - (mapAttrsToList mkRelation value)); - in - (concatStringsSep "\n${indent}" - ([ "{" ] ++ configLines)) - + "\n}" - else value; - - mkMappedAttrsOrString = value: concatMapStringsSep "\n" - (line: if builtins.stringLength line > 0 - then "${indent}${line}" - else line) - (splitString "\n" - (if isAttrs value then - concatStringsSep "\n" - (mapAttrsToList mkRelation value) - else value)); - -in { - - ###### interface - - options = { - krb5 = { - enable = mkEnableOption (lib.mdDoc "building krb5.conf, configuration file for Kerberos V"); - - kerberos = mkOption { - type = types.package; - default = pkgs.krb5; - defaultText = literalExpression "pkgs.krb5"; - example = literalExpression "pkgs.heimdal"; - description = lib.mdDoc '' - The Kerberos implementation that will be present in - `environment.systemPackages` after enabling this - service. - ''; - }; - - libdefaults = mkOption { - type = with types; either attrs lines; - default = {}; - apply = attrs: filterEmbeddedMetadata attrs; - example = literalExpression '' - { - default_realm = "ATHENA.MIT.EDU"; - }; - ''; - description = lib.mdDoc '' - Settings used by the Kerberos V5 library. - ''; - }; - - realms = mkOption { - type = with types; either attrs lines; - default = {}; - example = literalExpression '' - { - "ATHENA.MIT.EDU" = { - admin_server = "athena.mit.edu"; - kdc = [ - "athena01.mit.edu" - "athena02.mit.edu" - ]; - }; - }; - ''; - apply = attrs: filterEmbeddedMetadata attrs; - description = lib.mdDoc "Realm-specific contact information and settings."; - }; - - domain_realm = mkOption { - type = with types; either attrs lines; - default = {}; - example = literalExpression '' - { - "example.com" = "EXAMPLE.COM"; - ".example.com" = "EXAMPLE.COM"; - }; - ''; - apply = attrs: filterEmbeddedMetadata attrs; - description = lib.mdDoc '' - Map of server hostnames to Kerberos realms. - ''; - }; - - capaths = mkOption { - type = with types; either attrs lines; - default = {}; - example = literalExpression '' - { - "ATHENA.MIT.EDU" = { - "EXAMPLE.COM" = "."; - }; - "EXAMPLE.COM" = { - "ATHENA.MIT.EDU" = "."; - }; - }; - ''; - apply = attrs: filterEmbeddedMetadata attrs; - description = lib.mdDoc '' - Authentication paths for non-hierarchical cross-realm authentication. - ''; - }; - - appdefaults = mkOption { - type = with types; either attrs lines; - default = {}; - example = literalExpression '' - { - pam = { - debug = false; - ticket_lifetime = 36000; - renew_lifetime = 36000; - max_timeout = 30; - timeout_shift = 2; - initial_timeout = 1; - }; - }; - ''; - apply = attrs: filterEmbeddedMetadata attrs; - description = lib.mdDoc '' - Settings used by some Kerberos V5 applications. - ''; - }; - - plugins = mkOption { - type = with types; either attrs lines; - default = {}; - example = literalExpression '' - { - ccselect = { - disable = "k5identity"; - }; - }; - ''; - apply = attrs: filterEmbeddedMetadata attrs; - description = lib.mdDoc '' - Controls plugin module registration. - ''; - }; - - extraConfig = mkOption { - type = with types; nullOr lines; - default = null; - example = '' - [logging] - kdc = SYSLOG:NOTICE - admin_server = SYSLOG:NOTICE - default = SYSLOG:NOTICE - ''; - description = lib.mdDoc '' - These lines go to the end of `krb5.conf` verbatim. - `krb5.conf` may include any of the relations that are - valid for `kdc.conf` (see `man kdc.conf`), - but it is not a recommended practice. - ''; - }; - - config = mkOption { - type = with types; nullOr lines; - default = null; - example = '' - [libdefaults] - default_realm = EXAMPLE.COM - - [realms] - EXAMPLE.COM = { - admin_server = kerberos.example.com - kdc = kerberos.example.com - default_principal_flags = +preauth - } - - [domain_realm] - example.com = EXAMPLE.COM - .example.com = EXAMPLE.COM - - [logging] - kdc = SYSLOG:NOTICE - admin_server = SYSLOG:NOTICE - default = SYSLOG:NOTICE - ''; - description = lib.mdDoc '' - Verbatim `krb5.conf` configuration. Note that this - is mutually exclusive with configuration via - `libdefaults`, `realms`, - `domain_realm`, `capaths`, - `appdefaults`, `plugins` and - `extraConfig` configuration options. Consult - `man krb5.conf` for documentation. - ''; - }; - - defaultRealm = mkOption { - type = with types; nullOr str; - default = null; - example = "ATHENA.MIT.EDU"; - description = lib.mdDoc '' - DEPRECATED, please use - `krb5.libdefaults.default_realm`. - ''; - }; - - domainRealm = mkOption { - type = with types; nullOr str; - default = null; - example = "athena.mit.edu"; - description = lib.mdDoc '' - DEPRECATED, please create a map of server hostnames to Kerberos realms - in `krb5.domain_realm`. - ''; - }; - - kdc = mkOption { - type = with types; nullOr str; - default = null; - example = "kerberos.mit.edu"; - description = lib.mdDoc '' - DEPRECATED, please pass a `kdc` attribute to a realm - in `krb5.realms`. - ''; - }; - - kerberosAdminServer = mkOption { - type = with types; nullOr str; - default = null; - example = "kerberos.mit.edu"; - description = lib.mdDoc '' - DEPRECATED, please pass an `admin_server` attribute - to a realm in `krb5.realms`. - ''; - }; - }; - }; - - ###### implementation - - config = mkIf cfg.enable { - - environment.systemPackages = [ cfg.kerberos ]; - - environment.etc."krb5.conf".text = if isString cfg.config - then cfg.config - else ('' - [libdefaults] - ${mkMappedAttrsOrString mergedConfig.libdefaults} - - [realms] - ${mkMappedAttrsOrString mergedConfig.realms} - - [domain_realm] - ${mkMappedAttrsOrString mergedConfig.domain_realm} - - [capaths] - ${mkMappedAttrsOrString mergedConfig.capaths} - - [appdefaults] - ${mkMappedAttrsOrString mergedConfig.appdefaults} - - [plugins] - ${mkMappedAttrsOrString mergedConfig.plugins} - '' + optionalString (mergedConfig.extraConfig != null) - ("\n" + mergedConfig.extraConfig)); - - warnings = flatten [ - (optional (cfg.defaultRealm != null) '' - The option krb5.defaultRealm is deprecated, please use - krb5.libdefaults.default_realm. - '') - (optional (cfg.domainRealm != null) '' - The option krb5.domainRealm is deprecated, please use krb5.domain_realm. - '') - (optional (cfg.kdc != null) '' - The option krb5.kdc is deprecated, please pass a kdc attribute to a - realm in krb5.realms. - '') - (optional (cfg.kerberosAdminServer != null) '' - The option krb5.kerberosAdminServer is deprecated, please pass an - admin_server attribute to a realm in krb5.realms. - '') - ]; - - assertions = [ - { assertion = !((builtins.any (value: value != null) [ - cfg.defaultRealm cfg.domainRealm cfg.kdc cfg.kerberosAdminServer - ]) && ((builtins.any (value: value != {}) [ - cfg.libdefaults cfg.realms cfg.domain_realm cfg.capaths - cfg.appdefaults cfg.plugins - ]) || (builtins.any (value: value != null) [ - cfg.config cfg.extraConfig - ]))); - message = '' - Configuration of krb5.conf by deprecated options is mutually exclusive - with configuration by section. Please migrate your config using the - attributes suggested in the warnings. - ''; - } - { assertion = !(cfg.config != null - && ((builtins.any (value: value != {}) [ - cfg.libdefaults cfg.realms cfg.domain_realm cfg.capaths - cfg.appdefaults cfg.plugins - ]) || (builtins.any (value: value != null) [ - cfg.extraConfig cfg.defaultRealm cfg.domainRealm cfg.kdc - cfg.kerberosAdminServer - ]))); - message = '' - Configuration of krb5.conf using krb.config is mutually exclusive with - configuration by section. If you want to mix the two, you can pass - lines to any configuration section or lines to krb5.extraConfig. - ''; - } - ]; - }; -} diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index e4241e965403..d1cdef213551 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,7 +1,7 @@ { - x86_64-linux = "/nix/store/azvn85cras6xv4z5j85fiy406f24r1q0-nix-2.18.1"; - i686-linux = "/nix/store/9bnwy7f9h0kzdzmcnjjsjg0aak5waj40-nix-2.18.1"; - aarch64-linux = "/nix/store/hh65xwqm9s040s3cgn9vzcmrxj0sf5ij-nix-2.18.1"; - x86_64-darwin = "/nix/store/6zi5fqzn9n17wrk8r41rhdw4j7jqqsi3-nix-2.18.1"; - aarch64-darwin = "/nix/store/0pbq6wzr2f1jgpn5212knyxpwmkjgjah-nix-2.18.1"; + x86_64-linux = "/nix/store/smfmnz0ylx80wkbqbjibj7zcw4q668xp-nix-2.19.2"; + i686-linux = "/nix/store/knp0akbpj2k0rf26fmysmxdysmayihax-nix-2.19.2"; + aarch64-linux = "/nix/store/761hq0abn07nrydrf6mls61bscx2vz2i-nix-2.19.2"; + x86_64-darwin = "/nix/store/zlqvxis1dfcfgmy5fza4hllg6h03vhpb-nix-2.19.2"; + aarch64-darwin = "/nix/store/53r8ay20mygy2sifn7j2p8wjqlx2kxik-nix-2.19.2"; } diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 36f34e50d595..02832e656dc9 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -10,7 +10,6 @@ ./config/gtk/gtk-icon-cache.nix ./config/i18n.nix ./config/iproute2.nix - ./config/krb5/default.nix ./config/ldap.nix ./config/ldso.nix ./config/locale.nix @@ -309,6 +308,7 @@ ./security/duosec.nix ./security/google_oslogin.nix ./security/ipa.nix + ./security/krb5 ./security/lock-kernel-modules.nix ./security/misc.nix ./security/oath.nix diff --git a/nixos/modules/security/ipa.nix b/nixos/modules/security/ipa.nix index 49226ec38199..3bf8b11f8626 100644 --- a/nixos/modules/security/ipa.nix +++ b/nixos/modules/security/ipa.nix @@ -117,8 +117,8 @@ in { config = mkIf cfg.enable { assertions = [ { - assertion = !config.krb5.enable; - message = "krb5 must be disabled through `krb5.enable` for FreeIPA integration to work."; + assertion = !config.security.krb5.enable; + message = "krb5 must be disabled through `security.krb5.enable` for FreeIPA integration to work."; } { assertion = !config.users.ldap.enable; diff --git a/nixos/modules/security/krb5/default.nix b/nixos/modules/security/krb5/default.nix new file mode 100644 index 000000000000..5921982f954c --- /dev/null +++ b/nixos/modules/security/krb5/default.nix @@ -0,0 +1,90 @@ +{ config, lib, pkgs, ... }: +let + inherit (lib) mdDoc mkIf mkOption mkPackageOption mkRemovedOptionModule; + inherit (lib.types) bool; + + mkRemovedOptionModule' = name: reason: mkRemovedOptionModule ["krb5" name] reason; + mkRemovedOptionModuleCfg = name: mkRemovedOptionModule' name '' + The option `krb5.${name}' has been removed. Use + `security.krb5.settings.${name}' for structured configuration. + ''; + + cfg = config.security.krb5; + format = import ./krb5-conf-format.nix { inherit pkgs lib; } { }; +in { + imports = [ + (mkRemovedOptionModuleCfg "libdefaults") + (mkRemovedOptionModuleCfg "realms") + (mkRemovedOptionModuleCfg "domain_realm") + (mkRemovedOptionModuleCfg "capaths") + (mkRemovedOptionModuleCfg "appdefaults") + (mkRemovedOptionModuleCfg "plugins") + (mkRemovedOptionModuleCfg "config") + (mkRemovedOptionModuleCfg "extraConfig") + (mkRemovedOptionModule' "kerberos" '' + The option `krb5.kerberos' has been moved to `security.krb5.package'. + '') + ]; + + options = { + security.krb5 = { + enable = mkOption { + default = false; + description = mdDoc "Enable and configure Kerberos utilities"; + type = bool; + }; + + package = mkPackageOption pkgs "krb5" { + example = "heimdal"; + }; + + settings = mkOption { + default = { }; + type = format.type; + description = mdDoc '' + Structured contents of the {file}`krb5.conf` file. See + {manpage}`krb5.conf(5)` for details about configuration. + ''; + example = { + include = [ "/run/secrets/secret-krb5.conf" ]; + includedir = [ "/run/secrets/secret-krb5.conf.d" ]; + + libdefaults = { + default_realm = "ATHENA.MIT.EDU"; + }; + + realms = { + "ATHENA.MIT.EDU" = { + admin_server = "athena.mit.edu"; + kdc = [ + "athena01.mit.edu" + "athena02.mit.edu" + ]; + }; + }; + + domain_realm = { + "mit.edu" = "ATHENA.MIT.EDU"; + }; + + logging = { + kdc = "SYSLOG:NOTICE"; + admin_server = "SYSLOG:NOTICE"; + default = "SYSLOG:NOTICE"; + }; + }; + }; + }; + }; + + config = mkIf cfg.enable { + environment = { + systemPackages = [ cfg.package ]; + etc."krb5.conf".source = format.generate "krb5.conf" cfg.settings; + }; + }; + + meta.maintainers = builtins.attrValues { + inherit (lib.maintainers) dblsaiko h7x4; + }; +} diff --git a/nixos/modules/security/krb5/krb5-conf-format.nix b/nixos/modules/security/krb5/krb5-conf-format.nix new file mode 100644 index 000000000000..d01e47a40be0 --- /dev/null +++ b/nixos/modules/security/krb5/krb5-conf-format.nix @@ -0,0 +1,88 @@ +{ pkgs, lib, ... }: + +# Based on +# - https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html +# - https://manpages.debian.org/unstable/heimdal-docs/krb5.conf.5heimdal.en.html + +let + inherit (lib) boolToString concatMapStringsSep concatStringsSep filter + isAttrs isBool isList mapAttrsToList mdDoc mkOption singleton splitString; + inherit (lib.types) attrsOf bool coercedTo either int listOf oneOf path + str submodule; +in +{ }: { + type = let + section = attrsOf relation; + relation = either (attrsOf value) value; + value = either (listOf atom) atom; + atom = oneOf [int str bool]; + in submodule { + freeformType = attrsOf section; + options = { + include = mkOption { + default = [ ]; + description = mdDoc '' + Files to include in the Kerberos configuration. + ''; + type = coercedTo path singleton (listOf path); + }; + includedir = mkOption { + default = [ ]; + description = mdDoc '' + Directories containing files to include in the Kerberos configuration. + ''; + type = coercedTo path singleton (listOf path); + }; + module = mkOption { + default = [ ]; + description = mdDoc '' + Modules to obtain Kerberos configuration from. + ''; + type = coercedTo path singleton (listOf path); + }; + }; + }; + + generate = let + indent = str: concatMapStringsSep "\n" (line: " " + line) (splitString "\n" str); + + formatToplevel = args @ { + include ? [ ], + includedir ? [ ], + module ? [ ], + ... + }: let + sections = removeAttrs args [ "include" "includedir" "module" ]; + in concatStringsSep "\n" (filter (x: x != "") [ + (concatStringsSep "\n" (mapAttrsToList formatSection sections)) + (concatMapStringsSep "\n" (m: "module ${m}") module) + (concatMapStringsSep "\n" (i: "include ${i}") include) + (concatMapStringsSep "\n" (i: "includedir ${i}") includedir) + ]); + + formatSection = name: section: '' + [${name}] + ${indent (concatStringsSep "\n" (mapAttrsToList formatRelation section))} + ''; + + formatRelation = name: relation: + if isAttrs relation + then '' + ${name} = { + ${indent (concatStringsSep "\n" (mapAttrsToList formatValue relation))} + }'' + else formatValue name relation; + + formatValue = name: value: + if isList value + then concatMapStringsSep "\n" (formatAtom name) value + else formatAtom name value; + + formatAtom = name: atom: let + v = if isBool atom then boolToString atom else toString atom; + in "${name} = ${v}"; + in + name: value: pkgs.writeText name '' + ${formatToplevel value} + ''; +} diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 50f9272ac301..111be7057afc 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -1086,8 +1086,8 @@ in security.pam.krb5 = { enable = mkOption { - default = config.krb5.enable; - defaultText = literalExpression "config.krb5.enable"; + default = config.security.krb5.enable; + defaultText = literalExpression "config.security.krb5.enable"; type = types.bool; description = lib.mdDoc '' Enables Kerberos PAM modules (`pam-krb5`, @@ -1095,7 +1095,7 @@ in If set, users can authenticate with their Kerberos password. This requires a valid Kerberos configuration - (`config.krb5.enable` should be set to + (`config.security.krb5.enable` should be set to `true`). Note that the Kerberos PAM modules are not necessary when using SSS diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index ca6910b795d8..d8e4aab4feea 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -1359,6 +1359,7 @@ in { '' else '' jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \ + '${if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.9" then ".production.main as $main | del(.production.main) | .production |= {main: $main} + ." else ""}' \ >'${cfg.statePath}/config/database.yml' '' } diff --git a/nixos/modules/services/network-filesystems/kubo.nix b/nixos/modules/services/network-filesystems/kubo.nix index 8226fc614bc4..126e0902d5b4 100644 --- a/nixos/modules/services/network-filesystems/kubo.nix +++ b/nixos/modules/services/network-filesystems/kubo.nix @@ -282,8 +282,9 @@ in environment.systemPackages = [ cfg.package ]; environment.variables.IPFS_PATH = fakeKuboRepo; - # https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size + # https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes boot.kernel.sysctl."net.core.rmem_max" = mkDefault 2500000; + boot.kernel.sysctl."net.core.wmem_max" = mkDefault 2500000; programs.fuse = mkIf cfg.autoMount { userAllowOther = true; diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 3a2744303474..1f044384a5b8 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -4,9 +4,10 @@ with lib; let - inherit (pkgs) cups cups-pk-helper cups-filters xdg-utils; + inherit (pkgs) cups-pk-helper cups-filters xdg-utils; cfg = config.services.printing; + cups = cfg.package; avahiEnabled = config.services.avahi.enable; polkitEnabled = config.security.polkit.enable; @@ -140,6 +141,8 @@ in ''; }; + package = lib.mkPackageOption pkgs "cups" {}; + stateless = mkOption { type = types.bool; default = false; diff --git a/nixos/modules/services/system/kerberos/default.nix b/nixos/modules/services/system/kerberos/default.nix index 4ed48e463741..486d4b49c195 100644 --- a/nixos/modules/services/system/kerberos/default.nix +++ b/nixos/modules/services/system/kerberos/default.nix @@ -3,7 +3,7 @@ let inherit (lib) mkOption mkIf types length attrNames; cfg = config.services.kerberos_server; - kerberos = config.krb5.kerberos; + kerberos = config.security.krb5.package; aclEntry = { options = { diff --git a/nixos/modules/services/system/kerberos/heimdal.nix b/nixos/modules/services/system/kerberos/heimdal.nix index 837c59caa562..4789e4790b4b 100644 --- a/nixos/modules/services/system/kerberos/heimdal.nix +++ b/nixos/modules/services/system/kerberos/heimdal.nix @@ -4,7 +4,7 @@ let inherit (lib) mkIf concatStringsSep concatMapStrings toList mapAttrs mapAttrsToList; cfg = config.services.kerberos_server; - kerberos = config.krb5.kerberos; + kerberos = config.security.krb5.package; stateDir = "/var/heimdal"; aclFiles = mapAttrs (name: {acl, ...}: pkgs.writeText "${name}.acl" (concatMapStrings (( diff --git a/nixos/modules/services/system/kerberos/mit.nix b/nixos/modules/services/system/kerberos/mit.nix index 112000140453..a654bd1fe7e1 100644 --- a/nixos/modules/services/system/kerberos/mit.nix +++ b/nixos/modules/services/system/kerberos/mit.nix @@ -4,7 +4,7 @@ let inherit (lib) mkIf concatStrings concatStringsSep concatMapStrings toList mapAttrs mapAttrsToList; cfg = config.services.kerberos_server; - kerberos = config.krb5.kerberos; + kerberos = config.security.krb5.package; stateDir = "/var/lib/krb5kdc"; PIDFile = "/run/kdc.pid"; aclMap = { diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix index 1df1cbf9f0e1..256ab3229ea6 100644 --- a/nixos/modules/services/web-apps/dokuwiki.nix +++ b/nixos/modules/services/web-apps/dokuwiki.nix @@ -122,62 +122,8 @@ let }; }; - # The current implementations of `doRename`, `mkRenamedOptionModule` do not provide the full options path when used with submodules. - # They would only show `settings.useacl' instead of `services.dokuwiki.sites."site1.local".settings.useacl' - # The partial re-implementation of these functions is done to help users in debugging by showing the full path. - mkRenamed = from: to: { config, options, name, ... }: let - pathPrefix = [ "services" "dokuwiki" "sites" name ]; - fromPath = pathPrefix ++ from; - fromOpt = getAttrFromPath from options; - toOp = getAttrsFromPath to config; - toPath = pathPrefix ++ to; - in { - options = setAttrByPath from (mkOption { - visible = false; - description = lib.mdDoc "Alias of {option}${showOption toPath}"; - apply = x: builtins.trace "Obsolete option `${showOption fromPath}' is used. It was renamed to ${showOption toPath}" toOp; - }); - config = mkMerge [ - { - warnings = optional fromOpt.isDefined - "The option `${showOption fromPath}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption toPath}'."; - } - (lib.modules.mkAliasAndWrapDefsWithPriority (setAttrByPath to) fromOpt) - ]; - }; - siteOpts = { options, config, lib, name, ... }: { - imports = [ - (mkRenamed [ "aclUse" ] [ "settings" "useacl" ]) - (mkRenamed [ "superUser" ] [ "settings" "superuser" ]) - (mkRenamed [ "disableActions" ] [ "settings" "disableactions" ]) - ({ config, options, ... }: let - showPath = suffix: lib.options.showOption ([ "services" "dokuwiki" "sites" name ] ++ suffix); - replaceExtraConfig = "Please use `${showPath ["settings"]}' to pass structured settings instead."; - ecOpt = options.extraConfig; - ecPath = showPath [ "extraConfig" ]; - in { - options.extraConfig = mkOption { - visible = false; - apply = x: throw "The option ${ecPath} can no longer be used since it's been removed.\n${replaceExtraConfig}"; - }; - config.assertions = [ - { - assertion = !ecOpt.isDefined; - message = "The option definition `${ecPath}' in ${showFiles ecOpt.files} no longer has any effect; please remove it.\n${replaceExtraConfig}"; - } - { - assertion = config.mergedConfig.useacl -> (config.acl != null || config.aclFile != null); - message = "Either ${showPath [ "acl" ]} or ${showPath [ "aclFile" ]} is mandatory if ${showPath [ "settings" "useacl" ]} is true"; - } - { - assertion = config.usersFile != null -> config.mergedConfig.useacl != false; - message = "${showPath [ "settings" "useacl" ]} is required when ${showPath [ "usersFile" ]} is set (Currently defined as `${config.usersFile}' in ${showFiles options.usersFile.files})."; - } - ]; - }) - ]; options = { enable = mkEnableOption (lib.mdDoc "DokuWiki web application"); @@ -392,21 +338,6 @@ let ''; }; - # Required for the mkRenamedOptionModule - # TODO: Remove me once https://github.com/NixOS/nixpkgs/issues/96006 is fixed - # or we don't have any more notes about the removal of extraConfig, ... - warnings = mkOption { - type = types.listOf types.unspecified; - default = [ ]; - visible = false; - internal = true; - }; - assertions = mkOption { - type = types.listOf types.unspecified; - default = [ ]; - visible = false; - internal = true; - }; }; }; in @@ -440,10 +371,6 @@ in # implementation config = mkIf (eachSite != {}) (mkMerge [{ - warnings = flatten (mapAttrsToList (_: cfg: cfg.warnings) eachSite); - - assertions = flatten (mapAttrsToList (_: cfg: cfg.assertions) eachSite); - services.phpfpm.pools = mapAttrs' (hostName: cfg: ( nameValuePair "dokuwiki-${hostName}" { inherit user; diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix index 20eca7746447..2cf9bc2eac37 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -449,7 +449,6 @@ in gnome-color-manager gnome-control-center gnome-shell-extensions - gnome-themes-extra pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. pkgs.gnome-user-docs pkgs.orca diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index c4c856d9be30..885fb4e07853 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -33,21 +33,11 @@ in { ''; }; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.lxd; - defaultText = lib.literalExpression "pkgs.lxd"; - description = lib.mdDoc '' - The LXD package to use. - ''; - }; + package = lib.mkPackageOption pkgs "lxd" { }; - lxcPackage = lib.mkOption { - type = lib.types.package; - default = pkgs.lxc; - defaultText = lib.literalExpression "pkgs.lxc"; - description = lib.mdDoc '' - The LXC package to use with LXD (required for AppArmor profiles). + lxcPackage = lib.mkPackageOption pkgs "lxc" { + extraDescription = '' + Required for AppArmor profiles. ''; }; @@ -149,7 +139,7 @@ in { ui = { enable = lib.mkEnableOption (lib.mdDoc "(experimental) LXD UI"); - package = lib.mkPackageOption pkgs.lxd-unwrapped "ui" { }; + package = lib.mkPackageOption pkgs [ "lxd-unwrapped" "ui" ] { }; }; }; }; diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix index 47f9d0285aef..393289f7a92c 100644 --- a/nixos/tests/kerberos/heimdal.nix +++ b/nixos/tests/kerberos/heimdal.nix @@ -1,5 +1,6 @@ import ../make-test-python.nix ({pkgs, ...}: { name = "kerberos_server-heimdal"; + nodes.machine = { config, libs, pkgs, ...}: { services.kerberos_server = { enable = true; @@ -7,16 +8,18 @@ import ../make-test-python.nix ({pkgs, ...}: { "FOO.BAR".acl = [{principal = "admin"; access = ["add" "cpw"];}]; }; }; - krb5 = { + security.krb5 = { enable = true; - kerberos = pkgs.heimdal; - libdefaults = { - default_realm = "FOO.BAR"; - }; - realms = { - "FOO.BAR" = { - admin_server = "machine"; - kdc = "machine"; + package = pkgs.heimdal; + settings = { + libdefaults = { + default_realm = "FOO.BAR"; + }; + realms = { + "FOO.BAR" = { + admin_server = "machine"; + kdc = "machine"; + }; }; }; }; @@ -39,4 +42,6 @@ import ../make-test-python.nix ({pkgs, ...}: { "kinit -kt alice.keytab alice", ) ''; + + meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ]; }) diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix index 7e427ffef0ba..1191d047abbf 100644 --- a/nixos/tests/kerberos/mit.nix +++ b/nixos/tests/kerberos/mit.nix @@ -1,5 +1,6 @@ import ../make-test-python.nix ({pkgs, ...}: { name = "kerberos_server-mit"; + nodes.machine = { config, libs, pkgs, ...}: { services.kerberos_server = { enable = true; @@ -7,16 +8,18 @@ import ../make-test-python.nix ({pkgs, ...}: { "FOO.BAR".acl = [{principal = "admin"; access = ["add" "cpw"];}]; }; }; - krb5 = { + security.krb5 = { enable = true; - kerberos = pkgs.krb5; - libdefaults = { - default_realm = "FOO.BAR"; - }; - realms = { - "FOO.BAR" = { - admin_server = "machine"; - kdc = "machine"; + package = pkgs.krb5; + settings = { + libdefaults = { + default_realm = "FOO.BAR"; + }; + realms = { + "FOO.BAR" = { + admin_server = "machine"; + kdc = "machine"; + }; }; }; }; @@ -38,4 +41,6 @@ import ../make-test-python.nix ({pkgs, ...}: { "echo alice_pw | sudo -u alice kinit", ) ''; + + meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ]; }) diff --git a/nixos/tests/krb5/default.nix b/nixos/tests/krb5/default.nix index dd5b2f37202e..ede085632c63 100644 --- a/nixos/tests/krb5/default.nix +++ b/nixos/tests/krb5/default.nix @@ -1,5 +1,4 @@ { system ? builtins.currentSystem }: { example-config = import ./example-config.nix { inherit system; }; - deprecated-config = import ./deprecated-config.nix { inherit system; }; } diff --git a/nixos/tests/krb5/deprecated-config.nix b/nixos/tests/krb5/deprecated-config.nix deleted file mode 100644 index aca29ae6ca2b..000000000000 --- a/nixos/tests/krb5/deprecated-config.nix +++ /dev/null @@ -1,50 +0,0 @@ -# Verifies that the configuration suggested in deprecated example values -# will result in the expected output. - -import ../make-test-python.nix ({ pkgs, ...} : { - name = "krb5-with-deprecated-config"; - meta = with pkgs.lib.maintainers; { - maintainers = [ eqyiel ]; - }; - - nodes.machine = - { ... }: { - krb5 = { - enable = true; - defaultRealm = "ATHENA.MIT.EDU"; - domainRealm = "athena.mit.edu"; - kdc = "kerberos.mit.edu"; - kerberosAdminServer = "kerberos.mit.edu"; - }; - }; - - testScript = - let snapshot = pkgs.writeText "krb5-with-deprecated-config.conf" '' - [libdefaults] - default_realm = ATHENA.MIT.EDU - - [realms] - ATHENA.MIT.EDU = { - admin_server = kerberos.mit.edu - kdc = kerberos.mit.edu - } - - [domain_realm] - .athena.mit.edu = ATHENA.MIT.EDU - athena.mit.edu = ATHENA.MIT.EDU - - [capaths] - - - [appdefaults] - - - [plugins] - - ''; - in '' - machine.succeed( - "diff /etc/krb5.conf ${snapshot}" - ) - ''; -}) diff --git a/nixos/tests/krb5/example-config.nix b/nixos/tests/krb5/example-config.nix index 9a5c3b2af249..33bed481b39f 100644 --- a/nixos/tests/krb5/example-config.nix +++ b/nixos/tests/krb5/example-config.nix @@ -4,78 +4,77 @@ import ../make-test-python.nix ({ pkgs, ...} : { name = "krb5-with-example-config"; meta = with pkgs.lib.maintainers; { - maintainers = [ eqyiel ]; + maintainers = [ eqyiel dblsaiko ]; }; nodes.machine = { pkgs, ... }: { - krb5 = { + security.krb5 = { enable = true; - kerberos = pkgs.krb5; - libdefaults = { - default_realm = "ATHENA.MIT.EDU"; - }; - realms = { - "ATHENA.MIT.EDU" = { - admin_server = "athena.mit.edu"; - kdc = [ - "athena01.mit.edu" - "athena02.mit.edu" - ]; + package = pkgs.krb5; + settings = { + includedir = [ + "/etc/krb5.conf.d" + ]; + include = [ + "/etc/krb5-extra.conf" + ]; + libdefaults = { + default_realm = "ATHENA.MIT.EDU"; }; - }; - domain_realm = { - "example.com" = "EXAMPLE.COM"; - ".example.com" = "EXAMPLE.COM"; - }; - capaths = { - "ATHENA.MIT.EDU" = { - "EXAMPLE.COM" = "."; + realms = { + "ATHENA.MIT.EDU" = { + admin_server = "athena.mit.edu"; + kdc = [ + "athena01.mit.edu" + "athena02.mit.edu" + ]; + }; }; - "EXAMPLE.COM" = { - "ATHENA.MIT.EDU" = "."; + domain_realm = { + "example.com" = "EXAMPLE.COM"; + ".example.com" = "EXAMPLE.COM"; }; - }; - appdefaults = { - pam = { - debug = false; - ticket_lifetime = 36000; - renew_lifetime = 36000; - max_timeout = 30; - timeout_shift = 2; - initial_timeout = 1; + capaths = { + "ATHENA.MIT.EDU" = { + "EXAMPLE.COM" = "."; + }; + "EXAMPLE.COM" = { + "ATHENA.MIT.EDU" = "."; + }; }; - }; - plugins = { - ccselect = { - disable = "k5identity"; + appdefaults = { + pam = { + debug = false; + ticket_lifetime = 36000; + renew_lifetime = 36000; + max_timeout = 30; + timeout_shift = 2; + initial_timeout = 1; + }; + }; + plugins.ccselect.disable = "k5identity"; + logging = { + kdc = "SYSLOG:NOTICE"; + admin_server = "SYSLOG:NOTICE"; + default = "SYSLOG:NOTICE"; }; }; - extraConfig = '' - [logging] - kdc = SYSLOG:NOTICE - admin_server = SYSLOG:NOTICE - default = SYSLOG:NOTICE - ''; }; }; testScript = let snapshot = pkgs.writeText "krb5-with-example-config.conf" '' - [libdefaults] - default_realm = ATHENA.MIT.EDU - - [realms] - ATHENA.MIT.EDU = { - admin_server = athena.mit.edu - kdc = athena01.mit.edu - kdc = athena02.mit.edu + [appdefaults] + pam = { + debug = false + initial_timeout = 1 + max_timeout = 30 + renew_lifetime = 36000 + ticket_lifetime = 36000 + timeout_shift = 2 } - [domain_realm] - .example.com = EXAMPLE.COM - example.com = EXAMPLE.COM - [capaths] ATHENA.MIT.EDU = { EXAMPLE.COM = . @@ -84,25 +83,32 @@ import ../make-test-python.nix ({ pkgs, ...} : { ATHENA.MIT.EDU = . } - [appdefaults] - pam = { - debug = false - initial_timeout = 1 - max_timeout = 30 - renew_lifetime = 36000 - ticket_lifetime = 36000 - timeout_shift = 2 - } + [domain_realm] + .example.com = EXAMPLE.COM + example.com = EXAMPLE.COM + + [libdefaults] + default_realm = ATHENA.MIT.EDU + + [logging] + admin_server = SYSLOG:NOTICE + default = SYSLOG:NOTICE + kdc = SYSLOG:NOTICE [plugins] ccselect = { disable = k5identity } - [logging] - kdc = SYSLOG:NOTICE - admin_server = SYSLOG:NOTICE - default = SYSLOG:NOTICE + [realms] + ATHENA.MIT.EDU = { + admin_server = athena.mit.edu + kdc = athena01.mit.edu + kdc = athena02.mit.edu + } + + include /etc/krb5-extra.conf + includedir /etc/krb5.conf.d ''; in '' machine.succeed( diff --git a/nixos/tests/nfs/kerberos.nix b/nixos/tests/nfs/kerberos.nix index a7d08bc628c6..1bace4058be5 100644 --- a/nixos/tests/nfs/kerberos.nix +++ b/nixos/tests/nfs/kerberos.nix @@ -1,15 +1,17 @@ import ../make-test-python.nix ({ pkgs, lib, ... }: let - krb5 = - { enable = true; - domain_realm."nfs.test" = "NFS.TEST"; + security.krb5 = { + enable = true; + settings = { + domain_realm."nfs.test" = "NFS.TEST"; libdefaults.default_realm = "NFS.TEST"; - realms."NFS.TEST" = - { admin_server = "server.nfs.test"; - kdc = "server.nfs.test"; - }; + realms."NFS.TEST" = { + admin_server = "server.nfs.test"; + kdc = "server.nfs.test"; + }; }; + }; hosts = '' @@ -32,7 +34,7 @@ in nodes = { client = { lib, ... }: - { inherit krb5 users; + { inherit security users; networking.extraHosts = hosts; networking.domain = "nfs.test"; @@ -48,7 +50,7 @@ in }; server = { lib, ...}: - { inherit krb5 users; + { inherit security users; networking.extraHosts = hosts; networking.domain = "nfs.test"; @@ -128,4 +130,6 @@ in expected = ["alice", "users"] assert ids == expected, f"ids incorrect: got {ids} expected {expected}" ''; + + meta.maintainers = [ lib.maintainers.dblsaiko ]; }) diff --git a/nixos/tests/pam/pam-file-contents.nix b/nixos/tests/pam/pam-file-contents.nix index 2bafd90618e9..accaa4cc70a9 100644 --- a/nixos/tests/pam/pam-file-contents.nix +++ b/nixos/tests/pam/pam-file-contents.nix @@ -7,7 +7,7 @@ import ../make-test-python.nix ({ pkgs, ... }: { nodes.machine = { ... }: { imports = [ ../../modules/profiles/minimal.nix ]; - krb5.enable = true; + security.krb5.enable = true; users = { mutableUsers = false; diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 895b39bb9cc2..d299148e6ade 100644 --- a/pkgs/applications/audio/ft2-clone/default.nix +++ b/pkgs/applications/audio/ft2-clone/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.74"; + version = "1.75"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - hash = "sha256-plr5vmtYL0adeocY4/3hRI2RQ7lDkLvBbQPq2Jw6MvU="; + hash = "sha256-K+RUsRr19fc0E9VhZWIawxkGXCTwqXl3a13pRiRxDPg="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/emulators/yuzu/compat-list.nix b/pkgs/applications/emulators/yuzu/compat-list.nix index 431a2e5197e3..4b8d53116390 100644 --- a/pkgs/applications/emulators/yuzu/compat-list.nix +++ b/pkgs/applications/emulators/yuzu/compat-list.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub, unstableGitUpdater }: stdenv.mkDerivation { pname = "yuzu-compatibility-list"; - version = "unstable-2023-12-28"; + version = "unstable-2024-01-08"; src = fetchFromGitHub { owner = "flathub"; repo = "org.yuzu_emu.yuzu"; - rev = "0b9bf10851d6ad54441dc4f687d5755ed2c6f7a8"; - hash = "sha256-oWEeAhyxFO1TFH3d+/ivRf1KnNUU8y5c/7NtOzlpKXg="; + rev = "0f5500f50e2a5ac7e40e6f5f8aeb160d46348828"; + hash = "sha256-0JHl7myoa3MlfucmbKB5tubJ6sQ2IlTIL3i2yveOvaU="; }; buildCommand = '' diff --git a/pkgs/applications/emulators/yuzu/early-access/sources.nix b/pkgs/applications/emulators/yuzu/early-access/sources.nix index 4f9c6a1f8d39..ec513e7b5e2c 100644 --- a/pkgs/applications/emulators/yuzu/early-access/sources.nix +++ b/pkgs/applications/emulators/yuzu/early-access/sources.nix @@ -1,7 +1,7 @@ # Generated by ./update.sh - do not update manually! -# Last updated: 2023-12-29 +# Last updated: 2024-01-10 { - version = "4037"; - distHash = "sha256:0pw56hj13fm9j5nja1lhj839d88w00kcr30kygasr36w9c7yv2n7"; - fullHash = "sha256:0f42fp8z333b3k4pn8j0cp3480llvlygl5p6qfgywhq3g5hcpzpb"; + version = "4056"; + distHash = "sha256:14qd5v238pka9axrxjbaawr0kpkkbd95mzri6jdjxjyzbkk03hmb"; + fullHash = "sha256:0fb4i6708q59ql9ffrw2myanqgxpy20z971y6l7yvxm1pqw9qhyx"; } diff --git a/pkgs/applications/emulators/yuzu/mainline.nix b/pkgs/applications/emulators/yuzu/mainline.nix index 6964f272553e..892c694164e2 100644 --- a/pkgs/applications/emulators/yuzu/mainline.nix +++ b/pkgs/applications/emulators/yuzu/mainline.nix @@ -47,13 +47,13 @@ }: stdenv.mkDerivation(finalAttrs: { pname = "yuzu"; - version = "1665"; + version = "1676"; src = fetchFromGitHub { owner = "yuzu-emu"; repo = "yuzu-mainline"; rev = "mainline-0-${finalAttrs.version}"; - hash = "sha256-xzSup1oz83GPpOGh9aJJ5YjoFX/cBI8RV6SvDYNH/zA="; + hash = "sha256-vRrliVuGXI/Dpmdkbj+P5hshzPzB6nijrXQfLXHaGqk="; fetchSubmodules = true; }; diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh new file mode 100755 index 000000000000..4bb96b2105b4 --- /dev/null +++ b/pkgs/applications/emulators/yuzu/update.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-update +#shellcheck shell=bash +nix-update -u yuzuPackages.nx_tzdb "$@" +nix-update -u yuzuPackages.compat-list "$@" +nix-update -u yuzuPackages.mainline "$@" +nix-update -u yuzuPackages.early-access "$@" diff --git a/pkgs/applications/graphics/imgp/default.nix b/pkgs/applications/graphics/imgp/default.nix index 89887c9f4e87..995aaf2599df 100644 --- a/pkgs/applications/graphics/imgp/default.nix +++ b/pkgs/applications/graphics/imgp/default.nix @@ -1,21 +1,17 @@ -{ lib, fetchFromGitHub, buildPythonApplication, pillow, imgp }: +{ lib, fetchFromGitHub, buildPythonApplication, pythonOlder, pillow }: buildPythonApplication rec { pname = "imgp"; - version = "2.8"; + version = "2.9"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "jarun"; - repo = pname; + repo = "imgp"; rev = "v${version}"; - sha256 = "1miabaxd5pwxn0va4drzj1d4ppxvyqsrrd4xw1j6qr52yci0lms8"; + hash = "sha256-yQ2BzOBn6Bl9ieZkREKsj1zLnoPcf0hZhZ90Za5kiKA="; }; - postPatch = '' - substituteInPlace imgp \ - --replace "Image.ANTIALIAS" "Image.Resampling.LANCZOS" - ''; - propagatedBuildInputs = [ pillow ]; installFlags = [ @@ -36,7 +32,7 @@ buildPythonApplication rec { meta = with lib; { description = "High-performance CLI batch image resizer & rotator"; homepage = "https://github.com/jarun/imgp"; - license = licenses.gpl3; + license = licenses.gpl3Plus; platforms = platforms.unix; maintainers = with maintainers; [ sikmir ]; }; diff --git a/pkgs/applications/misc/archivebox/default.nix b/pkgs/applications/misc/archivebox/default.nix index 42f9feb421fe..4979a683ebe0 100644 --- a/pkgs/applications/misc/archivebox/default.nix +++ b/pkgs/applications/misc/archivebox/default.nix @@ -1,7 +1,16 @@ { lib +, stdenv , python3 , fetchFromGitHub , fetchPypi +, curl +, wget +, git +, ripgrep +, postlight-parser +, readability-extractor +, chromium +, yt-dlp }: let @@ -34,6 +43,8 @@ let rev = "e43f383dae3a35237e42f6acfe1207a8e7e7bdf5"; hash = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM="; }; + # possibly a real issue, but that version is not supported anymore + disabledTests = [ "test_should_highlight_bash_syntax_without_name" ]; }); }; }; @@ -41,31 +52,51 @@ in python.pkgs.buildPythonApplication rec { pname = "archivebox"; - version = "0.6.2"; + version = "0.7.2"; + pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "sha256-zHty7lTra6yab9d0q3EqsPG3F+lrnZL6PjQAbL1A2NY="; + hash = "sha256-hdBUEX2tOWN2b11w6aG3x7MP7KQTj4Rwc2w8XvABGf4="; }; + nativeBuildInputs = with python.pkgs; [ + pdm-backend + ]; + propagatedBuildInputs = with python.pkgs; [ - requests - mypy-extensions + croniter + dateparser django django-extensions - dateparser - youtube-dl + ipython + mypy-extensions python-crontab - croniter + requests w3lib - ipython + yt-dlp ]; + makeWrapperArgs = [ + "--set USE_NODE True" # used through dependencies, not needed explicitly + "--set READABILITY_BINARY ${lib.meta.getExe readability-extractor}" + "--set MERCURY_BINARY ${lib.meta.getExe postlight-parser}" + "--set CURL_BINARY ${lib.meta.getExe curl}" + "--set RIPGREP_BINARY ${lib.meta.getExe ripgrep}" + "--set WGET_BINARY ${lib.meta.getExe wget}" + "--set GIT_BINARY ${lib.meta.getExe git}" + "--set YOUTUBEDL_BINARY ${lib.meta.getExe yt-dlp}" + ] ++ (if (lib.meta.availableOn stdenv.hostPlatform chromium) then [ + "--set CHROME_BINARY ${chromium}/bin/chromium-browser" + ] else [ + "--set-default USE_CHROME False" + ]); + meta = with lib; { description = "Open source self-hosted web archiving"; homepage = "https://archivebox.io"; license = licenses.mit; - maintainers = with maintainers; [ siraben ]; + maintainers = with maintainers; [ siraben viraptor ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/bazecor/default.nix b/pkgs/applications/misc/bazecor/default.nix index 894f2af320dd..0767c3c03818 100644 --- a/pkgs/applications/misc/bazecor/default.nix +++ b/pkgs/applications/misc/bazecor/default.nix @@ -5,13 +5,13 @@ appimageTools.wrapAppImage rec { pname = "bazecor"; - version = "1.3.8"; + version = "1.3.9"; src = appimageTools.extract { inherit pname version; src = fetchurl { url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage"; - hash = "sha256-SwlSH5z0p9ZVoDQzj4GxO3g/iHG8zQZndE4TmqdMtZQ="; + hash = "sha256-qve5xxhhyVej8dPDkZ7QQdeDUmqGO4pHJTykbS4RhAk="; }; # Workaround for https://github.com/Dygmalab/Bazecor/issues/370 @@ -26,7 +26,7 @@ appimageTools.wrapAppImage rec { # also make sure to update the udev rules in ./10-dygma.rules; most recently # taken from - # https://github.com/Dygmalab/Bazecor/blob/v1.3.8/src/main/utils/udev.ts#L6 + # https://github.com/Dygmalab/Bazecor/blob/v1.3.9/src/main/utils/udev.ts#L6 extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.glib @@ -39,6 +39,12 @@ appimageTools.wrapAppImage rec { extraInstallCommands = '' mv $out/bin/bazecor-* $out/bin/bazecor + install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications + substituteInPlace $out/share/applications/Bazecor.desktop \ + --replace 'Exec=Bazecor' 'Exec=bazecor' + + install -m 444 -D ${src}/bazecor.png -t $out/share/pixmaps + mkdir -p $out/lib/udev/rules.d ln -s --target-directory=$out/lib/udev/rules.d ${./10-dygma.rules} ''; diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix index 539798647d1a..8de62f1a2296 100644 --- a/pkgs/applications/misc/clipcat/default.nix +++ b/pkgs/applications/misc/clipcat/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "clipcat"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "xrelkd"; repo = pname; rev = "v${version}"; - hash = "sha256-9BilasXc/3FFPcKAgPvc0hIHP7NbOqRD8ZwIMRc/Y3M="; + hash = "sha256-SqA8UjKTBtkE1IkWGeshI8KBHr86V9r/+YvFZNJ6Oq8="; }; - cargoHash = "sha256-zkeKhi0DiYqA5+KiU77ZJXRyhLUKVDmHvF7TG1URzo4="; + cargoHash = "sha256-KU3kXqy9zL7GQdSsCNW7jcsxdTuRXjJyDtBpmgoXi6E="; nativeBuildInputs = [ protobuf diff --git a/pkgs/applications/misc/pe-bear/default.nix b/pkgs/applications/misc/pe-bear/default.nix index 1275f8f0db56..45cca9e49f49 100644 --- a/pkgs/applications/misc/pe-bear/default.nix +++ b/pkgs/applications/misc/pe-bear/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "pe-bear"; - version = "0.6.6"; + version = "0.6.7"; src = fetchFromGitHub { owner = "hasherezade"; repo = "pe-bear"; rev = "v${version}"; - sha256 = "sha256-WuuhQxjmV/AlmM1z85paUbpIaBht4fgqY8yvtZ0hPKQ="; + sha256 = "sha256-O5vBmcQXwde63OKc2LI66/tEqPzs0pK8loYkhILg2oY="; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index b42880020653..0f848d77c678 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -15,9 +15,9 @@ version = "2023-10-23"; }; }; - hash = "sha256-lT1CCwYj0hT4tCJb689mZwNecUsEwcfn2Ot8r9LBT+M="; - hash_deb_amd64 = "sha256-4BWLn0+gYNWG4DsolbY6WlTvXWl7tZIZrnqXlrGUGjQ="; - version = "120.0.6099.199"; + hash = "sha256-yqk0bh68onWqML20Q8eDsTT9o+eKtta7kS9HL74do6Q="; + hash_deb_amd64 = "sha256-MxIyOXssQ1Ke5WZbBbB4FpDec+rn46m8+PbMdmxaQCA="; + version = "120.0.6099.216"; }; ungoogled-chromium = { deps = { diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index 17e5cccd0207..191f1b97860b 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,1025 +1,1025 @@ { - version = "121.0"; + version = "121.0.1"; sources = [ - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ach/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ach/firefox-121.0.1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "ef3acc06adbfbfea448f174ee9e7572c92d4f41b0a25d492880311d3ce59d25d"; + sha256 = "61e2e650ec64d7a57d666cb03ab9cfcfea5b4e666f3375a061bdacea7038144b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/af/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/af/firefox-121.0.1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "948209f8fde1f41fc1602ce37a2183f34dda8605021a3f1c2db7f93b790b8919"; + sha256 = "9b0e01ee3214ca1876021269bbb063ab4b47edb3f584823f8550cf117690381b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/an/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/an/firefox-121.0.1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha256 = "779894e500e83eb4914af04dab209f1bf4da7e2c94b793ddae91ea4d5bd4bac6"; + sha256 = "d1a90391bcc72fb452a3391caeb7d17fb152db3ccd1400e0d343874849c1a7ad"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ar/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ar/firefox-121.0.1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "69b55140214377d9f3f8dc730c846f1f4ffd634c2dfeea06b968b6b62f17edd0"; + sha256 = "27bbc7b43d76514a42b71ac4811223bcb2a6ddfd82d8dbdfe4e8b36f0d4000c3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ast/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ast/firefox-121.0.1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "0c554f77afbf4cb24641a26c912801d14edf40cbb62989c63b0ad11bfb5bfd42"; + sha256 = "774c8498b2c95bc01d69e35b68ef1c673b83caa92aa567f9811967d818df9fb0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/az/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/az/firefox-121.0.1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha256 = "b5ee9c6713bade0d4ff402784e0c5dcb6f3d868f9b4e45796ca349981673312b"; + sha256 = "b17401bb3f337257f67fe5816eafe1082eb8e0d7cf49ba19f9a50eb350645a00"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/be/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/be/firefox-121.0.1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "6fbed06adeda99ffddac291ff971fd05f89d860356035f8c3b0de0d649dfb531"; + sha256 = "2fb32fc854e7ddec1bc3f3c26992fbd6484734b129d9e10155f88fb7e6dad313"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/bg/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/bg/firefox-121.0.1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "d053ebaafc0758341dde58e7e6d632dea87dcb7f6d3afc65f93d4b775bc67eaa"; + sha256 = "454ed5dad32c6727bac42b89904164d597ed4129abc38631619f95360cecd73a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/bn/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/bn/firefox-121.0.1.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "3b09592af340f9bb58ee2267a6c1465102a9a0b2094d31309c6f912096e9edba"; + sha256 = "4451bddc6cb18bdf57b27ab3c95863cf5cd7b1dfee599f45a2feab97ce527c79"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/br/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/br/firefox-121.0.1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "22bb3f28936a9ccbf84b3ea6bf030c9ae4364539f1327d0666020399c1dae0d4"; + sha256 = "764aed72d196188ce207d11573e311cba5cb90935cedf99eda21c4400f5c2df0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/bs/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/bs/firefox-121.0.1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "3f3e8dc33ad5c74a81ce6344e9a04cc7048967d5319d6027e8f22734fa5ea260"; + sha256 = "1200c51bd3be276e3ed681c246f5e2fae5907e0b20d9869363c4d19aa301f438"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ca-valencia/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ca-valencia/firefox-121.0.1.tar.bz2"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "97a419a909e87475a5f2703d6f78c9efd22c48faa4f43819535af39a35d242f3"; + sha256 = "9734e5f3e4c220aa05031e0aa22ecba84dab1038213f986ab2c724136a8d483a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ca/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ca/firefox-121.0.1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "beef08c0ca636034c844227d500fc1827d9ebc495465d602e3c2e020f292c36e"; + sha256 = "7e2f880b51c36a01c8f8ee46a43c274aa42a4e41a81383b1a30af096d405f0ea"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/cak/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/cak/firefox-121.0.1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "428c8227543097de1f380d7fa8aae3430db8ac7c2958bb7ebd327a9d6016de79"; + sha256 = "163946337a14850df357580c1ea3381eaa08e12619d91daca52b3bc35f704a10"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/cs/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/cs/firefox-121.0.1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "53131c9a655b8fce9a4bab43cfb4497794594d0bcb32700e12b480011b24c4fb"; + sha256 = "dba761165e351f8a59b17417462b610708fa35856ad7ccba6dd893e0b9de8405"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/cy/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/cy/firefox-121.0.1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "4b107aee59e72c954037e60a49cbc182ed4c58a8f2ada71e23d54d6a0eca272c"; + sha256 = "9e3e8c97abae7f1c84277c4fb006674636af5761b9ae4f0e0dd6a733b1b33213"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/da/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/da/firefox-121.0.1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "7df23761b1370594fb0f2e4db64a1b37f927dd399c4ab0d9e2f5fc0d68518ad3"; + sha256 = "91e64816bc718cd82ddfe724933f2b46d23ee6dd6c1e6047b814a8f40caf0f84"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/de/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/de/firefox-121.0.1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "2ad8bf7ae7b01b9493e1490225230e146a0aa3e442a5f969f293946385882f02"; + sha256 = "a711c23f0267ae47a50d688cb3b3c9aef638dd0a2ba17eedbf872205a9c6c6e1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/dsb/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/dsb/firefox-121.0.1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "3ce4f431262b2ef2715a9708438ded794613daf585e9aa040c476724cced94bb"; + sha256 = "15c3b378de1c7b10c2b5a9c9a79fc42d4e60d29abbe352b385f026214674b99c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/el/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/el/firefox-121.0.1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "d60541d1a382b9789daab611c25b0a8bdd6b3cfb7b3122bd5839d875290819b1"; + sha256 = "b643aef6dbd89b9b8b6809d1bd208a4828dc07743577d9dfb2483ff6fce3915c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/en-CA/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/en-CA/firefox-121.0.1.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "f70e4d37314c395da64e441df445d43cae8647744d4bd5826b368802d2b76ba0"; + sha256 = "bc6d9e97eead59d634872a1e611e016127b27cd65bc17d68bbbdde15e3460b16"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/en-GB/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/en-GB/firefox-121.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "b12b6dac28538d4425dc3c953480fcb54d23c3688edacdd72990df65ef8ffdd1"; + sha256 = "2b2e17b54255af3c4aa0c00bce68e289fc6973413d81e9ea324ee54bcb15865e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/en-US/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/en-US/firefox-121.0.1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "f1c779b04e81a72860b9be0185d3f957c746dfc2128d62f5413b720a279b17e9"; + sha256 = "0fb696e03ac444d6c973cf3ff9f9c123b369e2091c80b50753ff1b447f1a96c1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/eo/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/eo/firefox-121.0.1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "4454448aa79f2c4f8ad7f3fe28b2ee918901b3dd989514d1cb269dbcf447b1f1"; + sha256 = "0f20aabbb73b11d03c2f40e51cc22a428473893b8fda55091d4a902828dca6f1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/es-AR/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/es-AR/firefox-121.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "3757f45aa86e8052d9c963d04736428df6206bbbdeb48e5ace2ae4b490846295"; + sha256 = "27cb1fcf9d493630c9f051f973aecf1ae9ed35cf8c66d2ef38a92ea044d6c5de"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/es-CL/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/es-CL/firefox-121.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "4820ee8162ca6e51b98397ff49652e34108afa4fa24521da57efb0cf0e09b034"; + sha256 = "59116e71c7a95cd092254321884215374d99292dca233eacc952128829f4e8f2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/es-ES/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/es-ES/firefox-121.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "f40e232caf2a5e2a238eeae189bcce6270875ac4b57945167592a24220a90181"; + sha256 = "383d904e7007c60316b50257dd46cdcef48d633ea1deef46952f434d4ca84762"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/es-MX/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/es-MX/firefox-121.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "58c20d883e1c1f7a37e997cb03f9e240a5c86fd004814a066a155e891a4bc629"; + sha256 = "ab39a7f2695842eff58f84d90552cb1b61a09ca7999eb19f608aee3990fb2a74"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/et/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/et/firefox-121.0.1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "dd7b7815612603b44a9bd91568356d0292e205e6a7bd3551fef9bf1dfeef8ca6"; + sha256 = "b40e393c23e5a4fa972916b18c6e00312406021b0e9cd3e269ebf4b66978b50b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/eu/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/eu/firefox-121.0.1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "20fef639f4c9f668013817ca75ad9144cb243f5086d2f32ef34e10f4a4164c29"; + sha256 = "68a612b6b6b43f65c0b502ae4da029e449440641e6fc89c6aa6677731fff1faa"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/fa/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/fa/firefox-121.0.1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "2898af2c401b048a7c32b1f9312b9576121f664da8d95be075c1fd60a05e70bb"; + sha256 = "28ea60c4a4e134746e722c8c87d9f1afd20688db976e7fca47152b45d2da1547"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ff/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ff/firefox-121.0.1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "d6efcdafd8337ff67f53b761d3d2b95f9bd24d59441e93f6ce7b46e16e8a42b4"; + sha256 = "7323f510d9670b0f1ed8517fe38714c7fd0939ea6591d0eda859e26d7d5ad693"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/fi/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/fi/firefox-121.0.1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "a987d796e049963563a69b8213ea7d460181dd348df3b0ea00e61d0ca016eecd"; + sha256 = "ef9ecbad9124b15ee458249e4aba8218db809da41594efe8bbe466ff9d0352f7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/fr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/fr/firefox-121.0.1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "acd056a2d719dc3ba2c5d96e3a28fc89e3c00188c08144e91e420652ddd561eb"; + sha256 = "fb5b1ab97096db60252c544eb872d281143342e83a0d5d0204a66f589b33a6cb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/fur/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/fur/firefox-121.0.1.tar.bz2"; locale = "fur"; arch = "linux-x86_64"; - sha256 = "65511fef8341eebcf3027cb5982bb1565a0902e1f091f573bc48ef4be6fdcfee"; + sha256 = "79bdc2c760cc50d75b239f1474a06992d2fbac79ed749a662aa5e34442c6662a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/fy-NL/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/fy-NL/firefox-121.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "e5af90c421271865b6b1454267c0724ff1da35fe135a37b74cd941d37a9746ed"; + sha256 = "4bb989f96238ec0480ad15fff54108692dd0def067ebfdc595d466835d168195"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ga-IE/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ga-IE/firefox-121.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "45d9c8f93e99f203ef033e8e4cf0db7c7a5b90ec70e07e92dc6992d30c0df625"; + sha256 = "12a1be1b1a2296b6e70e86abaa3068e4d99c5ae815f328ee5f3b776229b05251"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/gd/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/gd/firefox-121.0.1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "46599ac0cbcc5725b3f4f556e99bc8977a8ffd22ac19074274cde732ddf52573"; + sha256 = "e75972466d6e89c7590c18874d532c401eb2a0614aa1d8b8a54f4fae6c71c2bd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/gl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/gl/firefox-121.0.1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "f88acfc4242fe28917d4a46324d3e5b13d5c8429e14331b77e814779b8bd284c"; + sha256 = "d62d9f48bd06283525878c5f7bca57d06fffc2d463247b894022eda741393110"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/gn/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/gn/firefox-121.0.1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "8728938933b9065e59653d7b77679321669dc301893b99c636302b4f4a7db64d"; + sha256 = "c335f9ac58630ab4f43df2c540e42a97bd1de67ece223ef6e8c93dd5b0c32c8b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/gu-IN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/gu-IN/firefox-121.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "a5b73e0d53421217dce2d68dc1c7a605ddb317e3ad22fadabcf550e4042b8b50"; + sha256 = "32223f3968ebe177636135ab5ea21d5e2a9ffdbc6b4b9f38e7d62cfdca613455"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/he/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/he/firefox-121.0.1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "82530562791c5e4f6fbc52cecc003eb63c23c7f9312dfb1c494fccf01a0e9b35"; + sha256 = "ccfa245850bfae3bd9bb50621bd9790be8150226486a8893ba49897c8a68e764"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/hi-IN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/hi-IN/firefox-121.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "b7ec2ce57c8c7b2e742f93aa0a9ad35a36e1d59e6b945a5d85e4ccd74b218d8f"; + sha256 = "9ee63d24017e36adb80883eaaefce80c90bb83b29ff7d4c05c293ef910e2fb2c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/hr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/hr/firefox-121.0.1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "ea6f54926ea763367826398eba1d61dcd7dbf39cb43c6961aebce867ef54c069"; + sha256 = "9e82c557c45b9804365c1fda8281e2019ba00bf091ea07e3348ba1800d6a66a6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/hsb/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/hsb/firefox-121.0.1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "31f48263620d530c107eb88a2dcece4e20f59de1f4af8ab403e6fa8d1f8a04d6"; + sha256 = "8787af457d2984f2d109e5a3c2a3473b6e07e6b27047b8da3e7414394a44a5e1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/hu/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/hu/firefox-121.0.1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "fdcfd89185a9a33e33db78442c7c74a56f5a9c9270c2924140c37d2dc5ae6e20"; + sha256 = "961aec03b5936eb13d34d893fed72e360e474418eb51cd809fdbb3b8a00480c9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/hy-AM/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/hy-AM/firefox-121.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "f731daf591cc2124b9f3fea17eb44df778b2f6b58249d3c3cc811742901d5e70"; + sha256 = "10a2420a05679ccd68c2c9d5a3024a66f40f1abcb462a669f66b9a422dcf58ab"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ia/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ia/firefox-121.0.1.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "8cfa3b50c0f1ab4b159516d7867d4bb38494af760f3606083045e17e369750e2"; + sha256 = "e18c01ad46e2cc6bacc7d3498086768b1bf6287824db3291fe8d18bfb243d042"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/id/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/id/firefox-121.0.1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "90ee84250491e6fed4999998db0599c33b25e0ead02a0410a663fdcbeea66399"; + sha256 = "c2c5c36473f2546c28e9d757160729383965a4a55938a910a613f54bfcc94a6d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/is/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/is/firefox-121.0.1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "584e910bae339a0aab099a4ba73bd8b90543432a87c5f863a1289a724d106db8"; + sha256 = "3f9f0621a2fa055a5b52d294c27319c2a5c278b9ac56ce1440095bb2620f1d82"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/it/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/it/firefox-121.0.1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "c5737976489b0568628ac626235df7e06aa6a33ff7c4929a694290a147956219"; + sha256 = "eda0e937d6dde858db88143243ca01ea2d73adf04f98ac72dd4710c4ecbc10ba"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ja/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ja/firefox-121.0.1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "56e65e7963979c08b802225de32cef747aa94f23ce0ea86861d6a84833417395"; + sha256 = "c33096a2b4f3b9079eace0030f01eea4e4a8fdd915e89b63be6c1e56c88e13fb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ka/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ka/firefox-121.0.1.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "d43868e9095863c5e05c747175e33a2e99b5dff36f98909dfd312d36aa04f073"; + sha256 = "27361ee4fdb6b922b32a4678c5a4d3485b933ef1407787ec7f73cbe90c97ac57"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/kab/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/kab/firefox-121.0.1.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "b0e74a6da62c6175b68ec0ad270e7799618f7d5e57c41ab33c8daee201c5c101"; + sha256 = "a5ac5dec68c793018aa83ddd013ba65c2a1e19b982b7032597545e636f131061"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/kk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/kk/firefox-121.0.1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "0ecfc3db9f30291a20db3aad76d1404a6e4bff6573042a3af00900342376993b"; + sha256 = "46d1e71817a2f44f7c6b49c6e33afdfaad778b317a9a81d848ff8341724cc142"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/km/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/km/firefox-121.0.1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha256 = "355447e849684932129cdb3a20310827e0fc71a6439b24a16bb1bc5868187e0f"; + sha256 = "7b7c0df9becbd8592a0f0e63ded352f3c9f70f9677a8ab4778ae6cdb361b25db"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/kn/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/kn/firefox-121.0.1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "f997d63f1343c5e6fb595db1e0ffd1804aa4576a20ce1a82ba7880a2dc21e2c9"; + sha256 = "238f6164454b1b1f2fa1b22133641b2b085aba70eab7a789a403ec4dc62c8beb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ko/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ko/firefox-121.0.1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "395edaabf9806305e52e65b6d801311898d966a47bb776ed23dfd09c3e6b2495"; + sha256 = "2934f15ba210a82f59487e7ed41fcb533e1a9abd951faa7801465a2e637685e9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/lij/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/lij/firefox-121.0.1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "3d4a1d6352fc4beb9fb184cac6237a263d421baef58710a3bdea53a37c57ddb3"; + sha256 = "b4ea1daa08300658d512309db0aa2abf13b5c0b4bd62c1a90cc42f20ea726cf3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/lt/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/lt/firefox-121.0.1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "e7eafc5a8e0349d037984d74361bd63c75176e9a51fc9e84a15359116823e8c4"; + sha256 = "e04c9c6fabdc59620b3cc506657d7d14a628b9bf7f207fc2d4d637c3e7908ae1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/lv/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/lv/firefox-121.0.1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "f1806c16570e94eef8728f011dc43e7580d1f390beee642f1dd05c701a572b35"; + sha256 = "7b9a7e3dbf229f1e89126a7bb82c855ed749c486cbcc6e0570b599fd78f03505"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/mk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/mk/firefox-121.0.1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "25f80e5105036239f8f8020e0e4815285427c42a4a127bff553d1b79c333df61"; + sha256 = "3baab70ac191f0bf60bbe373b6350510f4de0bd54acb911a8c5b58b3747a510b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/mr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/mr/firefox-121.0.1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "236bfa9e78ac47247b98c61581a8f5aa1129c7027c97c6aa04c7a68e2c944e37"; + sha256 = "8ba9e54161df78db71664f3af57b5065119d51e3f03a8f5313f3851dbdd1e30b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ms/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ms/firefox-121.0.1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "1d2210fa0e9a7496d6f1ab10f04b5039061d911574fac3b1dc17340c82fb1866"; + sha256 = "45688a565ba45ea2150bf329996a802c3ed26243e4b4082eda45fcbc63d8aa6e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/my/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/my/firefox-121.0.1.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha256 = "660203f5198c926ae6f1f86c8677e405f2c13aed8d1e65169a5701e4a586d514"; + sha256 = "4848b526cd6eb3d3005005510d350a370e4bcbaf47e4ca071dd3dc70ac84ae56"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/nb-NO/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/nb-NO/firefox-121.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "f9c90cd8f3ba7dc143bac4fe778462dba7ea34c350de84dea09ea079cb0c6c88"; + sha256 = "68eb317b69bc6496648e662aa9e4a38475df9be7b7bb86fd08d81ba11d9c6cff"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ne-NP/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ne-NP/firefox-121.0.1.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "b4750911a594eb8f2b34a8af7a664860dca4fcdcbfd0d063c8e718033508443f"; + sha256 = "f63b3c8971ae0a32670cd39fbce1b97b231a2b3a4e04a31f6bdb14f7c157ea43"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/nl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/nl/firefox-121.0.1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "ac52d8331aa94fb5185c8770e7e276c1dd37116f01abf3ebea496789adbb5e2b"; + sha256 = "40d72203eaa7cc0eefc9f1c0643ce754886179e05345242535c841c220dcf43a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/nn-NO/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/nn-NO/firefox-121.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "2ee98acdf01fe0726a736732308e524699c55696001ccb6009f58b1bbc5713a9"; + sha256 = "3aa806d419bbe4b004fa2977fc16d25c22d8640ae03966d2b7b32c34ca5f8405"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/oc/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/oc/firefox-121.0.1.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "75f9f45d77428b92be5bb9cdc6052fe6a045151b61224bc09f0eb567ddd2f11c"; + sha256 = "b81878dcd02d0f9c9a3c5370447a530152867eb62ccf5d272e8214b87b4ea627"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/pa-IN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/pa-IN/firefox-121.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "e034fc67a4e7b90c016217690c6ea39eaa84131582d9576e41d257566acce9c1"; + sha256 = "ff722c833602cfd6dcfc09a5e06cdbe16fcd815bd6bb8e560279cbce9eb105e6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/pl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/pl/firefox-121.0.1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "6111a0800e83da94ad2913161a003bc0b5ecd372f83987444c0eeebe399917df"; + sha256 = "5431ebf47bcc9bfadaca87859b34db3cb5f8a0cb530ab022b5a1f3e5b73b0740"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/pt-BR/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/pt-BR/firefox-121.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "abd7ae8b27d2e8210d9938edf0eddb72956bc137cedd06a7b34e5e4a52074373"; + sha256 = "d7f66ada6d590ca36dc0ddb069c6a28f557925f6b3066ba513d8ef62e1c88f5c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/pt-PT/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/pt-PT/firefox-121.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "01ec4c8a9a411c904e7708fc352526b72a7a4f545a4a4e642683c061f42826d7"; + sha256 = "bee7aa8b091e4458bb50b3c275a3ae076d7d8a574291124fd514ef0cb6699011"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/rm/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/rm/firefox-121.0.1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "4b96bbb04f1759a072c70dba2201e113e60dd8a8b9f0335ebc5992616c0a6495"; + sha256 = "754ae25293bc89a11a3dd12322fbaa14dca1572aa5703646c29975518ebff14f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ro/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ro/firefox-121.0.1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "43a7d5d47e32a35a56ab5172e659121c42009f54e66eccae6eb308405067ec2d"; + sha256 = "99827a51daa72f60861fd6df2737fe797015459ac92ea437e6092ccbc34af81d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ru/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ru/firefox-121.0.1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "af27dedf6da50ab4e4a107005faf4842e7293097c3682fdeb0894941d958a5de"; + sha256 = "881bf39e6a1da610fad0ba44a818c25ae3a86d425d62b76bb7ce5a63423925c4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sat/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sat/firefox-121.0.1.tar.bz2"; locale = "sat"; arch = "linux-x86_64"; - sha256 = "3de63d35a7a78cfa874013ec73e74de45a1f07860620301488b3e925c1b4108a"; + sha256 = "a4179b39b6da0a339f55d84f03f24aac755e437227346773c9e433b4f39b6bda"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sc/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sc/firefox-121.0.1.tar.bz2"; locale = "sc"; arch = "linux-x86_64"; - sha256 = "80e32c4a536071c209c747425af2ecc9333ff2f0f6c509fb2a1064be4601c7ff"; + sha256 = "14f6683b0a204296d931af97162cdfd4b32309a074a5303c804b5bf36d8a6478"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sco/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sco/firefox-121.0.1.tar.bz2"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "87b40fc859041840aa7cdf7dc9e89769bdf2155dc485af629cb480e87aa6243c"; + sha256 = "ecbae7bc344363a1c79c3607825ba1bbfedb83db6bd1d1ea5367dfcdd3cac1fe"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/si/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/si/firefox-121.0.1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha256 = "3ddd4de2de556c910eb7da073657060dd8054b8c1438a7e09aeb68492482637c"; + sha256 = "810e93d08053997269a20d6bd96e7858190d7f5148c38759d711aa931539acdc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sk/firefox-121.0.1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "cf7422e46ddbf5cd00770ddff4c5f5c82ab364bde0fdc4782c88882be8fb3b23"; + sha256 = "a226304b56a4e7ceeeb1e84f1e4fa9ea88404ff34cbd1f3170ff4a8d7d770a03"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sl/firefox-121.0.1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "f0470965c2aaf90f1ca95851400c0b8485304a778cf997cab21e40598d3d1e68"; + sha256 = "e2854e43356a239d3db72954a0401190fd17350b3a9fc2b43106ef98cd0ecac8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/son/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/son/firefox-121.0.1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha256 = "f4b1cfdd70699d2f10178bd5fa332cc28258cd73ead2608db3e4cd8a69ab6a85"; + sha256 = "07da2205fcc2c270bc1509d2815da75963b35fe150318ac9092cfe1d83fcf930"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sq/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sq/firefox-121.0.1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "1748d6c6a3bf84dd8015f7c8c4050dcea6929774efa5467f5f62572b67f291e5"; + sha256 = "193bfac5ac3b0341ad923a414730f12f1677a73b3ff705e32a836d062a296e6b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sr/firefox-121.0.1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "663d92f57d3ec4634765ade2e44d3460b459abb873cc0a6a5b203fee87fb218b"; + sha256 = "0b20e5cba5eba22a017c374ee9b32e81ab7220af22a4fc08ffc8ad182922fdeb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/sv-SE/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/sv-SE/firefox-121.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "0a6a9e02420518d96a45b04feab9301697dd72b7255ee19b39d1dd33960b66ea"; + sha256 = "7bcbb76745d1d8dc60aac40126ed9fa38481f4c939e675d2fc0a96ec4abe1240"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/szl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/szl/firefox-121.0.1.tar.bz2"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "3003a6c3c8b657b0212579f7d0eec691cc9b81cdce86f8ffef66958f69954d7b"; + sha256 = "822ac7638da383072e0cfbd66f76ab483d8e29c53620146da9501583bf7b62d1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ta/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ta/firefox-121.0.1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "45370a57cfec070cd57496649ce635e976c710d3adc74b08fc73f7cb58e87e2c"; + sha256 = "cd9dd52e263d4e48b830172afecb46c9bc148e2bafb03330154e2dfa311aec39"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/te/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/te/firefox-121.0.1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha256 = "c10dc1bc43c1b0090831dddf66ea66a6b3ee930446e0540c0bdb6ae41e8152e8"; + sha256 = "08a334b567ed6d686b721827eb8de56d770c4a5148ade529fa4c01b66db0bde7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/tg/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/tg/firefox-121.0.1.tar.bz2"; locale = "tg"; arch = "linux-x86_64"; - sha256 = "f9921241c30e47e2a2d98aa354aaff68a0b2db169ba2eb1e7a327d5cc059f143"; + sha256 = "71b5609765863bfa3037b397a363f1c563ca3a6676de32d331eab58e41b2868c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/th/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/th/firefox-121.0.1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "cc156d5af07d8d63128af44f7c5cb0e566f40062cbad02d2a80efc1245c82b8b"; + sha256 = "bc25bf6710150d225cfaf7f7ee9d62b1753baaef8f6aa6738c3f0d54d7233501"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/tl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/tl/firefox-121.0.1.tar.bz2"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "cd3d2fce357553ffa19e8a3ac4887106e29c5ee991bf845c5852fe02361ad975"; + sha256 = "c88f9ade5cbdb4b5b8dc45ecef2a8c7a78e45c22a5def3ca298b16666228f4c1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/tr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/tr/firefox-121.0.1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "a37d55a78feb048fe3da87bebaa819e0ca869c6630a784ee77a45c0d10b3d744"; + sha256 = "1dc3f9175ddc1f6cf5460b940ac08e1d95f67e29dfb30dc4c8b1d883d5c7493a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/trs/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/trs/firefox-121.0.1.tar.bz2"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "27fe308a6e2cec8b97515411020decec375af0fb5d1aa506caffc1e8e9fa7400"; + sha256 = "442c8dd19b236ae1cee7c6c1de7fd77eec3c785c94fe6e3ce114631e966b097a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/uk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/uk/firefox-121.0.1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "2052940b332b93d5aea8a6c4b412a7a5875809fddfec96eb6329e469162c9887"; + sha256 = "090a05ce028f014fd4c6eb721ebf2552ca529259dcdd8d663e85929002d779cd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/ur/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/ur/firefox-121.0.1.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "e4d162b47cbdb9da7133543aa037b4e972a84370d3f7ecb349a7757cc5d38437"; + sha256 = "c37a152a51aa6777128b34e645210bd965024f024584da510dc6438eda6e5ee3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/uz/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/uz/firefox-121.0.1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "b4be97acd2fc09590ce21971f955f03e121e1ca39569b798853f77843b16710a"; + sha256 = "aa511b68e1537c291eec462c403f55810b24af6567754b4000d69c084a377d0a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/vi/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/vi/firefox-121.0.1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "90cdaeaad614567f0c6fbf0f0b1e6aa74d1ffca5a8c53b10dee52ffb153f3c85"; + sha256 = "222b904551bb11d593067c02bf1128ab9635b88b94da5b6ccd5cf39165bf937a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/xh/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/xh/firefox-121.0.1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "6434a5afcd8d4aea393afc6713ff2a4a1c40e8e528faf418065399bdbb3fa436"; + sha256 = "df6013b77cbb1c75f68b6ca8554e261603d5f297e6d48c95ab4052382852c53f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/zh-CN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/zh-CN/firefox-121.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "0e836a1c781dde800377df7ad927b8a6b1410ec0cd0e74e6314bc3e7f86c7efa"; + sha256 = "fbd1e851be504423e28b4bc97dd0d2d3bc6144cb0506598fc310a8d638f21dfe"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-x86_64/zh-TW/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/zh-TW/firefox-121.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "adf4d91655b60e2f3b48745b41cccde5a3a34efbb86c2de13b4cce9f77cf8d5a"; + sha256 = "39056ea8146ecb6a3df07b45717dd89b0a91276caa6f8e3a8d7224cc2f024dce"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ach/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ach/firefox-121.0.1.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha256 = "57a8ad9e88167bb8cdb0b502784f715a50deddf0e2f0736f039a5d09f631bfc7"; + sha256 = "d0deafaa8615f94f4f01bfbd86289c9569ffc46385077918cfebe9f253a91de3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/af/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/af/firefox-121.0.1.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "fc7913067d14abe7997c8f9777d44cb73696f623bdf2ccbcc8eab1227c1cb945"; + sha256 = "f8534ee6db382698e3bba5aceccdea87b31ce779f7f02be4edc8a407f476d6b2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/an/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/an/firefox-121.0.1.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha256 = "ef86d1e7b870ca78078e3dc26962fbce1ecc5f1951af6b2d0e1567504895fbdd"; + sha256 = "af0e8d054eec725ce88d231bcafbec662fa857be974251f0891f1e2e14d1f4fe"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ar/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ar/firefox-121.0.1.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "0add44758a453250e67fbeaa62a88ee69dd133b137988b72fc930159966e319e"; + sha256 = "ba13fb5fe8eb6767445452c3b3e5f354fd146b508fe2dbbe7e516a23b2cb7e85"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ast/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ast/firefox-121.0.1.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "e28fbd987e329ad091ea58a58bc78eac408dc5672a226a28e322a10aa2a22cab"; + sha256 = "d245f092ce639001ce8a4af5f2965018af79d55c88f3c11e6baf9645de3e0a22"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/az/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/az/firefox-121.0.1.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha256 = "4034fd3be479eb3a5f6fa58c42e6c754a5d4a3f2d7a3c5f6606f7853487d1c2b"; + sha256 = "79521e66a30f97407cd5b9278d69b801ae1ba76b5261e766fb4f0d59fd4c5160"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/be/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/be/firefox-121.0.1.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "7a95cf4eeb05a3b5f911eb08dcf4aea0b6150de2bd21d26b9b736989b155749f"; + sha256 = "69f50dcf627b6fa7cb9949f6475559a7e87b78dfe1319d480550353cb1261fa5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/bg/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/bg/firefox-121.0.1.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "8fd66e5c423af9228f1dcb96beb626c643ef5f69c73744b50d55de599d99ba46"; + sha256 = "7b968493db1ab2ab9c5ed2f447373713c0f6b955a511871f79ca671c4f2ccb20"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/bn/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/bn/firefox-121.0.1.tar.bz2"; locale = "bn"; arch = "linux-i686"; - sha256 = "d859dbca5c39cdbc93462ed3bcedc13566067116e5f7ab4e6a89944b81b5a81b"; + sha256 = "c8c876ed33b8a206d442cadfa9445eb0ef48ec757498470cc36774ef0cb4689d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/br/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/br/firefox-121.0.1.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "11a9c336c767b03ab50f008fa03e07a1de329e94c57bae103d38fb33c274c130"; + sha256 = "2a0eafb760287f371ea0f02563c0ae9b147e064b1e87392676078c21b5b24b53"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/bs/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/bs/firefox-121.0.1.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha256 = "1b0eccf7457252195e30deeaf1cbdcce23d0ecce857df71f01246597975191ec"; + sha256 = "e1ed9ea2a5d6442b7e1988793ce4042ef80887808d391173b2d71955c72be302"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ca-valencia/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ca-valencia/firefox-121.0.1.tar.bz2"; locale = "ca-valencia"; arch = "linux-i686"; - sha256 = "3f5e1ea20e9a6caacc0f2f3f958b1578aaa0d5c8c6d27e6c295294c18c8069dc"; + sha256 = "a1f924ff9d93a644695e724ce5ea018a6358de92e910f29e34971a89d8ed433c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ca/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ca/firefox-121.0.1.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "ece0ab9a6779a3bad27e632041b38ef9b4c1b20c6b2a43af292c811c63b1a191"; + sha256 = "9a56ab4996fd06fb151d054b0b0ce9c590f3c05e1888f1c3bd97671a176c491a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/cak/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/cak/firefox-121.0.1.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "df8936cd8236928d458c7e02f24cefa8b76d42fc6aad3e1bf9b3a063692bd8a9"; + sha256 = "cf61439403d911ae4a8ffbcb0f0453229d794234940c44971b4871b3f84543f9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/cs/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/cs/firefox-121.0.1.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "057ca6befa22e37fe704a588065f4a369144e1084d2218369128e114bd6db69f"; + sha256 = "ccd71584b1e8fae3c3ffc9d706a554113b4b654f6f37c05120b01ed834fd2180"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/cy/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/cy/firefox-121.0.1.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "3a7ed9936c1a4208ee8347c5f51ef96c864ffac83804fc992f01e0fc90c87d56"; + sha256 = "16c1a7e4299c2e13978490cf5aed6f51d29036eff78dd5fdb0ce0f86bc175225"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/da/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/da/firefox-121.0.1.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "0700547406cbca013ff4b499d29c9495d99b648d9cd08972c0314e719aedfc1d"; + sha256 = "00c4ee3fd31db0b72dae3395863d335340f7479f547e13fde2a8267c5a98f6d0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/de/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/de/firefox-121.0.1.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "b638879aa131f0a8e66af21a8b4187041e942894a7fea2eda1d00c270600bc01"; + sha256 = "6f0920684cb0013739d3e3d5d614094be3f6b830abbcd979a27cebfdd217ae9a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/dsb/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/dsb/firefox-121.0.1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "942c035780179f8b47103259266306b07af99de044ebdff755ca5c823bdbf5b9"; + sha256 = "32c4b421fb269b665a75bf6d97548ab17a0ca15f9f8be57f3c10f5d9303865ec"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/el/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/el/firefox-121.0.1.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "b78ef29b54fa6cfbe660eac9f56a2ee5f99b46511f0d6944e5ff5227de9f0643"; + sha256 = "09ffe174de4fcd0f5676d4df4058333ce4c4bc3a46dc19d2a1a80ea26a497120"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/en-CA/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/en-CA/firefox-121.0.1.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "b633a9d40ee8b1aa3a287feee9438b94cd6b919a473c57c4f3526bf0ee3e07e9"; + sha256 = "d1178d1866c356bf1d8814b93993f0ca80a437065ed07715821c5190da58c2fd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/en-GB/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/en-GB/firefox-121.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "730a94730cc710c5709f9a22c84515b9dca368fd98ae0c9610f0f47646975db6"; + sha256 = "334a7fc0f1c2669793761605cd406f959ec8a369cd968cf37e9cf7e7643beeab"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/en-US/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/en-US/firefox-121.0.1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "d237a5a3cf69d0815eec3d00826aa004da64b8ab41837bec5a0e8de906b0f5e1"; + sha256 = "8611a988558d0c6f0b1f4fc0d8fd1bed3e0e75be22b620d01868ce3991162f28"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/eo/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/eo/firefox-121.0.1.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha256 = "b950a19fa0a6cf3f90cb2e7e5078164d92152add365f6f7f3f139b253aefc91b"; + sha256 = "4715ce7d3c79fb8db393d2f5867f754b5a94ecc43f395c95cd7ed2e6f9fcad09"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/es-AR/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/es-AR/firefox-121.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "7397f6d1ad267ed25993d14d65a05dbbc35a145f7de8baaa91a065b393ed342f"; + sha256 = "24e4174e35b2c90ef8b7db9198593499d66535fb55cacb027e43b48dd22c8dbc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/es-CL/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/es-CL/firefox-121.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha256 = "317296559da73eb9f44b1814d4d46ea33831135b7ccb29a4204489fa223315c0"; + sha256 = "733dd845dde345a112afc69d1a46cc937766607c0b43e3ed2a7613d8da4d6d82"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/es-ES/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/es-ES/firefox-121.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "2d12b6f90481b7a0d3baea96120a6ae4be6fad0a3d78d3b1b25c9c4fabf8f583"; + sha256 = "9c8634b101e46c7cd47b89921be8fcc9a0783e17d07a4095062dd4138a64aad9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/es-MX/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/es-MX/firefox-121.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "1031eaf77fb729955a2f764cd5afe6992dc2aab847b7905c941e80eec9dabd85"; + sha256 = "afc95dcaa7673a929bedaf92073f46f8c57b08958e746613ed5bee137a910b6d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/et/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/et/firefox-121.0.1.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "54bce31eb3f0a5f421cbb101eb512a16a5aa572d05b8fd7ef1d86c41fc7c4fe2"; + sha256 = "d18ca3c6e1825d4f62227866facc64158ece54fb58bdfa69163546163346ae34"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/eu/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/eu/firefox-121.0.1.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "2665099e30b3b0ba2c2b3e5cca89185be171a17da1458e64eacc97f3d2334aac"; + sha256 = "81b468c2ac8d58e325da92c949076d03d789950cd44dfadd302062dceeaed170"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/fa/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/fa/firefox-121.0.1.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha256 = "61c096bc3e281dbc8d5d73975698a0016fbe138294b4b72e30a31c059e9a4f38"; + sha256 = "b2f1f4042474c6d6124ca23a1902f555fc37a73a0b92cf153a3a09113eae5b34"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ff/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ff/firefox-121.0.1.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha256 = "0b0c74629f98ee4a0d03931e35a88fc5eecdef3df2cd9a315c474f5bb380d2c1"; + sha256 = "65a3aa3af61bcb27c292e6b67f69540339729398047c1ab5acbec8e84c30ca6a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/fi/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/fi/firefox-121.0.1.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "becd35f86e9231f7f4d5d103f99d7f766f1b150f7fc87aaf85c0677dc94defa2"; + sha256 = "e11000164538358286326378f3a3652d8d3d2ad5cbf09eced8f20273df9dbd8b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/fr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/fr/firefox-121.0.1.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "0098172a97a87a054f7b103b3eb2f6c37bbc2ce9161869c299ad5757bbb3f565"; + sha256 = "c88b42e49677e308b2590dde20ee4b475665c9fda176d01ea3a5071257f50f67"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/fur/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/fur/firefox-121.0.1.tar.bz2"; locale = "fur"; arch = "linux-i686"; - sha256 = "e052e014e60fa632988aa230694197edcd5988e4a784b3c1130f36d5b232629f"; + sha256 = "54ee96d1c9836d984cefd04592e34ac371aee56ffe3109785e7a4cc9789fecf5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/fy-NL/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/fy-NL/firefox-121.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "93fcc885f55aa31dde07565fa5760a20a269e667f15ae8b2bd91b0a5b2b86a11"; + sha256 = "b21c518113ec026106406bd809975342e39aceee068fa85d9bd6879da2f79b07"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ga-IE/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ga-IE/firefox-121.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "50388572a793456cfb4ad99ea7d2d31ca6e59e8e6ff3e95eff0ec03b79051c33"; + sha256 = "9e8e205c209117be055ccb8e0e751199ffa3743497ea8d41400b2cb5ddcb5a63"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/gd/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/gd/firefox-121.0.1.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "1876a3919e4fe0d943dedaec6f936756711a4267e643fdff15d68310a9c4421b"; + sha256 = "319d8bfd6684d150a5eb0444ac9474bcb676ac30bcd56944957497292f8e5c62"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/gl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/gl/firefox-121.0.1.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "ce700ae62957204efdb89ce45e49f3fd0eaff54355e1a258cb7cae09bbecd00d"; + sha256 = "9c4ba31fe522be326132047d46e397cf78daaf7b819cf9493cd20520a6dda323"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/gn/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/gn/firefox-121.0.1.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha256 = "cc470351cae294762d170f1fd06c45d8e5fca1cf6363e8721318a29e77134488"; + sha256 = "ebeb87f88ac83d57a94bc2c51e3bf2d976fdc3a00d524c5de5957899875f5c07"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/gu-IN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/gu-IN/firefox-121.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha256 = "1ce12bbadcfcacf62d72289b7676b8f3737a78de39faa8760b42e34c1d5fab84"; + sha256 = "98607151a1750a6c323bd98018829ede6097dbef26f76b4f04f64f33f6f93e5f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/he/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/he/firefox-121.0.1.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "a2d302839136f7e09874e73c2094edd75cfa33cb13004410ac2862a96421db32"; + sha256 = "8c8d2a79ca7b269e84e9f591891a4160a10780a26f3be9d5dd503f9fbabb9b6b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/hi-IN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/hi-IN/firefox-121.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha256 = "1f442324a9263576b8a16c0253fd8975f94540708192082622ed892d37c55350"; + sha256 = "cf30469e3363b0c04247772282c1a2b1769140b43ef3ee8a53ddc3f686f3bdee"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/hr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/hr/firefox-121.0.1.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "339de4338e2a971ee27952d018118a72531a800ef7b16d740c70cece52866c9f"; + sha256 = "4ec0f21bc0cb261b730a6e8e466e37030cab7bc373aedf667c2555c673f81c48"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/hsb/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/hsb/firefox-121.0.1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "fc79988f7096bbf1128401be4dcd9fd9f47599c5019c98390d11dfb7f9b67329"; + sha256 = "8a0bc7439a7b6c41aa03b95baf1a454655198d8d303eabebc45ddbfbc09d8443"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/hu/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/hu/firefox-121.0.1.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "13540683f5cf052c142a3f5f305cfc9c876fe2821e30cb081c1826acb6ad9d34"; + sha256 = "0093b8f0de21d380bf86f6ddb14bd027c5f1feffb33e9802969a6c0046b715dd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/hy-AM/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/hy-AM/firefox-121.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "211c23d439e5426171842cae165cc644a69d43b48b82a18a71cd2f169cf6cd11"; + sha256 = "b94f12ada81cda5b890bd3400a67e0ba040860fea29777de19299428666788fb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ia/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ia/firefox-121.0.1.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha256 = "1e5f85f09529466f9c96c449dc111ca2d2f22cdc71e3ea603fccf0eeb2abff21"; + sha256 = "96c87ae1aefeb5fb73b0c434524f6c02fb61bf98b20f3925d51b18ff1e1a03d7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/id/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/id/firefox-121.0.1.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "805cf50848d2648a23bb94a5acb2cdca5b3355f1c7274edc8f38a3064dd67ea3"; + sha256 = "e193de3de704822a6444690c1d2f4d91c5529ef719c3174362d4d6e042f22d6c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/is/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/is/firefox-121.0.1.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "6bf03f07217bf649621e94a62b1e19d31b2254b5123caeb38333ec072c0097b0"; + sha256 = "8472dad2f691ed637c1ae81301ea142d3a1746e676fd9d2d44878da1a8f04e38"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/it/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/it/firefox-121.0.1.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "7360a2d33da0cc2db29e42737eb30183d674cc4ce61b1b023c98f21953dc27db"; + sha256 = "2ce0be7bf863a763ff36c70d290b10cb377b11357c07d271827730085eebcbfa"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ja/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ja/firefox-121.0.1.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "02c1c188acf8703cc2ccc1c3a6eb52ee96b6a34689262d41f84e7ad529e080f9"; + sha256 = "2cda46f9e362432d44946fb0829e60a93a3eeb4e6b1339c2af101b9277324990"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ka/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ka/firefox-121.0.1.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "79c5780e0cb0308e7e4404579a8528cd4e92c2872e0e866f8eb3edb6ba15b149"; + sha256 = "62e2965a838cb71baacc3a615de4c0a32bfa0f926d4d21fb8e2fdf270a7d73a1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/kab/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/kab/firefox-121.0.1.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "95c16ab969b2a774853224abddc0f97ab3896508d4be08adece694311bb809ee"; + sha256 = "6f97ec12339a9b0430a1dc7f443c9b99a406683929b016d17a5fe85b04207427"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/kk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/kk/firefox-121.0.1.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "67be9749d7b9b7326825b46fb4bfaa11db2b6912cd145309a4f62534f36abc7a"; + sha256 = "8d001526f29721d0ea2add4f81def84617f7dd05a6b9b21bc7d468146a79ccd0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/km/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/km/firefox-121.0.1.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha256 = "6b9d2ed7d7fa1067c0efd5aaecba0013155e1dc8bca3884fdb018ea9b44e5637"; + sha256 = "22c568c6be8d3ede76157ac15597e4a98ec75293f521ef94da4761f28e8d29c2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/kn/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/kn/firefox-121.0.1.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha256 = "18907950babb49166cf58b8d14fdff7aa9454da27f9b8ed5e8c4987327ec2107"; + sha256 = "86dcba2daed23052c4aaf54f383df41587bd551972df063e4903badfa76ad750"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ko/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ko/firefox-121.0.1.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "8ed9fc182742c09de4cbb084d1e651e6882701d7ee9c9867c0152538e1841247"; + sha256 = "2fa667db03d7888858eca9cdcdc56c51c60818aa65bfbfa37b1bb2bffa1f49f1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/lij/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/lij/firefox-121.0.1.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha256 = "203bd75f29b813bab13f32611433859046ffaea9607ecea48b22c278257443ed"; + sha256 = "0ccd6bf746e4970175bd39a49999836ff3cdb802c57c59209656958084d8de60"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/lt/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/lt/firefox-121.0.1.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "8dc41e56185e1de86602d4ce3943b3b3fbea36d3f7f1d03c50eca419f037e721"; + sha256 = "ebd327ec7cb8074bbc553646ff205f4fbd6a68cf7900f57580c2c9d94c7ca29d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/lv/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/lv/firefox-121.0.1.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha256 = "c0838180c17bd7bef6e59e2237a1d29934147cf3177ca8a13884c6adf4131ec5"; + sha256 = "95d76ce938a0b15c424332b65fdb762a674a08aca7eee5b04fd5907317235389"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/mk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/mk/firefox-121.0.1.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha256 = "bc9f537d1f6ff409d2517000a50e944d668399a085c77e2df183ed5118b20d51"; + sha256 = "b77683bc7e258ba8f5227438afb8a23b5daf1f05bf4da105cac374626d11b486"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/mr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/mr/firefox-121.0.1.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha256 = "1522f56cec5621cff7b8ed17bbb39b959205df43f7850f55d93cafdc0d64497b"; + sha256 = "a9447b5006d28228183e98e4edd4540ecd937236b84f36fac8e58cdd1f15eb7c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ms/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ms/firefox-121.0.1.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "0fcd94a9927d48b19dab829b452574d62809309a7ff438595633981a0d54584f"; + sha256 = "aa2759b33a4d02bb8d8e9d0a0d8ba35377ce0a79c1e67f915da2b5bf59afaa92"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/my/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/my/firefox-121.0.1.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha256 = "2af6d2a265949d42f4e3e12219a8d51d0df5d6b745009e88b8806a271e978ef0"; + sha256 = "82606d03aa86b70433db07c6023ae6110bf7f151bfce31afa9301a197d522ad5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/nb-NO/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/nb-NO/firefox-121.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "13926023af0438bb2411082b12f9cfe6c8f915de82333d91bfb5590c89db5cb1"; + sha256 = "c0d6f272eb21c78ed6cfc10d98e0d20f6ad8213998e01c119e49d74e36465861"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ne-NP/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ne-NP/firefox-121.0.1.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha256 = "aba6beda26f42d2f153637d9651233b66f715df15d867da69d36c1707f542786"; + sha256 = "06c87707482cc6d3a450d89a17128faacb8ffafee78a15c2a93a0f37b2055cae"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/nl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/nl/firefox-121.0.1.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "656ec31332aab8d580b58693f2dd918e58b0cfb6515f1b9cddaab405e771f086"; + sha256 = "c0331e2d2d77ccd632fd98363a3eb353d118b1d0607ee1751b163c5ada28ac2f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/nn-NO/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/nn-NO/firefox-121.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "36c0191e2399b2787100eed0ce05102fff75246b1aaefb6867494898d484ad0e"; + sha256 = "f138acc322322b5d9be91061f70e543a9435bc94aad4d3c4c6cb94220215c823"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/oc/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/oc/firefox-121.0.1.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha256 = "8d22d9c7d301f919dc07581fabbb4ab84bcd9a570c698e209f20a0790120eb4e"; + sha256 = "724d8a0b5d0e8b44938f13705a6ab7689eb7cbd8e7fb29a0fc1c798f66431584"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/pa-IN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/pa-IN/firefox-121.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "119f7b5c1730b396644e0c32d2539e20366b5e915964ec11287b0e012794bdfd"; + sha256 = "cceff29fa2b5f1a78f65c4156c9c22ef38bc647dd264c5c43ddc22f3ca491e68"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/pl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/pl/firefox-121.0.1.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "b9c67e208458ffe236bc551d6d7da1ea18093fbcc633c612c15bf19bd37b2a95"; + sha256 = "ce9fd590e338f9dd4fddd216123ec34bf4451a1e8caebadfea8224dbbf098261"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/pt-BR/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/pt-BR/firefox-121.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "912207883c316874cc40765d52b5f229addb367c453918f6ddbe1e2ca7f2b38f"; + sha256 = "483ce8b9182ed5f2aafed6e3d277d31562803b5ec4dd432c892d2f1e82907fc6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/pt-PT/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/pt-PT/firefox-121.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "86a6e19eefa91375a51d8f897f61179aeda1486e365e4eabe68b78a6dd77eead"; + sha256 = "dbd5fe2066c25d41598b3d26e6b247aecc98a63666736d4d3e7534128313f4a2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/rm/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/rm/firefox-121.0.1.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "edb883a3206d1e7a1f22840e4180cafd312c7c1aea4c1ecddde47fd6d71cc574"; + sha256 = "8a7f536b9099d57072ffa6a31407dd7a3c7f7c3dd5250b0dc0babf0cb2ac6957"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ro/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ro/firefox-121.0.1.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "5fe901c5392095e023acba59b8da3caef7c89ada5874b58c0cb9dfd76c3e8991"; + sha256 = "f27400bdc54ee66cca10149b18f1debcd445a7e6f56373e3ba8a9dd9119c9844"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ru/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ru/firefox-121.0.1.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "2c1179bc792f3a598d76f4ed6b082185e79131188b96dc6878b956151dd9f5f4"; + sha256 = "3bc7f5f68b85fbae77dc2af246a5bb69894ada939418f033efb264843d276de1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sat/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sat/firefox-121.0.1.tar.bz2"; locale = "sat"; arch = "linux-i686"; - sha256 = "403656a5c18fc5324c99a11ccb8b7a76067709429bee3e987dcec15a9231cd3a"; + sha256 = "4abc03ab621d99fdba4fcefc1defc3371594be170aacbdb7b1f74630d0f63b96"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sc/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sc/firefox-121.0.1.tar.bz2"; locale = "sc"; arch = "linux-i686"; - sha256 = "7e1ab0434bdf2f3512d5e438322a7c963130f3876dc3efda09ac072df3c92701"; + sha256 = "427ecd0a6c32c46b158dbef49176dd0e637bed303f8b21c59d2bfa27047bee76"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sco/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sco/firefox-121.0.1.tar.bz2"; locale = "sco"; arch = "linux-i686"; - sha256 = "457d7a4fd1a1d47d8a6c3c4f221e04cfdd75c2625f97a0c0c012f356d5a3fc0e"; + sha256 = "708aa1bf4a9cafc1dc0231e4040a59c074b5a1047281c3aa46a6534c237ce7c1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/si/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/si/firefox-121.0.1.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha256 = "3bfc54906ce1b748c5749d66058670e028e4e71156ef0c3e6b902a9f5ceb56c5"; + sha256 = "d21ffbb6a318bf87c50b78b664ab1c3827eaae90eb6f36dc29a344a1fef6cc3f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sk/firefox-121.0.1.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "e07ee130f5061c5ef7d865fdafa0925cf1988f1d059dd705d1dc6d1f557fe243"; + sha256 = "f894d457f50280817e0c360f07024853be68cbfc0b92997b254854ff7d7e1c7a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sl/firefox-121.0.1.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "1a749df70aada6e5a927c7b43ba91536c046e6d2f887a2a84b9e391929a77694"; + sha256 = "e350bb8f25cd36ac9a84ab6461bf5bda68667c701de54581f4b5e33a528eda7a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/son/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/son/firefox-121.0.1.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha256 = "177817eff1e25128cfa027396ae99948577212bb7068e52275286b11abc6257f"; + sha256 = "afe90dfbf0c3d5fbd733d2916c7959504fd6c6ec79fa87839931cf82f87b0a76"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sq/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sq/firefox-121.0.1.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "ab824b17f55dacf6e568300af4e81856ef71e654cee481df30962c51198ff0b0"; + sha256 = "0a9e8752e0a04c182943e28676b6344745d777e5b682e5c28bb4f1e032797790"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sr/firefox-121.0.1.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "95c12ffb4e8ac50b3bfa823dc062ee0ed598900900c19e2f561389245a054681"; + sha256 = "08836866ca46423a551d48d4b9881ca8596c2b4aef4a0038323abf40c203de72"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/sv-SE/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/sv-SE/firefox-121.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "e9affb84a718a326c3ffe33435fb75d0ebe669d713128e6592bd117ff97b5d18"; + sha256 = "28dd81c52b5b5c5bf7db8d29a47ccee72c4d297f11875cb92b3b35b0031bfc17"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/szl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/szl/firefox-121.0.1.tar.bz2"; locale = "szl"; arch = "linux-i686"; - sha256 = "ea79f2cb5c4a6fa99f85314f52d2ead9e247e443853750e6779d912da5d2a33a"; + sha256 = "85e4f4064d3024eec49bf94878e662c16f8a33854320d5c50d8a0fd48bf7c6bc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ta/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ta/firefox-121.0.1.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha256 = "2b50e20c6a1ae24651a1b9363fba339fd50bff0aef47005a19ad9b7b15d1a5b1"; + sha256 = "8f90b39b4b418cfaff0167fa03afbe911ce1a0a512d85441af4a9e7372ff7165"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/te/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/te/firefox-121.0.1.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha256 = "ef4d6478854c8d643ea33c77e702a4bfdefead93965891d962f65ce7d2889b5c"; + sha256 = "45be535d8838f6b725d635d150feea2fb251cb65f6851f6c9d1af29eb077c554"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/tg/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/tg/firefox-121.0.1.tar.bz2"; locale = "tg"; arch = "linux-i686"; - sha256 = "cb83d6a083d66f1a57477ccd8e3e94e7ac899ede10a7acae4a83f32da3ca172f"; + sha256 = "b4e45161d0d8698fe6ff1ceaa155036ce61e9bd28fb7ce31f0dbf448281321b9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/th/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/th/firefox-121.0.1.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "32b28399d0fe0678f89ecc65a0fa3c892d681e4ed39acb82cd672166edb29670"; + sha256 = "4a32a0e86e9bb3a7f9cdbf1a971897c2cf45e0fd4dadcfbe8d6609e310c6dc6c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/tl/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/tl/firefox-121.0.1.tar.bz2"; locale = "tl"; arch = "linux-i686"; - sha256 = "1c828ad1418d650c5006ab2bd7d133d77b807266512fda81dc93d2342f362153"; + sha256 = "72983ac4f0f40ee4cd638d57f8db6ce99a87a27dbe627f9f95f8807c2309fbdf"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/tr/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/tr/firefox-121.0.1.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "649615224be67242c5f3bccae51717080cfdd3b1200f5e6568727b735c70e0aa"; + sha256 = "7cbb94c9f1ab8152b185bb8c895276dfb4dfd4b560e0792c4d77da76da1a8c3f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/trs/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/trs/firefox-121.0.1.tar.bz2"; locale = "trs"; arch = "linux-i686"; - sha256 = "01a38f360175f49dceb29aa22631d9003a0a20910b4d386dcfeb45dbba6adebf"; + sha256 = "e9aec2bfdbc5ba15dafde1ea9ff209055454fbf2b997bd34ae82090e34cbc499"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/uk/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/uk/firefox-121.0.1.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "437d15bbd1c7b8e5b8653057960c27aa6939da79227b8235e51668499a37fa3b"; + sha256 = "6691d918ee8d2255be1f6c90357c8c05a683d9feef11536de2faf7c9914c8d2f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/ur/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/ur/firefox-121.0.1.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha256 = "8811ed01323278ee2c1ee9517509d5c977ef95cd87dd956a9664d6d399350d85"; + sha256 = "f07b18c0838f9ec477b065d38d76ae4f8ffbd5a77e8d0df5d51ed4712418c901"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/uz/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/uz/firefox-121.0.1.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "121703f75f8ac5e0c0d62001bce1c6e2a45e91d2da379153f722d03d3eef3616"; + sha256 = "4f5648887a4963e8eb57272e56fe7739845e882d627f779c79eecf3ab9344a74"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/vi/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/vi/firefox-121.0.1.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "d2b3f04d9cdfd262b2f27b4ef13275eea9bcaa8bc7ecb66005ebb0af67f72629"; + sha256 = "3097ab6528ce9190f6698917c7af4a8ac7ddced04279d0ae4b17dc7848b9d5ad"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/xh/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/xh/firefox-121.0.1.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha256 = "54409f2bc668e2808b65fba77b68e9a703c32053dac64a738cedf381d2069c79"; + sha256 = "5bbbbd68182e235cc587b2f480ca71c62b3998b474bfbfc9418d02c24a69d500"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/zh-CN/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/zh-CN/firefox-121.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "65717053ac51b68d0bd25ada7f6d63030cdf56ab10363faac69c3674a6e09092"; + sha256 = "b482323a818ad8f264a2713eb49cc1f92a179b711aa8710e4dbb246cb95a243a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/121.0/linux-i686/zh-TW/firefox-121.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/121.0.1/linux-i686/zh-TW/firefox-121.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "d98f30218f9384925301bc36249602ef38111a5a94f5a18378196a8e18b01273"; + sha256 = "0dffab00201502d1fa6a90b61ba99302e16b4dc783800a191fffbb6f31350260"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 81aaf519453a..4972d29fe40d 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ { firefox = buildMozillaMach rec { pname = "firefox"; - version = "121.0"; + version = "121.0.1"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "52e9e21ce825c4e58f09fd2c7347f1ac4efbca47e119136a712f0d4ee80c769ef80a43bad74a4c88cd377f804f5780b07f7af5b779f3fb5d244fa095e6b3b18a"; + sha512 = "7810850a922cb4a274ced6556e14256d3ff518a96f10a0f86d1f8e40daa0a8b1a5cfcc9cbf1391029d920944e94a9149951ee107a0e718a294954bb50b6ced2e"; }; extraPatches = [ diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix index ba99106c0960..1f90627aa2ad 100644 --- a/pkgs/applications/networking/cluster/atlantis/default.nix +++ b/pkgs/applications/networking/cluster/atlantis/default.nix @@ -2,16 +2,20 @@ buildGoModule rec { pname = "atlantis"; - version = "0.22.3"; + version = "0.27.0"; src = fetchFromGitHub { owner = "runatlantis"; repo = "atlantis"; rev = "v${version}"; - sha256 = "sha256-A/FT9t5Z+Iw1mVwS3d5Cc86A9e6jVbEtmEWroVUhhtw="; + hash = "sha256-a+xrmEHkSh5kicxIIxnoXgF9ep2ay5kCXwMR2sAVJIA="; }; + ldflags = [ + "-X=main.version=${version}" + "-X=main.date=1970-01-01T00:00:00Z" + ]; - vendorHash = "sha256-KUkh5yx+v5g0N4yIpgpt3i+uCtOtR0Jvf2PFQcGWtm8="; + vendorHash = "sha256-ZbCNHARgliw9TMkHyS9k+cnWgbdCCJ+8nMdJMu66Uvo="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix index 191f499c9d0f..7ab9b188e72c 100644 --- a/pkgs/applications/networking/cluster/k9s/default.nix +++ b/pkgs/applications/networking/cluster/k9s/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "k9s"; - version = "0.30.8"; + version = "0.31.1"; src = fetchFromGitHub { owner = "derailed"; repo = "k9s"; rev = "v${version}"; - hash = "sha256-RIk3e/rySYev5n0NLN6ZYHIx3ssfdUXnzBJ2y6Y/n5U="; + hash = "sha256-01Hlf/wFJjqQbvr/yvzEb+W8Z3krkPlQHUWw04FM7ts="; }; ldflags = [ @@ -23,7 +23,7 @@ buildGoModule rec { proxyVendor = true; - vendorHash = "sha256-Exn4NYegZWrItBoGVb97GUDRhhfeSJUEdr7xJnxcRMI="; + vendorHash = "sha256-F7RxqxfjcmBAa8MmgRfUvEEtGMvs7NK5P257n7isl9E="; # TODO investigate why some config tests are failing doCheck = !(stdenv.isDarwin && stdenv.isAarch64); diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix index e4cad2ae422f..0378e6c31be8 100644 --- a/pkgs/applications/networking/cluster/linkerd/edge.nix +++ b/pkgs/applications/networking/cluster/linkerd/edge.nix @@ -2,7 +2,7 @@ (callPackage ./generic.nix { }) { channel = "edge"; - version = "23.12.2"; - sha256 = "1icra5x0mj02yiy8d7byhs4pzbxnixffwj6gdqxkh9g65d8mpc16"; - vendorHash = "sha256-8QyI8jxAdBTo75hqD3rtZtO71QaIs3VjlXI5xjGXS5w="; + version = "23.12.4"; + sha256 = "0q6bizch27z1lmw7as7f34zf8b95605wpr27c2mb8s1375q9lixd"; + vendorHash = "sha256-Mp2iZuESfTSe5whejJ7a43WSP6kmxFqoIlDxWx7vBLc="; } diff --git a/pkgs/applications/networking/cluster/opentofu/default.nix b/pkgs/applications/networking/cluster/opentofu/default.nix index 735c37084efa..305d437044e6 100644 --- a/pkgs/applications/networking/cluster/opentofu/default.nix +++ b/pkgs/applications/networking/cluster/opentofu/default.nix @@ -14,13 +14,13 @@ let package = buildGoModule rec { pname = "opentofu"; - version = "1.6.0-rc1"; + version = "1.6.0"; src = fetchFromGitHub { owner = "opentofu"; repo = "opentofu"; rev = "v${version}"; - hash = "sha256-3aNK0i0LrFmDT6JEvlYggIPC+DsilUtkrcp8E0w8FO8="; + hash = "sha256-S/D2qaXdBGEJS1/ihPJAEueUvD2bmqG1hpv+HTXCJSQ="; }; vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk="; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index eeb00b2103e8..2655acbb8c09 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -436,13 +436,13 @@ "vendorHash": "sha256-DwRfbD4AqB+4KLuYtqY5fUdzRrEpTIvL4VAM7nieJJA=" }, "gandi": { - "hash": "sha256-8heDWScvmqUStu8Hq08wvcmEiI6Ym3tb3yCjHMgsDis=", + "hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=", "homepage": "https://registry.terraform.io/providers/go-gandi/gandi", "owner": "go-gandi", "repo": "terraform-provider-gandi", - "rev": "v2.2.4", + "rev": "v2.3.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk=" + "vendorHash": "sha256-EiTWJ4bw8IwsRTD9Lt28Up2DXH0oVneO2IaO8VqWtkw=" }, "github": { "hash": "sha256-VBKjk8dimVBLyuhCMTGE6oH7zdiBAzAERzm85YZ4Gkg=", @@ -454,33 +454,33 @@ "vendorHash": null }, "gitlab": { - "hash": "sha256-IzZN7W1nfByUco4LG0AutSAVRHpeAnaHNmu6tpvHyQk=", + "hash": "sha256-J7jjGlvdxdAfbvSuekVaDTOZbY3MhxvLQMxGFH6LKEQ=", "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab", "owner": "gitlabhq", "repo": "terraform-provider-gitlab", - "rev": "v16.6.0", + "rev": "v16.7.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-TMLLsOquMpkeAqS8hLI963hQ6t9n2fyx4XjtB+7oR2E=" + "vendorHash": "sha256-X+8WUPVpP27wWeWM1DA8P3fOToK791mtO6/grKyxcXg=" }, "google": { - "hash": "sha256-ISZC6jMxQ3f/TKsjMkG7uL260XXLdZEQauoEQUNY5eY=", + "hash": "sha256-ZlU2ifri8yM6oUwS1tVmHkTbZfdcei7M0aaX8d4o4NE=", "homepage": "https://registry.terraform.io/providers/hashicorp/google", "owner": "hashicorp", "proxyVendor": true, "repo": "terraform-provider-google", - "rev": "v5.10.0", + "rev": "v5.11.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-Bk4NxA/je67lre74KkKz4eT9fgmut3Crho8z/l1xEBY=" + "vendorHash": "sha256-N/FsxRGQu7GQG54oUO4TYiBFjRSZaU1vxBidC56D7m8=" }, "google-beta": { - "hash": "sha256-roAdaihEy3OHaAG0qP6Puliqj97jvphwNr0lmKYY1Tg=", + "hash": "sha256-VZmoIR4yDh3uaaE9DOt6B04IIxsqla+dFWWXbU2qW1c=", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "owner": "hashicorp", "proxyVendor": true, "repo": "terraform-provider-google-beta", - "rev": "v5.10.0", + "rev": "v5.11.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-Bk4NxA/je67lre74KkKz4eT9fgmut3Crho8z/l1xEBY=" + "vendorHash": "sha256-N/FsxRGQu7GQG54oUO4TYiBFjRSZaU1vxBidC56D7m8=" }, "googleworkspace": { "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=", @@ -492,13 +492,13 @@ "vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g=" }, "grafana": { - "hash": "sha256-3Sq+08URFntRO4uF3VFo49vrdvD1Vb+nG7V4a0IHlu0=", + "hash": "sha256-6A7+9LuKq7XvP65XB00wTKfbY0cXbGR2puVP3qMSVfA=", "homepage": "https://registry.terraform.io/providers/grafana/grafana", "owner": "grafana", "repo": "terraform-provider-grafana", - "rev": "v2.8.0", + "rev": "v2.8.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-uhvk1TcnT8PNV2oHJy+rM+Z+WuKgl0rGoNypEWn7ddA=" + "vendorHash": "sha256-FhpuE01EcxnZALAeMvSBxKmgJRNiJvQg6+WVKCI3Cek=" }, "gridscale": { "hash": "sha256-nOuckOEiHTMUOSjRwTHaitLOosraEl2mbU4gafi3gi4=", @@ -655,13 +655,13 @@ "vendorHash": "sha256-cLp8w0UcO9Hork/GTLOGCcSvfaYEIKl5so3/0ELm79Y=" }, "keycloak": { - "hash": "sha256-itnXalLx5Bku7sxM5wKJs2vCvDeJnhR1bQ55ye1tpKs=", + "hash": "sha256-2Z7nQ5NKS18OtoXXLm/P1n64NAxLR8nfMGyS2y17lag=", "homepage": "https://registry.terraform.io/providers/mrparkers/keycloak", "owner": "mrparkers", "repo": "terraform-provider-keycloak", - "rev": "v4.3.1", + "rev": "v4.4.0", "spdx": "MIT", - "vendorHash": "sha256-GhmawLENmRuG5ZbXEZAw8pYmHn2SN2ONzfSIVEyN4U4=" + "vendorHash": "sha256-F78OR8EG0Vy3WVJWTOlAsIBazsSXGD6KeceYuGnBqjQ=" }, "kubectl": { "hash": "sha256-UkUwWi7Z9cSMyZakD6JxMl+qdczAYfZQgwroCUjFIUM=", @@ -673,11 +673,11 @@ "vendorHash": "sha256-lXQHo66b9X0jZhoF+5Ix5qewQGyI82VPJ7gGzc2CHao=" }, "kubernetes": { - "hash": "sha256-kB91X+IkBtOJ28CopNMU0G6MHRNUZ8d0VgiO7JTneGo=", + "hash": "sha256-1MPVP9DTC5pIe5rzO/N3hcN8De+PMH/1WDiq5e1GRtA=", "homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes", "owner": "hashicorp", "repo": "terraform-provider-kubernetes", - "rev": "v2.25.1", + "rev": "v2.25.2", "spdx": "MPL-2.0", "vendorHash": "sha256-1EpDTVVxmz4icLClRlJQiy2kZpZMHR9f9rAoFaZ25XY=" }, @@ -700,13 +700,13 @@ "vendorHash": "sha256-K/PH8DAi6Wj+isPx9xefQcLPKnrimfItZFSPfktTias=" }, "linode": { - "hash": "sha256-nuTQdZdkLc+AX69m26a6Cjt0HJEFo+Vvd5TH3qDMxBk=", + "hash": "sha256-AGRSwQ96CNvP1QXcUW34+B6yZLhjb9Yfu/DQWM9UdkQ=", "homepage": "https://registry.terraform.io/providers/linode/linode", "owner": "linode", "repo": "terraform-provider-linode", - "rev": "v2.12.0", + "rev": "v2.13.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-hbGilQWhlme1URDz2idjYMq1oAYiI4JIvs/n/+W1lEU=" + "vendorHash": "sha256-wCQ/qbM382HgN+AT4nmt0Bn8iZrmsd+ln+kkp5/4kqs=" }, "linuxbox": { "hash": "sha256-MzasMVtXO7ZeZ+qEx2Z+7881fOIA0SFzSvXVHeEROtg=", @@ -917,11 +917,11 @@ "vendorHash": null }, "ovh": { - "hash": "sha256-s8Tg1j47J0sj9Jt98mS4rFgtGl4uFIfdaQDNXOV8Bbg=", + "hash": "sha256-TJ5PIRBgiJYT/JsWgHUXdRyaTdkO4ORHj5YDyyvt+tk=", "homepage": "https://registry.terraform.io/providers/ovh/ovh", "owner": "ovh", "repo": "terraform-provider-ovh", - "rev": "v0.35.0", + "rev": "v0.36.1", "spdx": "MPL-2.0", "vendorHash": null }, @@ -935,13 +935,13 @@ "vendorHash": null }, "pass": { - "hash": "sha256-QGcHOsyUINH4bqK14OEzNm4b7oMK/4hwN9SuKt4m6t8=", + "hash": "sha256-GQ2g7VyK+eeBqW3LMR4U0gMYsvQnG3y+KEKKkvnmfsk=", "homepage": "https://registry.terraform.io/providers/camptocamp/pass", "owner": "camptocamp", "repo": "terraform-provider-pass", - "rev": "v2.1.0", + "rev": "v2.1.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-LWyfkhyTr6xHtt8nCdqid/zKwGerYVxSEpqSe853S9w=" + "vendorHash": "sha256-Koojva0MAw5WC942VbxZ6d1Pf1VwFvJMmp16TsHRS3w=" }, "porkbun": { "hash": "sha256-YWUccesHNy8mdP5iWtXP1macOLGRKqqla6dWGYihJAo=", diff --git a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix index 214551cf237c..9b2dc1e62ef3 100644 --- a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix @@ -8,12 +8,12 @@ }: let - version = "1.11.4"; + version = "1.11.5"; pname = "session-desktop"; src = fetchurl { url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage"; - hash = "sha256-fSa113BYpTZ4jvxroQsoslAkWfQr4/ROkgVOFyiVsKQ="; + hash = "sha256-Sma8e3A1tf7JmnlS4mbtlF98Ow5aRPqw+aUoitzCjmk="; }; appimage = appimageTools.wrapType2 { inherit version pname src; diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix index 4585daa8ef3f..50db157ccac1 100644 --- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix +++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix @@ -124,5 +124,6 @@ in stdenv.mkDerivation { license = licenses.unfree; maintainers = with maintainers; [ panaeon jraygauthier ]; platforms = [ "x86_64-linux" ]; + mainProgram = "skypeforlinux"; }; } diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix index a859efd3fae7..6aa4ea71b6a1 100644 --- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , makeWrapper , makeDesktopItem , copyDesktopItems @@ -20,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "teams-for-linux"; - version = "1.4.1"; + version = "1.4.2"; src = fetchFromGitHub { owner = "IsmaelMartinez"; repo = "teams-for-linux"; rev = "v${finalAttrs.version}"; - hash = "sha256-1URS9VPqV58p8RUA47j8sdqYqps1Ruo0aqdZXedvPX8="; + hash = "sha256-Y1SVUcBRDM+nyWuT0r0WS/PfKNkQd9x9DYlmJUFoeoo="; }; offlineCache = fetchYarnDeps { @@ -34,16 +33,6 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ef+JW5ud9LlRxaCJC2iOT5N7FgZO7IkAABJcMQPvIBA="; }; - patches = [ - # remove when IsmaelMartinez/teams-for-linux#1058 is merged - (fetchpatch { - name = "teams-for-linux-fix-version.patch"; - url = "https://github.com/IsmaelMartinez/teams-for-linux/commit/1d14947eef35c6a2e0cbdfcce405820f8dd36c68.diff"; - hash = "sha256-kj2jEAqgZ0frUw85hY23mFYFcXz95z/WQSDymsheDfg="; - }) - ]; - - nativeBuildInputs = [ yarn prefetch-yarn-deps nodejs copyDesktopItems makeWrapper ]; configurePhase = '' diff --git a/pkgs/applications/networking/instant-messengers/webcord/default.nix b/pkgs/applications/networking/instant-messengers/webcord/default.nix index 6549c533c26f..5e76ac99e277 100644 --- a/pkgs/applications/networking/instant-messengers/webcord/default.nix +++ b/pkgs/applications/networking/instant-messengers/webcord/default.nix @@ -5,6 +5,7 @@ , python3 , pipewire , libpulseaudio +, libnotify , xdg-utils , electron_28 , makeDesktopItem @@ -44,6 +45,7 @@ buildNpmPackage rec { libPath = lib.makeLibraryPath [ libpulseaudio pipewire + libnotify ]; binPath = lib.makeBinPath [ xdg-utils ]; in diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix index e519b817e142..d2509990ff60 100644 --- a/pkgs/applications/networking/instant-messengers/zulip/default.nix +++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix @@ -5,11 +5,11 @@ let pname = "zulip"; - version = "5.10.3"; + version = "5.10.4"; src = fetchurl { url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage"; - hash = "sha256-AnaW/zH2Vng8lpzv6LHlzCUnNWJoLpsSpmD0iZfteFg="; + hash = "sha256-M4h+kV4JjZ91K6OpxKc10XVohzKJEVxw8cYcVALibXA="; name="${pname}-${version}.AppImage"; }; @@ -37,5 +37,6 @@ in appimageTools.wrapType2 { license = licenses.asl20; maintainers = with maintainers; [ andersk jonafato ]; platforms = [ "x86_64-linux" ]; + mainProgram = "zulip"; }; } diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix index 474a775e7c2f..2b0627451e31 100644 --- a/pkgs/applications/networking/jmeter/default.nix +++ b/pkgs/applications/networking/jmeter/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "jmeter"; - version = "5.6.2"; + version = "5.6.3"; src = fetchurl { url = "https://archive.apache.org/dist/jmeter/binaries/apache-${pname}-${version}.tgz"; - sha256 = "sha256-CGltO2J40nI0LRhgniFn7yjS0dX3G1koCcALvVfMjvA="; + sha256 = "sha256-9o78F/4GD2mMSKar4lmakzknSGvaKSTb4Ux0iVMY3d4="; }; nativeBuildInputs = [ makeWrapper jre ]; diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix index 96f3f3aea225..a211650d3d9a 100644 --- a/pkgs/applications/networking/mailreaders/mailspring/default.nix +++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix @@ -22,11 +22,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "mailspring"; - version = "1.13.2"; + version = "1.13.3"; src = fetchurl { url = "https://github.com/Foundry376/Mailspring/releases/download/${finalAttrs.version}/mailspring-${finalAttrs.version}-amd64.deb"; - hash = "sha256-KEoKUg5CRYP0kNT4jr7pjUp6gK4cQ/qQEiOBNCrhbFM="; + hash = "sha256-2F5k8zRRI6x1EQ0k8wvIq1Q3Lnrn2ROp/Mq+H7Vqzlc="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix index 235991396f57..79b553a5dc92 100644 --- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, mercury, pandoc, ncurses, gpgme }: +{ lib, stdenv, fetchFromGitHub, mercury, pandoc, ncurses, gpgme, coreutils, file }: stdenv.mkDerivation rec { pname = "notmuch-bower"; @@ -12,6 +12,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ mercury pandoc ]; + postPatch = '' + substituteInPlace src/compose.m --replace 'shell_quoted("base64' 'shell_quoted("${coreutils}/bin/base64' + substituteInPlace src/detect_mime_type.m --replace 'shell_quoted("file' 'shell_quoted("${file}/bin/file' + ''; buildInputs = [ ncurses gpgme ]; diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index 5d055d59e27a..96cf56379a1c 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "rclone"; - version = "1.65.0"; + version = "1.65.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-hlkX8JrBz/hFwQj0xCZfuBt2t3CP3Xa1JkNDH0zomxg="; + hash = "sha256-wRksCRQR6JZjYtXgq3iARCoYck76O17Kd2Ht1XpA9KE="; }; - vendorHash = "sha256-qKRIT2HqNDpEtZBNHZMXp4Yhh5fCkQSTPU5MQ7FmCHI="; + vendorHash = "sha256-kWaMo6ALieuwf53H05UdoI7xtH1LAnsD6Ak9bJTa6jc="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/xpipe/default.nix b/pkgs/applications/networking/xpipe/default.nix new file mode 100644 index 000000000000..bd2d1ca0b91d --- /dev/null +++ b/pkgs/applications/networking/xpipe/default.nix @@ -0,0 +1,132 @@ +{ stdenvNoCC +, lib +, fetchzip +, makeDesktopItem +, autoPatchelfHook +, zlib +, fontconfig +, udev +, gtk3 +, freetype +, alsa-lib +, makeShellWrapper +, libX11 +, libXext +, libXdamage +, libXfixes +, libxcb +, libXcomposite +, libXcursor +, libXi +, libXrender +, libXtst +, libXxf86vm +}: + +let + inherit (stdenvNoCC.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + arch = { + x86_64-linux = "x86_64"; + aarch64-linux = "arm64"; + }.${system} or throwSystem; + + hash = { + x86_64-linux = "sha256-/cumOKaWPdAruMLZP2GMUdocIhsbo59dc4Q3ngc/JOc="; + aarch64-linux = "sha256-xMV+9etnuFwRGIHdaXNViKd4FMOuVtugGDS1xyMwEnM="; + }.${system} or throwSystem; + + displayname = "XPipe"; + +in stdenvNoCC.mkDerivation rec { + pname = "xpipe"; + version = "1.7.3"; + + src = fetchzip { + url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz"; + inherit hash; + }; + + nativeBuildInputs = [ + autoPatchelfHook + makeShellWrapper + ]; + + # Ignore libavformat dependencies as we don't need them + autoPatchelfIgnoreMissingDeps = true; + + buildInputs = [ + fontconfig + zlib + udev + freetype + gtk3 + alsa-lib + libX11 + libX11 + libXext + libXdamage + libXfixes + libxcb + libXcomposite + libXcursor + libXi + libXrender + libXtst + libXxf86vm + ]; + + desktopItem = makeDesktopItem { + categories = [ "Network" ]; + comment = "Your entire server infrastructure at your fingertips"; + desktopName = displayname; + exec = "/opt/${pname}/cli/bin/xpipe open %U"; + genericName = "Shell connection hub"; + icon = "/opt/${pname}/logo.png"; + name = displayname; + }; + + installPhase = '' + runHook preInstall + + pkg="${pname}" + mkdir -p $out/opt/$pkg + cp -r ./ $out/opt/$pkg + + mkdir -p "$out/bin" + ln -s "$out/opt/$pkg/cli/bin/xpipe" "$out/bin/$pkg" + + mkdir -p "$out/share/applications" + cp -r "${desktopItem}/share/applications/" "$out/share/" + + mkdir -p "$out/etc/bash_completion.d" + ln -s "$out/opt/$pkg/cli/xpipe_completion" "$out/etc/bash_completion.d/$pkg" + + substituteInPlace $out/share/applications/${displayname}.desktop --replace "Exec=" "Exec=$out" + substituteInPlace $out/share/applications/${displayname}.desktop --replace "Icon=" "Icon=$out" + + mv "$out/opt/xpipe/app/bin/xpiped" "$out/opt/xpipe/app/bin/xpiped_raw" + mv "$out/opt/xpipe/app/lib/app/xpiped.cfg" "$out/opt/xpipe/app/lib/app/xpiped_raw.cfg" + mv "$out/opt/xpipe/app/scripts/xpiped_debug.sh" "$out/opt/xpipe/app/scripts/xpiped_debug_raw.sh" + + makeShellWrapper "$out/opt/xpipe/app/bin/xpiped_raw" "$out/opt/xpipe/app/bin/xpiped" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fontconfig gtk3 udev ]}" + makeShellWrapper "$out/opt/xpipe/app/scripts/xpiped_debug_raw.sh" "$out/opt/xpipe/app/scripts/xpiped_debug.sh" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fontconfig gtk3 udev ]}" + + runHook postInstall + ''; + + meta = with lib; { + description = "A cross-platform shell connection hub and remote file manager"; + homepage = "https://github.com/xpipe-io/${pname}"; + downloadPage = "https://github.com/xpipe-io/${pname}/releases/latest"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + changelog = "https://github.com/xpipe-io/${pname}/releases/tag/${version}"; + license = [ licenses.asl20 licenses.unfree ]; + maintainers = with maintainers; [ crschnick ]; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + mainProgram = pname; + }; +} diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix index 54b97b3e9f04..00f7d2b51f8b 100644 --- a/pkgs/applications/office/scribus/default.nix +++ b/pkgs/applications/office/scribus/default.nix @@ -33,11 +33,11 @@ in stdenv.mkDerivation (finalAttrs: { pname = "scribus"; - version = "1.6.0"; + version = "1.6.1"; src = fetchurl { url = "mirror://sourceforge/scribus/scribus-devel/scribus-${finalAttrs.version}.tar.xz"; - hash = "sha256-lLl0kOzhcoaNxPBMeqLulQtBtfL/QoXfN9YV8ETQOOU="; + hash = "sha256-4J3Xjm22HQG5MhEI/t7bzNbsCrNS3Vuv24sEHw73npk="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/electronics/magic-vlsi/default.nix b/pkgs/applications/science/electronics/magic-vlsi/default.nix index 2e4ef8003d15..1c9ef55e1e01 100644 --- a/pkgs/applications/science/electronics/magic-vlsi/default.nix +++ b/pkgs/applications/science/electronics/magic-vlsi/default.nix @@ -50,6 +50,6 @@ stdenv.mkDerivation rec { description = "VLSI layout tool written in Tcl"; homepage = "http://opencircuitdesign.com/magic/"; license = licenses.mit; - maintainers = with maintainers; [ anna328p thoughtpolice AndersonTorres ]; + maintainers = with maintainers; [ thoughtpolice AndersonTorres ]; }; } diff --git a/pkgs/applications/science/logic/iprover/default.nix b/pkgs/applications/science/logic/iprover/default.nix index 6485681e3313..77e5919c0eee 100644 --- a/pkgs/applications/science/logic/iprover/default.nix +++ b/pkgs/applications/science/logic/iprover/default.nix @@ -1,29 +1,39 @@ -{ lib, stdenv, fetchurl, ocaml, eprover, zlib }: +{ lib, stdenv, fetchFromGitLab, ocamlPackages, eprover, z3, zlib }: stdenv.mkDerivation rec { pname = "iprover"; - version = "3.1"; + version = "3.8.1"; - src = fetchurl { - url = "http://www.cs.man.ac.uk/~korovink/iprover/iprover-v${version}.tar.gz"; - sha256 = "0lik8p7ayhjwpkln1iwf0ri84ramhch74j5nj6z7ph6wfi92pgg8"; + src = fetchFromGitLab { + owner = "korovin"; + repo = pname; + rev = "f61edb113b705606c7314dc4dce0687832c3169f"; + hash = "sha256-XXqbEoYKjoktE3ZBEIEFjLhA1B75zhnfPszhe8SvbI8="; }; + postPatch = '' + substituteInPlace configure --replace Linux Debian + ''; + strictDeps = true; - nativeBuildInputs = [ ocaml eprover ]; - buildInputs = [ zlib ]; + nativeBuildInputs = [ eprover ] ++ (with ocamlPackages; [ + ocaml findlib + ]); + buildInputs = [ zlib ocamlPackages.z3 z3 ] ++ (with ocamlPackages; [ + ocamlgraph yojson zarith + ]); preConfigure = "patchShebangs ."; installPhase = '' + runHook preInstall mkdir -p "$out/bin" cp iproveropt "$out/bin" - mkdir -p "$out/share/${pname}-${version}" - cp *.p "$out/share/${pname}-${version}" echo -e "#! ${stdenv.shell}\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover chmod a+x "$out"/bin/iprover + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/applications/science/math/mathematica/versions.nix b/pkgs/applications/science/math/mathematica/versions.nix index 74422621c7b4..3bbf70433471 100644 --- a/pkgs/applications/science/math/mathematica/versions.nix +++ b/pkgs/applications/science/math/mathematica/versions.nix @@ -8,6 +8,20 @@ let versions = [ { + version = "14.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-NzMhGQZq6o6V4UdtJxUH/yyP2s7wjTR86SRA7lW7JfI="; + installer = "Mathematica_14.0.0_LINUX.sh"; + } + { + version = "14.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-UrcBEg6G6nbVX++X0z0oG5JjieXL0AquAqtjzY5EBn4="; + installer = "Mathematica_14.0.0_BNDL_LINUX.sh"; + } + { version = "13.3.1"; lang = "en"; language = "English"; diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix index 4b158250b9c4..7c4be0332785 100644 --- a/pkgs/applications/version-management/gh/default.nix +++ b/pkgs/applications/version-management/gh/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "gh"; - version = "2.40.1"; + version = "2.41.0"; src = fetchFromGitHub { owner = "cli"; repo = "cli"; rev = "v${version}"; - hash = "sha256-KdJZHouMTbbD/8k2VGFvRits7grbbVNUmCM6dSiJXBc="; + hash = "sha256-GkrEirunY17WgAv4XOreG+JwPQn7cRTmr7hJ3/2tSrY="; }; - vendorHash = "sha256-jM9nwTMOTh+eXztLvHIwwH4qu3ZIMOtBrPEtByB9Ry8="; + vendorHash = "sha256-XBoC1sHfxInkamSHNm7Vb3AKCgIch6uYx0jJWqN7PN8="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix index ee694403f294..671a6d329573 100644 --- a/pkgs/applications/version-management/got/default.nix +++ b/pkgs/applications/version-management/got/default.nix @@ -1,27 +1,38 @@ -{ lib, stdenv, fetchurl -, pkg-config, openssl, libbsd, libevent, libuuid, libossp_uuid, libmd, zlib, ncurses, bison +{ lib +, stdenv +, fetchurl +, pkg-config +, openssl +, libbsd +, libevent +, libuuid +, libossp_uuid +, libmd +, zlib +, ncurses +, bison , autoPatchelfHook }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "got"; - version = "0.94"; + version = "0.95"; src = fetchurl { - url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz"; - hash = "sha256-hG0/a+sk6uZCxR908YfZCW44qx/SIwwGO9mUaxxHZ3k="; + url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz"; + hash = "sha256-5on9ff76OAFmoaKTwVM0hUCGLiAZGJzt6+jCx2Nygg4="; }; nativeBuildInputs = [ pkg-config bison ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ] - ++ lib.optionals stdenv.isDarwin [ libossp_uuid ]; + ++ lib.optionals stdenv.isDarwin [ libossp_uuid ]; configureFlags = [ "--enable-gotd" ]; preConfigure = lib.optionalString stdenv.isDarwin '' - # The configure script assumes dependencies on Darwin are install via + # The configure script assumes dependencies on Darwin are installed via # Homebrew or MacPorts and hardcodes assumptions about the paths of # dependencies which fails the nixpkgs configurePhase. substituteInPlace configure --replace 'xdarwin' 'xhomebrew' @@ -38,7 +49,7 @@ stdenv.mkDerivation rec { installCheckPhase = '' runHook preInstallCheck - test "$($out/bin/got --version)" = '${pname} ${version}' + test "$($out/bin/got --version)" = "${finalAttrs.pname} ${finalAttrs.version}" runHook postInstallCheck ''; @@ -59,4 +70,4 @@ stdenv.mkDerivation rec { platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ abbe afh ]; }; -} +}) diff --git a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix new file mode 100644 index 000000000000..4b5e8c6a7094 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix @@ -0,0 +1,23 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libGL }: +buildKodiBinaryAddon rec { + pname = "pvr-vdr-vnsi"; + namespace = "pvr.vdr.vnsi"; + version = "20.4.1"; + + src = fetchFromGitHub { + owner = "kodi-pvr"; + repo = "pvr.vdr.vnsi"; + rev = "${version}-${rel}"; + sha256 = "sha256-QooWK+LwlN5RAISjAQ2YiyDAjQQMzod8fFXpI0ll+hc="; + }; + + extraBuildInputs = [ libGL ]; + + meta = with lib; { + homepage = "https://github.com/kodi-pvr/pvr.vdr.vnsi"; + description = "Kodi's VDR VNSI PVR client addon"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix index cadd38523ca1..b7c03850c951 100644 --- a/pkgs/applications/video/lbry/default.nix +++ b/pkgs/applications/video/lbry/default.nix @@ -2,7 +2,7 @@ let pname = "lbry-desktop"; - version = "0.53.8"; + version = "0.53.9"; in appimageTools.wrapAppImage rec { name = "${pname}-${version}"; @@ -12,7 +12,7 @@ in appimageTools.wrapAppImage rec { src = fetchurl { url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage"; # Gotten from latest-linux.yml - hash = "sha512-WZB2pMzSuWGPj6uad+rIECOhuWEOxi0hVUQifOrhUrKj4SnBDws+oy7V2+NpDGkzbG+Kf3IO8rcWBD4wfFoo2Q=="; + hash = "sha256-FkqIazE4eIEobYRBstXfPWh6MTCaNcCLk14yDGC4rRk="; }; }; diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index a19e996064a0..02875950acb4 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -48,21 +48,24 @@ , asio , decklinkSupport ? false , blackmagic-desktop-video +, libdatachannel +, libvpl +, qrcodegencpp }: let inherit (lib) optional optionals; - in -stdenv.mkDerivation rec { + +stdenv.mkDerivation (finalAttrs: { pname = "obs-studio"; - version = "29.1.3"; + version = "30.0.2"; src = fetchFromGitHub { owner = "obsproject"; - repo = "obs-studio"; - rev = version; - sha256 = "sha256-D0DPueMtopwz5rLgM8QcPT7DgTKcJKQHnst69EY9V6Q="; + repo = finalAttrs.pname; + rev = finalAttrs.version; + sha256 = "sha256-8pX1kqibrtDIaE1+/Pey1A5bu6MwFTXLrBOah4rsF+4="; fetchSubmodules = true; }; @@ -108,6 +111,9 @@ stdenv.mkDerivation rec { nlohmann_json websocketpp asio + libdatachannel + libvpl + qrcodegencpp ] ++ optionals scriptingSupport [ luajit python3 ] ++ optional alsaSupport alsa-lib @@ -127,12 +133,13 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ - "-DOBS_VERSION_OVERRIDE=${version}" + "-DOBS_VERSION_OVERRIDE=${finalAttrs.version}" "-Wno-dev" # kill dev warnings that are useless for packaging # Add support for browser source "-DBUILD_BROWSER=ON" "-DCEF_ROOT_DIR=../../cef" "-DENABLE_JACK=ON" + (lib.cmakeBool "ENABLE_QSV11" stdenv.hostPlatform.isx86_64) ]; dontWrapGApps = true; @@ -159,7 +166,7 @@ stdenv.mkDerivation rec { addOpenGLRunpath $out/lib/obs-plugins/*.so # Link libcef again after patchelfing other libs - ln -s ${libcef}/lib/libcef.so $out/lib/obs-plugins/libcef.so + ln -s ${libcef}/lib/* $out/lib/obs-plugins/ ''; meta = with lib; { @@ -170,9 +177,9 @@ stdenv.mkDerivation rec { video content, efficiently ''; homepage = "https://obsproject.com"; - maintainers = with maintainers; [ jb55 MP2E materus ]; + maintainers = with maintainers; [ jb55 MP2E materus fpletz ]; license = licenses.gpl2Plus; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; mainProgram = "obs"; }; -} +}) diff --git a/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix index c92bdd9346c8..85606e05f0c1 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix @@ -33,6 +33,5 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ algram ]; platforms = [ "x86_64-linux" ]; - broken = true; # Not compatible with qt6 yet but required by OBS28 }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix index 622ba7d66e28..f2aef5972dc1 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix @@ -27,10 +27,6 @@ stdenv.mkDerivation rec { "-Wno-dev" ]; - preConfigure = '' - cp ${obs-studio.src}/cmake/external/ObsPluginHelpers.cmake cmake/FindLibObs.cmake - ''; - meta = with lib; { description = "Audio device and application capture for OBS Studio using PipeWire"; homepage = "https://github.com/dimtpap/obs-pipewire-audio-capture"; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix index 8fd1b5f96f83..798b23b2c8d7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix @@ -28,6 +28,9 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; + # obs_frontend_add_dock() deprecated in obs 30 + env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; + patches = [ # fix build with qt 6.6.0 # treewide: replace deprecated qAsConst with std::as_const() @@ -36,6 +39,11 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/univrsal/tuna/commit/0d570e771f8d8e6ae7c85bd2b86bbf59c264789e.patch"; hash = "sha256-A5idhMiM9funqhTm5XMIBqwy+FO1SaNPtgZjo+Vws6k="; }) + # fix build with obs 30 + (fetchpatch2 { + url = "https://github.com/univrsal/tuna/commit/723bd3c7b4e257cf0997611426e555068de77ae7.patch"; + hash = "sha256-MF5vghGYknL6q+A8BJ1yrQcEKIu9I+PWk+RZNYg3fRU="; + }) ]; postInstall = '' diff --git a/pkgs/build-support/checkpoint-build.nix b/pkgs/build-support/checkpoint-build.nix index e08dde353e89..c9bee45005a1 100644 --- a/pkgs/build-support/checkpoint-build.nix +++ b/pkgs/build-support/checkpoint-build.nix @@ -1,40 +1,53 @@ -{ pkgs }: +{ lib +, buildPackages +}: + +let + # rudimentary support for cross-compiling + # see: https://github.com/NixOS/nixpkgs/pull/279487#discussion_r1444449726 + inherit (buildPackages) + mktemp + rsync + ; +in + rec { /* Prepare a derivation for local builds. * - * This function prepares checkpoint builds by provinding, - * containing the build output and the sources for cross checking. + * This function prepares checkpoint builds by storing + * the build output and the sources for cross checking. * The build output can be used later to allow checkpoint builds * by passing the derivation output to the `mkCheckpointBuild` function. * - * To build a project with checkpoints follow these steps: - * - run prepareIncrementalBuild on the desired derivation - * e.G `incrementalBuildArtifacts = (pkgs.checkpointBuildTools.prepareCheckpointBuild pkgs.virtualbox);` - * - change something you want in the sources of the package( e.G using source override) - * changedVBox = pkgs.virtuabox.overrideAttrs (old: { - * src = path/to/vbox/sources; - * } - * - use `mkCheckpointedBuild changedVBox buildOutput` + * To build a project with checkpoints, follow these steps: + * - run `prepareCheckpointBuild` on the desired derivation, e.g. + * checkpointArtifacts = prepareCheckpointBuild virtualbox; + * - change something you want in the sources of the package, + * e.g. using source override: + * changedVBox = pkgs.virtuabox.overrideAttrs (old: { + * src = path/to/vbox/sources; + * }; + * - use `mkCheckpointBuild changedVBox checkpointArtifacts` * - enjoy shorter build times */ prepareCheckpointBuild = drv: drv.overrideAttrs (old: { outputs = [ "out" ]; name = drv.name + "-checkpointArtifacts"; # To determine differences between the state of the build directory - # from an earlier build and a later one we store the state of the build + # from an earlier build and a later one we store the state of the build # directory before build, but after patch phases. # This way, the same derivation can be used multiple times and only changes are detected. - # Additionally Removed files are handled correctly in later builds. + # Additionally, removed files are handled correctly in later builds. preBuild = (old.preBuild or "") + '' mkdir -p $out/sources cp -r ./* $out/sources/ ''; - # After the build the build directory is copied again + # After the build, the build directory is copied again # to get the output files. - # We copy the complete build folder, to take care for - # Build tools, building in the source directory, instead of - # having a build root directory, e.G the Linux kernel. + # We copy the complete build folder, to take care of + # build tools that build in the source directory, instead of + # having a separate build directory such as the Linux kernel. installPhase = '' runHook preCheckpointInstall mkdir -p $out/outputs @@ -44,26 +57,34 @@ rec { }); /* Build a derivation based on the checkpoint output generated by - * the `prepareCheckpointBuild function. + * the `prepareCheckpointBuild` function. * * Usage: * let - * checkpointArtifacts = prepareCheckpointBuild drv - * in mkCheckpointedBuild drv checkpointArtifacts + * checkpointArtifacts = prepareCheckpointBuild drv; + * in mkCheckpointBuild drv checkpointArtifacts */ - mkCheckpointedBuild = drv: previousBuildArtifacts: drv.overrideAttrs (old: { + mkCheckpointBuild = drv: checkpointArtifacts: drv.overrideAttrs (old: { # The actual checkpoint build phase. - # We compare the changed sources from a previous build with the current and create a patch - # Afterwards we clean the build directory to copy the previous output files (Including the sources) - # The source difference patch is applied to get the latest changes again to allow short build times. + # We compare the changed sources from a previous build with the current and create a patch. + # Afterwards we clean the build directory and copy the previous output files (including the sources). + # The source difference patch is then applied to get the latest changes again to allow short build times. preBuild = (old.preBuild or "") + '' set +e - diff -ur ${previousBuildArtifacts}/sources ./ > sourceDifference.patch + sourceDifferencePatchFile=$(${mktemp}/bin/mktemp) + diff -ur ${checkpointArtifacts}/sources ./ > "$sourceDifferencePatchFile" set -e - shopt -s extglob dotglob - rm -r !("sourceDifference.patch") - ${pkgs.rsync}/bin/rsync -cutU --chown=$USER:$USER --chmod=+w -r ${previousBuildArtifacts}/outputs/* . - patch -p 1 -i sourceDifference.patch + shopt -s dotglob + rm -r * + ${rsync}/bin/rsync \ + --checksum --times --atimes --chown=$USER:$USER --chmod=+w \ + -r ${checkpointArtifacts}/outputs/ . + patch -p 1 -i "$sourceDifferencePatchFile" + rm "$sourceDifferencePatchFile" ''; }); + + mkCheckpointedBuild = lib.warn + "`mkCheckpointedBuild` is deprecated, use `mkCheckpointBuild` instead!" + mkCheckpointBuild; } diff --git a/pkgs/build-support/oci-tools/default.nix b/pkgs/build-support/oci-tools/default.nix index 18b238033ffd..67e081522d64 100644 --- a/pkgs/build-support/oci-tools/default.nix +++ b/pkgs/build-support/oci-tools/default.nix @@ -42,7 +42,7 @@ "/sys/fs/cgroup" = { type = "cgroup"; source = "cgroup"; - options = [ "nosuid" "noexec" "nodev" "realatime" "ro" ]; + options = [ "nosuid" "noexec" "nodev" "relatime" "ro" ]; }; }; config = writeText "config.json" (builtins.toJSON { diff --git a/pkgs/by-name/ap/apt/package.nix b/pkgs/by-name/ap/apt/package.nix index 934c17eeac12..d776493c04b9 100644 --- a/pkgs/by-name/ap/apt/package.nix +++ b/pkgs/by-name/ap/apt/package.nix @@ -33,11 +33,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "apt"; - version = "2.7.7"; + version = "2.7.8"; src = fetchurl { url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz"; - hash = "sha256-07PztwFPblYbhsBZuJBA0MdCy6vFdlk8bvqg3Xsk3nc="; + hash = "sha256-nAmiwfGEiftDDWFrk+bfWhX2FHOFanidXjzOCtIZXcY="; }; # cycle detection; lib can't be split diff --git a/pkgs/by-name/co/codeium/package.nix b/pkgs/by-name/co/codeium/package.nix index 89d2d5816558..7ecca1ea410b 100644 --- a/pkgs/by-name/co/codeium/package.nix +++ b/pkgs/by-name/co/codeium/package.nix @@ -13,10 +13,10 @@ let }.${system} or throwSystem; hash = { - x86_64-linux = "sha256-VokC5JAfBvFUaep8eIDI2eNObfhGwa2qTXcZxuaohNo="; - aarch64-linux = "sha256-n9D9syJU/vuwwh0gdJOIobzgAv/rQawTanyRiiz9gl4="; - x86_64-darwin = "sha256-wW7U3eTfR3nZtFEbhNK8GzaxK5XbW19VPV4dwo2kCxY="; - aarch64-darwin = "sha256-NTDe6PdNc5Li1vyDTypb53zDOIK8C0iS0wTDu80S84s="; + x86_64-linux = "sha256-Tip719cZ2La7d7fdpwrKCTRyUyaZCaNXb3bH0fb6WUs="; + aarch64-linux = "sha256-Ua0GNPZRT4VCeSpnczkWXhzV7fHeyyLJlkOzMXskNiU="; + x86_64-darwin = "sha256-GAus7HeKyEPfts6nKJfKVVsCgdw0nUou+oFO6orIkAM="; + aarch64-darwin = "sha256-AvikE5fIsrIkeJth1x5J+hAJI1U18+JwZpAJe0laDAQ="; }.${system} or throwSystem; bin = "$out/bin/codeium_language_server"; @@ -24,7 +24,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "codeium"; - version = "1.6.18"; + version = "1.6.20"; src = fetchurl { name = "${finalAttrs.pname}-${finalAttrs.version}.gz"; url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz"; diff --git a/pkgs/by-name/eb/ebpf-usb/package.nix b/pkgs/by-name/eb/ebpf-usb/package.nix new file mode 100644 index 000000000000..a4da98ee7fb5 --- /dev/null +++ b/pkgs/by-name/eb/ebpf-usb/package.nix @@ -0,0 +1,48 @@ +{ lib +, fetchFromGitHub +, python3Packages +, bcc +}: + +python3Packages.buildPythonApplication rec { + pname = "ebpf-usb"; + version = "unstable-2022-04-03"; + pyproject = false; + + src = fetchFromGitHub { + owner = "francisrstokes"; + repo = "ebpf-usb"; + rev = "3ab6f0d8c6ece51bbb5cc5e05daa4008eccd70e8"; + hash = "sha256-n3ttFej9sroTqAOgyAejwKT+aMt/z7HlVPV6CVGPNUQ="; + }; + + makeWrapperArgs = [ + "--set PYTHONUNBUFFERED 1" + ]; + + pythonPath = [ bcc ] ++ (with python3Packages; [ + hexdump + ]); + + postPatch = '' + substituteInPlace ebpf-usb.py \ + --replace '#!/usr/bin/env -S python3 -u' '#!/usr/bin/env python3' + ''; + + installPhase = '' + runHook preInstall + install -Dm755 ebpf-usb.py $out/bin/ebpf-usb + runHook postInstall + ''; + + # no tests + doCheck = false; + + meta = with lib; { + description = "A Python script for USB monitoring using eBPF"; + homepage = "https://github.com/francisrstokes/ebpf-usb"; + license = lib.licenses.unfree; + maintainers = with maintainers; [ mevatron ]; + mainProgram = "ebpf-usb"; + }; +} diff --git a/pkgs/by-name/li/libvpl/package.nix b/pkgs/by-name/li/libvpl/package.nix new file mode 100644 index 000000000000..8a647916ca63 --- /dev/null +++ b/pkgs/by-name/li/libvpl/package.nix @@ -0,0 +1,41 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libvpl"; + version = "2.10.1"; + + src = fetchFromGitHub { + owner = "intel"; + repo = finalAttrs.pname; + rev = "v${finalAttrs.version}"; + hash = "sha256-2yfJo4iwI/h0CJ+mJJ3cAyG5S7KksUibwJHebF3MR+E="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DENABLE_DRI3=ON" + "-DENABLE_DRM=ON" + "-DENABLE_VA=ON" + "-DENABLE_WAYLAND=ON" + "-DENABLE_X11=ON" + "-DINSTALL_EXAMPLE_CODE=OFF" + "-DBUILD_TOOLS=OFF" + ]; + + meta = with lib; { + description = "Intel Video Processing Library"; + homepage = "https://intel.github.io/libvpl/"; + license = licenses.mit; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/by-name/no/nom/package.nix b/pkgs/by-name/no/nom/package.nix index eed31c03f759..4913eb9c7ef7 100644 --- a/pkgs/by-name/no/nom/package.nix +++ b/pkgs/by-name/no/nom/package.nix @@ -4,13 +4,13 @@ }: buildGoModule rec { pname = "nom"; - version = "2.1.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "guyfedwards"; repo = "nom"; rev = "v${version}"; - hash = "sha256-RKuaMgPYBD2G9WOKvfb+hj01aBVsCP0eOXULE+JpLR8="; + hash = "sha256-yemEq61oUzoOrBZ7e6djNxbw/QqR5Fuhi1Y12n/AdrU="; }; vendorHash = "sha256-fP6yxfIQoVaBC9hYcrCyo3YP3ntEVDbDTwKMO9TdyDI="; diff --git a/pkgs/by-name/op/openswitcher/package.nix b/pkgs/by-name/op/openswitcher/package.nix new file mode 100644 index 000000000000..f8e3a5edef8e --- /dev/null +++ b/pkgs/by-name/op/openswitcher/package.nix @@ -0,0 +1,80 @@ +{ lib +, python3Packages +, fetchFromSourcehut +, desktop-file-utils +, gobject-introspection +, gtk3 +, libhandy +, meson +, ninja +, pkg-config +, scdoc +, wrapGAppsHook +}: + +python3Packages.buildPythonApplication rec { + pname = "openswitcher"; + version = "0.9.1"; + format = "other"; + + src = fetchFromSourcehut { + owner = "~martijnbraam"; + repo = "pyatem"; + rev = version; + hash = "sha256-264XqBl+1qsAc5vOxJabbkubY+F72xo06WWishVEQOI="; + }; + + outputs = [ + "out" + "man" + ]; + + depsBuildBuild = [ + pkg-config + ]; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + gtk3 + meson + ninja + pkg-config + scdoc + wrapGAppsHook + ]; + + dontWrapGApps = true; + + buildInputs = [ + gtk3 + libhandy + ]; + + propagatedBuildInputs = with python3Packages; [ + # for switcher-control, bmd-setup + paho-mqtt + pyatem + pygobject3 + # for atemswitch + requests + # for openswitcher-proxy + toml + ]; + + postInstall = '' + install -Dm644 -t $out/lib/udev/rules.d/ $src/100-blackmagicdesign.rules + ''; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = with lib; { + description = "Blackmagic Design mixer control application"; + downloadPage = "https://git.sr.ht/~martijnbraam/pyatem"; + homepage = "https://openswitcher.org/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/by-name/pa/par2cmdline-turbo/package.nix b/pkgs/by-name/pa/par2cmdline-turbo/package.nix new file mode 100644 index 000000000000..c5f2bbde63f5 --- /dev/null +++ b/pkgs/by-name/pa/par2cmdline-turbo/package.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "par2cmdline-turbo"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "animetosho"; + repo = "par2cmdline-turbo"; + rev = "v${version}"; + hash = "sha256-EJ6gBja5tPrfsfbqYs8pZDEPmJ6mCPfkUYOTTMFaKG8="; + }; + + nativeBuildInputs = [ autoreconfHook ]; + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://github.com/animetosho/par2cmdline-turbo"; + description = "par2cmdline × ParPar: speed focused par2cmdline fork"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.proglottis ]; + platforms = platforms.all; + mainProgram = "par2"; + }; +} diff --git a/pkgs/by-name/po/postlight-parser/package.json b/pkgs/by-name/po/postlight-parser/package.json new file mode 100644 index 000000000000..11b49c9e686e --- /dev/null +++ b/pkgs/by-name/po/postlight-parser/package.json @@ -0,0 +1,165 @@ +{ + "name": "@postlight/parser", + "version": "2.2.3", + "description": "Postlight Parser transforms web pages into clean text. Publishers and programmers use it to make the web make sense, and readers use it to read any web article comfortably.", + "author": "Postlight <mercury@postlight.com>", + "homepage": "https://reader.postlight.com", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/postlight/parser.git" + }, + "bugs": { + "url": "https://github.com/postlight/parser/issues" + }, + "keywords": [ + "mercury", + "parser", + "reader", + "web", + "content" + ], + "files": [ + "dist", + "cli.js", + "src/shims/" + ], + "main": "./dist/mercury.js", + "bin": { + "mercury-parser": "./cli.js", + "postlight-parser": "./cli.js" + }, + "scripts": { + "lint": "eslint . --fix", + "lint:ci": "remark . && eslint .", + "lint-fix-quiet": "eslint --fix --quiet", + "build": "yarn lint && rollup -c && yarn test:build", + "build:ci": "rollup -c && yarn test:build", + "build:web": "yarn lint && rollup -c rollup.config.web.js && yarn test:build:web", + "build:esm": "yarn lint && rollup -c rollup.config.esm.js && yarn test:build:esm", + "build:esm:ci": "rollup -c rollup.config.esm.js && yarn test:build:esm", + "build:web:ci": "rollup -c rollup.config.web.js && yarn test:build:web", + "release": "yarn build && yarn build:web", + "build:generator": "rollup -c scripts/rollup.config.js", + "test_build": "rollup -c", + "test": "yarn test:node && yarn test:web", + "test:node": "jest --json --outputFile test-output.json", + "test:web": "node ./node_modules/karma/bin/karma start karma.conf.js --auto-watch", + "test:build": "cd ./scripts && jest check-build.test.js", + "test:build:web": "node ./scripts/proxy-browser-test.js", + "test:build:esm": "node ./scripts/proxy-browser-test.js", + "watch:test": "jest --watch", + "generate-parser": "node ./dist/generate-custom-parser.js" + }, + "engines": { + "node": ">=10" + }, + "devDependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/polyfill": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@jesses/circle-github-bot": "^2.1.0", + "@octokit/rest": "^16.9.0", + "babel-core": "^7.0.0-bridge.0", + "babel-eslint": "^10.0.1", + "babel-jest": "^23.4.2", + "babel-plugin-module-alias": "^1.6.0", + "babel-plugin-module-resolver": "^3.1.2", + "babelify": "^10.0.0", + "babelrc-rollup": "^3.0.0", + "brfs": "^2.0.1", + "brfs-babel": "^2.0.0", + "browserify": "^16.2.3", + "changelog-maker": "^2.3.0", + "eslint": "^5.12.0", + "eslint-config-airbnb": "^17.1.0", + "eslint-config-prettier": "^6.1.0", + "eslint-import-resolver-babel-module": "^2.2.1", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-jsx-a11y": "^6.1.2", + "eslint-plugin-react": "^7.12.3", + "express": "^4.16.4", + "husky": "^3.0.0", + "inquirer": "^7.0.0", + "jasmine-core": "^2.5.2", + "jest": "^23.6.0", + "jest-cli": "^23.6.0", + "karma": "^6.3.16", + "karma-browserify": "8.1.0", + "karma-chrome-launcher": "^3.0.0", + "karma-cli": "^2.0.0", + "karma-jasmine": "^1.0.2", + "karma-mocha": "^1.3.0", + "karma-requirejs": "^1.1.0", + "lint-staged": "^8.1.0", + "mocha": "^6.0.0", + "nock": "^10.0.6", + "ora": "^4.0.0", + "prettier": "^1.15.3", + "remark-cli": "^7.0.0", + "remark-lint": "^6.0.4", + "remark-preset-lint-recommended": "^3.0.2", + "request": "^2.88.2", + "requirejs": "^2.3.6", + "rollup": "^1.1.0", + "rollup-plugin-babel": "^4.0.1", + "rollup-plugin-commonjs": "^9.2.0", + "rollup-plugin-node-globals": "^1.4.0", + "rollup-plugin-node-resolve": "^2.0.0", + "rollup-plugin-terser": "^6.1.0", + "rollup-plugin-uglify": "^6.0.1", + "watchify": "^3.11.1" + }, + "dependencies": { + "@babel/runtime-corejs2": "^7.2.0", + "@postlight/ci-failed-test-reporter": "^1.0", + "browser-request": "github:postlight/browser-request#feat-add-headers-to-response", + "cheerio": "^0.22.0", + "difflib": "github:postlight/difflib.js", + "ellipsize": "0.1.0", + "iconv-lite": "0.5.0", + "jquery": "^3.5.0", + "moment": "^2.23.0", + "moment-parseformat": "3.0.0", + "moment-timezone": "0.5.37", + "postman-request": "^2.88.1-postman.31", + "string-direction": "^0.1.2", + "turndown": "^7.1.1", + "valid-url": "^1.0.9", + "wuzzy": "^0.1.4", + "yargs-parser": "^15.0.1" + }, + "bundleDependencies": [ + "jquery", + "moment-timezone", + "browser-request" + ], + "browser": { + "main": "./dist/mercury.web.js", + "cheerio": "./src/shims/cheerio-query", + "jquery": "./node_modules/jquery/dist/jquery.min.js", + "postman-request": "browser-request", + "iconv-lite": "./src/shims/iconv-lite", + "moment-timezone": "./node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.min.js" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.js": [ + "eslint --fix", + "prettier --write", + "git add" + ], + "*.{json,css,md}": [ + "remark .", + "prettier --write", + "git add" + ] + } +} diff --git a/pkgs/by-name/po/postlight-parser/package.nix b/pkgs/by-name/po/postlight-parser/package.nix new file mode 100644 index 000000000000..c00028b9a401 --- /dev/null +++ b/pkgs/by-name/po/postlight-parser/package.nix @@ -0,0 +1,36 @@ +{ lib +, stdenv +, mkYarnPackage +, fetchFromGitHub +, fetchYarnDeps +}: + +mkYarnPackage rec { + pname = "postlight-parser"; + version = "2.2.3"; + + src = fetchFromGitHub { + owner = "postlight"; + repo = "parser"; + rev = "v${version}"; + hash = "sha256-k6m95FHeJ+iiWSeY++1zds/bo1RtNXbnv2spaY/M+L0="; + }; + + packageJSON = ./package.json; + + doDist = false; + + offlineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-Vs8bfkhEbPv33ew//HBeDnpQcyWveByHi1gUsdl2CNI="; + }; + + meta = with lib; { + changelog = "https://github.com/postlight/parser/blob/${src.rev}/CHANGELOG.md"; + homepage = "https://reader.postlight.com"; + description = "Extracts the bits that humans care about from any URL you give it"; + license = licenses.mit; + maintainers = with maintainers; [ viraptor ]; + mainProgram = "postlight-parser"; + }; +} diff --git a/pkgs/by-name/qr/qrcodegencpp/package.nix b/pkgs/by-name/qr/qrcodegencpp/package.nix new file mode 100644 index 000000000000..655b948e81e1 --- /dev/null +++ b/pkgs/by-name/qr/qrcodegencpp/package.nix @@ -0,0 +1,32 @@ +{ lib +, stdenv +, qrcodegen +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "qrcodegencpp"; + version = qrcodegen.version; + + src = qrcodegen.src; + + sourceRoot = "${finalAttrs.src.name}/cpp"; + + nativeBuildInputs = lib.optionals stdenv.cc.isClang [ + stdenv.cc.cc.libllvm.out + ]; + + makeFlags = lib.optionals stdenv.cc.isClang [ "AR=llvm-ar" ]; + + installPhase = '' + runHook preInstall + + install -Dt $out/lib/ libqrcodegencpp.a + install -Dt $out/include/qrcodegen/ qrcodegen.hpp + + runHook postInstall + ''; + + meta = { + inherit (qrcodegen.meta) description homepage license maintainers platforms; + }; +}) diff --git a/pkgs/by-name/re/readability-extractor/package.nix b/pkgs/by-name/re/readability-extractor/package.nix new file mode 100644 index 000000000000..49d8333dd8e8 --- /dev/null +++ b/pkgs/by-name/re/readability-extractor/package.nix @@ -0,0 +1,29 @@ +{ lib +, stdenv +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage { + pname = "readability-extractor"; + version = "0.0.10"; + + src = fetchFromGitHub { + owner = "ArchiveBox"; + repo = "readability-extractor"; + rev = "be5c3222990d4f0459b21e74802565309bdd1d52"; + hash = "sha256-KX9mtvwDUIV2XsH6Hgx5/W34AlM4QtZuzxp4QofPcyg="; + }; + + dontNpmBuild = true; + + npmDepsHash = "sha256-bQHID9c2Ioyectx6t/GjTR/4cCyfwDfpT0aEQZoYCiU="; + + meta = with lib; { + homepage = "https://github.com/ArchiveBox/readability-extractor"; + description = "Javascript wrapper around Mozilla Readability for ArchiveBox to call as a oneshot CLI to extract article text"; + license = licenses.mit; + maintainers = with maintainers; [ viraptor ]; + mainProgram = "readability-extractor"; + }; +} diff --git a/pkgs/by-name/sh/shadershark/package.nix b/pkgs/by-name/sh/shadershark/package.nix new file mode 100644 index 000000000000..e27036575be7 --- /dev/null +++ b/pkgs/by-name/sh/shadershark/package.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchhg +, libepoxy +, xorg +, libGLU +, glm +, pkg-config +, imagemagick +, makeWrapper +, installShellFiles +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "shadershark"; + version = "0.1"; + + src = fetchhg { + url = "https://hg.globalcode.info/graphics/shader-shark"; + rev = "v${finalAttrs.version}"; + hash = "sha256-AYZWfqMckPKgXNIX9kAAv1mvD3opLi5EUElFsigiF3c="; + }; + + nativeBuildInputs = [ + pkg-config + makeWrapper + installShellFiles + ]; + + buildInputs = [ + libepoxy + xorg.libX11 + libGLU + glm + imagemagick + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/{bin,share/shadershark} + + install -m755 -D build/shader-shark $out/bin + cp -r shaders textures $out/share/shadershark + + wrapProgram $out/bin/shader-shark \ + --set SHADER_SHARK_DATA_DIR $out/share/shadershark + + installShellCompletion --bash --name shader-shark.bash bash-completion.sh + + runHook postInstall + ''; + + passthru.updateScript = [ ./update.sh finalAttrs.src.url ]; + + meta = with lib; { + mainProgram = "shader-shark"; + description = "OpenGL/X11 application for GNU/Linux consisting of a single window that shows simple 3D scene of a textured rectangle with applied vertex and fragment shaders (GLSL)"; + homepage = "https://graphics.globalcode.info/v_0/shader-shark.xhtml"; + license = licenses.gpl3; + maintainers = [ maintainers.lucasew ]; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/by-name/sh/shadershark/update.sh b/pkgs/by-name/sh/shadershark/update.sh new file mode 100755 index 000000000000..0bd125caac95 --- /dev/null +++ b/pkgs/by-name/sh/shadershark/update.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p curl common-updater-scripts + +set -e + +repo_url="$1"; shift + +data="$(curl "$repo_url/tags")" + +rev="$(echo "$data" | grep '/rev/v' | sed 's;.*/rev/v\([^"]*\)[^$]*;\1;' | head -n 1)" +echo "new rev: $rev" + +update-source-version shadershark "$rev" \ + --print-changes diff --git a/pkgs/by-name/te/tera-cli/package.nix b/pkgs/by-name/te/tera-cli/package.nix index 8b40581b6dc8..1f0e421013c9 100644 --- a/pkgs/by-name/te/tera-cli/package.nix +++ b/pkgs/by-name/te/tera-cli/package.nix @@ -5,16 +5,16 @@ }: rustPlatform.buildRustPackage rec { pname = "tera-cli"; - version = "0.2.5"; + version = "0.3.0"; src = fetchFromGitHub { owner = "chevdor"; repo = "tera-cli"; rev = "v${version}"; - hash = "sha256-W+pcVLxOlikwAGvx0twm23GyCMzdqnHY0YBNtcsSB5I="; + hash = "sha256-Fzrlt6p4bVtJvGg8SaMdS/+2wzABtBkj9ERcg3/bwcQ="; }; - cargoHash = "sha256-A01mok8KQk1FV8P7E4svdBCW6xqpduHy1XuUcdDFjfc="; + cargoHash = "sha256-aPN7rbU/BSgNAoq0g8JrzsXk3pbenrJZxqrm5f4zYn8="; meta = with lib; { description = "A command line utility to render templates from json|toml|yaml and ENV, using the tera templating engine"; diff --git a/pkgs/by-name/te/termcap/package.nix b/pkgs/by-name/te/termcap/package.nix new file mode 100644 index 000000000000..6382ade90ea7 --- /dev/null +++ b/pkgs/by-name/te/termcap/package.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, autoreconfHook +, enableStatic ? stdenv.hostPlatform.isStatic +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "termcap"; + version = "1.3.1"; + + src = fetchurl { + url = "mirror://gnu/termcap/termcap-${version}.tar.gz"; + hash = "sha256-kaDiLlOHykRntbyxjt8cUbkwJi/UZtX9o5bdnSZxkQA="; + }; + + patches = [ + (fetchpatch { + name = "0001-tparam-replace-write-with-fprintf.patch"; + url = "https://github.com/msys2/MINGW-packages/raw/c6691ad1bd9d4c6823a18068ca0683c3e32ea005/mingw-w64-termcap/0001-tparam-replace-write-with-fprintf.patch"; + hash = "sha256-R9XaLfa8fzQBt+M+uA1AFTvKYCeOWLUD/7GViazXwto="; + }) + ]; + + outputs = [ "out" "dev" ]; + + enableParallelBuilding = true; + + strictDeps = true; + + nativeBuildInputs = [ autoreconfHook ]; + + makeFlags = [ + "AR=${stdenv.cc.targetPrefix}ar" + ]; + + env.NIX_CFLAGS_COMPILE = toString ([ + "-DSTDC_HEADERS" + ] ++ lib.optionals stdenv.cc.isClang [ + "-Wno-implicit-function-declaration" + ]); + + # Library only statically links by default + postInstall = lib.optionalString (!enableStatic) '' + rm $out/lib/libtermcap.a + '' + lib.optionalString enableShared (let + libName = "lib${pname}${stdenv.hostPlatform.extensions.sharedLibrary}"; + impLibName = "lib${pname}.dll.a"; + winImpLib = lib.optionalString stdenv.hostPlatform.isWindows + "-Wl,--out-implib,${impLibName}"; + in '' + ${stdenv.cc.targetPrefix}cc -shared -o ${libName} termcap.o tparam.o version.o ${winImpLib} + install -Dm644 ${libName} $out/lib + '' + lib.optionalString stdenv.hostPlatform.isWindows '' + install -Dm644 ${impLibName} $out/lib + ''); + + meta = { + description = "Terminal feature database"; + homepage = "https://www.gnu.org/software/termutils/"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ wegank ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/by-name/un/universal-android-debloater/package.nix b/pkgs/by-name/un/universal-android-debloater/package.nix index 3be147dabc97..8b91f0b5fae9 100644 --- a/pkgs/by-name/un/universal-android-debloater/package.nix +++ b/pkgs/by-name/un/universal-android-debloater/package.nix @@ -14,16 +14,16 @@ }: rustPlatform.buildRustPackage rec { pname = "universal-android-debloater"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "Universal-Debloater-Alliance"; repo = pname; rev = version; - hash = "sha256-8s4/lAekW2glz4lH79UtbziToytT53m5wQGTVMBAqMU="; + hash = "sha256-yCtdCg2mEAz4b/ev32x+RbjCtHTu20mOKFgtckXk1Fo="; }; - cargoHash = "sha256-fMW9CmDyJ77PIuJ6QGI8nNZsuAZwkL9xf3xbbX13HKw="; + cargoHash = "sha256-70dX5fqORdGG2q3YeXJHABCHy0dvtA/Cptk8aLGNgV4="; buildInputs = [ expat diff --git a/pkgs/by-name/wi/win2xcur/package.nix b/pkgs/by-name/wi/win2xcur/package.nix new file mode 100644 index 000000000000..94dcfb935f43 --- /dev/null +++ b/pkgs/by-name/wi/win2xcur/package.nix @@ -0,0 +1,23 @@ +{ lib, python3Packages, fetchFromGitHub }: + +python3Packages.buildPythonPackage rec { + pname = "win2xcur"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "quantum5"; + repo = "win2xcur"; + rev = "v${version}"; + sha256 = "sha256-OjLj+QYg8YOJzDq3Y6/uyEXlNWbPm8VA/b1yP9jT6Jo="; + }; + + propagatedBuildInputs = with python3Packages; [ numpy wand ]; + + meta = with lib; { + description = "Tools that convert cursors between the Windows (*.cur, *.ani) and Xcursor format"; + homepage = "https://github.com/quantum5/win2xcur"; + changelog = "https://github.com/quantum5/win2xcur/releases/tag/v${version}"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ teatwig ]; + }; +} diff --git a/pkgs/by-name/wl/wlvncc/package.nix b/pkgs/by-name/wl/wlvncc/package.nix new file mode 100644 index 000000000000..24ec18ff4b16 --- /dev/null +++ b/pkgs/by-name/wl/wlvncc/package.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchFromGitHub +, aml +, cyrus_sasl +, ffmpeg +, gnutls +, libGL +, libdrm +, libgcrypt +, libjpeg +, libpng +, libxkbcommon +, lzo +, mesa +, meson +, ninja +, openssl +, pkg-config +, pixman +, wayland +, zlib +}: +stdenv.mkDerivation { + pname = "wlvncc"; + version = "unstable-2023-01-05"; + + src = fetchFromGitHub { + owner = "any1"; + repo = "wlvncc"; + rev = "2b9a886edd38204ef36e9f9f65dd32aaa3784530"; + hash = "sha256-0HbZEtDaLjr966RS+2GHc7N4nsivPIv57T/+AJliwUI="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + aml + cyrus_sasl + ffmpeg + gnutls + libGL + libdrm + libgcrypt + libjpeg + libpng + libxkbcommon + lzo + mesa + openssl + pixman + wayland + zlib + ]; + + meta = with lib; { + description = "A Wayland Native VNC Client"; + homepage = "https://github.com/any1/wlvncc"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ teutat3s ]; + platforms = platforms.linux; + mainProgram = "wlvncc"; + }; +} diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix index 01042d5c6b68..9593195d78d4 100644 --- a/pkgs/data/misc/v2ray-domain-list-community/default.nix +++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix @@ -3,12 +3,12 @@ let generator = pkgsBuildBuild.buildGoModule rec { pname = "v2ray-domain-list-community"; - version = "20240101162810"; + version = "20240105034708"; src = fetchFromGitHub { owner = "v2fly"; repo = "domain-list-community"; rev = version; - hash = "sha256-aL5QH+bvQt3l40GuM0lbvamjl1I7MpkSNceiaccyttg="; + hash = "sha256-8taKbZUWttpTY56lzgWJeAPpt0q9srSwRkNqkOsmY2Y="; }; vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY="; meta = with lib; { diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix index b555b9197403..e4cfce0adbe1 100644 --- a/pkgs/data/themes/dracula-theme/default.nix +++ b/pkgs/data/themes/dracula-theme/default.nix @@ -1,8 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk-engine-murrine }: +{ lib, stdenvNoCC, fetchFromGitHub, unstableGitUpdater, gtk-engine-murrine }: let themeName = "Dracula"; - version = "4.0.0"; + version = "unstable-2023-12-16"; in stdenvNoCC.mkDerivation { pname = "dracula-theme"; @@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation { src = fetchFromGitHub { owner = "dracula"; repo = "gtk"; - rev = "v${version}"; - hash = "sha256-q3/uBd+jPFhiVAllyhqf486Jxa0mnCDSIqcm/jwGtJA="; + rev = "80d5a3fedf280e9cc7f2df3b100a1082c3bcd1cc"; + hash = "sha256-BPL0Msva1/sPQKPeRJHgvU+xXU3m8b2E6aDBLmXbkkA="; }; propagatedUserEnvPkgs = [ @@ -38,11 +38,13 @@ stdenvNoCC.mkDerivation { runHook postInstall ''; + passthru.updateScript = unstableGitUpdater { }; + meta = with lib; { description = "Dracula variant of the Ant theme"; homepage = "https://github.com/dracula/gtk"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ alexarice ]; + maintainers = with maintainers; [ alexarice msfjarvis ]; }; } diff --git a/pkgs/development/compilers/djgpp/default.nix b/pkgs/development/compilers/djgpp/default.nix index d6f645f3a31a..1dabc225d9a4 100644 --- a/pkgs/development/compilers/djgpp/default.nix +++ b/pkgs/development/compilers/djgpp/default.nix @@ -58,6 +58,10 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; + # stripping breaks static libs, causing this when you attempt to compile a binary: + # error adding symbols: Archive has no index; run ranlib to add one + dontStrip = true; + buildPhase = '' runHook preBuild mkdir download; pushd download diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix deleted file mode 100644 index bc69f1c99cf4..000000000000 --- a/pkgs/development/compilers/llvm/6/clang/default.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation ({ - pname = "clang"; - inherit version; - - src = fetch "cfe" "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w"; - - unpackPhase = '' - unpackFile $src - mv cfe-${version}* clang - sourceRoot=$PWD/clang - unpackFile ${clang-tools-extra_src} - mv clang-tools-extra-* $sourceRoot/tools/extra - ''; - - nativeBuildInputs = [ cmake python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-std=c++11" - "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - ]; - - patches = [ - ../../common/clang/5-8-purity.patch - ./gnu-install-dirs.patch - (substituteAll { - src = ../../clang-6-10-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ - lib/Driver/ToolChains/*.cpp - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." - - mkdir -p $python/bin $python/share/{clang,scan-view} - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - mv $out/share/scan-view/*.py $python/share/scan-view - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/clang-tblgen $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ "fortify3" ]; - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - buildPhase = '' - make docs-clang-man - ''; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/6/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/clang/gnu-install-dirs.patch deleted file mode 100644 index bdbbae955169..000000000000 --- a/pkgs/development/compilers/llvm/6/clang/gnu-install-dirs.patch +++ /dev/null @@ -1,258 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2eee8e6148f7..63efc7d2fdd0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.4.3) - if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) - project(Clang) - -+ include(GNUInstallDirs) -+ - # Rely on llvm-config. - set(CONFIG_OUTPUT) - find_program(LLVM_CONFIG "llvm-config") -@@ -365,7 +367,7 @@ include_directories(BEFORE - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/clang include/clang-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.def" - PATTERN "*.h" -@@ -374,7 +376,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "CMakeFiles" EXCLUDE - PATTERN "*.inc" -@@ -382,7 +384,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(PROGRAMS utils/bash-autocomplete.sh -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - ) - endif() - -diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake -index c09a8423f9f6..39f37e0097eb 100644 ---- a/cmake/modules/AddClang.cmake -+++ b/cmake/modules/AddClang.cmake -@@ -99,9 +99,9 @@ macro(add_clang_library name) - install(TARGETS ${name} - COMPONENT ${name} - ${export_to_clangtargets} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- RUNTIME DESTINATION bin) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) - add_llvm_install_targets(install-${name} -@@ -141,7 +141,7 @@ macro(add_clang_tool name) - - install(TARGETS ${name} - ${export_to_clangtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) -@@ -156,5 +156,5 @@ endmacro() - macro(add_clang_symlink name dest) - add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) - # Always generate install targets -- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) -+ llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) - endmacro() -diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt -index 97ba3edea1c5..9d2bc5714af5 100644 ---- a/lib/Headers/CMakeLists.txt -+++ b/lib/Headers/CMakeLists.txt -@@ -142,13 +142,13 @@ install( - FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h - COMPONENT clang-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) - - install( - FILES ${cuda_wrapper_files} - COMPONENT clang-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers) - - if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's. - add_llvm_install_targets(install-clang-headers -diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt -index d38c7bb28709..c9b5499cb756 100644 ---- a/tools/c-index-test/CMakeLists.txt -+++ b/tools/c-index-test/CMakeLists.txt -@@ -50,7 +50,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH - "@executable_path/../../lib") - else() -- set(INSTALL_DESTINATION bin) -+ set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - - install(TARGETS c-index-test -diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt -index c5ace26c2914..97bdfca7d896 100644 ---- a/tools/clang-check/CMakeLists.txt -+++ b/tools/clang-check/CMakeLists.txt -@@ -20,4 +20,4 @@ target_link_libraries(clang-check - ) - - install(TARGETS clang-check -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt -index a295e8cd0b2a..1973ff82c7f6 100644 ---- a/tools/clang-format/CMakeLists.txt -+++ b/tools/clang-format/CMakeLists.txt -@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE ) - endif() - - install(PROGRAMS clang-format-bbedit.applescript -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format-diff.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format-sublime.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format.el -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS git-clang-format -- DESTINATION bin -+ DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT clang-format) -diff --git a/tools/clang-func-mapping/CMakeLists.txt b/tools/clang-func-mapping/CMakeLists.txt -index ae28e28d532d..8ecb2e37a8f7 100644 ---- a/tools/clang-func-mapping/CMakeLists.txt -+++ b/tools/clang-func-mapping/CMakeLists.txt -@@ -20,4 +20,4 @@ target_link_libraries(clang-func-mapping - ) - - install(TARGETS clang-func-mapping -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/tools/clang-offload-bundler/CMakeLists.txt b/tools/clang-offload-bundler/CMakeLists.txt -index 8718015be76a..7a038f39622e 100644 ---- a/tools/clang-offload-bundler/CMakeLists.txt -+++ b/tools/clang-offload-bundler/CMakeLists.txt -@@ -22,4 +22,4 @@ target_link_libraries(clang-offload-bundler - ${CLANG_OFFLOAD_BUNDLER_LIB_DEPS} - ) - --install(TARGETS clang-offload-bundler RUNTIME DESTINATION bin) -+install(TARGETS clang-offload-bundler RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/tools/clang-refactor/CMakeLists.txt b/tools/clang-refactor/CMakeLists.txt -index d2029066b9b7..9bc152a675af 100644 ---- a/tools/clang-refactor/CMakeLists.txt -+++ b/tools/clang-refactor/CMakeLists.txt -@@ -21,4 +21,4 @@ target_link_libraries(clang-refactor - clangToolingRefactor - ) - --install(TARGETS clang-refactor RUNTIME DESTINATION bin) -+install(TARGETS clang-refactor RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt -index 9689e1c6804d..6087716510a9 100644 ---- a/tools/clang-rename/CMakeLists.txt -+++ b/tools/clang-rename/CMakeLists.txt -@@ -16,8 +16,8 @@ target_link_libraries(clang-rename - ) - - install(PROGRAMS clang-rename.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-rename) - install(PROGRAMS clang-rename.el -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-rename) -diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt -index 44406378207b..3b64b18ad4a5 100644 ---- a/tools/libclang/CMakeLists.txt -+++ b/tools/libclang/CMakeLists.txt -@@ -130,7 +130,7 @@ endif() - if(INTERNAL_INSTALL_PREFIX) - set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include") - else() -- set(LIBCLANG_HEADERS_INSTALL_DESTINATION include) -+ set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - endif() - - install(DIRECTORY ../../include/clang-c -diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt -index 380379300b09..adfd58ed5f7d 100644 ---- a/tools/scan-build/CMakeLists.txt -+++ b/tools/scan-build/CMakeLists.txt -@@ -41,7 +41,7 @@ if(CLANG_INSTALL_SCANBUILD) - ${CMAKE_BINARY_DIR}/bin/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) -- install(PROGRAMS bin/${BinFile} DESTINATION bin) -+ install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR}) - endforeach() - - foreach(LibexecFile ${LibexecFiles}) -@@ -53,7 +53,7 @@ if(CLANG_INSTALL_SCANBUILD) - ${CMAKE_BINARY_DIR}/libexec/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}) -- install(PROGRAMS libexec/${LibexecFile} DESTINATION libexec) -+ install(PROGRAMS libexec/${LibexecFile} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) - endforeach() - - foreach(ManPage ${ManPages}) -@@ -77,7 +77,7 @@ if(CLANG_INSTALL_SCANBUILD) - ${CMAKE_BINARY_DIR}/share/scan-build/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}) -- install(FILES share/scan-build/${ShareFile} DESTINATION share/scan-build) -+ install(FILES share/scan-build/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build) - endforeach() - - add_custom_target(scan-build ALL DEPENDS ${Depends}) -diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt -index b305ca562a72..554bcb379061 100644 ---- a/tools/scan-view/CMakeLists.txt -+++ b/tools/scan-view/CMakeLists.txt -@@ -21,7 +21,7 @@ if(CLANG_INSTALL_SCANVIEW) - ${CMAKE_BINARY_DIR}/bin/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) -- install(PROGRAMS bin/${BinFile} DESTINATION bin) -+ install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR}) - endforeach() - - foreach(ShareFile ${ShareFiles}) -@@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW) - ${CMAKE_BINARY_DIR}/share/scan-view/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile}) -- install(FILES share/${ShareFile} DESTINATION share/scan-view) -+ install(FILES share/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view) - endforeach() - - add_custom_target(scan-view ALL DEPENDS ${Depends}) diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/6/compiler-rt/armv7l.patch deleted file mode 100644 index ca2ed632faa2..000000000000 --- a/pkgs/development/compilers/llvm/6/compiler-rt/armv7l.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -ur compiler-rt-6.0.1.src/cmake/builtin-config-ix.cmake compiler-rt-6.0.1.src-patched/cmake/builtin-config-ix.cmake ---- compiler-rt-6.0.1.src/cmake/builtin-config-ix.cmake 2017-12-01 06:04:11.000000000 +0900 -+++ compiler-rt-6.0.1.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:30:01.939694303 +0900 -@@ -24,7 +24,7 @@ - - - set(ARM64 aarch64) --set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) -+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) - set(X86 i386) - set(X86_64 x86_64) - set(MIPS32 mips mipsel) -diff -ur compiler-rt-6.0.1.src/lib/builtins/CMakeLists.txt compiler-rt-6.0.1.src-patched/lib/builtins/CMakeLists.txt ---- compiler-rt-6.0.1.src/lib/builtins/CMakeLists.txt 2017-12-25 06:11:32.000000000 +0900 -+++ compiler-rt-6.0.1.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:30:44.814964156 +0900 -@@ -452,6 +452,7 @@ - set(armv7_SOURCES ${arm_SOURCES}) - set(armv7s_SOURCES ${arm_SOURCES}) - set(armv7k_SOURCES ${arm_SOURCES}) -+set(armv7l_SOURCES ${arm_SOURCES}) - set(arm64_SOURCES ${aarch64_SOURCES}) - - # macho_embedded archs -@@ -521,7 +522,7 @@ - set(_arch ${arch}) - if("${arch}" STREQUAL "armv6m") - set(_arch "arm|armv6m") -- elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") -+ elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") - set(_arch "arm") - endif() - diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/codesign.patch b/pkgs/development/compilers/llvm/6/compiler-rt/codesign.patch deleted file mode 100644 index 8f4c76bca1eb..000000000000 --- a/pkgs/development/compilers/llvm/6/compiler-rt/codesign.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 -From: Will Dietz <w@wdtz.org> -Date: Tue, 19 Sep 2017 13:13:06 -0500 -Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that - needs it - ---- - cmake/Modules/AddCompilerRT.cmake | 8 ------ - test/asan/CMakeLists.txt | 52 --------------------------------------- - test/tsan/CMakeLists.txt | 47 ----------------------------------- - 3 files changed, 107 deletions(-) - -diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake -index bc5fb9ff7..b64eb4246 100644 ---- a/cmake/Modules/AddCompilerRT.cmake -+++ b/cmake/Modules/AddCompilerRT.cmake -@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) - set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") - set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") - endif() -- if(APPLE) -- # Ad-hoc sign the dylibs -- add_custom_command(TARGET ${libname} -- POST_BUILD -- COMMAND codesign --sign - $<TARGET_FILE:${libname}> -- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} -- ) -- endif() - endif() - install(TARGETS ${libname} - ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} -diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt -index 8bfc15b5c..f23d0f71a 100644 ---- a/test/asan/CMakeLists.txt -+++ b/test/asan/CMakeLists.txt -@@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH}) - endif() - endforeach() - --# iOS and iOS simulator test suites --# These are not added into "check-all", in order to run these tests, use --# "check-asan-iossim-x86_64" and similar. They also require that an extra env --# variable to select which iOS device or simulator to use, e.g.: --# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" --if(APPLE) -- set(EXCLUDE_FROM_ALL ON) -- -- set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) -- set(ASAN_TEST_IOS "1") -- pythonize_bool(ASAN_TEST_IOS) -- set(ASAN_TEST_DYNAMIC True) -- -- foreach(arch ${DARWIN_iossim_ARCHS}) -- set(ASAN_TEST_IOSSIM "1") -- pythonize_bool(ASAN_TEST_IOSSIM) -- set(ASAN_TEST_TARGET_ARCH ${arch}) -- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") -- get_bits_for_arch(${arch} ASAN_TEST_BITS) -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${ASAN_TEST_DEPS}) -- endforeach() -- -- foreach (arch ${DARWIN_ios_ARCHS}) -- set(ASAN_TEST_IOSSIM "0") -- pythonize_bool(ASAN_TEST_IOSSIM) -- set(ASAN_TEST_TARGET_ARCH ${arch}) -- set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios") -- get_bits_for_arch(${arch} ASAN_TEST_BITS) -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${ASAN_TEST_DEPS}) -- endforeach() -- -- set(EXCLUDE_FROM_ALL OFF) --endif() -- - # Add unit tests. - if(COMPILER_RT_INCLUDE_TESTS) - set(ASAN_TEST_DYNAMIC False) -diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt -index a68908612..cde0accb5 100644 ---- a/test/tsan/CMakeLists.txt -+++ b/test/tsan/CMakeLists.txt -@@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH}) - list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}) - endforeach() - --# iOS and iOS simulator test suites --# These are not added into "check-all", in order to run these tests, use --# "check-tsan-iossim-x86_64" and similar. They also require an extra environment --# variable to select which iOS device or simulator to use, e.g.: --# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6" --if(APPLE) -- set(EXCLUDE_FROM_ALL ON) -- -- set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER}) -- set(TSAN_TEST_IOS "1") -- pythonize_bool(TSAN_TEST_IOS) -- -- set(arch "x86_64") -- set(TSAN_TEST_IOSSIM "1") -- pythonize_bool(TSAN_TEST_IOSSIM) -- set(TSAN_TEST_TARGET_ARCH ${arch}) -- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim") -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${TSAN_TEST_DEPS}) -- -- set(arch "arm64") -- set(TSAN_TEST_IOSSIM "0") -- pythonize_bool(TSAN_TEST_IOSSIM) -- set(TSAN_TEST_TARGET_ARCH ${arch}) -- set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}") -- set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios") -- string(TOUPPER ${arch} ARCH_UPPER_CASE) -- set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config") -- configure_lit_site_cfg( -- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg -- ) -- add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests" -- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/ -- DEPENDS ${TSAN_TEST_DEPS}) -- -- set(EXCLUDE_FROM_ALL OFF) --endif() -- - if(COMPILER_RT_INCLUDE_TESTS) - configure_lit_site_cfg( - ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in --- -2.14.1 - diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix b/pkgs/development/compilers/llvm/6/compiler-rt/default.nix deleted file mode 100644 index 1288bd9bd0f2..000000000000 --- a/pkgs/development/compilers/llvm/6/compiler-rt/default.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - inherit (stdenv.hostPlatform) isMusl; - -in - -stdenv.mkDerivation { - pname = "compiler-rt"; - inherit version; - src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl"; - - nativeBuildInputs = [ cmake python3 libllvm.dev ]; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; - - env.NIX_CFLAGS_COMPILE = toString [ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ]; - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - "-DCMAKE_C_FLAGS=-nodefaultlibs" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - # The compiler-rt build infrastructure sniffs supported platforms on Darwin - # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails - # when it tries to use libc++ and libc++api for i386. - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory - # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce - ../../common/compiler-rt/glibc.patch - ./gnu-install-dirs.patch - ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch - ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/freebsd/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; - }; -} diff --git a/pkgs/development/compilers/llvm/6/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/compiler-rt/gnu-install-dirs.patch deleted file mode 100644 index 8daf03994b57..000000000000 --- a/pkgs/development/compilers/llvm/6/compiler-rt/gnu-install-dirs.patch +++ /dev/null @@ -1,107 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4b953b212829..a10b69aa67dc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -8,6 +8,7 @@ cmake_minimum_required(VERSION 3.4.3) - # Check if compiler-rt is built as a standalone project. - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD) - project(CompilerRT C CXX ASM) -+ include(GNUInstallDirs) - set(COMPILER_RT_STANDALONE_BUILD TRUE) - endif() - -diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake -index 139b6140011c..502354a37d67 100644 ---- a/cmake/Modules/AddCompilerRT.cmake -+++ b/cmake/Modules/AddCompilerRT.cmake -@@ -439,7 +439,7 @@ macro(add_compiler_rt_resource_file target_name file_name component) - add_custom_target(${target_name} DEPENDS ${dst_file}) - # Install in Clang resource directory. - install(FILES ${file_name} -- DESTINATION ${COMPILER_RT_INSTALL_PATH} -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX} - COMPONENT ${component}) - add_dependencies(${component} ${target_name}) - -@@ -456,7 +456,7 @@ macro(add_compiler_rt_script name) - add_custom_target(${name} DEPENDS ${dst}) - install(FILES ${dst} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE -- DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR}) - endmacro(add_compiler_rt_script src name) - - # Builds custom version of libc++ and installs it in <prefix>. -diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake -index a25540bf46d1..77ea739fea74 100644 ---- a/cmake/Modules/CompilerRTDarwinUtils.cmake -+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake -@@ -375,7 +375,7 @@ macro(darwin_add_embedded_builtin_libraries) - set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR - ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded) - set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR -- ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded) -+ ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded) - - set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi") - set(CFLAGS_i386 "-march=pentium") -diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index b208f0852408..cacf4e8fb69d 100644 ---- a/cmake/base-config-ix.cmake -+++ b/cmake/base-config-ix.cmake -@@ -46,11 +46,11 @@ if (LLVM_TREE_AVAILABLE) - else() - # Take output dir and install path from the user. - set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH -- "Path where built compiler-rt libraries should be stored.") -+ "Path where built compiler-rt build artifacts should be stored.") - set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH - "Path where built compiler-rt executables should be stored.") -- set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH -- "Path where built compiler-rt libraries should be installed.") -+ set(COMPILER_RT_INSTALL_PATH "" CACHE PATH -+ "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.") - option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF) - option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF) - # Use a host compiler to compile/link tests. -@@ -70,9 +70,9 @@ if(NOT DEFINED COMPILER_RT_OS_DIR) - string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR) - endif() - set(COMPILER_RT_LIBRARY_OUTPUT_DIR -- ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR}) -+ ${COMPILER_RT_OUTPUT_DIR}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR}) - set(COMPILER_RT_LIBRARY_INSTALL_DIR -- ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR}) -+ ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR}) - - if(APPLE) - # On Darwin if /usr/include doesn't exist, the user probably has Xcode but not -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index f7efb102ab63..ab8a94d9ff40 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -47,12 +47,12 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc") - install(FILES ${SANITIZER_HEADERS} - COMPONENT compiler-rt-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer) - # Install xray headers. - install(FILES ${XRAY_HEADERS} - COMPONENT compiler-rt-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -- DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray) - - if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDEs. - add_custom_target(install-compiler-rt-headers -diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt -index 2c486bff821b..0ee715da95f8 100644 ---- a/lib/dfsan/CMakeLists.txt -+++ b/lib/dfsan/CMakeLists.txt -@@ -44,4 +44,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename} - DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt) - add_dependencies(dfsan dfsan_abilist) - install(FILES ${dfsan_abilist_filename} -- DESTINATION ${COMPILER_RT_INSTALL_PATH}) -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX}) diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix deleted file mode 100644 index 3e78f5461e3f..000000000000 --- a/pkgs/development/compilers/llvm/6/default.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ lowPrio, newScope, pkgs, lib, stdenv, cmake, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith -, buildLlvmTools # tools, but from the previous stage, for cross -, targetLlvmLibraries # libraries, but from the next stage, for cross -, targetLlvm -}: - -let - release_version = "6.0.1"; - version = release_version; # differentiating these is important for rc's - - fetch = name: sha256: fetchurl { - url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz"; - inherit sha256; - }; - - clang-tools-extra_src = fetch "clang-tools-extra" "1w8ml7fyn4vyxmy59n2qm4r1k1kgwgwkaldp6m45fdv4g0kkfbhd"; - - inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta; - - tools = lib.makeExtensible (tools: let - callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; }); - mkExtraBuildCommands = cc: '' - rsrc="$out/resource-root" - mkdir "$rsrc" - ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc" - echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags - ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" - ''; - - in { - - libllvm = callPackage ./llvm { - inherit llvm_meta; - }; - - # `llvm` historically had the binaries. When choosing an output explicitly, - # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* - llvm = tools.libllvm; - - libllvm-polly = callPackage ./llvm { - inherit llvm_meta; - enablePolly = true; - }; - - llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; }; - - libclang = callPackage ./clang { - inherit clang-tools-extra_src llvm_meta; - }; - - clang-unwrapped = tools.libclang; - - llvm-manpages = lowPrio (tools.libllvm.override { - enableManpages = true; - enableSharedLibraries = false; - python3 = pkgs.python3; # don't use python-boot - }); - - clang-manpages = lowPrio (tools.libclang.override { - enableManpages = true; - python3 = pkgs.python3; # don't use python-boot - }); - - # pick clang appropriate for package set we are targeting - clang = - /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc - else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM - else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang - else tools.libcxxClang; - - libstdcxxClang = wrapCCWith rec { - cc = tools.clang-unwrapped; - # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper. - libcxx = null; - extraPackages = [ - targetLlvmLibraries.compiler-rt - ]; - extraBuildCommands = mkExtraBuildCommands cc; - }; - - libcxxClang = wrapCCWith rec { - cc = tools.clang-unwrapped; - libcxx = targetLlvmLibraries.libcxx; - extraPackages = [ - libcxx.cxxabi - targetLlvmLibraries.compiler-rt - ]; - extraBuildCommands = mkExtraBuildCommands cc; - }; - - lld = callPackage ./lld { - inherit llvm_meta; - }; - - lldb = callPackage ./lldb { - inherit llvm_meta; - }; - }); - - libraries = lib.makeExtensible (libraries: let - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); - in { - - compiler-rt = callPackage ./compiler-rt { - inherit llvm_meta; - }; - - stdenv = overrideCC stdenv buildLlvmTools.clang; - - libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - - libcxx = callPackage ./libcxx { - inherit llvm_meta; - }; - - libcxxabi = callPackage ./libcxxabi { - inherit llvm_meta; - }; - - openmp = callPackage ./openmp { - inherit llvm_meta targetLlvm; - }; - }); - noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; - -in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools) diff --git a/pkgs/development/compilers/llvm/6/libcxx/default.nix b/pkgs/development/compilers/llvm/6/libcxx/default.nix deleted file mode 100644 index 0fc31d43cfa1..000000000000 --- a/pkgs/development/compilers/llvm/6/libcxx/default.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi -, libcxxabi, libcxxrt -}: - -assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi"; - -stdenv.mkDerivation { - pname = "libcxx"; - inherit version; - - src = fetch "libcxx" "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"; - - postUnpack = '' - unpackFile ${libcxxabi.src} - export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" - ''; - - outputs = [ "out" "dev" ]; - - patches = [ - ./gnu-install-dirs.patch - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - ../../libcxx-0001-musl-hacks.patch - ]; - - # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz" - postPatch = '' - substituteInPlace include/__config \ - --replace "#define _LIBCPP_USE_AVAILABILITY_APPLE" "" - ''; - - prePatch = '' - substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" - ''; - - preConfigure = '' - # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package - cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR") - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - nativeBuildInputs = [ cmake ] - ++ lib.optional stdenv.hostPlatform.isMusl python3 - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ cxxabi ]; - - cmakeFlags = [ - "-DLIBCXX_LIBCPPABI_VERSION=2" - "-DLIBCXX_CXX_ABI=${cxxabi.pname}" - ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1" - ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"; - - preInstall = lib.optionalString (stdenv.isDarwin) '' - for file in lib/*.dylib; do - if [ -L "$file" ]; then continue; fi - - baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1)) - installName="$out/lib/$baseName" - abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/') - - for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do - ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file - done - done - ''; - - passthru = { - isLLVM = true; - inherit cxxabi; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/6/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/libcxx/gnu-install-dirs.patch deleted file mode 100644 index 33ff9ef123a4..000000000000 --- a/pkgs/development/compilers/llvm/6/libcxx/gnu-install-dirs.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9e8e9d5e3d9b..e1d6d2392b92 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -22,6 +22,8 @@ set(CMAKE_MODULE_PATH - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - project(libcxx CXX C) - -+ include(GNUInstallDirs) -+ - set(PACKAGE_NAME libcxx) - set(PACKAGE_VERSION 6.0.0) - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake -index 558e11ba2cc1..c6a99cec0191 100644 ---- a/cmake/Modules/HandleLibCXXABI.cmake -+++ b/cmake/Modules/HandleLibCXXABI.cmake -@@ -55,7 +55,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs) - ) - if (LIBCXX_INSTALL_HEADERS) - install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" -- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1/${dstdir} -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir} - COMPONENT cxx-headers - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - ) -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index b98e09260ca1..c920f48697bc 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -20,7 +20,7 @@ endif() - - if (LIBCXX_INSTALL_HEADERS) - install(DIRECTORY . -- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1 -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 - COMPONENT cxx-headers - FILES_MATCHING - ${LIBCXX_HEADER_PATTERN} -@@ -44,7 +44,7 @@ if (LIBCXX_INSTALL_HEADERS) - set(generated_config_deps generate_config_header) - # Install the generated header as __config. - install(FILES ${LIBCXX_BINARY_DIR}/__generated_config -- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1 -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - RENAME __config - COMPONENT cxx-headers) -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index aa5ebf1568ec..36d85b94c3ba 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -357,8 +357,8 @@ if (LIBCXX_INSTALL_LIBRARY) - set(experimental_lib cxx_experimental) - endif() - install(TARGETS ${LIBCXX_TARGETS} ${experimental_lib} -- LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx -- ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx -+ LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx -+ ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx - ) - # NOTE: This install command must go after the cxx install command otherwise - # it will not be executed after the library symlinks are installed. -@@ -366,7 +366,7 @@ if (LIBCXX_INSTALL_LIBRARY) - # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx> - # after we required CMake 3.0. - install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" -- DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} -+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} - COMPONENT libcxx) - endif() - endif() diff --git a/pkgs/development/compilers/llvm/6/libcxxabi/default.nix b/pkgs/development/compilers/llvm/6/libcxxabi/default.nix deleted file mode 100644 index 0821dbdae06d..000000000000 --- a/pkgs/development/compilers/llvm/6/libcxxabi/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }: - -stdenv.mkDerivation { - pname = "libcxxabi"; - inherit version; - - src = fetch "libcxxabi" "0prqvdj317qrc8nddaq1hh2ag9algkd9wbkj3y4mr5588k12x7r0"; - - outputs = [ "out" "dev" ]; - - postUnpack = '' - unpackFile ${libcxx.src} - unpackFile ${llvm.src} - export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)" - '' + lib.optionalString stdenv.isDarwin '' - export TRIPLE=x86_64-apple-darwin - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch} - ''; - - patches = [ - ./gnu-install-dirs.patch - ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = lib.optional (!stdenv.isDarwin) libunwind; - - preInstall = lib.optionalString stdenv.isDarwin '' - for file in lib/*.dylib; do - if [ -L "$file" ]; then continue; fi - - # Fix up the install name. Preserve the basename, just replace the path. - installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))" - - # this should be done in CMake, but having trouble figuring out - # the magic combination of necessary CMake variables - # if you fancy a try, take a look at - # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling - ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file - - # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes - # libcxxabi to sometimes link against a different version of itself. - # Here we simply make that second reference point to ourselves. - for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do - ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file - done - done - ''; - - postInstall = '' - mkdir -p "$dev/include" - install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" - ''; - - passthru = { - libName = "c++abi"; - }; - - meta = llvm_meta // { - homepage = "https://libcxxabi.llvm.org/"; - description = "Provides C++ standard library support"; - longDescription = '' - libc++abi is a new implementation of low level support for a standard C++ library. - ''; - # "All of the code in libc++abi is dual licensed under the MIT license and - # the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; - }; -} diff --git a/pkgs/development/compilers/llvm/6/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/libcxxabi/gnu-install-dirs.patch deleted file mode 100644 index 649d28d6c459..000000000000 --- a/pkgs/development/compilers/llvm/6/libcxxabi/gnu-install-dirs.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1adbdb338322..2978631e1c58 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - project(libcxxabi CXX C) - -+ include(GNUInstallDirs) -+ - set(PACKAGE_NAME libcxxabi) - set(PACKAGE_VERSION 6.0.0) - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 240f6d0d103b..7ad5c31ec7b4 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -181,8 +181,8 @@ add_custom_target(cxxabi DEPENDS ${LIBCXXABI_TARGETS}) - - if (LIBCXXABI_INSTALL_LIBRARY) - install(TARGETS ${LIBCXXABI_TARGETS} -- LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi -- ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi -+ LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi -+ ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi - ) - endif() - diff --git a/pkgs/development/compilers/llvm/6/lld/default.nix b/pkgs/development/compilers/llvm/6/lld/default.nix deleted file mode 100644 index a2a011c59b53..000000000000 --- a/pkgs/development/compilers/llvm/6/lld/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ lib, stdenv, llvm_meta -, buildLlvmTools -, fetch -, cmake -, libxml2 -, libllvm -, version -}: - -stdenv.mkDerivation rec { - pname = "lld"; - inherit version; - - src = fetch pname "04afcfq2h7ysyqxxhyhb7ig4p0vdw7mi63kh8mffl74j0rc781p7"; - - patches = [ - ./gnu-install-dirs.patch - ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ libllvm libxml2 ]; - - cmakeFlags = [ - "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - ]; - - # Musl's default stack size is too small for lld to be able to link Firefox. - LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152"; - - outputs = [ "out" "lib" "dev" ]; - - meta = llvm_meta // { - homepage = "https://lld.llvm.org/"; - description = "The LLVM linker (unwrapped)"; - longDescription = '' - LLD is a linker from the LLVM project that is a drop-in replacement for - system linkers and runs much faster than them. It also provides features - that are useful for toolchain developers. - The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS) - in descending order of completeness. Internally, LLD consists - of several different linkers. - ''; - }; -} diff --git a/pkgs/development/compilers/llvm/6/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/lld/gnu-install-dirs.patch deleted file mode 100644 index 8c6886c68907..000000000000 --- a/pkgs/development/compilers/llvm/6/lld/gnu-install-dirs.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e2fbdbfbbb47..d601b231ebb8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(CMAKE_INCLUDE_CURRENT_DIR ON) - set(LLD_BUILT_STANDALONE TRUE) - -+ include(GNUInstallDirs) -+ - find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary") - if(NOT LLVM_CONFIG_PATH) - message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH") -@@ -203,7 +205,7 @@ include_directories(BEFORE - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE -diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake -index 0d951799cdfe..7d8546ba87f8 100644 ---- a/cmake/modules/AddLLD.cmake -+++ b/cmake/modules/AddLLD.cmake -@@ -20,9 +20,9 @@ macro(add_lld_library name) - install(TARGETS ${name} - COMPONENT ${name} - ${export_to_lldtargets} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- RUNTIME DESTINATION bin) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) - add_llvm_install_targets(install-${name} -@@ -54,7 +54,7 @@ macro(add_lld_tool name) - - install(TARGETS ${name} - ${export_to_lldtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) -@@ -69,5 +69,5 @@ endmacro() - macro(add_lld_symlink name dest) - add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) - # Always generate install targets -- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) -+ llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) - endmacro() -diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt -index d8829493fc22..df748a0e749b 100644 ---- a/tools/lld/CMakeLists.txt -+++ b/tools/lld/CMakeLists.txt -@@ -16,7 +16,7 @@ target_link_libraries(lld - ) - - install(TARGETS lld -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if(NOT LLD_SYMLINKS_TO_CREATE) - set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld ld64.lld wasm-ld) diff --git a/pkgs/development/compilers/llvm/6/lldb/default.nix b/pkgs/development/compilers/llvm/6/lldb/default.nix deleted file mode 100644 index c8d3c4c1a771..000000000000 --- a/pkgs/development/compilers/llvm/6/lldb/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ lib, stdenv, llvm_meta -, fetch -, fetchpatch -, cmake -, zlib -, ncurses -, swig -, which -, libedit -, libxml2 -, libllvm -, libclang -, python3 -, version -, darwin -}: - -stdenv.mkDerivation rec { - pname = "lldb"; - inherit version; - - src = fetch "lldb" "05178zkyh84x32n91md6wm22lkzzrrfwa5cpmgzn0yrg3y2771bb"; - - patches = [ - # Fix PythonString::GetString for >=python-3.7 - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/5457b426f5e15a29c0acc8af1a476132f8be2a36.patch"; - sha256 = "1zbx4m0m8kbg0wq6740jcw151vb2pb1p25p401wiq8diqqagkjps"; - stripLen = 1; - }) - ./gnu-install-dirs.patch - ]; - - postPatch = '' - # Fix up various paths that assume llvm and clang are installed in the same place - sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \ - cmake/modules/LLDBStandalone.cmake - sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \ - cmake/modules/LLDBStandalone.cmake - sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \ - cmake/modules/LLDBStandalone.cmake - ''; - - outputs = [ "out" "lib" "dev" ]; - - nativeBuildInputs = [ - cmake python3 which swig - ]; - - buildInputs = [ - ncurses zlib libedit libxml2 libllvm - ] ++ lib.optionals stdenv.isDarwin [ - darwin.libobjc - darwin.apple_sdk.libs.xpc - darwin.apple_sdk.frameworks.DebugSymbols darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa - ]; - - CXXFLAGS = "-fno-rtti"; - hardeningDisable = [ "format" ]; - - cmakeFlags = [ - "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}" - "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic - ] ++ lib.optionals doCheck [ - "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" - "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++" - ]; - - doCheck = false; - - postInstall = '' - mkdir -p $out/share/man/man1 - cp ../docs/lldb.1 $out/share/man/man1/ - ''; - - meta = llvm_meta // { - homepage = "https://lldb.llvm.org/"; - description = "A next-generation high-performance debugger"; - longDescription = '' - LLDB is a next generation, high-performance debugger. It is built as a set - of reusable components which highly leverage existing libraries in the - larger LLVM Project, such as the Clang expression parser and LLVM - disassembler. - ''; - # never built on aarch64-darwin since first introduction in nixpkgs - broken = stdenv.isDarwin && stdenv.isAarch64; - }; -} diff --git a/pkgs/development/compilers/llvm/6/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/lldb/gnu-install-dirs.patch deleted file mode 100644 index a240ecaab17d..000000000000 --- a/pkgs/development/compilers/llvm/6/lldb/gnu-install-dirs.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c6b082e104e5..568a99837e1f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,6 +7,8 @@ set(CMAKE_MODULE_PATH - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" - ) - -+include(GNUInstallDirs) -+ - include(LLDBStandalone) - include(LLDBConfig) - include(AddLLDB) -diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake -index 2fd8b384d9e3..4db5e786c493 100644 ---- a/cmake/modules/AddLLDB.cmake -+++ b/cmake/modules/AddLLDB.cmake -@@ -56,14 +56,14 @@ function(add_lldb_library name) - endif() - install(TARGETS ${name} - COMPONENT ${name} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${out_dir} - ARCHIVE DESTINATION ${out_dir}) - else() - install(TARGETS ${name} - COMPONENT ${name} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - endif() - if (NOT CMAKE_CONFIGURATION_TYPES) - add_llvm_install_targets(install-${name} -@@ -132,7 +132,7 @@ function(add_lldb_executable name) - if(ARG_GENERATE_INSTALL AND NOT (ARG_INCLUDE_IN_FRAMEWORK AND LLDB_BUILD_FRAMEWORK )) - install(TARGETS ${name} - COMPONENT ${name} -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - if (NOT CMAKE_CONFIGURATION_TYPES) - add_llvm_install_targets(install-${name} - DEPENDS ${name} -diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake -index 24878b5913f3..b9d27788bb87 100644 ---- a/cmake/modules/LLDBConfig.cmake -+++ b/cmake/modules/LLDBConfig.cmake -@@ -278,7 +278,7 @@ include_directories(BEFORE - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ - COMPONENT lldb-headers -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE -@@ -288,7 +288,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ - COMPONENT lldb-headers -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE -diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt -index b5316540fdf3..3c3c882d503f 100644 ---- a/tools/intel-features/CMakeLists.txt -+++ b/tools/intel-features/CMakeLists.txt -@@ -64,4 +64,4 @@ if (NOT LLDB_DISABLE_PYTHON AND LLDB_BUILD_INTEL_PT) - endif() - - install(TARGETS lldbIntelFeatures -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) diff --git a/pkgs/development/compilers/llvm/6/llvm/default.nix b/pkgs/development/compilers/llvm/6/llvm/default.nix deleted file mode 100644 index 72e43ba8d1fa..000000000000 --- a/pkgs/development/compilers/llvm/6/llvm/default.nix +++ /dev/null @@ -1,301 +0,0 @@ -{ lib, stdenv, llvm_meta -, pkgsBuildBuild -, fetch -, cmake -, python3 -, libffi -, enableGoldPlugin ? libbfd.hasPluginAPI -, libbfd -, libxml2 -, ncurses -, version -, release_version -, zlib -, buildLlvmTools -, fetchpatch -, doCheck ? stdenv.isLinux && (!stdenv.isi686) - && (stdenv.hostPlatform == stdenv.buildPlatform) -, debugVersion ? false -, enableManpages ? false -, enableSharedLibraries ? !stdenv.hostPlatform.isStatic -, enablePolly ? false -}: - -let - inherit (lib) optional optionals optionalString; - - # Used when creating a versioned symlinks of libLLVM.dylib - versionSuffixes = with lib; - let parts = splitVersion release_version; in - imap (i: _: concatStringsSep "." (take i parts)) parts; - - # Ordinarily we would just the `doCheck` and `checkDeps` functionality - # `mkDerivation` gives us to manage our test dependencies (instead of breaking - # out `doCheck` as a package level attribute). - # - # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in - # particular the children it uses to do feature detection. - # - # This means that python deps we add to `checkDeps` (which the python - # interpreter is made aware of via `$PYTHONPATH` – populated by the python - # setup hook) are not picked up by `lit` which causes it to skip tests. - # - # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work - # because this package is shadowed in `$PATH` by the regular `python3` - # package. - # - # So, we "manually" assemble one python derivation for the package to depend - # on, taking into account whether checks are enabled or not: - python = if doCheck then - let - checkDeps = ps: with ps; [ psutil ]; - in python3.withPackages checkDeps - else python3; -in - -stdenv.mkDerivation (rec { - pname = "llvm"; - inherit version; - - src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"; - polly_src = fetch "polly" "1k2frwg5mkqh0raia8xf69h3jhdw7a5nxd6vjscjn44cdkgmyxp7"; - - unpackPhase = '' - unpackFile $src - mv llvm-${version}* llvm - sourceRoot=$PWD/llvm - '' + optionalString enablePolly '' - unpackFile $polly_src - mv polly-* $sourceRoot/tools/polly - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - nativeBuildInputs = [ cmake python ] - ++ optional enableManpages python3.pkgs.sphinx; - - buildInputs = [ libxml2 libffi ]; - - propagatedBuildInputs = [ ncurses zlib ]; - - patches = [ - # Patches to fix tests, included in llvm_7 - (fetchpatch { - url = "https://github.com/llvm-mirror/llvm/commit/737553be0c9c25c497b45a241689994f177d5a5d.patch"; - sha256 = "0hnaxnkx7zy5yg98f1ggv8a9l0r6g19n6ygqsv26masrnlcbccli"; - }) - (fetchpatch { - url = "https://github.com/llvm-mirror/llvm/commit/1c0dd31a7837c3e2f1c4ac14e4d5ac640688bd1f.patch"; - includes = [ "test/tools/gold/X86/common.ll" ]; - sha256 = "0fxgrxmfnjx17w3lcq19rk68b2xksh1bynz3ina784kma7hp4wdb"; - }) - - # When cross-compiling we configure llvm-config-native with an approximation - # of the flags used for the normal LLVM build. To avoid the need for building - # a native libLLVM.so (which would fail) we force llvm-config to be linked - # statically against the necessary LLVM components always. - ../../llvm-config-link-static.patch - - ./gnu-install-dirs.patch - - # Fix invalid std::string(nullptr) for GCC 12 - (fetchpatch { - name = "nvptx-gcc-12.patch"; - url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch"; - sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3"; - stripLen = 1; - }) - - ../../llvm-7-musl.patch - ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; - - postPatch = optionalString stdenv.isDarwin '' - substituteInPlace cmake/modules/AddLLVM.cmake \ - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ - --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' "" - '' + '' - # FileSystem permissions tests fail with various special bits - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" - rm unittests/Support/Path.cpp - '' + optionalString stdenv.hostPlatform.isMusl '' - patch -p1 -i ${../../TLI-musl.patch} - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "add_subdirectory(DynamicLibrary)" "" - rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp - '' + '' - # Tweak tests to ignore namespace part of type to support - # gcc-12: https://gcc.gnu.org/PR103598. - # The change below mangles strings like: - # CHECK-NEXT: Starting llvm::Function pass manager run. - # to: - # CHECK-NEXT: Starting {{.*}}Function pass manager run. - for f in \ - test/Other/new-pass-manager.ll \ - test/Other/new-pm-defaults.ll \ - test/Other/new-pm-lto-defaults.ll \ - test/Other/new-pm-thinlto-defaults.ll \ - test/Other/pass-pipeline-parsing.ll \ - test/Transforms/Inline/cgscc-incremental-invalidate.ll \ - test/Transforms/Inline/clear-analyses.ll \ - test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \ - test/Transforms/SROA/dead-inst.ll \ - ; do - echo "PATCH: $f" - substituteInPlace $f \ - --replace 'Starting llvm::' 'Starting {{.*}}' \ - --replace 'Finished llvm::' 'Finished {{.*}}' - done - ''; - - preConfigure = '' - # Workaround for configure flags that need to have spaces - cmakeFlagsArray+=( - -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar' - ) - ''; - - # hacky fix: created binaries need to be run before installation - preBuild = '' - mkdir -p $out/ - ln -sv $PWD/lib $out - ''; - - cmakeBuildType = if debugVersion then "Debug" else "Release"; - - cmakeFlags = with stdenv; let - # These flags influence llvm-config's BuildVariables.inc in addition to the - # general build. We need to make sure these are also passed via - # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native - # will return different results from the cross llvm-config. - # - # Some flags don't need to be repassed because LLVM already does so (like - # CMAKE_BUILD_TYPE), others are irrelevant to the result. - flagsForLlvmConfig = [ - "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ optionals enableSharedLibraries [ - "-DLLVM_LINK_LLVM_DYLIB=ON" - ]; - in flagsForLlvmConfig ++ [ - "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc - "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - "-DLLVM_ENABLE_DUMP=ON" - ] ++ optionals enableManpages [ - "-DLLVM_BUILD_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (enableGoldPlugin) [ - "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ] ++ optionals (isDarwin) [ - "-DLLVM_ENABLE_LIBCXX=ON" - "-DCAN_TARGET_i386=false" - ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DCMAKE_CROSSCOMPILING=True" - "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen" - ( - let - nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; - nativeBintools = nativeCC.bintools.bintools; - nativeToolchainFlags = [ - "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc" - "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++" - "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar" - "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip" - "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib" - ]; - # We need to repass the custom GNUInstallDirs values, otherwise CMake - # will choose them for us, leading to wrong results in llvm-config-native - nativeInstallFlags = [ - "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" - "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin" - "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include" - "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib" - "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec" - ]; - in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=" - + lib.concatStringsSep ";" (lib.concatLists [ - flagsForLlvmConfig - nativeToolchainFlags - nativeInstallFlags - ]) - ) - ]; - - postBuild = '' - rm -fR $out - ''; - - preCheck = '' - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib - ''; - - postInstall = '' - mkdir -p $python/share - mv $out/share/opt-viewer $python/share/opt-viewer - moveToOutput "bin/llvm-config*" "$dev" - substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ - --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \ - --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" - substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \ - --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")' - '' - + optionalString (stdenv.isDarwin && enableSharedLibraries) '' - ${lib.concatMapStringsSep "\n" (v: '' - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib - '') versionSuffixes} - '' - + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native - ''; - - inherit doCheck; - - checkTarget = "check-all"; - - requiredSystemFeatures = [ "big-parallel" ]; - meta = llvm_meta // { - homepage = "https://llvm.org/"; - description = "A collection of modular and reusable compiler and toolchain technologies"; - longDescription = '' - The LLVM Project is a collection of modular and reusable compiler and - toolchain technologies. Despite its name, LLVM has little to do with - traditional virtual machines. The name "LLVM" itself is not an acronym; it - is the full name of the project. - LLVM began as a research project at the University of Illinois, with the - goal of providing a modern, SSA-based compilation strategy capable of - supporting both static and dynamic compilation of arbitrary programming - languages. Since then, LLVM has grown to be an umbrella project consisting - of a number of subprojects, many of which are being used in production by - a wide variety of commercial and open source projects as well as being - widely used in academic research. Code in the LLVM project is licensed - under the "Apache 2.0 License with LLVM exceptions". - ''; - }; -} // lib.optionalAttrs enableManpages { - pname = "llvm-manpages"; - - buildPhase = '' - make docs-llvm-man - ''; - - propagatedBuildInputs = []; - - installPhase = '' - make -C docs install - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man pages for LLVM ${version}"; - }; -}) diff --git a/pkgs/development/compilers/llvm/6/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/6/llvm/gnu-install-dirs-polly.patch deleted file mode 100644 index b4fda24a55f3..000000000000 --- a/pkgs/development/compilers/llvm/6/llvm/gnu-install-dirs-polly.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt -index 9ddc0f7ff81d..7ca45f286d47 100644 ---- a/tools/polly/CMakeLists.txt -+++ b/tools/polly/CMakeLists.txt -@@ -2,7 +2,11 @@ - if (NOT DEFINED LLVM_MAIN_SRC_DIR) - project(Polly) - cmake_minimum_required(VERSION 3.4.3) -+endif() -+ -+include(GNUInstallDirs) - -+if (NOT DEFINED LLVM_MAIN_SRC_DIR) - # Where is LLVM installed? - find_package(LLVM CONFIG REQUIRED) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) -@@ -157,14 +161,14 @@ include_directories( - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".svn" EXCLUDE - ) - - install(DIRECTORY ${POLLY_BINARY_DIR}/include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "CMakeFiles" EXCLUDE -diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt -index 969292cd6b00..d7aea77bdd20 100644 ---- a/tools/polly/cmake/CMakeLists.txt -+++ b/tools/polly/cmake/CMakeLists.txt -@@ -79,18 +79,18 @@ file(GENERATE - - # Generate PollyConfig.cmake for the install tree. - unset(POLLY_EXPORTS) --set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -+set(POLLY_INSTALL_PREFIX "") - set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") --set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") --set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") -+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") -+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - if (POLLY_BUNDLED_ISL) - set(POLLY_CONFIG_INCLUDE_DIRS -- "${POLLY_INSTALL_PREFIX}/include" -- "${POLLY_INSTALL_PREFIX}/include/polly" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" - ) - else() - set(POLLY_CONFIG_INCLUDE_DIRS -- "${POLLY_INSTALL_PREFIX}/include" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" - ${ISL_INCLUDE_DIRS} - ) - endif() -@@ -100,12 +100,12 @@ endif() - foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) - get_target_property(tgt_type ${tgt} TYPE) - if (tgt_type STREQUAL "EXECUTABLE") -- set(tgt_prefix "bin/") -+ set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") - else() -- set(tgt_prefix "lib/") -+ set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") - endif() - -- set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") -+ set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") - file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) - - if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") -diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake -index 32bed50bb060..cca5bfff4970 100644 ---- a/tools/polly/cmake/polly_macros.cmake -+++ b/tools/polly/cmake/polly_macros.cmake -@@ -44,8 +44,8 @@ macro(add_polly_library name) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly") - install(TARGETS ${name} - EXPORT LLVMExports -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - endmacro(add_polly_library) -diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt -index b3c6e73a7a00..c67acf8576c7 100644 ---- a/tools/polly/lib/External/CMakeLists.txt -+++ b/tools/polly/lib/External/CMakeLists.txt -@@ -268,7 +268,7 @@ if (POLLY_BUNDLED_ISL) - install(DIRECTORY - ${ISL_SOURCE_DIR}/include/ - ${ISL_BINARY_DIR}/include/ -- DESTINATION include/polly -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly - FILES_MATCHING - PATTERN "*.h" - PATTERN "CMakeFiles" EXCLUDE diff --git a/pkgs/development/compilers/llvm/6/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/6/llvm/gnu-install-dirs.patch deleted file mode 100644 index 987f97210fb8..000000000000 --- a/pkgs/development/compilers/llvm/6/llvm/gnu-install-dirs.patch +++ /dev/null @@ -1,386 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f8da6cf92119..881e4cda4971 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -271,15 +271,21 @@ if (CMAKE_BUILD_TYPE AND - message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") - endif() - -+include(GNUInstallDirs) -+ - set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) - --set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") -+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING -+ "Path for binary subdirectory (defaults to 'bin')") - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) - - set(LLVM_UTILS_INSTALL_DIR "bin" CACHE STRING - "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)") - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) - -+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING -+ "Path for CMake subdirectory (defaults to lib/cmake/llvm)" ) -+ - # They are used as destination of target generators. - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) - set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) -@@ -510,9 +516,9 @@ option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OF - option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) - option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON) - --set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html" -+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html" - CACHE STRING "Doxygen-generated HTML documentation install directory") --set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html" -+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html" - CACHE STRING "OCamldoc-generated HTML documentation install directory") - - option (LLVM_BUILD_EXTERNAL_COMPILER_RT -@@ -944,7 +950,7 @@ endif() - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/llvm include/llvm-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "*.def" -@@ -956,7 +962,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "*.def" -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index fd5627eecbb2..29e09c6f3f8a 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -621,11 +621,11 @@ macro(add_llvm_library name) - else() - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR - (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM")) -- set(install_dir lib${LLVM_LIBDIR_SUFFIX}) -+ set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(ARG_SHARED OR BUILD_SHARED_LIBS) - if(WIN32 OR CYGWIN OR MINGW) - set(install_type RUNTIME) -- set(install_dir bin) -+ set(install_dir ${CMAKE_INSTALL_BINDIR}) - else() - set(install_type LIBRARY) - endif() -@@ -667,9 +667,9 @@ macro(add_llvm_loadable_module name) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - if(WIN32 OR CYGWIN) - # DLL platform -- set(dlldir "bin") -+ set(dlldir "${CMAKE_INSTALL_BINDIR}") - else() -- set(dlldir "lib${LLVM_LIBDIR_SUFFIX}") -+ set(dlldir "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - endif() - - if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR -@@ -681,7 +681,7 @@ macro(add_llvm_loadable_module name) - install(TARGETS ${name} - ${export_to_llvmexports} - LIBRARY DESTINATION ${dlldir} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - endif() -@@ -892,7 +892,7 @@ macro(add_llvm_example name) - endif() - add_llvm_executable(${name} ${ARGN}) - if( LLVM_BUILD_EXAMPLES ) -- install(TARGETS ${name} RUNTIME DESTINATION examples) -+ install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) - endif() - set_target_properties(${name} PROPERTIES FOLDER "Examples") - endmacro(add_llvm_example name) -@@ -1410,7 +1410,7 @@ function(llvm_install_library_symlink name dest type) - set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) - set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) - -- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) -+ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(WIN32 AND "${type}" STREQUAL "SHARED") - set(output_dir bin) - endif() -@@ -1426,7 +1426,7 @@ function(llvm_install_library_symlink name dest type) - endif() - endfunction() - --function(llvm_install_symlink name dest) -+function(llvm_install_symlink name dest output_dir) - cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN}) - foreach(path ${CMAKE_MODULE_PATH}) - if(EXISTS ${path}/LLVMInstallSymlink.cmake) -@@ -1449,7 +1449,7 @@ function(llvm_install_symlink name dest) - set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) - - install(SCRIPT ${INSTALL_SYMLINK} -- CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" -+ CODE "install_symlink(${full_name} ${full_dest} ${output_dir})" - COMPONENT ${component}) - - if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE) -@@ -1531,7 +1531,8 @@ function(add_llvm_tool_symlink link_name target) - endif() - - if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS) -- llvm_install_symlink(${link_name} ${target}) -+ GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR) -+ llvm_install_symlink(${link_name} ${target} ${output_dir}) - endif() - endif() - endfunction() -@@ -1583,9 +1584,9 @@ function(llvm_setup_rpath name) - - if (APPLE) - set(_install_name_dir INSTALL_NAME_DIR "@rpath") -- set(_install_rpath "@loader_path/../lib" ${extra_libdir}) -+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir}) - elseif(UNIX) -- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) - if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") - set_property(TARGET ${name} APPEND_STRING PROPERTY - LINK_FLAGS " -Wl,-z,origin ") -diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake -index 02bab6846376..eff26adb2efc 100644 ---- a/cmake/modules/AddOCaml.cmake -+++ b/cmake/modules/AddOCaml.cmake -@@ -140,9 +140,9 @@ function(add_ocaml_library name) - endforeach() - - if( APPLE ) -- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - elseif( UNIX ) -- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - endif() - list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") - -diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake -index 22e3dcb776aa..ba77b9c195e2 100644 ---- a/cmake/modules/AddSphinxTarget.cmake -+++ b/cmake/modules/AddSphinxTarget.cmake -@@ -73,7 +73,7 @@ function (add_sphinx_target builder project) - - elseif (builder STREQUAL html) - string(TOUPPER "${project}" project_upper) -- set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html" -+ set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html" - CACHE STRING "HTML documentation install directory for ${project}") - - # '/.' indicates: copy the contents of the directory directly into -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index 6074e8358594..9d0be6c2ced5 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -1,4 +1,4 @@ --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')") - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - # First for users who use an installed LLVM, create the LLVMExports.cmake file. -@@ -84,11 +84,11 @@ foreach(p ${_count}) - set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE} - get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)") - endforeach(p) --set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include") --set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}") -+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") -+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") - set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") - set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") --set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") -+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") - set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") - set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") - configure_file( -diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake -index 482697b06baf..af2ac1e6c979 100644 ---- a/cmake/modules/LLVMInstallSymlink.cmake -+++ b/cmake/modules/LLVMInstallSymlink.cmake -@@ -10,7 +10,7 @@ function(install_symlink name target outdir) - set(LINK_OR_COPY copy) - endif() - -- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/") -+ set(bindir "${DESTDIR}${outdir}/") - - message("Creating ${name}") - -diff --git a/docs/CMake.rst b/docs/CMake.rst -index 05edec64da33..6db014f04656 100644 ---- a/docs/CMake.rst -+++ b/docs/CMake.rst -@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``. - **LLVM_LIBDIR_SUFFIX**:STRING - Extra suffix to append to the directory where libraries are to be - installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` -- to install libraries to ``/usr/lib64``. -+ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``. - - **CMAKE_C_FLAGS**:STRING - Extra flags to use when compiling C source files. -@@ -465,8 +465,8 @@ LLVM-specific variables - - **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING - The path to install Doxygen-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/doxygen-html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`. - - **LLVM_ENABLE_SPHINX**:BOOL - If specified, CMake will search for the ``sphinx-build`` executable and will make -@@ -497,13 +497,33 @@ LLVM-specific variables - - **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING - The path to install Sphinx-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/html`. - - **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING - The path to install OCamldoc-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/ocaml-html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`. -+ -+**CMAKE_INSTALL_BINDIR**:STRING -+ The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `bin`. -+ -+**CMAKE_INSTALL_LIBDIR**:STRING -+ The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `lib`. -+ -+**CMAKE_INSTALL_INCLUDEDIR**:STRING -+ The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `include`. -+ -+**CMAKE_INSTALL_DOCDIR**:STRING -+ The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `share/doc`. -+ -+**CMAKE_INSTALL_MANDIR**:STRING -+ The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `share/man`. - - **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL - OS X Only: If enabled CMake will generate a target named -@@ -660,9 +680,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``). - - This file is available in two different locations. - --* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where -- ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM. -- On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. -+* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where -+ ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are -+ installed as part of an installed version of LLVM. This is typically -+ ``cmake/llvm/`` within the lib directory. On Linux, this is typically -+ ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. - - * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where - ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only -diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt -index 1d5ca3ba92b0..026f5453c1da 100644 ---- a/include/llvm/CMakeLists.txt -+++ b/include/llvm/CMakeLists.txt -@@ -4,5 +4,5 @@ add_subdirectory(Support) - # If we're doing an out-of-tree build, copy a module map for generated - # header files into the build area. - if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -- configure_file(module.modulemap.build module.modulemap COPYONLY) -+ configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY) - endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in -index f201e1f7bff0..4582ed556a02 100644 ---- a/tools/llvm-config/BuildVariables.inc.in -+++ b/tools/llvm-config/BuildVariables.inc.in -@@ -24,6 +24,10 @@ - #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" - #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" -+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@" -+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" -+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" -+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@" - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" - #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" - #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@" -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 08b096afb052..2deae0dcfacc 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -332,12 +332,26 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -- ActiveIncludeDir = ActivePrefix + "/include"; -- SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); -- sys::fs::make_absolute(ActivePrefix, path); -- ActiveBinDir = path.str(); -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveIncludeDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveBinDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveLibDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveCMakeDir = std::string(path.str()); -+ } - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - -diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt -index 6e913519a809..85641eef721f 100644 ---- a/tools/lto/CMakeLists.txt -+++ b/tools/lto/CMakeLists.txt -@@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports) - add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen) - - install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h -- DESTINATION include/llvm-c -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c - COMPONENT LTO) - - if (APPLE) -diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt -index 19b606933082..27b9f71b3d79 100644 ---- a/tools/opt-viewer/CMakeLists.txt -+++ b/tools/opt-viewer/CMakeLists.txt -@@ -8,6 +8,6 @@ set (files - - foreach (file ${files}) - install(PROGRAMS ${file} -- DESTINATION share/opt-viewer -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer - COMPONENT opt-viewer) - endforeach (file) diff --git a/pkgs/development/compilers/llvm/6/openmp/default.nix b/pkgs/development/compilers/llvm/6/openmp/default.nix deleted file mode 100644 index fa07c650970f..000000000000 --- a/pkgs/development/compilers/llvm/6/openmp/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, stdenv -, llvm_meta -, fetch -, cmake -, llvm -, targetLlvm -, perl -, version -}: - -stdenv.mkDerivation { - pname = "openmp"; - inherit version; - - src = fetch "openmp" "0nhwfba9c351r16zgyjyfwdayr98nairky3c2f0b2lc360mwmbv6"; - - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ - (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm) - ]; - - meta = llvm_meta // { - homepage = "https://openmp.llvm.org/"; - description = "Support for the OpenMP language"; - longDescription = '' - The OpenMP subproject of LLVM contains the components required to build an - executable OpenMP program that are outside the compiler itself. - Contains the code for the runtime library against which code compiled by - "clang -fopenmp" must be linked before it can run and the library that - supports offload to target devices. - ''; - # "All of the code is dual licensed under the MIT license and the UIUC - # License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/common/bintools.nix b/pkgs/development/compilers/llvm/common/bintools.nix index a60060e86891..85b570d976ae 100644 --- a/pkgs/development/compilers/llvm/common/bintools.nix +++ b/pkgs/development/compilers/llvm/common/bintools.nix @@ -8,6 +8,7 @@ runCommand "llvm-binutils-${version}" preferLocalBuild = true; passthru = { isLLVM = true; + inherit targetPrefix; }; } ('' diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index 70d46dc46061..1b5f21ddef79 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -147,7 +147,7 @@ in { ln -sf $out/nim/bin/nim $out/bin/nim ln -sf $out/nim/lib $out/lib ./install.sh $out - cp -a tools $out/nim/ + cp -a tools dist $out/nim/ runHook postInstall ''; diff --git a/pkgs/development/cuda-modules/generic-builders/manifest.nix b/pkgs/development/cuda-modules/generic-builders/manifest.nix index 5a4c5280d7db..5cde8552effc 100644 --- a/pkgs/development/cuda-modules/generic-builders/manifest.nix +++ b/pkgs/development/cuda-modules/generic-builders/manifest.nix @@ -26,6 +26,7 @@ redistribRelease, # See ./modules/generic/manifests/feature/release.nix featureRelease, + cudaMajorMinorVersion, }: let inherit (lib) @@ -98,7 +99,7 @@ backendStdenv.mkDerivation ( outputToPatterns = { bin = [ "bin" ]; dev = [ - "share/pkg-config" + "share/pkgconfig" "**/*.pc" "**/*.cmake" ]; @@ -127,22 +128,34 @@ backendStdenv.mkDerivation ( sha256 = redistribRelease.${redistArch}.sha256 or lib.fakeHash; }; + # Handle the pkg-config files: + # 1. No FHS + # 2. Location expected by the pkg-config wrapper + # 3. Generate unversioned names too postPatch = '' - if [[ -d pkg-config ]] ; then - mkdir -p share/pkg-config - mv pkg-config/* share/pkg-config/ - rmdir pkg-config - fi + for path in pkg-config pkgconfig ; do + [[ -d "$path" ]] || continue + mkdir -p share/pkgconfig + mv "$path"/* share/pkgconfig/ + rmdir "$path" + done - for pc in share/pkg-config/*.pc ; do + for pc in share/pkgconfig/*.pc ; do sed -i \ -e "s|^cudaroot\s*=.*\$|cudaroot=''${!outputDev}|" \ -e "s|^libdir\s*=.*/lib\$|libdir=''${!outputLib}/lib|" \ -e "s|^includedir\s*=.*/include\$|includedir=''${!outputDev}/include|" \ "$pc" done + + # E.g. cuda-11.8.pc -> cuda.pc + for pc in share/pkgconfig/*-"$majorMinorVersion.pc" ; do + ln -s "$(basename "$pc")" "''${pc%-$majorMinorVersion.pc}".pc + done ''; + env.majorMinorVersion = cudaMajorMinorVersion; + # We do need some other phases, like configurePhase, so the multiple-output setup hook works. dontBuild = true; diff --git a/pkgs/development/cuda-modules/setup-hooks/auto-add-cuda-compat-runpath.sh b/pkgs/development/cuda-modules/setup-hooks/auto-add-cuda-compat-runpath.sh index 537daad2f00e..ae25cebaca6f 100644 --- a/pkgs/development/cuda-modules/setup-hooks/auto-add-cuda-compat-runpath.sh +++ b/pkgs/development/cuda-modules/setup-hooks/auto-add-cuda-compat-runpath.sh @@ -10,7 +10,7 @@ elfHasDynamicSection() { autoAddCudaCompatRunpathPhase() ( local outputPaths mapfile -t outputPaths < <(for o in $(getAllOutputNames); do echo "${!o}"; done) - find "${outputPaths[@]}" -type f -executable -print0 | while IFS= read -rd "" f; do + find "${outputPaths[@]}" -type f -print0 | while IFS= read -rd "" f; do if isELF "$f"; then # patchelf returns an error on statically linked ELF files if elfHasDynamicSection "$f" ; then diff --git a/pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh b/pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh index f50a5f6c25c6..a6eeef7c7699 100644 --- a/pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh +++ b/pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh @@ -9,7 +9,7 @@ elfHasDynamicSection() { autoAddOpenGLRunpathPhase() ( local outputPaths mapfile -t outputPaths < <(for o in $(getAllOutputNames); do echo "${!o}"; done) - find "${outputPaths[@]}" -type f -executable -print0 | while IFS= read -rd "" f; do + find "${outputPaths[@]}" -type f -print0 | while IFS= read -rd "" f; do if isELF "$f"; then # patchelf returns an error on statically linked ELF files if elfHasDynamicSection "$f" ; then diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py index d9b539926b83..9e46a11141a6 100755 --- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py +++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py @@ -210,7 +210,7 @@ def _determine_latest_version(current_version, target, versions): return (max(sorted(versions))).raw_version -def _get_latest_version_pypi(package, extension, current_version, target): +def _get_latest_version_pypi(attr_path, package, extension, current_version, target): """Get latest version and hash from PyPI.""" url = "{}/{}/json".format(INDEX, package) json = _fetch_page(url) @@ -234,7 +234,7 @@ def _get_latest_version_pypi(package, extension, current_version, target): return version, sha256, None -def _get_latest_version_github(package, extension, current_version, target): +def _get_latest_version_github(attr_path, package, extension, current_version, target): def strip_prefix(tag): return re.sub("^[^0-9]*", "", tag) @@ -242,9 +242,6 @@ def _get_latest_version_github(package, extension, current_version, target): matches = re.findall(r"^([^0-9]*)", string) return next(iter(matches), "") - # when invoked as an updateScript, UPDATE_NIX_ATTR_PATH will be set - # this allows us to work with packages which live outside of python-modules - attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"python3Packages.{package}") try: homepage = subprocess.check_output( [ @@ -421,13 +418,17 @@ def _update_package(path, target): # Attempt a fetch using each pname, e.g. backports-zoneinfo vs backports.zoneinfo successful_fetch = False for pname in pnames: - if BULK_UPDATE and _skip_bulk_update(f"python3Packages.{pname}"): + # when invoked as an updateScript, UPDATE_NIX_ATTR_PATH will be set + # this allows us to work with packages which live outside of python-modules + attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"python3Packages.{pname}") + + if BULK_UPDATE and _skip_bulk_update(attr_path): raise ValueError(f"Bulk update skipped for {pname}") - elif _get_attr_value(f"python3Packages.{pname}.cargoDeps") is not None: + elif _get_attr_value(f"{attr_path}.cargoDeps") is not None: raise ValueError(f"Cargo dependencies are unsupported, skipping {pname}") try: new_version, new_sha256, prefix = FETCHERS[fetcher]( - pname, extension, version, target + attr_path, pname, extension, version, target ) successful_fetch = True break @@ -452,7 +453,7 @@ def _update_package(path, target): sri_hash = _hash_to_sri("sha256", new_sha256) # retrieve the old output hash for a more precise match - if old_hash := _get_attr_value(f"python3Packages.{pname}.src.outputHash"): + if old_hash := _get_attr_value(f"{attr_path}.src.outputHash"): # fetchers can specify a sha256, or a sri hash try: text = _replace_value("hash", sri_hash, text, old_hash) diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix index 41d84184c165..bccc11f43d41 100644 --- a/pkgs/development/libraries/SDL_gfx/default.nix +++ b/pkgs/development/libraries/SDL_gfx/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "SDL_gfx"; - version = "2.0.26"; + version = "2.0.27"; src = fetchurl { url = "https://www.ferzkopp.net/Software/SDL_gfx-2.0/${pname}-${version}.tar.gz"; - sha256 = "0ijljhs0v99dj6y27hc10z6qchyp8gdp4199y6jzngy6dzxlzsvw"; + sha256 = "sha256-37FaxfjOeklS3BLSrtl0dRjF5rM1wOMWNtI/k8Yw9Bk="; }; # SDL_gfx.pc refers to sdl.pc and some SDL_gfx headers import SDL.h diff --git a/pkgs/development/libraries/fastcdr/default.nix b/pkgs/development/libraries/fastcdr/default.nix index e8968043a1d7..64a7eeac1915 100644 --- a/pkgs/development/libraries/fastcdr/default.nix +++ b/pkgs/development/libraries/fastcdr/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fastcdr"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "eProsima"; repo = "Fast-CDR"; rev = "v${finalAttrs.version}"; - hash = "sha256-rdRn/vRcZuej7buyb1K6f+9A4oLSodNw3pwefjsUXHA="; + hash = "sha256-eSf6LNTVsGEBXjTmTBjjWKBqs68pbnVcw1p2bi1Asgg="; }; patches = [ diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix index 2fb83097c02a..d0a9092f6898 100644 --- a/pkgs/development/libraries/libcef/default.nix +++ b/pkgs/development/libraries/libcef/default.nix @@ -30,6 +30,10 @@ }: let + gl_rpath = lib.makeLibraryPath [ + stdenv.cc.cc.lib + ]; + rpath = lib.makeLibraryPath [ glib nss @@ -92,7 +96,11 @@ stdenv.mkDerivation rec { mkdir -p $out/lib/ $out/share/cef/ cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/ cp ../Release/libcef.so $out/lib/ + cp ../Release/libEGL.so $out/lib/ + cp ../Release/libGLESv2.so $out/lib/ patchelf --set-rpath "${rpath}" $out/lib/libcef.so + patchelf --set-rpath "${gl_rpath}" $out/lib/libEGL.so + patchelf --set-rpath "${gl_rpath}" $out/lib/libGLESv2.so cp ../Release/*.bin $out/share/cef/ cp -r ../Resources/* $out/share/cef/ cp -r ../include $out/ diff --git a/pkgs/development/libraries/libgcrypt/1.8.nix b/pkgs/development/libraries/libgcrypt/1.8.nix index 1cbbafe40319..2f0f3b4fd019 100644 --- a/pkgs/development/libraries/libgcrypt/1.8.nix +++ b/pkgs/development/libraries/libgcrypt/1.8.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { license = licenses.lgpl2Plus; platforms = platforms.all; knownVulnerabilities = [ - "CVE-2018-12437" # CVE is about LibTomCrypt + "CVE-2021-40528" ]; }; } diff --git a/pkgs/development/libraries/libsystemtap/default.nix b/pkgs/development/libraries/libsystemtap/default.nix index 3525d057b97a..4ec9fea5a0e6 100644 --- a/pkgs/development/libraries/libsystemtap/default.nix +++ b/pkgs/development/libraries/libsystemtap/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation { pname = "libsystemtap"; - version = "4.6"; + version = "5.0"; src = fetchgit { url = "git://sourceware.org/git/systemtap.git"; - rev = "release-4.6"; - hash = "sha256-z7OUy0VGxK39aYCWFfvJnWk34Je0R+51kK5pGh7TzXM="; + rev = "release-5.0"; + hash = "sha256-dIBpySBTFn01CNtYwbXEramUlcYHPF6O/Ffr1BxdAH0="; }; dontBuild = true; diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix index f45bda41b863..62f45de2bebf 100644 --- a/pkgs/development/libraries/openscenegraph/default.nix +++ b/pkgs/development/libraries/openscenegraph/default.nix @@ -1,10 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, doxygen, +{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, pkg-config, doxygen, libX11, libXinerama, libXrandr, libGLU, libGL, - glib, ilmbase, libxml2, pcre, zlib, + glib, libxml2, pcre, zlib, AGL, Accelerate, Carbon, Cocoa, Foundation, boost, jpegSupport ? true, libjpeg, - exrSupport ? false, openexr, + exrSupport ? false, openexr_3, gifSupport ? true, giflib, pngSupport ? true, libpng, tiffSupport ? true, libtiff, @@ -42,9 +42,9 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals (!stdenv.isDarwin) [ libX11 libXinerama libXrandr libGLU libGL ] ++ [ - glib ilmbase libxml2 pcre zlib + glib libxml2 pcre zlib ] ++ lib.optional jpegSupport libjpeg - ++ lib.optional exrSupport openexr + ++ lib.optional exrSupport openexr_3 ++ lib.optional gifSupport giflib ++ lib.optional pngSupport libpng ++ lib.optional tiffSupport libtiff @@ -74,6 +74,11 @@ stdenv.mkDerivation rec { url = "https://github.com/openscenegraph/OpenSceneGraph/commit/bc2daf9b3239c42d7e51ecd7947d31a92a7dc82b.patch"; hash = "sha256-VR8YKOV/YihB5eEGZOGaIfJNrig1EPS/PJmpKsK284c="; }) + # OpenEXR 3 support: https://github.com/openscenegraph/OpenSceneGraph/issues/1075 + (fetchurl { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch?id=0f642d8f09b589166f0e0c0fc84df7673990bf3f"; + hash = "sha256-fdNbkg6Vp7DeDBTe5Zso8qJ5v9uPSXHpQ5XlGkvputk="; + }) ]; cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON"; diff --git a/pkgs/development/libraries/readline/8.2.nix b/pkgs/development/libraries/readline/8.2.nix index 1c53da3cdfa4..72e3370576e7 100644 --- a/pkgs/development/libraries/readline/8.2.nix +++ b/pkgs/development/libraries/readline/8.2.nix @@ -1,4 +1,10 @@ -{ fetchurl, stdenv, lib, ncurses +{ lib, stdenv +, fetchpatch, fetchurl +, ncurses, termcap +, curses-library ? + if stdenv.hostPlatform.isWindows + then termcap + else ncurses }: stdenv.mkDerivation rec { @@ -13,7 +19,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "man" "doc" "info" ]; strictDeps = true; - propagatedBuildInputs = [ ncurses ]; + propagatedBuildInputs = [ curses-library ]; patchFlags = [ "-p0" ]; @@ -27,11 +33,38 @@ stdenv.mkDerivation rec { in import ./readline-8.2-patches.nix patch); - patches = - [ ./link-against-ncurses.patch - ./no-arch_only-8.2.patch - ] - ++ upstreamPatches; + patches = lib.optionals (curses-library.pname == "ncurses") [ + ./link-against-ncurses.patch + ] ++ [ + ./no-arch_only-8.2.patch + ] + ++ upstreamPatches + ++ lib.optionals stdenv.hostPlatform.isWindows [ + (fetchpatch { + name = "0001-sigwinch.patch"; + url = "https://github.com/msys2/MINGW-packages/raw/90e7536e3b9c3af55c336d929cfcc32468b2f135/mingw-w64-readline/0001-sigwinch.patch"; + stripLen = 1; + hash = "sha256-sFK6EJrSNl0KLWqFv5zBXaQRuiQoYIZVoZfa8BZqfKA="; + }) + (fetchpatch { + name = "0002-event-hook.patch"; + url = "https://github.com/msys2/MINGW-packages/raw/3476319d2751a676b911f3de9e1ec675081c03b8/mingw-w64-readline/0002-event-hook.patch"; + stripLen = 1; + hash = "sha256-F8ytYuIjBtH83ZCJdf622qjwSw+wZEVyu53E/mPsoAo="; + }) + (fetchpatch { + name = "0003-fd_set.patch"; + url = "https://github.com/msys2/MINGW-packages/raw/35830ab27e5ed35c2a8d486961ab607109f5af50/mingw-w64-readline/0003-fd_set.patch"; + stripLen = 1; + hash = "sha256-UiaXZRPjKecpSaflBMCphI2kqOlcz1JkymlCrtpMng4="; + }) + (fetchpatch { + name = "0004-locale.patch"; + url = "https://github.com/msys2/MINGW-packages/raw/f768c4b74708bb397a77e3374cc1e9e6ef647f20/mingw-w64-readline/0004-locale.patch"; + stripLen = 1; + hash = "sha256-dk4343KP4EWXdRRCs8GRQlBgJFgu1rd79RfjwFD/nJc="; + }) + ]; meta = with lib; { description = "Library for interactive line editing"; @@ -57,7 +90,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ dtzWill ]; - platforms = platforms.unix; + platforms = platforms.unix ++ platforms.windows; branch = "8.2"; }; } diff --git a/pkgs/development/lisp-modules/nix-cl.nix b/pkgs/development/lisp-modules/nix-cl.nix index 3f45f58110e9..327f4aa65aff 100644 --- a/pkgs/development/lisp-modules/nix-cl.nix +++ b/pkgs/development/lisp-modules/nix-cl.nix @@ -147,7 +147,7 @@ let stdenv.mkDerivation (rec { inherit - pname version nativeLibs javaLibs lispLibs systems asds + version nativeLibs javaLibs lispLibs systems asds pkg program flags faslExt ; @@ -216,6 +216,7 @@ let dontStrip = true; } // (args // { + pname = "${args.pkg.pname}-${args.pname}"; src = if builtins.length (args.patches or []) > 0 then pkgs.applyPatches { inherit (args) src patches; } else args.src; diff --git a/pkgs/development/lisp-modules/packages.nix b/pkgs/development/lisp-modules/packages.nix index afb2d834579a..aef2b84b1c04 100644 --- a/pkgs/development/lisp-modules/packages.nix +++ b/pkgs/development/lisp-modules/packages.nix @@ -232,13 +232,13 @@ let prompter = build-asdf-system rec { pname = "prompter"; - version = "0.1.1"; + version = "20240108-git"; src = pkgs.fetchFromGitHub { owner = "atlas-engineer"; repo = "prompter"; - rev = version; - sha256 = "sha256-A9gIUBj0oUDFGR5aqHz+tdNR6t03LPMrx0n9qM3ACwE="; + rev = "7890ed5d02e70aba01ceb964c6ee4f40776e7dc0"; + hash = "sha256-rRKtpSKAqfzvnlC3NQ4840RrlbBUpI4V6uX6p5hRJWQ="; }; lispLibs = [ @@ -362,7 +362,7 @@ let nyxt-gtk = build-asdf-system { pname = "nyxt"; - version = "3.10.0"; + version = "3.11.0"; lispLibs = (with super; [ alexandria @@ -470,8 +470,8 @@ let src = pkgs.fetchFromGitHub { owner = "atlas-engineer"; repo = "nyxt"; - rev = "3.10.0"; - sha256 = "sha256-yEa5Lx1egkg9Jh3EQfvaBQicm31uxIq/3s2NOQUC4uc="; + rev = "3.11.0"; + hash = "sha256-Nw2r3FdqwxHlq8CrZo7Z423xe0rR5zu+U4dDPdG880M="; }; nativeBuildInputs = [ pkgs.makeWrapper ]; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix index bbc7823e1f09..5fd9e1289a6e 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix @@ -1,17 +1,16 @@ { buildDunePackage, mirage-crypto, ounit2, randomconv, dune-configurator -, cstruct, duration, logs, mtime, ocaml_lwt }: +, cstruct, duration, logs }: buildDunePackage rec { pname = "mirage-crypto-rng"; inherit (mirage-crypto) version src; - duneVersion = "3"; doCheck = true; checkInputs = [ ounit2 randomconv ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ cstruct mirage-crypto duration logs mtime ]; + propagatedBuildInputs = [ cstruct mirage-crypto duration logs ]; strictDeps = true; diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix index 15b1c698d4dc..e944cccb5be0 100644 --- a/pkgs/development/python-modules/aws-lambda-builders/default.nix +++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "aws-lambda-builders"; - version = "1.44.0"; + version = "1.45.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "awslabs"; repo = "aws-lambda-builders"; rev = "refs/tags/v${version}"; - hash = "sha256-97NhNlYaxBwUdBmg6qzpGdtGyE86rO/PXl9pDfyitbI="; + hash = "sha256-TmU7neEnHaRuGNzK9VuXUiEayBLZaPqjrnPLvBOQj5g="; }; postPatch = '' diff --git a/pkgs/development/python-modules/birch/default.nix b/pkgs/development/python-modules/birch/default.nix new file mode 100644 index 000000000000..3afd6d3df06a --- /dev/null +++ b/pkgs/development/python-modules/birch/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, strct +, pytestCheckHook +, pyyaml +}: + +buildPythonPackage rec { + pname = "birch"; + version = "0.0.35"; + pyproject = true; + + src = fetchFromGitHub { + owner = "shaypal5"; + repo = "birch"; + rev = "v${version}"; + hash = "sha256-KdQZzQJvJ+logpcLQfaqqEEZJ/9VmNTQX/a4v0oBC98="; + }; + + postPatch = '' + substituteInPlace pytest.ini \ + --replace \ + "--cov" \ + "#--cov" + ''; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + strct + ]; + + pythonImportsCheck = [ + "birch" + "birch.casters" + "birch.exceptions" + "birch.paths" + ]; + + nativeCheckInputs = [ + pytestCheckHook + pyyaml + ]; + + preCheck = '' + export HOME="$(mktemp -d)" + ''; + + + meta = with lib; { + description = "Simple hierarchical configuration for Python packages"; + homepage = "https://github.com/shaypal5/birch"; + license = licenses.mit; + maintainers = with maintainers; [ pbsds ]; + }; +} diff --git a/pkgs/development/python-modules/blackjax/default.nix b/pkgs/development/python-modules/blackjax/default.nix index 4e47e692657a..f9521db79cb8 100644 --- a/pkgs/development/python-modules/blackjax/default.nix +++ b/pkgs/development/python-modules/blackjax/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub +, pytest-xdist , pytestCheckHook , setuptools-scm , fastprogress @@ -14,16 +15,16 @@ buildPythonPackage rec { pname = "blackjax"; - version = "1.0.0"; + version = "1.1.0"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "blackjax-devs"; - repo = pname; + repo = "blackjax"; rev = "refs/tags/${version}"; - hash = "sha256-hqOKSHyZ/BmOu6MJLeecD3H1BbLbZqywmlBzn3xjQRk="; + hash = "sha256-VAsCDI0rEqx0UJlD82wbZ8KuMi6LOjUlO6YzqnOfAGk="; }; nativeBuildInputs = [ setuptools-scm ]; @@ -39,7 +40,10 @@ buildPythonPackage rec { typing-extensions ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + pytest-xdist + ]; disabledTestPaths = [ "tests/test_benchmarks.py" ]; disabledTests = [ # too slow diff --git a/pkgs/development/python-modules/bsuite/default.nix b/pkgs/development/python-modules/bsuite/default.nix index bf85d8fe7a09..3c11353bb101 100644 --- a/pkgs/development/python-modules/bsuite/default.nix +++ b/pkgs/development/python-modules/bsuite/default.nix @@ -1,6 +1,7 @@ { lib , fetchPypi , buildPythonPackage +, fetchpatch , frozendict , termcolor , matplotlib @@ -35,7 +36,14 @@ let bsuite = buildPythonPackage rec { hash = "sha256-ak9McvXl7Nz5toUaPaRaJek9lurxiQiIW209GnZEjX0="; }; - buildInputs = [ + patches = [ + (fetchpatch { # Convert np.int -> np.int32 since np.int is deprecated (https://github.com/google-deepmind/bsuite/pull/48) + url = "https://github.com/google-deepmind/bsuite/pull/48/commits/f8d81b2f1c27ef2c8c71ae286001ed879ea306ab.patch"; + hash = "sha256-FXtvVS+U8brulq8Z27+yWIimB+kigGiUOIv1SHb1TA8="; + }) + ]; + + propagatedBuildInputs = [ absl-py dm-env dm-tree diff --git a/pkgs/development/python-modules/cachier/default.nix b/pkgs/development/python-modules/cachier/default.nix index 2a1fe461d51c..28159a16454c 100644 --- a/pkgs/development/python-modules/cachier/default.nix +++ b/pkgs/development/python-modules/cachier/default.nix @@ -1,29 +1,31 @@ { lib , buildPythonPackage , pythonOlder -, fetchPypi +, fetchFromGitHub , pythonRelaxDepsHook , setuptools , watchdog , portalocker -, pathtools , pytestCheckHook , pymongo , dnspython , pymongo-inmemory , pandas +, birch }: buildPythonPackage rec { pname = "cachier"; - version = "2.2.1"; - format = "setuptools"; + version = "2.2.2"; + pyproject = true; disabled = pythonOlder "3.8"; - src = fetchPypi { - inherit pname version; - hash = "sha256-nm98LT87Z7yErKvIqMp93OEX9TDojqqtItgryHgSQJQ="; + src = fetchFromGitHub { + owner = "python-cachier"; + repo = "cachier"; + rev = "v${version}"; + hash = "sha256-zUZqT4SIwZRqhRS/wHIzIYVULnp5aYcytCQd17T0D/4="; }; pythonRemoveDeps = [ "setuptools" ]; @@ -36,7 +38,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ watchdog portalocker - pathtools ]; preCheck = '' @@ -52,6 +53,7 @@ buildPythonPackage rec { dnspython pymongo-inmemory pandas + birch ]; disabledTests = [ diff --git a/pkgs/development/python-modules/clarifai-grpc/default.nix b/pkgs/development/python-modules/clarifai-grpc/default.nix index c0cee1aaf3a9..7225f683c31b 100644 --- a/pkgs/development/python-modules/clarifai-grpc/default.nix +++ b/pkgs/development/python-modules/clarifai-grpc/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "clarifai-grpc"; - version = "9.11.5"; + version = "10.0.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Clarifai"; repo = "clarifai-python-grpc"; rev = "refs/tags/${version}"; - hash = "sha256-jH5B3iakMj7tyKWREicrqmBvekjocRbYuvuUjudB8vg="; + hash = "sha256-FpBrVoKwuKLanF0SYJLO1cd8qhI1xgBVa1wVpojG8p8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/cstruct/default.nix b/pkgs/development/python-modules/cstruct/default.nix index 688fe787af2b..5c0baaf88f20 100644 --- a/pkgs/development/python-modules/cstruct/default.nix +++ b/pkgs/development/python-modules/cstruct/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "cstruct"; - version = "5.2"; + version = "5.3"; format = "setuptools"; src = fetchFromGitHub { owner = "andreax79"; repo = "python-cstruct"; - rev = "v${version}"; - hash = "sha256-Dwogf0mmxFyBV7tPsuKV6gMZLPSCm7YhzqgJNHpaPFA="; + rev = "refs/tags/v${version}"; + hash = "sha256-VDJ0k3cOuHjckujf9yD1GVE+UM/Y9rjqhiq+MqGq2eM="; }; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/distrax/default.nix b/pkgs/development/python-modules/distrax/default.nix index 616dbae7a4fd..cc667cc6bf19 100644 --- a/pkgs/development/python-modules/distrax/default.nix +++ b/pkgs/development/python-modules/distrax/default.nix @@ -7,6 +7,7 @@ , numpy , tensorflow-probability , dm-haiku +, pytest-xdist , pytestCheckHook }: @@ -33,6 +34,7 @@ buildPythonPackage rec { nativeCheckInputs = [ dm-haiku + pytest-xdist pytestCheckHook ]; diff --git a/pkgs/development/python-modules/django-modelcluster/default.nix b/pkgs/development/python-modules/django-modelcluster/default.nix index 7c3e77b32460..5c1dd8f78dda 100644 --- a/pkgs/development/python-modules/django-modelcluster/default.nix +++ b/pkgs/development/python-modules/django-modelcluster/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "django-modelcluster"; - version = "6.1"; + version = "6.2.1"; format = "setuptools"; disabled = pythonOlder "3.5"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "wagtail"; repo = "django-modelcluster"; rev = "refs/tags/v${version}"; - hash = "sha256-fNGD2aU668VQ8YHcaFjtjiW/gYJgSx7arDAyUKpFYRE="; + hash = "sha256-y2jGSZvTeSnpWDFJ+aNGofTEtMMlY9TrXZjQeET5OhY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/dm-haiku/default.nix b/pkgs/development/python-modules/dm-haiku/default.nix index 08c1716867a7..cb97e2f837af 100644 --- a/pkgs/development/python-modules/dm-haiku/default.nix +++ b/pkgs/development/python-modules/dm-haiku/default.nix @@ -1,32 +1,39 @@ -{ buildPythonPackage +{ lib +, buildPythonPackage , fetchFromGitHub , fetchpatch -, callPackage -, lib +, absl-py +, flax +, jaxlib , jmp +, numpy , tabulate -, jaxlib +, pytest-xdist +, pytestCheckHook +, bsuite +, chex +, cloudpickle +, dill +, dm-env +, dm-tree +, optax +, rlax +, tensorflow }: -buildPythonPackage rec { +let dm-haiku = buildPythonPackage rec { pname = "dm-haiku"; - version = "0.0.10"; + version = "0.0.11"; format = "setuptools"; src = fetchFromGitHub { owner = "deepmind"; - repo = pname; + repo = "dm-haiku"; rev = "refs/tags/v${version}"; - hash = "sha256-EZx3o6PgTeFjTwI9Ko9H39EqPSE0yLWWpsdqX6ALlo4="; + hash = "sha256-xve1vNsVOC6/HVtzmzswM/Sk3uUNaTtqNAKheFb/tmI="; }; patches = [ - # https://github.com/deepmind/dm-haiku/issues/717 - (fetchpatch { - name = "remove-typing-extensions.patch"; - url = "https://github.com/deepmind/dm-haiku/commit/c22867db1a3314a382bd2ce36511e2b756dc32a8.patch"; - hash = "sha256-SxJc8FrImwMqTJ5OuJ1f4T+HfHgW/sGqXeIqlxEatlE="; - }) # https://github.com/deepmind/dm-haiku/pull/672 (fetchpatch { name = "fix-find-namespace-packages.patch"; @@ -35,14 +42,12 @@ buildPythonPackage rec { }) ]; - outputs = [ - "out" - "testsout" - ]; - propagatedBuildInputs = [ + absl-py + flax jaxlib jmp + numpy tabulate ]; @@ -50,17 +55,56 @@ buildPythonPackage rec { "haiku" ]; - postInstall = '' - mkdir $testsout - cp -R examples $testsout/examples - ''; + nativeCheckInputs = [ + bsuite + chex + cloudpickle + dill + dm-env + dm-haiku + dm-tree + jaxlib + optax + pytest-xdist + pytestCheckHook + rlax + tensorflow + ]; + + disabledTests = [ + # See https://github.com/deepmind/dm-haiku/issues/366. + "test_jit_Recurrent" + + # Assertion errors + "testShapeChecking0" + "testShapeChecking1" + + # This test requires a more recent version of tensorflow. The current one (2.13) is not enough. + "test_reshape_convert" + + # This test requires JAX support for double precision (64bit), but enabling this causes several + # other tests to fail. + # https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html#double-64bit-precision + "test_doctest_haiku.experimental" + ]; + + disabledTestPaths = [ + # Those tests requires a more recent version of tensorflow. The current one (2.13) is not enough. + "haiku/_src/integration/jax2tf_test.py" + ]; - # check in passthru.tests.pytest to escape infinite recursion with bsuite doCheck = false; - passthru.tests = { - pytest = callPackage ./tests.nix { }; - }; + # check in passthru.tests.pytest to escape infinite recursion with bsuite + passthru.tests.pytest = dm-haiku.overridePythonAttrs (_: { + pname = "${pname}-tests"; + doCheck = true; + + # We don't have to install because the only purpose + # of this passthru test is to, well, test. + # This fixes having to set `catchConflicts` to false. + dontInstall = true; + }); meta = with lib; { description = "Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet."; @@ -68,4 +112,5 @@ buildPythonPackage rec { license = licenses.asl20; maintainers = with maintainers; [ ndl ]; }; -} +}; +in dm-haiku diff --git a/pkgs/development/python-modules/dm-haiku/tests.nix b/pkgs/development/python-modules/dm-haiku/tests.nix deleted file mode 100644 index dec909729dcf..000000000000 --- a/pkgs/development/python-modules/dm-haiku/tests.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ buildPythonPackage -, dm-haiku -, chex -, cloudpickle -, dill -, dm-tree -, jaxlib -, pytest-xdist -, pytestCheckHook -, tensorflow -, bsuite -, frozendict -, dm-env -, scikit-image -, rlax -, distrax -, tensorflow-probability -, optax -}: - -buildPythonPackage { - pname = "dm-haiku-tests"; - inherit (dm-haiku) version; - - src = dm-haiku.testsout; - - dontBuild = true; - dontInstall = true; - - nativeCheckInputs = [ - bsuite - chex - cloudpickle - dill - distrax - dm-env - dm-haiku - dm-tree - frozendict - jaxlib - pytest-xdist - pytestCheckHook - optax - rlax - scikit-image - tensorflow - tensorflow-probability - ]; - - disabledTests = [ - # See https://github.com/deepmind/dm-haiku/issues/366. - "test_jit_Recurrent" - # Assertion errors - "test_connect_conv_padding_function_same0" - "test_connect_conv_padding_function_valid0" - "test_connect_conv_padding_function_same1" - "test_connect_conv_padding_function_same2" - "test_connect_conv_padding_function_valid1" - "test_connect_conv_padding_function_valid2" - "test_invalid_axis_ListString" - "test_invalid_axis_String" - "test_simple_case" - "test_simple_case_with_scale" - "test_slice_axis" - "test_zero_inputs" - ]; - -} diff --git a/pkgs/development/python-modules/epion/default.nix b/pkgs/development/python-modules/epion/default.nix index f286e67ba267..3f3a88f2fd43 100644 --- a/pkgs/development/python-modules/epion/default.nix +++ b/pkgs/development/python-modules/epion/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "epion"; - version = "0.0.1"; + version = "0.0.2"; pyproject = true; disabled = pythonOlder "3.7"; @@ -18,9 +18,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "devenzo-com"; repo = "epion_python"; - # https://github.com/devenzo-com/epion_python/issues/1 - rev = "d8759951fc7bfd1507abe725b2bc98754cbbf505"; - hash = "sha256-uC227rlu4NB5lpca02QLi2JZ5SKklLfv7rXvvJA1aCA="; + rev = "refs/tags/${version}"; + hash = "sha256-XyYjbr0EPRrwWsXhZT2oWcoDPZoZCuT9aZ2UHSSt0E8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/f5-icontrol-rest/default.nix b/pkgs/development/python-modules/f5-icontrol-rest/default.nix index 080c3f5f0d73..f5dde3911546 100644 --- a/pkgs/development/python-modules/f5-icontrol-rest/default.nix +++ b/pkgs/development/python-modules/f5-icontrol-rest/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "f5-icontrol-rest"; - version = "1.3.15"; + version = "1.3.16"; format = "setuptools"; src = fetchFromGitHub { owner = "F5Networks"; repo = "f5-icontrol-rest-python"; - rev = "v${version}"; - sha256 = "sha256-ScudlJTQfa0BsEVI+mIndYWF8OcARdxwFwTAOEJxA8w="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-asAFIRoc2zll8a8gMMt4ZRQILhMAes8wf3PGwG5wF9c="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix index e075700ce1f5..92aa4631c4bb 100644 --- a/pkgs/development/python-modules/geopandas/default.nix +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "geopandas"; - version = "0.14.1"; + version = "0.14.2"; format = "setuptools"; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "geopandas"; repo = "geopandas"; rev = "refs/tags/v${version}"; - hash = "sha256-mQ13fjhtFXvUnBok5bDz+zkbgfXEUmwiv77rBpYS5oo="; + hash = "sha256-E4J6VBKPwyQ4IVVClLzNoI//oxlymY+KE6ALaENWwOg="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/gql/default.nix b/pkgs/development/python-modules/gql/default.nix index 9827f8d5a71a..37fa70e28efe 100644 --- a/pkgs/development/python-modules/gql/default.nix +++ b/pkgs/development/python-modules/gql/default.nix @@ -1,11 +1,13 @@ { lib , aiofiles , aiohttp +, anyio , backoff , botocore , buildPythonPackage , fetchFromGitHub , graphql-core +, httpx , mock , parse , pytest-asyncio @@ -14,6 +16,7 @@ , pythonOlder , requests , requests-toolbelt +, setuptools , urllib3 , vcrpy , websockets @@ -22,25 +25,26 @@ buildPythonPackage rec { pname = "gql"; - version = "3.4.1"; - format = "setuptools"; + version = "3.6.0b0"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "graphql-python"; - repo = pname; + repo = "gql"; rev = "refs/tags/v${version}"; - hash = "sha256-/uPaRju2AJCjMCfA29IKQ4Hu71RBu/Yz8jHwk9EE1Eg="; + hash = "sha256-yX6NbtGxBa3lL/bS3j2ouTPku6a4obqNGx1xRzx+Skk="; }; - postPatch = '' - substituteInPlace setup.py --replace \ - "websockets>=10,<11;python_version>'3.6'" \ - "websockets>=10,<12;python_version>'3.6'" - ''; + __darwinAllowLocalNetworking = true; + + nativeBuildInputs = [ + setuptools + ]; propagatedBuildInputs = [ + anyio backoff graphql-core yarl @@ -60,6 +64,7 @@ buildPythonPackage rec { all = [ aiohttp botocore + httpx requests requests-toolbelt urllib3 @@ -68,6 +73,9 @@ buildPythonPackage rec { aiohttp = [ aiohttp ]; + httpx = [ + httpx + ]; requests = [ requests requests-toolbelt diff --git a/pkgs/development/python-modules/jaxopt/default.nix b/pkgs/development/python-modules/jaxopt/default.nix index 36a43027231d..0f0e396b906d 100644 --- a/pkgs/development/python-modules/jaxopt/default.nix +++ b/pkgs/development/python-modules/jaxopt/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub +, pytest-xdist , pytestCheckHook , absl-py , cvxpy @@ -16,7 +17,7 @@ buildPythonPackage rec { pname = "jaxopt"; - version = "0.8.2"; + version = "0.8.3"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -25,7 +26,7 @@ buildPythonPackage rec { owner = "google"; repo = "jaxopt"; rev = "refs/tags/jaxopt-v${version}"; - hash = "sha256-uVOd3knoku5fKBNXOhCikGtjDuW3TtRqev94OM/8Pgk="; + hash = "sha256-T/BHSnuk3IRuLkBj3Hvb/tFIb7Au25jjQtvwL28OU1U="; }; propagatedBuildInputs = [ @@ -38,6 +39,7 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ + pytest-xdist pytestCheckHook cvxpy optax @@ -52,11 +54,6 @@ buildPythonPackage rec { "jaxopt.tree_util" ]; - disabledTests = [ - # Stack frame issue - "test_bisect" - ]; - meta = with lib; { homepage = "https://jaxopt.github.io"; description = "Hardware accelerated, batchable and differentiable optimizers in JAX"; diff --git a/pkgs/development/python-modules/libsass/default.nix b/pkgs/development/python-modules/libsass/default.nix index 4996dfc1169e..8c84a76dc994 100644 --- a/pkgs/development/python-modules/libsass/default.nix +++ b/pkgs/development/python-modules/libsass/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "libsass"; - version = "0.22.0"; + version = "0.23.0"; format = "setuptools"; src = fetchFromGitHub { owner = "sass"; repo = "libsass-python"; rev = "refs/tags/${version}"; - hash = "sha256-5O4Er3jNUFy83m/K0HzYR+fHcSDqF/3M+fXaFZY8zEg="; + hash = "sha256-CiSr9/3EDwpDEzu6VcMBAlm3CtKTmGYbZMnMEjyZVxI="; }; buildInputs = [ libsass ]; diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix index a359e96a0b5a..a2640ffe428f 100644 --- a/pkgs/development/python-modules/litellm/default.nix +++ b/pkgs/development/python-modules/litellm/default.nix @@ -15,7 +15,7 @@ , httpx }: let - version = "1.15.0"; + version = "1.16.19"; in buildPythonPackage rec { pname = "litellm"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "BerriAI"; repo = "litellm"; rev = "refs/tags/v${version}"; - hash = "sha256-s3Ue/N04YZHEfEnVxPHupRSVDHxWjVse8FDlRF5yKCk="; + hash = "sha256-KNQuTgJj7oLJsxfi8g9ShC5WHyrdpZGI5Nfgxzu/eak="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pdf2docx/default.nix b/pkgs/development/python-modules/pdf2docx/default.nix index e337bf292fcf..0b460879e726 100644 --- a/pkgs/development/python-modules/pdf2docx/default.nix +++ b/pkgs/development/python-modules/pdf2docx/default.nix @@ -16,7 +16,7 @@ , python-docx }: let - version = "0.5.6"; + version = "0.5.7"; in buildPythonPackage { pname = "pdf2docx"; @@ -26,8 +26,8 @@ buildPythonPackage { src = fetchFromGitHub { owner = "dothinking"; repo = "pdf2docx"; - rev = "v${version}"; - hash = "sha256-NrT4GURQIJbqnHstfJrPzwLXT9c2oGBi4QJ6eGIFwu4="; + rev = "refs/tags/v${version}"; + hash = "sha256-GDftANn+ioaNR28VfRFDuFgdKoy7D4xiy0ezvWJ3zy0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pyatem/default.nix b/pkgs/development/python-modules/pyatem/default.nix new file mode 100644 index 000000000000..5b7749ea57c9 --- /dev/null +++ b/pkgs/development/python-modules/pyatem/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchFromSourcehut + +# build-system +, setuptools + +# dependencies +, pyusb +, tqdm +, zeroconf + +# tests +, pillow +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pyatem"; + version = "0.9.0"; # check latest version in setup.py + pyproject = true; + + src = fetchFromSourcehut { + owner = "~martijnbraam"; + repo = "pyatem"; + rev = version; + hash = "sha256-ntwUhgC8Cgrim+kU3B3ckgPDmPe+aEHDP4wsB45KbJg="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + pyusb + tqdm + zeroconf + ]; + + nativeCheckInputs = [ + pillow + pytestCheckHook + ]; + + preCheck = '' + TESTDIR=$(mktemp -d) + cp -r pyatem/{test_*.py,fixtures} $TESTDIR/ + pushd $TESTDIR + ''; + + disabledTests = lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ + # colorspace mapping has weird, but constant offsets on aarch64-linux + "test_blueramp" + "test_greenramp" + "test_hues" + "test_primaries" + "test_redramp" + ]; + + postCheck = '' + popd + ''; + + pythonImportsCheck = [ + "pyatem" + ]; + + meta = with lib; { + description = "Library for controlling Blackmagic Design ATEM video mixers"; + homepage = "https://git.sr.ht/~martijnbraam/pyatem"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/pycollada/default.nix b/pkgs/development/python-modules/pycollada/default.nix index 3f489e2df2bc..4b66ba84d2da 100644 --- a/pkgs/development/python-modules/pycollada/default.nix +++ b/pkgs/development/python-modules/pycollada/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "pycollada"; - version = "0.7.2"; + version = "0.8"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "70a2630ed499bdab718c0e61a3e6ae3698130d7e4654e89cdecde51bfdaea56f"; + sha256 = "sha256-86N1nMTOwdWekyqtdDmdvPVB0YhiqtkDx3AEDaQq8g4="; }; propagatedBuildInputs = [ numpy python-dateutil ]; diff --git a/pkgs/development/python-modules/pygitguardian/default.nix b/pkgs/development/python-modules/pygitguardian/default.nix index 78dc32f7625b..3d3590a37104 100644 --- a/pkgs/development/python-modules/pygitguardian/default.nix +++ b/pkgs/development/python-modules/pygitguardian/default.nix @@ -14,8 +14,8 @@ buildPythonPackage rec { pname = "pygitguardian"; - version = "1.11.0"; - format = "pyproject"; + version = "1.12.0"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "GitGuardian"; repo = "py-gitguardian"; rev = "refs/tags/v${version}"; - hash = "sha256-Vr0+y3Zi7DsXzm2COOlMqUVjlZMRJkaVxT8QpSePhuA="; + hash = "sha256-ybl6QOLb1xE6v0D1C2wKMsSU+r2gWzj24Q4pPIMBsCY="; }; nativeBuildInputs = [ @@ -49,6 +49,7 @@ buildPythonPackage rec { disabledTests = [ # Tests require an API key + "test_bogus_rate_limit" "test_compute_sca_files" "test_content_scan_exceptions" "test_content_scan" @@ -60,6 +61,7 @@ buildPythonPackage rec { "test_multi_content_scan" "test_multiscan_parameters" "test_quota_overview" + "test_rate_limit" "test_sca_client_scan_diff" "test_sca_scan_directory_invalid_tar" "test_sca_scan_directory" diff --git a/pkgs/development/python-modules/pynetbox/default.nix b/pkgs/development/python-modules/pynetbox/default.nix index 9c23c018e8fe..2759ff506643 100644 --- a/pkgs/development/python-modules/pynetbox/default.nix +++ b/pkgs/development/python-modules/pynetbox/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pynetbox"; - version = "7.3.0"; + version = "7.3.3"; format = "setuptools"; src = fetchFromGitHub { owner = "netbox-community"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-/ptLsV+3EYDBjM+D1VO75VqvCYe6PTlpKAJuQskazJc="; + hash = "sha256-QIvh24ZqnF8uF9HOuY0yt3QT/jHgJ2C916d+rBqezWQ="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/pysol-cards/default.nix b/pkgs/development/python-modules/pysol-cards/default.nix index 9816445bc2f2..88c38fc59827 100644 --- a/pkgs/development/python-modules/pysol-cards/default.nix +++ b/pkgs/development/python-modules/pysol-cards/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "pysol-cards"; - version = "0.14.3"; + version = "0.16.0"; format = "setuptools"; src = fetchPypi { inherit version; pname = "pysol_cards"; - hash = "sha256-sPv9OGFb/G/XVdq1hQWprhYtDaGGbCXKkUGTi1gj8GE="; + hash = "sha256-C4fKez+ZFVzM08/XOfc593RNb4GYIixtSToDSj1FcMM="; }; propagatedBuildInputs = [ six random2 ]; diff --git a/pkgs/development/python-modules/pytado/default.nix b/pkgs/development/python-modules/pytado/default.nix index 8575fceadc4f..5962364b7677 100644 --- a/pkgs/development/python-modules/pytado/default.nix +++ b/pkgs/development/python-modules/pytado/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "pytado"; - version = "0.17.2"; + version = "0.17.3"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "wmalgadey"; repo = "PyTado"; rev = "refs/tags/${version}"; - sha256 = "sha256-w1qtSEpnZCs7+M/0Gywz9AeMxUzz2csHKm9SxBKzmz4="; + sha256 = "sha256-whpNYiAb2cqKI4m0HJN2lPt51FLuEzrkrRTSWs6uznU="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-check/default.nix b/pkgs/development/python-modules/pytest-check/default.nix index 9981c7c8ce8f..ed62f69d4818 100644 --- a/pkgs/development/python-modules/pytest-check/default.nix +++ b/pkgs/development/python-modules/pytest-check/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "pytest-check"; - version = "2.2.3"; + version = "2.2.4"; format = "pyproject"; src = fetchPypi { pname = "pytest_check"; inherit version; - hash = "sha256-bfAyZLa7zyXNhhUSDNoDtObRH9srfI3eapyP7xinSVw="; + hash = "sha256-0uaWYDFB9bLekFuTWD5FmE7DxhzscCZJ3rEL2XSFYLs="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/rapidgzip/default.nix b/pkgs/development/python-modules/rapidgzip/default.nix index 82322c07c7d0..867f432a6d52 100644 --- a/pkgs/development/python-modules/rapidgzip/default.nix +++ b/pkgs/development/python-modules/rapidgzip/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "rapidgzip"; - version = "0.11.1"; + version = "0.12.1"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-pcKO9BovkUDlRjE8MZQEfTSutVMB/9beyAyP3vChMUE="; + hash = "sha256-s4MLxhwoGS7Zvx6k5qh1PWpyTRBUBGVIkPW9q94u+2Q="; }; nativeBuildInputs = [ nasm ]; diff --git a/pkgs/development/python-modules/rlax/default.nix b/pkgs/development/python-modules/rlax/default.nix index 1bb7189d6957..ceb8e9758619 100644 --- a/pkgs/development/python-modules/rlax/default.nix +++ b/pkgs/development/python-modules/rlax/default.nix @@ -12,6 +12,7 @@ , tensorflow-probability , dm-haiku , optax +, pytest-xdist , pytestCheckHook }: @@ -49,6 +50,7 @@ buildPythonPackage rec { nativeCheckInputs = [ dm-haiku optax + pytest-xdist pytestCheckHook ]; diff --git a/pkgs/development/python-modules/screenlogicpy/default.nix b/pkgs/development/python-modules/screenlogicpy/default.nix index 3d3f7d230261..020e6a43cb7d 100644 --- a/pkgs/development/python-modules/screenlogicpy/default.nix +++ b/pkgs/development/python-modules/screenlogicpy/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "screenlogicpy"; - version = "0.10.0"; + version = "0.10.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "dieselrabbit"; repo = "screenlogicpy"; rev = "refs/tags/v${version}"; - hash = "sha256-pilPmHE5amCQ/mGTy3hJqtSEElx7SevQpeMJZKYv7BA="; + hash = "sha256-z6cM0sihZvOHCA3v1DYQEev0axf4AcqEW13WA1EMhQM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sexpdata/default.nix b/pkgs/development/python-modules/sexpdata/default.nix index 0d2c0192c1c9..0349c7cd9479 100644 --- a/pkgs/development/python-modules/sexpdata/default.nix +++ b/pkgs/development/python-modules/sexpdata/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "sexpdata"; - version = "1.0.1"; + version = "1.0.2"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-b2XxFSkYkMvOXNJpwTvfH4KkzSO8YbbhUKJ1Ee5qfV4="; + hash = "sha256-krZ7A2H2dm+PnkS5UZzz+8+vp1Xbhbv4k8Phz03awQk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix index ead249a9a722..75090e8d243a 100644 --- a/pkgs/development/python-modules/slackclient/default.nix +++ b/pkgs/development/python-modules/slackclient/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "slackclient"; - version = "3.26.1"; + version = "3.26.2"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "slackapi"; repo = "python-slack-sdk"; rev = "refs/tags/v${version}"; - hash = "sha256-jg4mUVT1sB9hxRqhLOeZxQHTpBK/N76b2XUaFe/nBKY="; + hash = "sha256-pvD86kbNOnuNT6+WTAKziJDUTx3ebJUq029UbSVuxdw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix index b08ecd9ebea2..2d5a7b997464 100644 --- a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix +++ b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "sphinxcontrib-bibtex"; - version = "2.6.1"; + version = "2.6.2"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-BGtJ8HCuUnavNMG43bm8lWLvbeL3pS03qRy45T9UuGM="; + hash = "sha256-9IevaUM28ov7fWoXBwlTp9JkvsQwAKI3lyQnT1+NcK4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/steamship/default.nix b/pkgs/development/python-modules/steamship/default.nix index adc6db83dd9b..bd430bedd3e9 100644 --- a/pkgs/development/python-modules/steamship/default.nix +++ b/pkgs/development/python-modules/steamship/default.nix @@ -16,12 +16,12 @@ buildPythonPackage rec { pname = "steamship"; - version = "2.17.32"; + version = "2.17.33"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-dTpz2/XXu8patDnorg/36652j9VLUjE5uF2fVzbDjfI="; + hash = "sha256-hvvXg+V/VKTWWdqXM7Q1K5awemkGhSz64gV7HeRBXfg="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/strct/default.nix b/pkgs/development/python-modules/strct/default.nix new file mode 100644 index 000000000000..7244002d4169 --- /dev/null +++ b/pkgs/development/python-modules/strct/default.nix @@ -0,0 +1,52 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, setuptools +, pytestCheckHook +, sortedcontainers +}: + +buildPythonPackage rec { + pname = "strct"; + version = "0.0.32"; + pyproject = true; + + src = fetchFromGitHub { + owner = "shaypal5"; + repo = "strct"; + rev = "v${version}"; + hash = "sha256-ctafvdfSOdp7tlCUYg7d5XTXR1qBcWvOVtGtNUnhYIw="; + }; + + postPatch = '' + substituteInPlace pytest.ini \ + --replace \ + "--cov" \ + "#--cov" + ''; + + nativeBuildInputs = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + sortedcontainers + ]; + + pythonImportsCheck = [ + "strct" + "strct.dicts" + "strct.hash" + "strct.lists" + "strct.sets" + "strct.sortedlists" + ]; + + meta = with lib; { + description = "A small pure-python package for data structure related utility functions"; + homepage = "https://github.com/shaypal5/strct"; + license = licenses.mit; + maintainers = with maintainers; [ pbsds ]; + }; +} diff --git a/pkgs/development/python-modules/sumo/default.nix b/pkgs/development/python-modules/sumo/default.nix index da7641c9d056..1f60553de0bc 100644 --- a/pkgs/development/python-modules/sumo/default.nix +++ b/pkgs/development/python-modules/sumo/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "sumo"; - version = "2.3.7"; + version = "2.3.8"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "SMTG-UCL"; repo = "sumo"; rev = "refs/tags/v${version}"; - hash = "sha256-9NHz8SPymD9zANWMeajjavpjw68X4abqhrLl0dn92l0="; + hash = "sha256-nQ5US7maFcOJCqFYeokGiBFp3jhiOPSfCBeclLdHdkk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/tokenizers/default.nix b/pkgs/development/python-modules/tokenizers/default.nix index d8a731825feb..4711cfe00dd0 100644 --- a/pkgs/development/python-modules/tokenizers/default.nix +++ b/pkgs/development/python-modules/tokenizers/default.nix @@ -1,5 +1,6 @@ { lib , stdenv +, linkFarm , buildPythonPackage , cargo , datasets @@ -21,41 +22,43 @@ let # See https://github.com/huggingface/tokenizers/blob/main/bindings/python/tests/utils.py for details # about URLs and file names - robertaVocab = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-vocab.json"; - sha256 = "0m86wpkfb2gdh9x9i9ng2fvwk1rva4p0s98xw996nrjxs7166zwy"; - }; - robertaMerges = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-merges.txt"; - sha256 = "1idd4rvkpqqbks51i2vjbd928inw7slij9l4r063w3y5fd3ndq8w"; - }; - albertVocab = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/albert-base-v1-tokenizer.json"; - sha256 = "1hra9pn8rczx7378z88zjclw2qsdrdwq20m56sy42s2crbas6akf"; - }; - bertVocab = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"; - sha256 = "18rq42cmqa8zanydsbzrb34xwy4l6cz1y900r4kls57cbhvyvv07"; - }; - norvigBig = fetchurl { - url = "https://norvig.com/big.txt"; - sha256 = "0yz80icdly7na03cfpl0nfk5h3j3cam55rj486n03wph81ynq1ps"; - }; - docPipelineTokenizer = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json"; - hash = "sha256-i533xC8J5CDMNxBjo+p6avIM8UOcui8RmGAmK0GmfBc="; - }; - docQuicktourTokenizer = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json"; - hash = "sha256-ipY9d5DR5nxoO6kj7rItueZ9AO5wq9+Nzr6GuEIfIBI="; - }; - openaiVocab = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json"; - sha256 = "0y40gc9bixj5rxv674br1rxmxkd3ly29p80x1596h8yywwcrpx7x"; - }; - openaiMerges = fetchurl { - url = "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt"; - sha256 = "09a754pm4djjglv3x5pkgwd6f79i2rq8ydg0f7c3q1wmwqdbba8f"; + test-data = linkFarm "tokenizers-test-data" { + "roberta-base-vocab.json" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-vocab.json"; + sha256 = "0m86wpkfb2gdh9x9i9ng2fvwk1rva4p0s98xw996nrjxs7166zwy"; + }; + "roberta-base-merges.txt" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-merges.txt"; + sha256 = "1idd4rvkpqqbks51i2vjbd928inw7slij9l4r063w3y5fd3ndq8w"; + }; + "albert-base-v1-tokenizer.json" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/albert-base-v1-tokenizer.json"; + sha256 = "1hra9pn8rczx7378z88zjclw2qsdrdwq20m56sy42s2crbas6akf"; + }; + "bert-base-uncased-vocab.txt" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"; + sha256 = "18rq42cmqa8zanydsbzrb34xwy4l6cz1y900r4kls57cbhvyvv07"; + }; + "big.txt" = fetchurl { + url = "https://norvig.com/big.txt"; + sha256 = "0yz80icdly7na03cfpl0nfk5h3j3cam55rj486n03wph81ynq1ps"; + }; + "bert-wiki.json" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json"; + hash = "sha256-i533xC8J5CDMNxBjo+p6avIM8UOcui8RmGAmK0GmfBc="; + }; + "tokenizer-wiki.json" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json"; + hash = "sha256-ipY9d5DR5nxoO6kj7rItueZ9AO5wq9+Nzr6GuEIfIBI="; + }; + "openai-gpt-vocab.json" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json"; + sha256 = "0y40gc9bixj5rxv674br1rxmxkd3ly29p80x1596h8yywwcrpx7x"; + }; + "openai-gpt-merges.txt" = fetchurl { + url = "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt"; + sha256 = "09a754pm4djjglv3x5pkgwd6f79i2rq8ydg0f7c3q1wmwqdbba8f"; + }; }; in buildPythonPackage rec { @@ -107,16 +110,7 @@ buildPythonPackage rec { postUnpack = '' # Add data files for tests, otherwise tests attempt network access mkdir $sourceRoot/tests/data - ( cd $sourceRoot/tests/data - ln -s ${robertaVocab} roberta-base-vocab.json - ln -s ${robertaMerges} roberta-base-merges.txt - ln -s ${albertVocab} albert-base-v1-tokenizer.json - ln -s ${bertVocab} bert-base-uncased-vocab.txt - ln -s ${docPipelineTokenizer} bert-wiki.json - ln -s ${docQuicktourTokenizer} tokenizer-wiki.json - ln -s ${norvigBig} big.txt - ln -s ${openaiVocab} openai-gpt-vocab.json - ln -s ${openaiMerges} openai-gpt-merges.txt ) + ln -s ${test-data}/* $sourceRoot/tests/data/ ''; preCheck = '' diff --git a/pkgs/development/python-modules/torch/bin.nix b/pkgs/development/python-modules/torch/bin.nix index 7a4756e905cc..9b12470cdde8 100644 --- a/pkgs/development/python-modules/torch/bin.nix +++ b/pkgs/development/python-modules/torch/bin.nix @@ -68,7 +68,7 @@ in buildPythonPackage { jinja2 networkx filelock - ] ++ lib.optionals stdenv.isx86_64 [ + ] ++ lib.optionals (stdenv.isLinux && stdenv.isx86_64) [ openai-triton ]; diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix index 9c705d4bfbec..2d7dbc81c5c1 100644 --- a/pkgs/development/python-modules/types-setuptools/default.nix +++ b/pkgs/development/python-modules/types-setuptools/default.nix @@ -1,18 +1,23 @@ { lib , buildPythonPackage , fetchPypi +, setuptools }: buildPythonPackage rec { pname = "types-setuptools"; - version = "68.2.0.2"; - format = "setuptools"; + version = "69.0.0.20240106"; + pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Ce/DgK1cf3jjC8oVRvcGRpVozyYITPq3Ps+D3qHShEY="; + hash = "sha256-4Hf5CJV43zyZOPbkqhYz8YK6Z0Cm/bEzPxYrrl38utw="; }; + nativeBuildInputs = [ + setuptools + ]; + # Module doesn't have tests doCheck = false; diff --git a/pkgs/development/python-modules/zamg/default.nix b/pkgs/development/python-modules/zamg/default.nix index 5138ebd1319a..294fbc4197d9 100644 --- a/pkgs/development/python-modules/zamg/default.nix +++ b/pkgs/development/python-modules/zamg/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "zamg"; - version = "0.3.3"; + version = "0.3.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "killer0071234"; repo = "python-zamg"; rev = "refs/tags/v${version}"; - hash = "sha256-hgJtM208xsDh9RbxOFu5DOiKonLMj8aWyu9+EhpE6TA="; + hash = "sha256-MomqMgL3axMdT/ckx2IG9k0IIDlNq0bod0ukjIvkM7Y="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zm-py/default.nix b/pkgs/development/python-modules/zm-py/default.nix index 633cf9c15f6b..ddd5b72b929d 100644 --- a/pkgs/development/python-modules/zm-py/default.nix +++ b/pkgs/development/python-modules/zm-py/default.nix @@ -1,29 +1,46 @@ -{ lib, fetchPypi, buildPythonPackage, isPy3k -, pytest, requests }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytestCheckHook +, pythonOlder +, requests +}: buildPythonPackage rec { pname = "zm-py"; - version = "0.5.2"; - format = "setuptools"; + version = "0.5.4"; + pyproject = true; - src = fetchPypi { - inherit pname version; - sha256 = "b391cca0e52f2a887aa7a46c314b73335b7e3341c428b425fcf314983e5ebb36"; + disabled = pythonOlder "3.11"; + + src = fetchFromGitHub { + owner = "rohankapoorcom"; + repo = "zm-py"; + rev = "refs/tags/v${version}"; + hash = "sha256-n9FRX2Pnn96H0HVT4SHLJgONc0XzQ005itMNpvl9IYg="; }; - disabled = !isPy3k; + nativeBuildInputs = [ + poetry-core + ]; - propagatedBuildInputs = [ requests ]; + propagatedBuildInputs = [ + requests + ]; - nativeCheckInputs = [ pytest ]; + nativeCheckInputs = [ + pytestCheckHook + ]; - checkPhase = '' - PYTHONPATH="./zoneminder:$PYTHONPATH" pytest - ''; + pythonImportsCheck = [ + "zoneminder" + ]; meta = with lib; { description = "A loose python wrapper around the ZoneMinder REST API"; homepage = "https://github.com/rohankapoorcom/zm-py"; + changelog = "https://github.com/rohankapoorcom/zm-py/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/pkgs/development/tools/api-linter/default.nix b/pkgs/development/tools/api-linter/default.nix index 3d298785bf0f..197628dfafc4 100644 --- a/pkgs/development/tools/api-linter/default.nix +++ b/pkgs/development/tools/api-linter/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "api-linter"; - version = "1.62.0"; + version = "1.63.1"; src = fetchFromGitHub { owner = "googleapis"; repo = "api-linter"; rev = "v${version}"; - hash = "sha256-QUI54nFlZJnZ2zfhSnFV5nGoXFiVm9jEnWP7B9HwjNI="; + hash = "sha256-S2SP/Q4iVVrsvTo5pedOwkOXsPGwstz+NM0bltWBa1Y="; }; - vendorHash = "sha256-GOgjHrYSFpzkGUorr4w3YShOHWCczp0Qzjq/qw89i4k="; + vendorHash = "sha256-vr/HLcOdzkKGdKJXROaKo070mwg1r2D2m0C3sT2CeQc="; subPackages = [ "cmd/api-linter" ]; @@ -23,7 +23,7 @@ buildGoModule rec { "-w" ]; - # reference: https://github.com/googleapis/api-linter/blob/v1.62.0/.github/workflows/release.yaml#L76 + # reference: https://github.com/googleapis/api-linter/blob/v1.63.1/.github/workflows/release.yaml#L76 preBuild = '' cat > cmd/api-linter/version.go <<EOF package main diff --git a/pkgs/development/tools/firebase-tools/default.nix b/pkgs/development/tools/firebase-tools/default.nix index 337de8c263b8..35789463f5bb 100644 --- a/pkgs/development/tools/firebase-tools/default.nix +++ b/pkgs/development/tools/firebase-tools/default.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "firebase-tools"; - version = "13.0.2"; + version = "13.0.3"; src = fetchFromGitHub { owner = "firebase"; repo = "firebase-tools"; rev = "v${version}"; - hash = "sha256-vR4WvnZjxdbebXWdVbM8vQTCo7pgRMcu9A2KygHZCMk="; + hash = "sha256-kq7ZrTh6cbrVCEW2/APtcdLqn9hCKXIxZmGgvgpfG4U="; }; - npmDepsHash = "sha256-h99Zj+yJJvLKc/B6AbKKQTOdrZCIT3BVlkxrOtOyNA4="; + npmDepsHash = "sha256-VR+fpykY38JekzcBCK99qmiM3veuZ85BtGGTNf7TW5o="; postPatch = '' ln -s npm-shrinkwrap.json package-lock.json diff --git a/pkgs/development/tools/glamoroustoolkit/default.nix b/pkgs/development/tools/glamoroustoolkit/default.nix index f861ef74e0ce..a7e7bcb93ddf 100644 --- a/pkgs/development/tools/glamoroustoolkit/default.nix +++ b/pkgs/development/tools/glamoroustoolkit/default.nix @@ -21,12 +21,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "glamoroustoolkit"; - version = "1.0.10"; + version = "1.0.11"; src = fetchzip { url = "https://github.com/feenkcom/gtoolkit-vm/releases/download/v${finalAttrs.version}/GlamorousToolkit-x86_64-unknown-linux-gnu.zip"; stripRoot = false; - hash = "sha256-TvT1u9eVHEg/NomTVlY8gFAYxj76ZLRLm3kbtXUTyc8="; + hash = "sha256-GQeYR232zoHLIt1AzznD7rp6u4zMiAdj1+0OfXfT6AQ="; }; nativeBuildInputs = [ wrapGAppsHook ]; diff --git a/pkgs/development/tools/google-java-format/default.nix b/pkgs/development/tools/google-java-format/default.nix index 1ff635fc2063..bf499e891dd6 100644 --- a/pkgs/development/tools/google-java-format/default.nix +++ b/pkgs/development/tools/google-java-format/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "google-java-format"; - version = "1.19.1"; + version = "1.19.2"; src = fetchurl { url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar"; - sha256 = "sha256-ffNOUfh4Kb8mfc0Dwl/lSUMChDLYW/ETi9Csx1mIteM="; + sha256 = "sha256-2Ji19wxVr9z3wEMeSX1opIRyw4Ty0E/m8JeN/+Ysvio="; }; dontUnpack = true; diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix index c9849e27d6f9..01dd6651b7f6 100644 --- a/pkgs/development/tools/just/default.nix +++ b/pkgs/development/tools/just/default.nix @@ -11,17 +11,17 @@ rustPlatform.buildRustPackage rec { pname = "just"; - version = "1.22.0"; + version = "1.22.1"; outputs = [ "out" "man" "doc" ]; src = fetchFromGitHub { owner = "casey"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-f7JZ19BPYNB/2Jy3m4ro1sOHbLgCd53td2DyxqvUnRo="; + hash = "sha256-AUK42SGRVLG8ZBauaLXpq9qlJHeS4sDNSiukZ8TMDu0="; }; - cargoHash = "sha256-5QMKcvpAubJ55i9UjuuI/An4z0aOvrtvSiLhj+prepU="; + cargoHash = "sha256-hZLiYJrXR7MWu09lw5/pwYzxKUPy7S97qKGqEnHMYW0="; nativeBuildInputs = [ installShellFiles mdbook ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix index 78d2af75668b..83ecedf8a640 100644 --- a/pkgs/development/tools/ktlint/default.nix +++ b/pkgs/development/tools/ktlint/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ktlint"; - version = "1.1.0"; + version = "1.1.1"; src = fetchurl { url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint"; - sha256 = "sha256-ZyMaiirHJOLvQRq+lQQ+tz+LnugD21WaM4IeU2HgGK8="; + sha256 = "sha256:01cl4jaa2bq52wii1wkzsy6sw546xh8wa8kyhvnfwp34m9d32r4w"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/misc/cmake-language-server/default.nix b/pkgs/development/tools/misc/cmake-language-server/default.nix index 6d2bc2b009fd..93ad66cd0596 100644 --- a/pkgs/development/tools/misc/cmake-language-server/default.nix +++ b/pkgs/development/tools/misc/cmake-language-server/default.nix @@ -66,5 +66,6 @@ buildPythonApplication rec { homepage = "https://github.com/regen100/cmake-language-server"; license = licenses.mit; maintainers = with maintainers; [ kira-bruneau ]; + mainProgram = "cmake-language-server"; }; } diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix index 8ed515c6f904..73f54dc24b8e 100644 --- a/pkgs/development/tools/misc/opengrok/default.nix +++ b/pkgs/development/tools/misc/opengrok/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "opengrok"; - version = "1.13.0"; + version = "1.13.1"; # binary distribution src = fetchurl { url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-qlZPoJrsH5ZHOXI0+eLiO/9rjZFXVLiF1dahTNbzfUI="; + hash = "sha256-3/BBLPoYX1/ft3MGiJD9OPtkB2PJM7bXkGRuXxTToXI="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix index 32eb3ccdaf99..5e153e4a90f8 100644 --- a/pkgs/development/tools/okteto/default.nix +++ b/pkgs/development/tools/okteto/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "okteto"; - version = "2.23.2"; + version = "2.24.0"; src = fetchFromGitHub { owner = "okteto"; repo = "okteto"; rev = version; - hash = "sha256-CR3ay54Z/h/mYomWtoOqV0Ynq+iygLR5Zd31gaEQ098="; + hash = "sha256-DnhUqnz+0VfZk5KCbVrQcQpsAI2ojVFMHw83UN2DzwQ="; }; - vendorHash = "sha256-HodvOSuzp57ijaShCJ+fnX5qk4o5LzMLOfPnpDlc2FU="; + vendorHash = "sha256-vSvHjQZFLzUIC9u+myI6Xi4YhetVkiQxBIkm5/RoV2U="; postPatch = '' # Disable some tests that need file system & network access. diff --git a/pkgs/development/tools/rust/cargo-tauri/default.nix b/pkgs/development/tools/rust/cargo-tauri/default.nix index 6da0790107eb..73256d0f4b3a 100644 --- a/pkgs/development/tools/rust/cargo-tauri/default.nix +++ b/pkgs/development/tools/rust/cargo-tauri/default.nix @@ -13,7 +13,7 @@ }: let - inherit (darwin.apple_sdk.frameworks) CoreServices Security; + inherit (darwin.apple_sdk.frameworks) CoreServices Security SystemConfiguration; in rustPlatform.buildRustPackage rec { pname = "tauri"; @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-CHX4fesnqxoeplqXGFrn4RSfGdrkhKNANvXIwMkWXDs="; buildInputs = [ openssl ] ++ lib.optionals stdenv.isLinux [ glibc libsoup cairo gtk3 webkitgtk ] - ++ lib.optionals stdenv.isDarwin [ CoreServices Security ]; + ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ]; nativeBuildInputs = [ pkg-config ]; meta = with lib; { diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix index 98898bcf9c31..16edbf5591d2 100644 --- a/pkgs/development/tools/rust/sqlx-cli/default.nix +++ b/pkgs/development/tools/rust/sqlx-cli/default.nix @@ -15,19 +15,34 @@ rustPlatform.buildRustPackage rec { pname = "sqlx-cli"; - version = "0.7.1"; + version = "0.7.3"; src = fetchFromGitHub { owner = "launchbadge"; repo = "sqlx"; rev = "v${version}"; - hash = "sha256-567/uJPQhrNqDqBF/PqklXm2avSjvtQsddjChwUKUCI="; + hash = "sha256-AKVNyuV9jwzmsy6tHkGkLj1fhVT8XYvEn2Ip2wCKDxI="; }; - cargoHash = "sha256-X7fLbih1s3sxn8vb2kQeFUKDK2DlC+sjm9ZTwj3FD1Y="; + cargoHash = "sha256-F3FLu/n57F8psk+d0Hf+HnqV/DvEFQwRefu/4C8A1sU="; + + # Prepare the Cargo.lock for offline use. + # See https://github.com/NixOS/nixpkgs/issues/261412 + postConfigure = '' + cargo metadata --offline > /dev/null + ''; + + buildNoDefaultFeatures = true; + buildFeatures = [ + "native-tls" + "postgres" + "sqlite" + "mysql" + "completions" + ]; doCheck = false; - cargoBuildFlags = [ "--package sqlx-cli --no-default-features --features native-tls,postgres,sqlite,mysql,completions" ]; + cargoBuildFlags = [ "--package sqlx-cli" ]; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/development/tools/sqldef/default.nix b/pkgs/development/tools/sqldef/default.nix index 4698c4179d04..4141cd4f9176 100644 --- a/pkgs/development/tools/sqldef/default.nix +++ b/pkgs/development/tools/sqldef/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "sqldef"; - version = "0.16.14"; + version = "0.16.15"; src = fetchFromGitHub { owner = "k0kubun"; repo = "sqldef"; rev = "v${version}"; - hash = "sha256-AuUGv3spAxPi3EwgWlxAfgksh6W/rTCnsGr3Fch5YTs="; + hash = "sha256-srwCSALP+xtccMnIOpsErn4hk83grXyOMEA2Hwsvjv0="; }; proxyVendor = true; diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix index 98f312cebd70..11e4c8e3db3c 100644 --- a/pkgs/development/tools/symfony-cli/default.nix +++ b/pkgs/development/tools/symfony-cli/default.nix @@ -10,14 +10,14 @@ buildGoModule rec { pname = "symfony-cli"; - version = "5.8.0"; - vendorHash = "sha256-JIvMW12q5RySBP6b1k178N8V8XFCaTEJj/XslqbxcpA="; + version = "5.8.1"; + vendorHash = "sha256-bscRqFYV2qzTmu04l00/iMsFQR5ITPBFVr9BQwVGFU8="; src = fetchFromGitHub { owner = "symfony-cli"; repo = "symfony-cli"; rev = "v${version}"; - hash = "sha256-X85hPwnn7UnadhPolS8gwC+KYvJMZXOo3Dy72I2f2Q4="; + hash = "sha256-GJPUYza1LhWZP9U3JKoe3i0npLgypo3DkKex9DFo1U4="; }; ldflags = [ diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix index b253b86b5149..ed516df42c3c 100644 --- a/pkgs/development/web/bun/default.nix +++ b/pkgs/development/web/bun/default.nix @@ -12,7 +12,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.0.21"; + version = "1.0.22"; pname = "bun"; src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); @@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-PqQWBoSRfCs4uPNCTdgxkrsfvkJcA7KADbqrij+J6Ks="; + hash = "sha256-DbpDJe7QfWa+QK31mqmWUxJ9O/CUhDHk2RILBo5d1+A="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-tQ2ShcOlh0Zqsw6hHXxq5M0W562Fp3u6VfW6uRgsCIQ="; + hash = "sha256-dROAnP6cTX4uteDdIXTFg/h+DX6IanRw2EuQgOev5xc="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip"; - hash = "sha256-u+ExrmaZIfzItS0NgeMKzrrI+2ViImvz2hSlr1yYlOI="; + hash = "sha256-ZkFXtiUFsR2XX97vYHXvGVm0FulInL0d+44TvUZA+0U="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-MrIR77IE4OdSVIeU+xp3PPuM/TFvd7nD9YyX+efLnU0="; + hash = "sha256-+TCpIiI1s84TxOq+5YPfETKqgPUxgkdZDeM5KNyoZfY="; }; }; updateScript = writeShellScript "update-bun" '' diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json index d034e6eab15d..583d3ae3cbed 100644 --- a/pkgs/games/factorio/versions.json +++ b/pkgs/games/factorio/versions.json @@ -2,56 +2,56 @@ "x86_64-linux": { "alpha": { "experimental": { - "name": "factorio_alpha_x64-1.1.94.tar.xz", + "name": "factorio_alpha_x64-1.1.101.tar.xz", "needsAuth": true, - "sha256": "06z3l828drnqv075qa3sg8l1877dlakqnppr79y031jlp8vg19pm", + "sha256": "07f8hcyf4hmf9lpa2ljm6ygpaaj2yd28da4krwa5yzjvqs88b4fq", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.94/alpha/linux64", - "version": "1.1.94" + "url": "https://factorio.com/get-download/1.1.101/alpha/linux64", + "version": "1.1.101" }, "stable": { - "name": "factorio_alpha_x64-1.1.94.tar.xz", + "name": "factorio_alpha_x64-1.1.100.tar.xz", "needsAuth": true, - "sha256": "06z3l828drnqv075qa3sg8l1877dlakqnppr79y031jlp8vg19pm", + "sha256": "0ylr1x39x6x9d4zx5h0j4isgz5m56kznadf984bcvsl51plhh5wc", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.94/alpha/linux64", - "version": "1.1.94" + "url": "https://factorio.com/get-download/1.1.100/alpha/linux64", + "version": "1.1.100" } }, "demo": { "experimental": { - "name": "factorio_demo_x64-1.1.94.tar.xz", + "name": "factorio_demo_x64-1.1.101.tar.xz", "needsAuth": false, - "sha256": "1z2l8xj3vvrd1m3q1rypczzqdzrmldmyipfg54qly8cfj3pxvk4w", + "sha256": "14cnz4y1iqjv8ks0w1k60qy1nqjn33wajwzdpnmxgcz01rzfqd8a", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.94/demo/linux64", - "version": "1.1.94" + "url": "https://factorio.com/get-download/1.1.101/demo/linux64", + "version": "1.1.101" }, "stable": { - "name": "factorio_demo_x64-1.1.94.tar.xz", + "name": "factorio_demo_x64-1.1.100.tar.xz", "needsAuth": false, - "sha256": "1z2l8xj3vvrd1m3q1rypczzqdzrmldmyipfg54qly8cfj3pxvk4w", + "sha256": "08xrmik7z7p0pgrnscriqhssv2chrpp42gi2dw8fgjb4wf76wqc4", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.94/demo/linux64", - "version": "1.1.94" + "url": "https://factorio.com/get-download/1.1.100/demo/linux64", + "version": "1.1.100" } }, "headless": { "experimental": { - "name": "factorio_headless_x64-1.1.94.tar.xz", + "name": "factorio_headless_x64-1.1.101.tar.xz", "needsAuth": false, - "sha256": "0ajs883dnz2ak1mxqvsw6hmpahcxqq243ravp5gb3iyiaaprqa4n", + "sha256": "14l3cg8swl3l7lzp44j4zk9wldzf4g23vda67wyzfyx82pvad206", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.94/headless/linux64", - "version": "1.1.94" + "url": "https://factorio.com/get-download/1.1.101/headless/linux64", + "version": "1.1.101" }, "stable": { - "name": "factorio_headless_x64-1.1.94.tar.xz", + "name": "factorio_headless_x64-1.1.100.tar.xz", "needsAuth": false, - "sha256": "0ajs883dnz2ak1mxqvsw6hmpahcxqq243ravp5gb3iyiaaprqa4n", + "sha256": "0d6qphx6kpdmvyf40j45ih2s8q48i28nac86pal4vvlkdwadsl4q", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.94/headless/linux64", - "version": "1.1.94" + "url": "https://factorio.com/get-download/1.1.100/headless/linux64", + "version": "1.1.100" } } } diff --git a/pkgs/games/frotz/default.nix b/pkgs/games/frotz/default.nix index 9b5256fc1c72..9bc7ae5ae512 100644 --- a/pkgs/games/frotz/default.nix +++ b/pkgs/games/frotz/default.nix @@ -1,4 +1,7 @@ -{ fetchFromGitLab +{ lib +, stdenv +, fetchFromGitLab +, fetchpatch , libao , libmodplug , libsamplerate @@ -7,29 +10,31 @@ , ncurses , which , pkg-config -, lib, stdenv }: +}: stdenv.mkDerivation rec { - version = "2.53"; pname = "frotz"; + version = "2.54"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "DavidGriffith"; repo = "frotz"; rev = version; - sha256 = "sha256-xVC/iE71W/Wdy5aPGH9DtcVAHWCcg3HkEA3iDV6OYUo="; + hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8="; }; + patches = [ + (fetchpatch { + url = "https://github.com/macports/macports-ports/raw/496e5b91e3b6c9dc6820d77ab60dbe400d1924ee/games/frotz/files/Makefile.patch"; + extraPrefix = ""; + hash = "sha256-P83ZzSi3bhncQ52Y38Q3F/7v1SJKr5614tytt862HRg="; + }) + ]; + nativeBuildInputs = [ which pkg-config ]; buildInputs = [ libao libmodplug libsamplerate libsndfile libvorbis ncurses ]; - preBuild = '' - makeFlagsArray+=( - CC="cc" - CFLAGS="-D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600" - LDFLAGS="-lncursesw -ltinfo" - ) - ''; + installFlags = [ "PREFIX=$(out)" ]; meta = with lib; { @@ -37,7 +42,7 @@ stdenv.mkDerivation rec { changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS"; description = "A z-machine interpreter for Infocom games and other interactive fiction"; platforms = platforms.unix; - maintainers = with maintainers; [ nicknovitski ddelabru ]; + maintainers = with maintainers; [ nicknovitski ddelabru ]; license = licenses.gpl2; }; } diff --git a/pkgs/games/osu-lazer/bin.nix b/pkgs/games/osu-lazer/bin.nix index e042e9d295eb..ba624c8c575d 100644 --- a/pkgs/games/osu-lazer/bin.nix +++ b/pkgs/games/osu-lazer/bin.nix @@ -7,22 +7,22 @@ let pname = "osu-lazer-bin"; - version = "2023.1229.0"; + version = "2023.1231.0"; src = { aarch64-darwin = fetchzip { url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip"; - hash = "sha256-aZp8pVeCxmaAyWYnBg7w8sPMXy+L2UGRk3NvG/VsxYI="; + hash = "sha256-nvO8PPh+zBReHvDNFg1tXqSVICvhR9imEPC8y2gTNoA="; stripRoot = false; }; x86_64-darwin = fetchzip { url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip"; - hash = "sha256-Xle/WcWg+lYA+DxQmE4Kzn1pJTa+HrM13utXqdK8ZZY="; + hash = "sha256-W4SJ4I8ebpUXiOzKh/WyyOGHuS49lyfbgHc5ec/qhZY="; stripRoot = false; }; x86_64-linux = fetchurl { url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage"; - hash = "sha256-lRdRPwa6xix5Nvt3szPeposmqU8D826iFmE6S1uPBF8="; + hash = "sha256-BOe42jIwVBSZF0T/TMvOTdu2sQe19jpAl8WkqyZjy8U="; }; }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix index 9949a2ee9f0f..bf9170f0fe92 100644 --- a/pkgs/games/osu-lazer/default.nix +++ b/pkgs/games/osu-lazer/default.nix @@ -16,13 +16,13 @@ buildDotnetModule rec { pname = "osu-lazer"; - version = "2023.1229.0"; + version = "2023.1231.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - hash = "sha256-2GcPV6UHnNdToXfLs2+i3XNwE6Ymaj2bqNb5EePE3kM="; + hash = "sha256-QNIBfB0d1Zjpm31w5Rb3Vve1KIwH7hbEP3zALFLpO/8="; }; projectFile = "osu.Desktop/osu.Desktop.csproj"; diff --git a/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon.nix b/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon.nix index bf8ed2ea5b66..918bfb7684c9 100644 --- a/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon.nix +++ b/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon.nix @@ -4,13 +4,13 @@ callPackage ./generic.nix rec { pname = "experienced-pixel-dungeon"; - version = "2.16"; + version = "2.16.2"; src = fetchFromGitHub { owner = "TrashboxBobylev"; repo = "Experienced-Pixel-Dungeon-Redone"; rev = "ExpPD-${version}"; - hash = "sha256-EfSByMceefUcnNmLSTnFNJs/iz1Q45X0BHHfj89d7PI="; + hash = "sha256-fTHAA3pCXAA9W32eeY29eaLnfcG5pLop/awQG5zKMt4="; }; postPatch = '' diff --git a/pkgs/misc/jitsi-meet-prosody/default.nix b/pkgs/misc/jitsi-meet-prosody/default.nix index 5f49773abd37..c121d88941f7 100644 --- a/pkgs/misc/jitsi-meet-prosody/default.nix +++ b/pkgs/misc/jitsi-meet-prosody/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "jitsi-meet-prosody"; - version = "1.0.7658"; + version = "1.0.7712"; src = fetchurl { url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb"; - sha256 = "TCkCtAuzek7qT4udr9edGLderEmZ5ZyYXgRnfUFXgds="; + sha256 = "MONg1CxLrfB+cmmXm4r3HqwF1on+vDZ0IODKSr7PsWo="; }; dontBuild = true; diff --git a/pkgs/os-specific/linux/amdgpu-pro/default.nix b/pkgs/os-specific/linux/amdgpu-pro/default.nix index 96339c1d164f..ade6da99810b 100644 --- a/pkgs/os-specific/linux/amdgpu-pro/default.nix +++ b/pkgs/os-specific/linux/amdgpu-pro/default.nix @@ -9,7 +9,7 @@ , perl , zlib , expat -, libffi +, libffi_3_3 , libselinux , libdrm , udev @@ -119,7 +119,7 @@ in stdenv.mkDerivation rec { libxshmfence elfutils expat - libffi + libffi_3_3 libselinux # libudev is not listed in any dependencies, but is loaded dynamically udev diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 515fbed1636c..b66a1fcc9259 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -20,12 +20,12 @@ "hash": "sha256:0ns8qxcrxj9i76b93xcghl002l8vbkg7ksd435sikig62qr62gf4" }, "5.4": { - "version": "5.4.265", - "hash": "sha256:05cvvwjiznn7hfd02qklklalg0chahvh5v18w64lcva6kzj9kbjd" + "version": "5.4.266", + "hash": "sha256:1dmcn9i3nvf1gldm1a32gnl5ybwbk2lizb3wa4gc06g7dxz2y1ys" }, "4.19": { - "version": "4.19.303", - "hash": "sha256:0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82" + "version": "4.19.304", + "hash": "sha256:165mljr8v1cf4vf4a4b44hx089rprkssvi2azq5wbxxg3basbind" }, "6.6": { "version": "6.6.10", diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index b41551b24593..05b18383303f 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "19459"; - sha256 = "12qx165i6dp9mrsbmizw6ynyxwvq11dmwz00xgy5qgr4ag3y4z4c"; + rev = "19473"; + sha256 = "0k9pgjg6k9j00x4m3g6chnhgznr5r1yyqd9x8q7a9q9j88vygszs"; } , ... }: diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 526533e44222..b2aca67a7c9b 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -4,9 +4,9 @@ let # comments with variant added for update script # ./update-zen.py zen zenVariant = { - version = "6.6.10"; #zen + version = "6.7"; #zen suffix = "zen1"; #zen - sha256 = "1hhy5jp1s65vpvrw9xylx3xl7mmagzmm5r9bq81hvvr7bhf754ny"; #zen + sha256 = "005m4qjhbvn4jmm37sad9bmrrk2qfkxlaq3s7k296hjfkrqnbvlw"; #zen isLqx = false; }; # ./update-zen.py lqx diff --git a/pkgs/os-specific/linux/nvme-cli/default.nix b/pkgs/os-specific/linux/nvme-cli/default.nix index d10900d3958a..b7e94d3938aa 100644 --- a/pkgs/os-specific/linux/nvme-cli/default.nix +++ b/pkgs/os-specific/linux/nvme-cli/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "nvme-cli"; - version = "2.7"; + version = "2.7.1"; src = fetchFromGitHub { owner = "linux-nvme"; repo = "nvme-cli"; rev = "v${version}"; - hash = "sha256-qijzXucNE+M8fOEtNaoQYX41HeJOMtg/cJFCUJyS6Ew="; + hash = "sha256-Gm+1tb/Nh+Yg2PgSUn/1hR4CZYnfTWRwcQU0A8UeQwI="; }; mesonFlags = [ diff --git a/pkgs/servers/geospatial/mapserver/default.nix b/pkgs/servers/geospatial/mapserver/default.nix index c46aa3d48d0d..922f0864b841 100644 --- a/pkgs/servers/geospatial/mapserver/default.nix +++ b/pkgs/servers/geospatial/mapserver/default.nix @@ -15,6 +15,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-fAf4kOe/6bQW0i46+EZbD/6iWI2Bjkn2no6XeR/+mg4="; }; + patches = [ + # drop this patch for version 8.0.2 + ./fix-build-w-libxml2-12.patch + ]; + nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch b/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch new file mode 100644 index 000000000000..e33a7f7bc44c --- /dev/null +++ b/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch @@ -0,0 +1,39 @@ +diff --git a/mapows.c b/mapows.c +index f141a7b..5a94ecb 100644 +--- a/mapows.c ++++ b/mapows.c +@@ -168,7 +168,7 @@ static int msOWSPreParseRequest(cgiRequestObj *request, + #endif + if (ows_request->document == NULL + || (root = xmlDocGetRootElement(ows_request->document)) == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_OWSERR, "XML parsing error: %s", + "msOWSPreParseRequest()", error->message); + return MS_FAILURE; +diff --git a/mapwcs.cpp b/mapwcs.cpp +index 70e63b8..19afa79 100644 +--- a/mapwcs.cpp ++++ b/mapwcs.cpp +@@ -362,7 +362,7 @@ static int msWCSParseRequest(cgiRequestObj *request, wcsParamsObj *params, mapOb + /* parse to DOM-Structure and get root element */ + if((doc = xmlParseMemory(request->postrequest, strlen(request->postrequest))) + == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest()", error->message); + return MS_FAILURE; +diff --git a/mapwcs20.cpp b/mapwcs20.cpp +index b35e803..2431bdc 100644 +--- a/mapwcs20.cpp ++++ b/mapwcs20.cpp +@@ -1446,7 +1446,7 @@ int msWCSParseRequest20(mapObj *map, + + /* parse to DOM-Structure and get root element */ + if(doc == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest20()", error->message); + return MS_FAILURE; diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md index d7137e5c62f7..888ea97e4553 100644 --- a/pkgs/servers/home-assistant/custom-components/README.md +++ b/pkgs/servers/home-assistant/custom-components/README.md @@ -39,6 +39,7 @@ buildHomeAssistantComponent { # changelog, description, homepage, license, maintainers } } +``` ## Package attribute diff --git a/pkgs/servers/jicofo/default.nix b/pkgs/servers/jicofo/default.nix index 3ace911102d4..d8d85b8f6599 100644 --- a/pkgs/servers/jicofo/default.nix +++ b/pkgs/servers/jicofo/default.nix @@ -2,10 +2,10 @@ let pname = "jicofo"; - version = "1.0-1057"; + version = "1.0-1059"; src = fetchurl { url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb"; - sha256 = "TdLPpwgULubzqyhD8PZhUMJG+AZnPT8xgjS3mUnToEo="; + sha256 = "NlBRUI4j/5njFS/TtBTsaV/5ILFtqWd6SF+FqpGp1Uk="; }; in stdenv.mkDerivation { diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix index 3d0f399e4952..96f5190e18f1 100644 --- a/pkgs/servers/jitsi-videobridge/default.nix +++ b/pkgs/servers/jitsi-videobridge/default.nix @@ -2,10 +2,10 @@ let pname = "jitsi-videobridge2"; - version = "2.3-61-g814bffd6"; + version = "2.3-64-g719465d1"; src = fetchurl { url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb"; - sha256 = "EzYD6x4CSv8lJRbBCR7Irfh8oaOl8qw+vw6YRfBh6nk="; + sha256 = "zZYBSHaMhGzJfONyEUkPUCalxLyB/EjqLqIgJPg2Z8o="; }; in stdenv.mkDerivation { diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix index 14c38c848f25..646d2d83ed1c 100644 --- a/pkgs/servers/keycloak/default.nix +++ b/pkgs/servers/keycloak/default.nix @@ -18,11 +18,11 @@ let ''; in stdenv.mkDerivation rec { pname = "keycloak"; - version = "23.0.3"; + version = "23.0.4"; src = fetchzip { url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip"; - hash = "sha256-5K8+pfn1zoXzBWJevZBx+9kZmefs1AvPoshOKP/dkNY="; + hash = "sha256-qvgYH/e+V++Tk39sgELTiUqyoEbBuUoCRNaCiM8ZuoA="; }; nativeBuildInputs = [ makeWrapper jre ]; diff --git a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix index 7a7442d8946a..4752e5fe08c9 100644 --- a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix +++ b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix @@ -11,7 +11,7 @@ maven.buildMavenPackage rec { hash = "sha256-pacmx5w1VVWz3HmHO6sc2friNUpzo4zyJI1/TQgCXlc="; }; - mvnHash = "sha256-rwAc2KtKo4vJ0JWwPquMyt+FHVNTmMpzBPbo8lWDN/A="; + mvnHash = "sha256-RjERY434UL9z/gNZFV+wMTITCmTPGanwu61L8sEGaKY="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index 96487015df8c..02a263aa8e16 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -14,16 +14,16 @@ buildGoModule rec { pname = "grafana-agent"; - version = "0.38.1"; + version = "0.39.0"; src = fetchFromGitHub { owner = "grafana"; repo = "agent"; rev = "v${version}"; - hash = "sha256-caqJE92yEzqU/UQS7Cgxe+4+wGqBqPshhhPAyPP2WPQ="; + hash = "sha256-mUPWww7RnrCwJKGWXIsX7vnTmxj2h31AzM8a0eKa15g="; }; - vendorHash = "sha256-aN/vIBbezieMhWG/czwXxx+/M40mDySZmM8pxVVs3Vs="; + vendorHash = "sha256-nOuinJXTiTumHlOWcuGTBcrw9ArIdb/R8jIT/5+i0vM="; proxyVendor = true; # darwin/linux hash mismatch frontendYarnOfflineCache = fetchYarnDeps { diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix index efc0f64f3583..4f34c9f0b73a 100644 --- a/pkgs/servers/sabnzbd/default.nix +++ b/pkgs/servers/sabnzbd/default.nix @@ -47,14 +47,14 @@ let ]); path = lib.makeBinPath [ coreutils par2cmdline unrar unzip p7zip util-linux ]; in stdenv.mkDerivation rec { - version = "4.2.0"; + version = "4.2.1"; pname = "sabnzbd"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-ub8CwFcmxfsfhR45M5lVZvCHyzN/7CK4ElS4Q0U4qu8="; + sha256 = "sha256-M9DvwizNeCXkV07dkgiComdjoceUACCuccZb+y9RMdw="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix index 34c2621847b1..0f3055361adb 100644 --- a/pkgs/servers/web-apps/jitsi-meet/default.nix +++ b/pkgs/servers/web-apps/jitsi-meet/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "jitsi-meet"; - version = "1.0.7658"; + version = "1.0.7712"; src = fetchurl { url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2"; - sha256 = "5NzIN0T/7Y9WrCLA7CXAbBOOPIl4BuVHdz15jKf7fQo="; + sha256 = "NNO+lXSPGtEDN7cqBatH2l8jqaQnTdNXfo9uzc+SwUA="; }; dontBuild = true; diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index dd2987190718..cde718df1aba 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -83,7 +83,10 @@ rec { in overrideCC stdenv (stdenv.cc.override { inherit libcxx; - extraPackages = [ cxxabi pkgs.pkgsTargetTarget."llvmPackages_${lib.versions.major llvmLibcxxVersion}".compiler-rt ]; + extraPackages = [ + cxxabi + pkgs.buildPackages.targetPackages."llvmPackages_${lib.versions.major llvmLibcxxVersion}".compiler-rt + ]; }); # Override the setup script of stdenv. Useful for testing new diff --git a/pkgs/test/checkpointBuild/default.nix b/pkgs/test/checkpointBuild/default.nix index cdcb022086ba..0843dcd3d6eb 100644 --- a/pkgs/test/checkpointBuild/default.nix +++ b/pkgs/test/checkpointBuild/default.nix @@ -10,7 +10,7 @@ let patch -p1 < ${./hello.patch} ''; }); - checkpointBuiltHello = checkpointBuildTools.mkCheckpointedBuild patchedHello baseHelloArtifacts; + checkpointBuiltHello = checkpointBuildTools.mkCheckpointBuild patchedHello baseHelloArtifacts; checkpointBuiltHelloWithCheck = checkpointBuiltHello.overrideAttrs (old: { doCheck = true; @@ -41,7 +41,7 @@ let ''; }); - checkpointBuiltHelloWithRemovedFile = checkpointBuildTools.mkCheckpointedBuild patchedHelloRemoveFile baseHelloRemoveFileArtifacts; + checkpointBuiltHelloWithRemovedFile = checkpointBuildTools.mkCheckpointBuild patchedHelloRemoveFile baseHelloRemoveFileArtifacts; in stdenv.mkDerivation { name = "patched-hello-returns-correct-output"; diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 1459e9c310da..65305bf165d3 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -64,7 +64,6 @@ with pkgs; # libcxxStdenv broken # fix in https://github.com/NixOS/nixpkgs/pull/216273 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - (filterAttrs (n: _: n != "llvmPackages_6")) (filterAttrs (n: _: n != "llvmPackages_8")) (filterAttrs (n: _: n != "llvmPackages_9")) (filterAttrs (n: _: n != "llvmPackages_10")) @@ -113,7 +112,7 @@ with pkgs; install-shell-files = callPackage ./install-shell-files {}; - checkpoint-build = callPackage ./checkpointBuild {}; + checkpointBuildTools = callPackage ./checkpointBuild {}; kernel-config = callPackage ./kernel.nix {}; diff --git a/pkgs/test/nixpkgs-check-by-name/README.md b/pkgs/test/nixpkgs-check-by-name/README.md index 19865ca0952b..871847bd74cc 100644 --- a/pkgs/test/nixpkgs-check-by-name/README.md +++ b/pkgs/test/nixpkgs-check-by-name/README.md @@ -28,6 +28,8 @@ These checks are performed by this tool: - Each package directory must not refer to files outside itself using symlinks or Nix path expressions. ### Nix evaluation checks + +Evaluate Nixpkgs with `system` set to `x86_64-linux` and check that: - For each package directory, the `pkgs.${name}` attribute must be defined as `callPackage pkgs/by-name/${shard}/${name}/package.nix args` for some `args`. - For each package directory, `pkgs.lib.isDerivation pkgs.${name}` must be `true`. diff --git a/pkgs/test/nixpkgs-check-by-name/src/eval.nix b/pkgs/test/nixpkgs-check-by-name/src/eval.nix index bf9f19d8e460..7707dc732b70 100644 --- a/pkgs/test/nixpkgs-check-by-name/src/eval.nix +++ b/pkgs/test/nixpkgs-check-by-name/src/eval.nix @@ -1,11 +1,7 @@ # Takes a path to nixpkgs and a path to the json-encoded list of attributes to check. -# Returns an attribute set containing information on each requested attribute. -# If the attribute is missing from Nixpkgs it's also missing from the result. -# -# The returned information is an attribute set with: -# - call_package_path: The <path> from `<attr> = callPackage <path> { ... }`, -# or null if it's not defined as with callPackage, or if the <path> is not a path -# - is_derivation: The result of `lib.isDerivation <attr>` +# Returns an value containing information on each requested attribute, +# which is decoded on the Rust side. +# See ./eval.rs for the meaning of the returned values { attrsPath, nixpkgsPath, @@ -13,70 +9,85 @@ let attrs = builtins.fromJSON (builtins.readFile attrsPath); - # This overlay mocks callPackage to persist the path of the first argument - callPackageOverlay = self: super: { + nixpkgsPathLength = builtins.stringLength (toString nixpkgsPath) + 1; + removeNixpkgsPrefix = builtins.substring nixpkgsPathLength (-1); + + # We need access to the `callPackage` arguments of each attribute. + # The only way to do so is to override `callPackage` with our own version that adds this information to the result, + # and then try to access this information. + overlay = final: prev: { + + # Information for attributes defined using `callPackage` callPackage = fn: args: - let - result = super.callPackage fn args; - variantInfo._attributeVariant = { - # These names are used by the deserializer on the Rust side - CallPackage.path = + addVariantInfo (prev.callPackage fn args) { + Manual = { + path = if builtins.isPath fn then - toString fn + removeNixpkgsPrefix (toString fn) else null; - CallPackage.empty_arg = + empty_arg = args == { }; }; - in - if builtins.isAttrs result then - # If this was the last overlay to be applied, we could just only return the `_callPackagePath`, - # but that's not the case because stdenv has another overlays on top of user-provided ones. - # So to not break the stdenv build we need to return the mostly proper result here - result // variantInfo - else - # It's very rare that callPackage doesn't return an attribute set, but it can occur. - variantInfo; + }; + # Information for attributes that are auto-called from pkgs/by-name. + # This internal attribute is only used by pkgs/by-name _internalCallByNamePackageFile = file: - let - result = super._internalCallByNamePackageFile file; - variantInfo._attributeVariant = { - # This name is used by the deserializer on the Rust side - AutoCalled = null; - }; - in - if builtins.isAttrs result then - # If this was the last overlay to be applied, we could just only return the `_callPackagePath`, - # but that's not the case because stdenv has another overlays on top of user-provided ones. - # So to not break the stdenv build we need to return the mostly proper result here - result // variantInfo - else - # It's very rare that callPackage doesn't return an attribute set, but it can occur. - variantInfo; + addVariantInfo (prev._internalCallByNamePackageFile file) { + Auto = null; + }; + }; + # We can't just replace attribute values with their info in the overlay, + # because attributes can depend on other attributes, so this would break evaluation. + addVariantInfo = value: variant: + if builtins.isAttrs value then + value // { + _callPackageVariant = variant; + } + else + # It's very rare that callPackage doesn't return an attribute set, but it can occur. + # In such a case we can't really return anything sensible that would include the info, + # so just don't return the info and let the consumer handle it. + value; + pkgs = import nixpkgsPath { # Don't let the users home directory influence this result config = { }; - overlays = [ callPackageOverlay ]; + overlays = [ overlay ]; + # We check evaluation and callPackage only for x86_64-linux. + # Not ideal, but hard to fix + system = "x86_64-linux"; }; - attrInfo = attr: - let - value = pkgs.${attr}; - in - { - # These names are used by the deserializer on the Rust side - variant = value._attributeVariant or { Other = null; }; - is_derivation = pkgs.lib.isDerivation value; - }; + attrInfo = name: value: + if ! builtins.isAttrs value then + { + NonAttributeSet = null; + } + else if ! value ? _callPackageVariant then + { + NonCallPackage = null; + } + else + { + CallPackage = { + call_package_variant = value._callPackageVariant; + is_derivation = pkgs.lib.isDerivation value; + }; + }; - attrInfos = builtins.listToAttrs (map (name: { - inherit name; - value = attrInfo name; - }) attrs); + attrInfos = map (name: [ + name + ( + if ! pkgs ? ${name} then + { Missing = null; } + else + { Existing = attrInfo name pkgs.${name}; } + ) + ]) attrs; in -# Filter out attributes not in Nixpkgs -builtins.intersectAttrs pkgs attrInfos +attrInfos diff --git a/pkgs/test/nixpkgs-check-by-name/src/eval.rs b/pkgs/test/nixpkgs-check-by-name/src/eval.rs index cd8c70472cf2..65f71ccafc6f 100644 --- a/pkgs/test/nixpkgs-check-by-name/src/eval.rs +++ b/pkgs/test/nixpkgs-check-by-name/src/eval.rs @@ -6,33 +6,48 @@ use std::path::Path; use anyhow::Context; use serde::Deserialize; -use std::collections::HashMap; use std::path::PathBuf; use std::process; use tempfile::NamedTempFile; /// Attribute set of this structure is returned by eval.nix #[derive(Deserialize)] -struct AttributeInfo { - variant: AttributeVariant, +enum ByNameAttribute { + /// The attribute doesn't exist at all + Missing, + Existing(AttributeInfo), +} + +#[derive(Deserialize)] +enum AttributeInfo { + /// The attribute exists, but its value isn't an attribute set + NonAttributeSet, + /// The attribute exists, but its value isn't defined using callPackage + NonCallPackage, + /// The attribute exists and its value is an attribute set + CallPackage(CallPackageInfo), +} + +#[derive(Deserialize)] +struct CallPackageInfo { + call_package_variant: CallPackageVariant, + /// Whether the attribute is a derivation (`lib.isDerivation`) is_derivation: bool, } #[derive(Deserialize)] -enum AttributeVariant { +enum CallPackageVariant { /// The attribute is auto-called as pkgs.callPackage using pkgs/by-name, /// and it is not overridden by a definition in all-packages.nix - AutoCalled, + Auto, /// The attribute is defined as a pkgs.callPackage <path> <args>, /// and overridden by all-packages.nix - CallPackage { + Manual { /// The <path> argument or None if it's not a path path: Option<PathBuf>, /// true if <args> is { } empty_arg: bool, }, - /// The attribute is not defined as pkgs.callPackage - Other, } /// Check that the Nixpkgs attribute values corresponding to the packages in pkgs/by-name are @@ -45,20 +60,22 @@ pub fn check_values( ) -> validation::Result<ratchet::Nixpkgs> { // Write the list of packages we need to check into a temporary JSON file. // This can then get read by the Nix evaluation. - let attrs_file = NamedTempFile::new().context("Failed to create a temporary file")?; + let attrs_file = NamedTempFile::new().with_context(|| "Failed to create a temporary file")?; // We need to canonicalise this path because if it's a symlink (which can be the case on // Darwin), Nix would need to read both the symlink and the target path, therefore need 2 // NIX_PATH entries for restrict-eval. But if we resolve the symlinks then only one predictable // entry is needed. let attrs_file_path = attrs_file.path().canonicalize()?; - serde_json::to_writer(&attrs_file, &package_names).context(format!( - "Failed to serialise the package names to the temporary path {}", - attrs_file_path.display() - ))?; + serde_json::to_writer(&attrs_file, &package_names).with_context(|| { + format!( + "Failed to serialise the package names to the temporary path {}", + attrs_file_path.display() + ) + })?; let expr_path = std::env::var("NIX_CHECK_BY_NAME_EXPR_PATH") - .context("Could not get environment variable NIX_CHECK_BY_NAME_EXPR_PATH")?; + .with_context(|| "Could not get environment variable NIX_CHECK_BY_NAME_EXPR_PATH")?; // With restrict-eval, only paths in NIX_PATH can be accessed, so we explicitly specify the // ones needed needed let mut command = process::Command::new("nix-instantiate"); @@ -97,80 +114,96 @@ pub fn check_values( let result = command .output() - .context(format!("Failed to run command {command:?}"))?; + .with_context(|| format!("Failed to run command {command:?}"))?; if !result.status.success() { anyhow::bail!("Failed to run command {command:?}"); } // Parse the resulting JSON value - let actual_files: HashMap<String, AttributeInfo> = serde_json::from_slice(&result.stdout) - .context(format!( - "Failed to deserialise {}", - String::from_utf8_lossy(&result.stdout) - ))?; - - Ok( - validation::sequence(package_names.into_iter().map(|package_name| { - let relative_package_file = structure::relative_file_for_package(&package_name); - let absolute_package_file = nixpkgs_path.join(&relative_package_file); - - if let Some(attribute_info) = actual_files.get(&package_name) { - let check_result = if !attribute_info.is_derivation { - NixpkgsProblem::NonDerivation { - relative_package_file: relative_package_file.clone(), - package_name: package_name.clone(), - } - .into() - } else { - Success(()) - }; - - let check_result = check_result.and(match &attribute_info.variant { - AttributeVariant::AutoCalled => Success(ratchet::Package { - empty_non_auto_called: ratchet::EmptyNonAutoCalled::Valid, - }), - AttributeVariant::CallPackage { path, empty_arg } => { - let correct_file = if let Some(call_package_path) = path { - absolute_package_file == *call_package_path - } else { - false - }; - - if correct_file { - Success(ratchet::Package { - // Empty arguments for non-auto-called packages are not allowed anymore. - empty_non_auto_called: if *empty_arg { - ratchet::EmptyNonAutoCalled::Invalid - } else { - ratchet::EmptyNonAutoCalled::Valid - }, - }) - } else { - NixpkgsProblem::WrongCallPackage { - relative_package_file: relative_package_file.clone(), - package_name: package_name.clone(), + let attributes: Vec<(String, ByNameAttribute)> = serde_json::from_slice(&result.stdout) + .with_context(|| { + format!( + "Failed to deserialise {}", + String::from_utf8_lossy(&result.stdout) + ) + })?; + + let check_result = validation::sequence(attributes.into_iter().map( + |(attribute_name, attribute_value)| { + let relative_package_file = structure::relative_file_for_package(&attribute_name); + + use ratchet::RatchetState::*; + use AttributeInfo::*; + use ByNameAttribute::*; + use CallPackageVariant::*; + + let check_result = match attribute_value { + Missing => NixpkgsProblem::UndefinedAttr { + relative_package_file: relative_package_file.clone(), + package_name: attribute_name.clone(), + } + .into(), + Existing(NonAttributeSet) => NixpkgsProblem::NonDerivation { + relative_package_file: relative_package_file.clone(), + package_name: attribute_name.clone(), + } + .into(), + Existing(NonCallPackage) => NixpkgsProblem::WrongCallPackage { + relative_package_file: relative_package_file.clone(), + package_name: attribute_name.clone(), + } + .into(), + Existing(CallPackage(CallPackageInfo { + is_derivation, + call_package_variant, + })) => { + let check_result = if !is_derivation { + NixpkgsProblem::NonDerivation { + relative_package_file: relative_package_file.clone(), + package_name: attribute_name.clone(), + } + .into() + } else { + Success(()) + }; + + check_result.and(match &call_package_variant { + Auto => Success(ratchet::Package { + empty_non_auto_called: Tight, + }), + Manual { path, empty_arg } => { + let correct_file = if let Some(call_package_path) = path { + relative_package_file == *call_package_path + } else { + false + }; + + if correct_file { + Success(ratchet::Package { + // Empty arguments for non-auto-called packages are not allowed anymore. + empty_non_auto_called: if *empty_arg { + Loose(ratchet::EmptyNonAutoCalled) + } else { + Tight + }, + }) + } else { + NixpkgsProblem::WrongCallPackage { + relative_package_file: relative_package_file.clone(), + package_name: attribute_name.clone(), + } + .into() } - .into() } - } - AttributeVariant::Other => NixpkgsProblem::WrongCallPackage { - relative_package_file: relative_package_file.clone(), - package_name: package_name.clone(), - } - .into(), - }); - - check_result.map(|value| (package_name.clone(), value)) - } else { - NixpkgsProblem::UndefinedAttr { - relative_package_file: relative_package_file.clone(), - package_name: package_name.clone(), + }) } - .into() - } - })) - .map(|elems| ratchet::Nixpkgs { - packages: elems.into_iter().collect(), - }), - ) + }; + check_result.map(|value| (attribute_name.clone(), value)) + }, + )); + + Ok(check_result.map(|elems| ratchet::Nixpkgs { + package_names, + package_map: elems.into_iter().collect(), + })) } diff --git a/pkgs/test/nixpkgs-check-by-name/src/main.rs b/pkgs/test/nixpkgs-check-by-name/src/main.rs index 18c950d0a6eb..d7627acb5fee 100644 --- a/pkgs/test/nixpkgs-check-by-name/src/main.rs +++ b/pkgs/test/nixpkgs-check-by-name/src/main.rs @@ -38,15 +38,13 @@ pub struct Args { /// Path to the base Nixpkgs to run ratchet checks against. /// For PRs, this should be set to a checkout of the PRs base branch. - /// If not specified, no ratchet checks will be performed. - /// However, this flag will become required once CI uses it. #[arg(long)] - base: Option<PathBuf>, + base: PathBuf, } fn main() -> ExitCode { let args = Args::parse(); - match process(args.base.as_deref(), &args.nixpkgs, &[], &mut io::stderr()) { + match process(&args.base, &args.nixpkgs, &[], &mut io::stderr()) { Ok(true) => { eprintln!("{}", "Validated successfully".green()); ExitCode::SUCCESS @@ -77,7 +75,7 @@ fn main() -> ExitCode { /// - `Ok(false)` if there are problems, all of which will be written to `error_writer`. /// - `Ok(true)` if there are no problems pub fn process<W: io::Write>( - base_nixpkgs: Option<&Path>, + base_nixpkgs: &Path, main_nixpkgs: &Path, eval_accessible_paths: &[&Path], error_writer: &mut W, @@ -87,18 +85,14 @@ pub fn process<W: io::Write>( let check_result = main_result.result_map(|nixpkgs_version| { // If the main Nixpkgs doesn't have any problems, run the ratchet checks against the base // Nixpkgs - if let Some(base) = base_nixpkgs { - check_nixpkgs(base, eval_accessible_paths, error_writer)?.result_map( - |base_nixpkgs_version| { - Ok(ratchet::Nixpkgs::compare( - Some(base_nixpkgs_version), - nixpkgs_version, - )) - }, - ) - } else { - Ok(ratchet::Nixpkgs::compare(None, nixpkgs_version)) - } + check_nixpkgs(base_nixpkgs, eval_accessible_paths, error_writer)?.result_map( + |base_nixpkgs_version| { + Ok(ratchet::Nixpkgs::compare( + base_nixpkgs_version, + nixpkgs_version, + )) + }, + ) })?; match check_result { @@ -123,10 +117,12 @@ pub fn check_nixpkgs<W: io::Write>( error_writer: &mut W, ) -> validation::Result<ratchet::Nixpkgs> { Ok({ - let nixpkgs_path = nixpkgs_path.canonicalize().context(format!( - "Nixpkgs path {} could not be resolved", - nixpkgs_path.display() - ))?; + let nixpkgs_path = nixpkgs_path.canonicalize().with_context(|| { + format!( + "Nixpkgs path {} could not be resolved", + nixpkgs_path.display() + ) + })?; if !nixpkgs_path.join(utils::BASE_SUBPATH).exists() { writeln!( @@ -234,16 +230,16 @@ mod tests { let base_path = path.join("base"); let base_nixpkgs = if base_path.exists() { - Some(base_path.as_path()) + base_path.as_path() } else { - None + Path::new("tests/empty-base") }; // We don't want coloring to mess up the tests let writer = temp_env::with_var("NO_COLOR", Some("1"), || -> anyhow::Result<_> { let mut writer = vec![]; process(base_nixpkgs, &path, &[&extra_nix_path], &mut writer) - .context(format!("Failed test case {name}"))?; + .with_context(|| format!("Failed test case {name}"))?; Ok(writer) })?; diff --git a/pkgs/test/nixpkgs-check-by-name/src/ratchet.rs b/pkgs/test/nixpkgs-check-by-name/src/ratchet.rs index c12f1ead2540..85feb0eee62f 100644 --- a/pkgs/test/nixpkgs-check-by-name/src/ratchet.rs +++ b/pkgs/test/nixpkgs-check-by-name/src/ratchet.rs @@ -10,31 +10,20 @@ use std::collections::HashMap; /// The ratchet value for the entirety of Nixpkgs. #[derive(Default)] pub struct Nixpkgs { - /// The ratchet values for each package in `pkgs/by-name` - pub packages: HashMap<String, Package>, + /// Sorted list of attributes in package_map + pub package_names: Vec<String>, + /// The ratchet values for all packages + pub package_map: HashMap<String, Package>, } impl Nixpkgs { /// Validates the ratchet checks for Nixpkgs - pub fn compare(optional_from: Option<Self>, to: Self) -> Validation<()> { + pub fn compare(from: Self, to: Self) -> Validation<()> { validation::sequence_( // We only loop over the current attributes, // we don't need to check ones that were removed - to.packages.into_iter().map(|(name, attr_to)| { - let attr_from = if let Some(from) = &optional_from { - from.packages.get(&name) - } else { - // This pretends that if there's no base version to compare against, all - // attributes existed without conforming to the new strictness check for - // backwards compatibility. - // TODO: Remove this case. This is only needed because the `--base` - // argument is still optional, which doesn't need to be once CI is updated - // to pass it. - Some(&Package { - empty_non_auto_called: EmptyNonAutoCalled::Invalid, - }) - }; - Package::compare(&name, attr_from, &attr_to) + to.package_names.into_iter().map(|name| { + Package::compare(&name, from.package_map.get(&name), &to.package_map[&name]) }), ) } @@ -43,13 +32,13 @@ impl Nixpkgs { /// The ratchet value for a single package in `pkgs/by-name` pub struct Package { /// The ratchet value for the check for non-auto-called empty arguments - pub empty_non_auto_called: EmptyNonAutoCalled, + pub empty_non_auto_called: RatchetState<EmptyNonAutoCalled>, } impl Package { /// Validates the ratchet checks for a single package defined in `pkgs/by-name` pub fn compare(name: &str, optional_from: Option<&Self>, to: &Self) -> Validation<()> { - EmptyNonAutoCalled::compare( + RatchetState::<EmptyNonAutoCalled>::compare( name, optional_from.map(|x| &x.empty_non_auto_called), &to.empty_non_auto_called, @@ -57,29 +46,59 @@ impl Package { } } -/// The ratchet value of a single package in `pkgs/by-name` +/// The ratchet state of a generic ratchet check. +pub enum RatchetState<Context> { + /// The ratchet is loose, it can be tightened more. + /// In other words, this is the legacy state we're trying to move away from. + /// Introducing new instances is not allowed but previous instances will continue to be allowed. + /// The `Context` is context for error messages in case a new instance of this state is + /// introduced + Loose(Context), + /// The ratchet is tight, it can't be tightened any further. + /// This is either because we already use the latest state, or because the ratchet isn't + /// relevant. + Tight, +} + +/// A trait that can convert an attribute-specific error context into a NixpkgsProblem +pub trait ToNixpkgsProblem { + /// How to convert an attribute-specific error context into a NixpkgsProblem + fn to_nixpkgs_problem(name: &str, context: &Self, existed_before: bool) -> NixpkgsProblem; +} + +impl<Context: ToNixpkgsProblem> RatchetState<Context> { + /// Compare the previous ratchet state of an attribute to the new state. + /// The previous state may be `None` in case the attribute is new. + fn compare(name: &str, optional_from: Option<&Self>, to: &Self) -> Validation<()> { + // If we don't have a previous state, enforce a tight ratchet + let from = optional_from.unwrap_or(&RatchetState::Tight); + match (from, to) { + // Always okay to keep it tight or tighten the ratchet + (_, RatchetState::Tight) => Success(()), + + // Grandfathering policy for a loose ratchet + (RatchetState::Loose { .. }, RatchetState::Loose { .. }) => Success(()), + + // Loosening a ratchet is now allowed + (RatchetState::Tight, RatchetState::Loose(context)) => { + Context::to_nixpkgs_problem(name, context, optional_from.is_some()).into() + } + } + } +} + +/// The ratchet value of an attribute /// for the non-auto-called empty argument check of a single. /// /// This checks that packages defined in `pkgs/by-name` cannot be overridden /// with an empty second argument like `callPackage ... { }`. -#[derive(PartialEq, PartialOrd)] -pub enum EmptyNonAutoCalled { - Invalid, - Valid, -} +pub struct EmptyNonAutoCalled; -impl EmptyNonAutoCalled { - /// Validates the non-auto-called empty argument ratchet check for a single package defined in `pkgs/by-name` - fn compare(name: &str, optional_from: Option<&Self>, to: &Self) -> Validation<()> { - let from = optional_from.unwrap_or(&Self::Valid); - if to >= from { - Success(()) - } else { - NixpkgsProblem::WrongCallPackage { - relative_package_file: structure::relative_file_for_package(name), - package_name: name.to_owned(), - } - .into() +impl ToNixpkgsProblem for EmptyNonAutoCalled { + fn to_nixpkgs_problem(name: &str, _context: &Self, _existed_before: bool) -> NixpkgsProblem { + NixpkgsProblem::WrongCallPackage { + relative_package_file: structure::relative_file_for_package(name), + package_name: name.to_owned(), } } } diff --git a/pkgs/test/nixpkgs-check-by-name/src/references.rs b/pkgs/test/nixpkgs-check-by-name/src/references.rs index 0561a9b22e85..3b3b05419780 100644 --- a/pkgs/test/nixpkgs-check-by-name/src/references.rs +++ b/pkgs/test/nixpkgs-check-by-name/src/references.rs @@ -17,10 +17,12 @@ pub fn check_references( ) -> validation::Result<()> { // The empty argument here is the subpath under the package directory to check // An empty one means the package directory itself - check_path(relative_package_dir, absolute_package_dir, Path::new("")).context(format!( - "While checking the references in package directory {}", - relative_package_dir.display() - )) + check_path(relative_package_dir, absolute_package_dir, Path::new("")).with_context(|| { + format!( + "While checking the references in package directory {}", + relative_package_dir.display() + ) + }) } /// Checks for a specific path to not have references outside @@ -62,7 +64,9 @@ fn check_path( .map(|entry| { let entry_subpath = subpath.join(entry.file_name()); check_path(relative_package_dir, absolute_package_dir, &entry_subpath) - .context(format!("Error while recursing into {}", subpath.display())) + .with_context(|| { + format!("Error while recursing into {}", subpath.display()) + }) }) .collect_vec()?, ) @@ -70,8 +74,8 @@ fn check_path( // Only check Nix files if let Some(ext) = path.extension() { if ext == OsStr::new("nix") { - check_nix_file(relative_package_dir, absolute_package_dir, subpath).context( - format!("Error while checking Nix file {}", subpath.display()), + check_nix_file(relative_package_dir, absolute_package_dir, subpath).with_context( + || format!("Error while checking Nix file {}", subpath.display()), )? } else { Success(()) @@ -93,13 +97,12 @@ fn check_nix_file( subpath: &Path, ) -> validation::Result<()> { let path = absolute_package_dir.join(subpath); - let parent_dir = path.parent().context(format!( - "Could not get parent of path {}", - subpath.display() - ))?; + let parent_dir = path + .parent() + .with_context(|| format!("Could not get parent of path {}", subpath.display()))?; - let contents = - read_to_string(&path).context(format!("Could not read file {}", subpath.display()))?; + let contents = read_to_string(&path) + .with_context(|| format!("Could not read file {}", subpath.display()))?; let root = Root::parse(&contents); if let Some(error) = root.errors().first() { diff --git a/pkgs/test/nixpkgs-check-by-name/src/utils.rs b/pkgs/test/nixpkgs-check-by-name/src/utils.rs index 5cc4a0863ba8..7e0198dede42 100644 --- a/pkgs/test/nixpkgs-check-by-name/src/utils.rs +++ b/pkgs/test/nixpkgs-check-by-name/src/utils.rs @@ -10,10 +10,10 @@ pub const PACKAGE_NIX_FILENAME: &str = "package.nix"; pub fn read_dir_sorted(base_dir: &Path) -> anyhow::Result<Vec<fs::DirEntry>> { let listing = base_dir .read_dir() - .context(format!("Could not list directory {}", base_dir.display()))?; + .with_context(|| format!("Could not list directory {}", base_dir.display()))?; let mut shard_entries = listing .collect::<io::Result<Vec<_>>>() - .context(format!("Could not list directory {}", base_dir.display()))?; + .with_context(|| format!("Could not list directory {}", base_dir.display()))?; shard_entries.sort_by_key(|entry| entry.file_name()); Ok(shard_entries) } diff --git a/pkgs/test/nixpkgs-check-by-name/tests/empty-base/default.nix b/pkgs/test/nixpkgs-check-by-name/tests/empty-base/default.nix new file mode 100644 index 000000000000..af25d1450122 --- /dev/null +++ b/pkgs/test/nixpkgs-check-by-name/tests/empty-base/default.nix @@ -0,0 +1 @@ +import ../mock-nixpkgs.nix { root = ./.; } diff --git a/pkgs/test/nixpkgs-check-by-name/tests/empty-base/pkgs/by-name/README.md b/pkgs/test/nixpkgs-check-by-name/tests/empty-base/pkgs/by-name/README.md new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/pkgs/test/nixpkgs-check-by-name/tests/empty-base/pkgs/by-name/README.md diff --git a/pkgs/test/nixpkgs-check-by-name/tests/mock-nixpkgs.nix b/pkgs/test/nixpkgs-check-by-name/tests/mock-nixpkgs.nix index 01bb27a48038..cb8066062cc6 100644 --- a/pkgs/test/nixpkgs-check-by-name/tests/mock-nixpkgs.nix +++ b/pkgs/test/nixpkgs-check-by-name/tests/mock-nixpkgs.nix @@ -19,6 +19,8 @@ It returns a Nixpkgs-like function that can be auto-called and evaluates to an a overlays ? [], # Passed by the checker to make sure a real Nixpkgs isn't influenced by impurities config ? {}, + # Passed by the checker to make sure a real Nixpkgs isn't influenced by impurities + system ? null, }: let diff --git a/pkgs/tools/misc/jugglinglab/default.nix b/pkgs/tools/misc/jugglinglab/default.nix index 9d552072f7df..64b91a68d948 100644 --- a/pkgs/tools/misc/jugglinglab/default.nix +++ b/pkgs/tools/misc/jugglinglab/default.nix @@ -1,37 +1,73 @@ -{ lib, stdenv, fetchFromGitHub, jre, makeWrapper, ant, jdk }: -stdenv.mkDerivation rec { - version = "1.6.3"; +{ lib +, stdenv +, maven +, fetchFromGitHub +, makeWrapper +, wrapGAppsHook +, jre +}: + +let + platformName = { + "x86_64-linux" = "linux-x86-64"; + "aarch64-linux" = "linux-aarch64"; + "x86_64-darwin" = "darwin-x86-64"; + "aarch64-darwin" = "darwin-aarch64"; + }.${stdenv.system} or null; +in +maven.buildMavenPackage rec { pname = "jugglinglab"; + version = "1.6.5"; + src = fetchFromGitHub { owner = "jkboyce"; repo = "jugglinglab"; rev = "v${version}"; - sha256 = "sha256-Gq8V7gLl9IakQi7xaK8TCI/B2+6LlLjoLdcv9zlalIE="; + hash = "sha256-Y87uHFpVs4A/wErNO2ZF6Su0v4LEvaE9nIysrqFoY8w="; }; - buildInputs = [ jre ]; - nativeBuildInputs = [ ant jdk makeWrapper ]; - buildPhase = "ant"; + + patches = [ + # make sure mvnHash doesn't change when maven is updated + ./fix-default-maven-plugin-versions.patch + ]; + + mvnHash = "sha256-1Uzo9nRw+YR/sd7CC9MTPe/lttkRX6BtmcsHaagP1Do="; + + # fix jar timestamps for reproducibility + mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z"; + + nativeBuildInputs = [ + makeWrapper + wrapGAppsHook + ]; + + dontWrapGApps = true; installPhase = '' - mkdir -p "$out/bin" - mkdir -p "$out/lib" - cp bin/*.jar $out/lib/ + runHook preInstall - # copied from the upstream shell wrapper - classpath=$out/lib/JugglingLab.jar:$out/lib/commons-math3-3.6.1.jar:$out/lib/protobuf.jar:$out/lib/com.google.ortools.jar + install -Dm644 bin/JugglingLab.jar -t $out/share/jugglinglab + ${lib.optionalString (platformName != null) '' + install -Dm755 bin/ortools-lib/ortools-${platformName}/* -t $out/lib/ortools-lib + ''} + + runHook postInstall + ''; + # gappsWrapperArgs are set in preFixup + postFixup = '' makeWrapper ${jre}/bin/java $out/bin/jugglinglab \ - --add-flags "-cp $classpath" \ - --add-flags "-Xss2048k -Djava.library.path=ortools-lib" \ - --add-flags jugglinglab.JugglingLab + "''${gappsWrapperArgs[@]}" \ + --add-flags "-Xss2048k -Djava.library.path=$out/lib/ortools-lib" \ + --add-flags "-jar $out/share/jugglinglab/JugglingLab.jar" ''; meta = with lib; { - description = "A program to visualize different juggling pattens"; - homepage = "https://jugglinglab.org/"; - license = licenses.gpl2; - maintainers = with maintainers; [ wnklmnn ]; - platforms = platforms.all; - mainProgram = "jugglinglab"; + description = "A program to visualize different juggling pattens"; + homepage = "https://jugglinglab.org/"; + license = licenses.gpl2Only; + mainProgram = "jugglinglab"; + maintainers = with maintainers; [ wnklmnn tomasajt ]; + platforms = platforms.all; }; } diff --git a/pkgs/tools/misc/jugglinglab/fix-default-maven-plugin-versions.patch b/pkgs/tools/misc/jugglinglab/fix-default-maven-plugin-versions.patch new file mode 100644 index 000000000000..a2f74b19b61f --- /dev/null +++ b/pkgs/tools/misc/jugglinglab/fix-default-maven-plugin-versions.patch @@ -0,0 +1,70 @@ +diff --git a/pom.xml b/pom.xml +index 93fd6be..5f929c3 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -42,6 +43,65 @@ + + <build> + <plugins> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-enforcer-plugin</artifactId> ++ <version>3.4.1</version> ++ <executions> ++ <execution> ++ <id>require-all-plugin-versions-to-be-set</id> ++ <phase>validate</phase> ++ <goals> ++ <goal>enforce</goal> ++ </goals> ++ <configuration> ++ <rules> ++ <requirePluginVersions /> ++ </rules> ++ </configuration> ++ </execution> ++ </executions> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-compiler-plugin</artifactId> ++ <version>3.12.1</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-surefire-plugin</artifactId> ++ <version>3.2.3</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-jar-plugin</artifactId> ++ <version>3.3.0</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-clean-plugin</artifactId> ++ <version>3.3.2</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-install-plugin</artifactId> ++ <version>3.1.1</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-site-plugin</artifactId> ++ <version>4.0.0-M13</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-resources-plugin</artifactId> ++ <version>3.3.1</version> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-deploy-plugin</artifactId> ++ <version>3.1.1</version> ++ </plugin> + + <!-- remove existing `bin/JugglingLab.jar` --> + <!-- otherwise on overwrite Maven creates `bin/original-JugglingLab.jar` --> diff --git a/pkgs/tools/misc/plocate/default.nix b/pkgs/tools/misc/plocate/default.nix index 8cc8b9b6b801..5081ec12b0ba 100644 --- a/pkgs/tools/misc/plocate/default.nix +++ b/pkgs/tools/misc/plocate/default.nix @@ -10,12 +10,12 @@ }: stdenv.mkDerivation rec { pname = "plocate"; - version = "1.1.20"; + version = "1.1.21"; src = fetchgit { url = "https://git.sesse.net/plocate"; rev = version; - sha256 = "sha256-Nc39wPVW+GpmT8X8q/VbrPhPxO/PgFBPTOCWAkkUfDY="; + sha256 = "sha256-ucCRm1w3ON3Qh7qt1Pf5/3kvXVGP+dJwjSuwYGcDMcs="; }; postPatch = '' diff --git a/pkgs/tools/networking/goflow2/default.nix b/pkgs/tools/networking/goflow2/default.nix index de90345911c0..b80172fdee99 100644 --- a/pkgs/tools/networking/goflow2/default.nix +++ b/pkgs/tools/networking/goflow2/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "goflow2"; - version = "2.1.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "netsampler"; repo = pname; rev = "v${version}"; - hash = "sha256-c+1Y3OTM2FR9o7zWYGW3uH1LQ2U1occf1++Rnf/atVQ="; + hash = "sha256-RgHCUuP2EE38X6iMaYD2a8f/C2fBcBEHM5ErlKBkMqI="; }; ldflags = [ diff --git a/pkgs/tools/networking/redli/default.nix b/pkgs/tools/networking/redli/default.nix index 7c757c9ef770..8045be91a75d 100644 --- a/pkgs/tools/networking/redli/default.nix +++ b/pkgs/tools/networking/redli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "redli"; - version = "0.9.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "IBM-Cloud"; repo = pname; rev = "v${version}"; - hash = "sha256-AeIGlRsUWK6q0GJJFmvJwpuGy312VPsMhkxMqDDzay4="; + hash = "sha256-Tux4GsYG3DlJoV10Ahb+X+8mpkchLchbh+PCgRD0kUA="; }; vendorHash = null; diff --git a/pkgs/tools/networking/requestly/default.nix b/pkgs/tools/networking/requestly/default.nix index e833b0a7e7f1..4655da5a34c0 100644 --- a/pkgs/tools/networking/requestly/default.nix +++ b/pkgs/tools/networking/requestly/default.nix @@ -5,11 +5,11 @@ let pname = "requestly"; - version = "1.5.15"; + version = "1.5.16"; src = fetchurl { url = "https://github.com/requestly/requestly-desktop-app/releases/download/v${version}/Requestly-${version}.AppImage"; - hash = "sha256-GTc4VikXsyiEfgN6oY/YQPBqNLia4cFz1aYS65+SboI="; + hash = "sha256-c+Ti7j+3r0hSw2uvaDkavykUQQdvg0OgD1XdDTQbJuA="; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 4652ddb76a5b..411030ee5733 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -259,7 +259,7 @@ in lib.makeExtensible (self: ({ else nix; - stable = addFallbackPathsCheck self.nix_2_18; + stable = addFallbackPathsCheck self.nix_2_19; unstable = self.nix_2_19; } // lib.optionalAttrs config.allowAliases { diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix index d4d0c91f8770..2eee5568fea4 100644 --- a/pkgs/tools/security/cnspec/default.nix +++ b/pkgs/tools/security/cnspec/default.nix @@ -5,17 +5,17 @@ buildGoModule rec { pname = "cnspec"; - version = "9.13.0"; + version = "9.14.0"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnspec"; rev = "refs/tags/v${version}"; - hash = "sha256-hGiMdL+SXJ5psrmfM5pvKD01yaD1q3tOOhfGzbcjvuE="; + hash = "sha256-9MIIxWfETi2DX1DYPALL+JoC4r3yKJpeSFIx+hrGKiM="; }; proxyVendor = true; - vendorHash = "sha256-pRFRPUL/Ck4m7JH5ykei3PSXbCFKRii8YyjBLQ5kb9M="; + vendorHash = "sha256-Yii2sDfYqIzQAUaMotT87Wa5g3skxWllq6yGlkPDbLg="; subPackages = [ "apps/cnspec" diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix index c80be56319f1..bf6f5c3c0587 100644 --- a/pkgs/tools/security/cryptomator/default.nix +++ b/pkgs/tools/security/cryptomator/default.nix @@ -14,17 +14,17 @@ in assert stdenv.isLinux; # better than `called with unexpected argument 'enableJavaFX'` mavenJdk.buildMavenPackage rec { pname = "cryptomator"; - version = "1.11.0"; + version = "1.11.1"; src = fetchFromGitHub { owner = "cryptomator"; repo = "cryptomator"; rev = version; - hash = "sha256-NMNlDEUpwKUywzhXhxlNX7NiE+6wOov2Yt8nTfbKTNI="; + hash = "sha256-Y+oG2NF4Vsklp1W22Xv+XrkY6vwn23FkzAXG/5828Og="; }; mvnParameters = "-Dmaven.test.skip=true -Plinux"; - mvnHash = "sha256-cmwU9k7TRRJ07bT1EmY3pIBkvvqmFyE7WJeVL7VFDyc="; + mvnHash = "sha256-cXmnJHgKW6SGnhHFuFJP/DKNmFacfHbC3nQ2uVdIvUE="; preBuild = '' VERSION=${version} diff --git a/pkgs/tools/security/ggshield/default.nix b/pkgs/tools/security/ggshield/default.nix index 06f8796db864..50b3439732d3 100644 --- a/pkgs/tools/security/ggshield/default.nix +++ b/pkgs/tools/security/ggshield/default.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication rec { pname = "ggshield"; - version = "1.22.0"; - format = "pyproject"; + version = "1.23.0"; + pyproject = true; src = fetchFromGitHub { owner = "GitGuardian"; repo = "ggshield"; rev = "refs/tags/v${version}"; - hash = "sha256-AxFztqD43KqX0r8tZz4ltjUh2x42kdPqi+b/OunpPF4="; + hash = "sha256-c2EXgUs+6GA5zHHF7Cx21LIsZ+jbmQFFUwLft2q5M30="; }; pythonRelaxDeps = true; diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix index d29f17679c85..3d990468109b 100644 --- a/pkgs/tools/security/keybase/default.nix +++ b/pkgs/tools/security/keybase/default.nix @@ -36,7 +36,7 @@ buildGoModule rec { homepage = "https://www.keybase.io/"; description = "The Keybase official command-line utility and service"; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ avaq carlsverre np rvolosatovs Br1ght0ne shofius ]; + maintainers = with maintainers; [ avaq np rvolosatovs Br1ght0ne shofius ]; license = licenses.bsd3; }; } diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix index 50c6ea461f36..20274695f8ac 100644 --- a/pkgs/tools/system/htop/default.nix +++ b/pkgs/tools/system/htop/default.nix @@ -11,13 +11,13 @@ assert systemdSupport -> stdenv.isLinux; stdenv.mkDerivation rec { pname = "htop"; - version = "3.2.2"; + version = "3.3.0"; src = fetchFromGitHub { owner = "htop-dev"; repo = pname; rev = version; - sha256 = "sha256-OrlNE1A71q4XAauYNfumV1Ev1wBpFIBxPiw7aF++yjM="; + hash = "sha256-qDhQkzY2zj2yxbgFUXwE0MGEgAFOsAhnapUuetO9WTw="; }; nativeBuildInputs = [ autoreconfHook ] diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix index 02c4340aded2..55ec05d2a9a7 100644 --- a/pkgs/tools/system/smartmontools/default.nix +++ b/pkgs/tools/system/smartmontools/default.nix @@ -38,7 +38,11 @@ stdenv.mkDerivation rec { cp -v ${driverdb} drivedb.h ''; - configureFlags = [ "--with-scriptpath=${scriptPath}" ]; + configureFlags = [ + "--with-scriptpath=${scriptPath}" + # does not work on NixOS + "--without-update-smart-drivedb" + ]; nativeBuildInputs = [ autoreconfHook ]; buildInputs = lib.optionals stdenv.isDarwin [ IOKit ApplicationServices ]; diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix index 1e79570622c0..25dd61a3e4a0 100644 --- a/pkgs/tools/text/sift/default.nix +++ b/pkgs/tools/text/sift/default.nix @@ -32,7 +32,7 @@ buildGoModule rec { meta = with lib; { description = "A fast and powerful alternative to grep"; homepage = "https://sift-tool.org"; - maintainers = with maintainers; [ carlsverre viraptor ]; + maintainers = with maintainers; [ viraptor ]; license = licenses.gpl3; }; } diff --git a/pkgs/tools/virtualization/kubevirt/default.nix b/pkgs/tools/virtualization/kubevirt/default.nix index 67027dc4bd28..519ffa83e660 100644 --- a/pkgs/tools/virtualization/kubevirt/default.nix +++ b/pkgs/tools/virtualization/kubevirt/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "kubevirt"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "kubevirt"; repo = "kubevirt"; rev = "v${version}"; - sha256 = "sha256-dW2rHW/37Jpk3vuu3O87nynK8Mp0IAqpkRvBDxT/++I="; + hash = "sha256-4r85RDfndLUjpAmipe3oLFcGzD4GRfPgf7wku2unoes="; }; vendorHash = null; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index fea746865f6d..068e3c113418 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -172,7 +172,7 @@ mapAliases ({ cvs_fast_export = cvs-fast-export; # Added 2021-06-10 # these are for convenience, not for backward compat and shouldn't expire - clang6Stdenv = lowPrio llvmPackages_6.stdenv; + clang6Stdenv = throw "clang6Stdenv has been removed from nixpkgs"; # Added 2024-01-08 clang7Stdenv = throw "clang7Stdenv has been removed from nixpkgs"; # Added 2023-11-19 clang8Stdenv = lowPrio llvmPackages_8.stdenv; clang9Stdenv = lowPrio llvmPackages_9.stdenv; @@ -185,7 +185,9 @@ mapAliases ({ clang16Stdenv = lowPrio llvmPackages_16.stdenv; clang17Stdenv = lowPrio llvmPackages_17.stdenv; + clang-tools_6 = throw "clang-tools_6 has been removed from nixpkgs"; # Added 2024-01-08 clang-tools_7 = throw "clang-tools_7 has been removed from nixpkgs"; # Added 2023-11-19 + clang_6 = throw "clang_6 has been removed from nixpkgs"; # Added 2024-01-08 clang_7 = throw "clang_7 has been removed from nixpkgs"; # Added 2023-11-19 ### D ### @@ -595,9 +597,13 @@ mapAliases ({ linuxPackages_testing_bcachefs = throw "'linuxPackages_testing_bcachefs' has been removed, please use 'linuxPackages_testing', or any other linux kernel with bcachefs support"; linux_testing_bcachefs = throw "'linux_testing_bcachefs' has been removed, please use 'linux_testing', or any other linux kernel with bcachefs support"; + lld_6 = throw "lld_6 has been removed from nixpkgs"; # Added 2024-01-08 lld_7 = throw "lld_7 has been removed from nixpkgs"; # Added 2023-11-19 + lldb_6 = throw "lldb_6 has been removed from nixpkgs"; # Added 2024-01-08 lldb_7 = throw "lldb_7 has been removed from nixpkgs"; # Added 2023-11-19 + llvmPackages_6 = throw "llvmPackages_6 has been removed from nixpkgs"; # Added 2024-01-09 llvmPackages_7 = throw "llvmPackages_7 has been removed from nixpkgs"; # Added 2023-11-19 + llvm_6 = throw "llvm_6 has been removed from nixpkgs"; # Added 2024-01-08 llvm_7 = throw "llvm_7 has been removed from nixpkgs"; # Added 2023-11-19 lobster-two = google-fonts; # Added 2021-07-22 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ace5c084e77f..fbde424d67a3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3022,7 +3022,7 @@ with pkgs; ### APPLICATIONS/TERMINAL-EMULATORS alacritty = callPackage ../applications/terminal-emulators/alacritty { - inherit (darwin.apple_sdk.frameworks) AppKit CoreGraphics CoreServices CoreText Foundation OpenGL; + inherit (darwin.apple_sdk_11_0.frameworks) AppKit CoreGraphics CoreServices CoreText Foundation OpenGL; }; blackbox-terminal = callPackage ../applications/terminal-emulators/blackbox-terminal { }; @@ -15614,7 +15614,6 @@ with pkgs; }; clang = llvmPackages.clang; - clang_6 = llvmPackages_6.clang; clang_8 = llvmPackages_8.clang; clang_9 = llvmPackages_9.clang; clang_10 = llvmPackages_10.clang; @@ -15628,10 +15627,6 @@ with pkgs; clang-tools = callPackage ../development/tools/clang-tools { }; - clang-tools_6 = callPackage ../development/tools/clang-tools { - llvmPackages = llvmPackages_6; - }; - clang-tools_8 = callPackage ../development/tools/clang-tools { llvmPackages = llvmPackages_8; }; @@ -16570,7 +16565,6 @@ with pkgs; }; lld = llvmPackages.lld; - lld_6 = llvmPackages_6.lld; lld_8 = llvmPackages_8.lld; lld_9 = llvmPackages_9.lld; lld_10 = llvmPackages_10.lld; @@ -16583,7 +16577,6 @@ with pkgs; lld_17 = llvmPackages_17.lld; lldb = llvmPackages.lldb; - lldb_6 = llvmPackages_6.lldb; lldb_8 = llvmPackages_8.lldb; lldb_9 = llvmPackages_9.lldb; lldb_10 = llvmPackages_10.lldb; @@ -16596,7 +16589,6 @@ with pkgs; lldb_17 = llvmPackages_17.lldb; llvm = llvmPackages.llvm; - llvm_6 = llvmPackages_6.llvm; llvm_8 = llvmPackages_8.llvm; llvm_9 = llvmPackages_9.llvm; llvm_10 = llvmPackages_10.llvm; @@ -16628,13 +16620,6 @@ with pkgs; stdenv.targetPlatform)); in pkgs.${"llvmPackages_${minSupported}"}; - llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 { - inherit (stdenvAdapters) overrideCC; - buildLlvmTools = buildPackages.llvmPackages_6.tools; - targetLlvm = targetPackages.llvmPackages_6.llvm or llvmPackages_6.llvm; - targetLlvmLibraries = targetPackages.llvmPackages_6.libraries or llvmPackages_6.libraries; - }); - llvmPackages_8 = recurseIntoAttrs (callPackage ../development/compilers/llvm/8 { inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_8.tools; @@ -41432,6 +41417,8 @@ with pkgs; xpad = callPackage ../applications/misc/xpad { }; + xpipe = callPackage ../applications/networking/xpipe { }; + xsane = callPackage ../applications/graphics/sane/xsane.nix { }; xsser = python3Packages.callPackage ../tools/security/xsser { }; diff --git a/pkgs/top-level/kodi-packages.nix b/pkgs/top-level/kodi-packages.nix index b16f5acc99ac..80c080eff7ba 100644 --- a/pkgs/top-level/kodi-packages.nix +++ b/pkgs/top-level/kodi-packages.nix @@ -106,6 +106,8 @@ let self = rec { pvr-iptvsimple = callPackage ../applications/video/kodi/addons/pvr-iptvsimple { }; + pvr-vdr-vnsi = callPackage ../applications/video/kodi/addons/pvr-vdr-vnsi { }; + osmc-skin = callPackage ../applications/video/kodi/addons/osmc-skin { }; vfs-libarchive = callPackage ../applications/video/kodi/addons/vfs-libarchive { }; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 92e527c735a8..dc71b01f3c26 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -298,15 +298,7 @@ in { akvcam = callPackage ../os-specific/linux/akvcam { }; - amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { - libffi = pkgs.libffi.overrideAttrs (orig: rec { - version = "3.3"; - src = fetchurl { - url = "https://github.com/libffi/libffi/releases/download/v${version}/${orig.pname}-${version}.tar.gz"; - sha256 = "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj"; - }; - }); - }; + amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { }; apfs = callPackage ../os-specific/linux/apfs { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index ee00fe5cc494..35535adc54f8 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1110,7 +1110,7 @@ let mirage-crypto-pk = callPackage ../development/ocaml-modules/mirage-crypto/pk.nix { }; - mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { mtime = mtime_1; }; + mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { }; mirage-crypto-rng-async = callPackage ../development/ocaml-modules/mirage-crypto/rng-async.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 021640390341..35c07c5c5a50 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1482,6 +1482,8 @@ self: super: with self; { bip32 = callPackage ../development/python-modules/bip32 { }; + birch = callPackage ../development/python-modules/birch { }; + bitarray = callPackage ../development/python-modules/bitarray { }; bitbox02 = callPackage ../development/python-modules/bitbox02 { }; @@ -9360,6 +9362,8 @@ self: super: with self; { pyatag = callPackage ../development/python-modules/pyatag { }; + pyatem = callPackage ../development/python-modules/pyatem { }; + pyatome = callPackage ../development/python-modules/pyatome { }; pycketcasts = callPackage ../development/python-modules/pycketcasts { }; @@ -13792,6 +13796,8 @@ self: super: with self; { strawberry-graphql = callPackage ../development/python-modules/strawberry-graphql { }; + strct = callPackage ../development/python-modules/strct { }; + streamdeck = callPackage ../development/python-modules/streamdeck { }; streaming-form-data = callPackage ../development/python-modules/streaming-form-data { }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index fd05bae549f4..b257f2411c7d 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -156,8 +156,6 @@ let jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-linux jobs.tests.cc-wrapper.llvmPackages.libcxx.x86_64-linux - jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-linux - jobs.tests.cc-wrapper.llvmPackages_6.libcxx.x86_64-linux jobs.tests.cc-multilib-gcc.x86_64-linux jobs.tests.cc-multilib-clang.x86_64-linux jobs.tests.stdenv-inputs.x86_64-linux @@ -187,10 +185,6 @@ let jobs.tests.cc-wrapper.gcc8Stdenv.x86_64-darwin jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-darwin jobs.tests.cc-wrapper.llvmPackages.libcxx.x86_64-darwin - jobs.tests.cc-wrapper.llvmPackages_5.clang.x86_64-darwin - jobs.tests.cc-wrapper.llvmPackages_5.libcxx.x86_64-darwin - jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-darwin - jobs.tests.cc-wrapper.llvmPackages_6.libcxx.x86_64-darwin jobs.tests.stdenv-inputs.x86_64-darwin jobs.tests.macOSSierraShared.x86_64-darwin jobs.tests.stdenv.hooks.patch-shebangs.x86_64-darwin |