Merge master into staging-next
This commit is contained in:
commit
3a75845d38
75 changed files with 1212 additions and 809 deletions
|
@ -172,11 +172,11 @@ rec {
|
|||
else if ! isPath value then
|
||||
if isStringLike value then
|
||||
throw ''
|
||||
${context} ("${toString value}") is a string-like value, but it should be a path instead.
|
||||
${context} ("${toString value}") is a string-like value, but it should be a file set or a path instead.
|
||||
Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.''
|
||||
else
|
||||
throw ''
|
||||
${context} is of type ${typeOf value}, but it should be a path instead.''
|
||||
${context} is of type ${typeOf value}, but it should be a file set or a path instead.''
|
||||
else if ! pathExists value then
|
||||
throw ''
|
||||
${context} (${toString value}) does not exist.''
|
||||
|
|
|
@ -355,8 +355,8 @@ expectFailure 'toSource { root = ./a; fileset = ./.; }' 'lib.fileset.toSource: `
|
|||
rm -rf *
|
||||
|
||||
# Path coercion only works for paths
|
||||
expectFailure 'toSource { root = ./.; fileset = 10; }' 'lib.fileset.toSource: `fileset` is of type int, but it should be a path instead.'
|
||||
expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.toSource: `fileset` \("/some/path"\) is a string-like value, but it should be a path instead.
|
||||
expectFailure 'toSource { root = ./.; fileset = 10; }' 'lib.fileset.toSource: `fileset` is of type int, but it should be a file set or a path instead.'
|
||||
expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.toSource: `fileset` \("/some/path"\) is a string-like value, but it should be a file set or a path instead.
|
||||
\s*Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'
|
||||
|
||||
# Path coercion errors for non-existent paths
|
||||
|
|
|
@ -16429,6 +16429,11 @@
|
|||
fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72";
|
||||
}];
|
||||
};
|
||||
spacefault = {
|
||||
github = "spacefault";
|
||||
githubId = 74156492;
|
||||
name = "spacefault";
|
||||
};
|
||||
spacefrogg = {
|
||||
email = "spacefrogg-nixos@meterriblecrew.net";
|
||||
github = "spacefrogg";
|
||||
|
|
|
@ -305,6 +305,8 @@
|
|||
|
||||
- `service.borgmatic.settings.location` and `services.borgmatic.configurations.<name>.location` are deprecated, please move your options out of sections to the global scope.
|
||||
|
||||
- `dagger` was removed because using a package called `dagger` and packaging it from source violates their trademark policy.
|
||||
|
||||
## Other Notable Changes {#sec-release-23.11-notable-changes}
|
||||
|
||||
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
|
||||
|
|
|
@ -6,6 +6,92 @@
|
|||
with lib;
|
||||
|
||||
let
|
||||
|
||||
mkRulesTypeOption = type: mkOption {
|
||||
# These options are experimental and subject to breaking changes without notice.
|
||||
description = lib.mdDoc ''
|
||||
PAM `${type}` rules for this service.
|
||||
|
||||
Attribute keys are the name of each rule.
|
||||
'';
|
||||
type = types.attrsOf (types.submodule ({ name, config, ... }: {
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Name of this rule.
|
||||
'';
|
||||
internal = true;
|
||||
readOnly = true;
|
||||
};
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Whether this rule is added to the PAM service config file.
|
||||
'';
|
||||
};
|
||||
order = mkOption {
|
||||
type = types.int;
|
||||
description = lib.mdDoc ''
|
||||
Order of this rule in the service file. Rules are arranged in ascending order of this value.
|
||||
|
||||
::: {.warning}
|
||||
The `order` values for the built-in rules are subject to change. If you assign a constant value to this option, a system update could silently reorder your rule. You could be locked out of your system, or your system could be left wide open. When using this option, set it to a relative offset from another rule's `order` value:
|
||||
|
||||
```nix
|
||||
{
|
||||
security.pam.services.login.rules.auth.foo.order =
|
||||
config.security.pam.services.login.rules.auth.unix.order + 10;
|
||||
}
|
||||
```
|
||||
:::
|
||||
'';
|
||||
};
|
||||
control = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Indicates the behavior of the PAM-API should the module fail to succeed in its authentication task. See `control` in {manpage}`pam.conf(5)` for details.
|
||||
'';
|
||||
};
|
||||
modulePath = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Either the full filename of the PAM to be used by the application (it begins with a '/'), or a relative pathname from the default module location. See `module-path` in {manpage}`pam.conf(5)` for details.
|
||||
'';
|
||||
};
|
||||
args = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = lib.mdDoc ''
|
||||
Tokens that can be used to modify the specific behavior of the given PAM. Such arguments will be documented for each individual module. See `module-arguments` in {manpage}`pam.conf(5)` for details.
|
||||
|
||||
Escaping rules for spaces and square brackets are automatically applied.
|
||||
|
||||
{option}`settings` are automatically added as {option}`args`. It's recommended to use the {option}`settings` option whenever possible so that arguments can be overridden.
|
||||
'';
|
||||
};
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (nullOr (oneOf [ bool str int pathInStore ]));
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Settings to add as `module-arguments`.
|
||||
|
||||
Boolean values render just the key if true, and nothing if false. Null values are ignored. All other values are rendered as key-value pairs.
|
||||
'';
|
||||
};
|
||||
};
|
||||
config = {
|
||||
inherit name;
|
||||
# Formats an attrset of settings as args for use as `module-arguments`.
|
||||
args = concatLists (flip mapAttrsToList config.settings (name: value:
|
||||
if isBool value
|
||||
then optional value name
|
||||
else optional (value != null) "${name}=${toString value}"
|
||||
));
|
||||
};
|
||||
}));
|
||||
};
|
||||
|
||||
parentConfig = config;
|
||||
|
||||
pamOpts = { config, name, ... }: let cfg = config; in let config = parentConfig; in {
|
||||
|
@ -18,6 +104,28 @@ let
|
|||
description = lib.mdDoc "Name of the PAM service.";
|
||||
};
|
||||
|
||||
rules = mkOption {
|
||||
# This option is experimental and subject to breaking changes without notice.
|
||||
visible = false;
|
||||
|
||||
description = lib.mdDoc ''
|
||||
PAM rules for this service.
|
||||
|
||||
::: {.warning}
|
||||
This option and its suboptions are experimental and subject to breaking changes without notice.
|
||||
|
||||
If you use this option in your system configuration, you will need to manually monitor this module for any changes. Otherwise, failure to adjust your configuration properly could lead to you being locked out of your system, or worse, your system could be left wide open to attackers.
|
||||
|
||||
If you share configuration examples that use this option, you MUST include this warning so that users are informed.
|
||||
|
||||
You may freely use this option within `nixpkgs`, and future changes will account for those use sites.
|
||||
:::
|
||||
'';
|
||||
type = types.submodule {
|
||||
options = genAttrs [ "account" "auth" "password" "session" ] mkRulesTypeOption;
|
||||
};
|
||||
};
|
||||
|
||||
unixAuth = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
|
@ -470,90 +578,114 @@ let
|
|||
setLoginUid = mkDefault cfg.startSession;
|
||||
limits = mkDefault config.security.pam.loginLimits;
|
||||
|
||||
text = let
|
||||
ensureUniqueOrder = type: rules:
|
||||
let
|
||||
checkPair = a: b: assert assertMsg (a.order != b.order) "security.pam.services.${name}.rules.${type}: rules '${a.name}' and '${b.name}' cannot have the same order value (${toString a.order})"; b;
|
||||
checked = zipListsWith checkPair rules (drop 1 rules);
|
||||
in take 1 rules ++ checked;
|
||||
# Formats a string for use in `module-arguments`. See `man pam.conf`.
|
||||
formatModuleArgument = token:
|
||||
if hasInfix " " token
|
||||
then "[${replaceStrings ["]"] ["\\]"] token}]"
|
||||
else token;
|
||||
formatRules = type: pipe cfg.rules.${type} [
|
||||
attrValues
|
||||
(filter (rule: rule.enable))
|
||||
(sort (a: b: a.order < b.order))
|
||||
(ensureUniqueOrder type)
|
||||
(map (rule: concatStringsSep " " (
|
||||
[ type rule.control rule.modulePath ]
|
||||
++ map formatModuleArgument rule.args
|
||||
++ [ "# ${rule.name} (order ${toString rule.order})" ]
|
||||
)))
|
||||
(concatStringsSep "\n")
|
||||
];
|
||||
in mkDefault ''
|
||||
# Account management.
|
||||
${formatRules "account"}
|
||||
|
||||
# Authentication management.
|
||||
${formatRules "auth"}
|
||||
|
||||
# Password management.
|
||||
${formatRules "password"}
|
||||
|
||||
# Session management.
|
||||
${formatRules "session"}
|
||||
'';
|
||||
|
||||
# !!! TODO: move the LDAP stuff to the LDAP module, and the
|
||||
# Samba stuff to the Samba module. This requires that the PAM
|
||||
# module provides the right hooks.
|
||||
text = mkDefault
|
||||
(
|
||||
''
|
||||
# Account management.
|
||||
'' +
|
||||
optionalString use_ldap ''
|
||||
account sufficient ${pam_ldap}/lib/security/pam_ldap.so
|
||||
'' +
|
||||
optionalString cfg.mysqlAuth ''
|
||||
account sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf
|
||||
'' +
|
||||
optionalString (config.services.kanidm.enablePam) ''
|
||||
account sufficient ${pkgs.kanidm}/lib/pam_kanidm.so ignore_unknown_user
|
||||
'' +
|
||||
optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false) ''
|
||||
account sufficient ${pkgs.sssd}/lib/security/pam_sss.so
|
||||
'' +
|
||||
optionalString (config.services.sssd.enable && cfg.sssdStrictAccess) ''
|
||||
account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so
|
||||
'' +
|
||||
optionalString config.security.pam.krb5.enable ''
|
||||
account sufficient ${pam_krb5}/lib/security/pam_krb5.so
|
||||
'' +
|
||||
optionalString cfg.googleOsLoginAccountVerification ''
|
||||
account [success=ok ignore=ignore default=die] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so
|
||||
account [success=ok default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so
|
||||
'' +
|
||||
optionalString config.services.homed.enable ''
|
||||
account sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'' +
|
||||
rules = let
|
||||
autoOrderRules = flip pipe [
|
||||
(imap1 (index: rule: rule // { order = mkDefault (10000 + index * 100); } ))
|
||||
(map (rule: nameValuePair rule.name (removeAttrs rule [ "name" ])))
|
||||
listToAttrs
|
||||
];
|
||||
in {
|
||||
account = autoOrderRules [
|
||||
{ name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; }
|
||||
{ name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = {
|
||||
config_file = "/etc/security/pam_mysql.conf";
|
||||
}; }
|
||||
{ name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; settings = {
|
||||
ignore_unknown_user = true;
|
||||
}; }
|
||||
{ name = "sss"; enable = config.services.sssd.enable; control = if cfg.sssdStrictAccess then "[default=bad success=ok user_unknown=ignore]" else "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; }
|
||||
{ name = "krb5"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; }
|
||||
{ name = "oslogin_login"; enable = cfg.googleOsLoginAccountVerification; control = "[success=ok ignore=ignore default=die]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; }
|
||||
{ name = "oslogin_admin"; enable = cfg.googleOsLoginAccountVerification; control = "[success=ok default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so"; }
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
# The required pam_unix.so module has to come after all the sufficient modules
|
||||
# because otherwise, the account lookup will fail if the user does not exist
|
||||
# locally, for example with MySQL- or LDAP-auth.
|
||||
''
|
||||
account required pam_unix.so
|
||||
{ name = "unix"; control = "required"; modulePath = "pam_unix.so"; }
|
||||
];
|
||||
|
||||
# Authentication management.
|
||||
'' +
|
||||
optionalString cfg.googleOsLoginAuthentication ''
|
||||
auth [success=done perm_denied=die default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so
|
||||
'' +
|
||||
optionalString cfg.rootOK ''
|
||||
auth sufficient pam_rootok.so
|
||||
'' +
|
||||
optionalString cfg.requireWheel ''
|
||||
auth required pam_wheel.so use_uid
|
||||
'' +
|
||||
optionalString cfg.logFailures ''
|
||||
auth required pam_faillock.so
|
||||
'' +
|
||||
optionalString cfg.mysqlAuth ''
|
||||
auth sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf
|
||||
'' +
|
||||
optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) ''
|
||||
auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles}
|
||||
'' +
|
||||
(let p11 = config.security.pam.p11; in optionalString cfg.p11Auth ''
|
||||
auth ${p11.control} ${pkgs.pam_p11}/lib/security/pam_p11.so ${pkgs.opensc}/lib/opensc-pkcs11.so
|
||||
'') +
|
||||
(let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth (''
|
||||
auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} ''
|
||||
+ ''${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"} ${optionalString (u2f.origin != null) "origin=${u2f.origin}"}
|
||||
'')) +
|
||||
optionalString cfg.usbAuth ''
|
||||
auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so
|
||||
'' +
|
||||
(let ussh = config.security.pam.ussh; in optionalString (config.security.pam.ussh.enable && cfg.usshAuth) ''
|
||||
auth ${ussh.control} ${pkgs.pam_ussh}/lib/security/pam_ussh.so ${optionalString (ussh.caFile != null) "ca_file=${ussh.caFile}"} ${optionalString (ussh.authorizedPrincipals != null) "authorized_principals=${ussh.authorizedPrincipals}"} ${optionalString (ussh.authorizedPrincipalsFile != null) "authorized_principals_file=${ussh.authorizedPrincipalsFile}"} ${optionalString (ussh.group != null) "group=${ussh.group}"}
|
||||
'') +
|
||||
(let oath = config.security.pam.oath; in optionalString cfg.oathAuth ''
|
||||
auth requisite ${pkgs.oath-toolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
|
||||
'') +
|
||||
(let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth ''
|
||||
auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}
|
||||
'') +
|
||||
(let dp9ik = config.security.pam.dp9ik; in optionalString dp9ik.enable ''
|
||||
auth ${dp9ik.control} ${pkgs.pam_dp9ik}/lib/security/pam_p9.so ${dp9ik.authserver}
|
||||
'') +
|
||||
optionalString cfg.fprintAuth ''
|
||||
auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so
|
||||
'' +
|
||||
auth = autoOrderRules ([
|
||||
{ name = "oslogin_login"; enable = cfg.googleOsLoginAuthentication; control = "[success=done perm_denied=die default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; }
|
||||
{ name = "rootok"; enable = cfg.rootOK; control = "sufficient"; modulePath = "pam_rootok.so"; }
|
||||
{ name = "wheel"; enable = cfg.requireWheel; control = "required"; modulePath = "pam_wheel.so"; settings = {
|
||||
use_uid = true;
|
||||
}; }
|
||||
{ name = "faillock"; enable = cfg.logFailures; control = "required"; modulePath = "pam_faillock.so"; }
|
||||
{ name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = {
|
||||
config_file = "/etc/security/pam_mysql.conf";
|
||||
}; }
|
||||
{ name = "ssh_agent_auth"; enable = config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth; control = "sufficient"; modulePath = "${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so"; settings = {
|
||||
file = lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles;
|
||||
}; }
|
||||
(let p11 = config.security.pam.p11; in { name = "p11"; enable = cfg.p11Auth; control = p11.control; modulePath = "${pkgs.pam_p11}/lib/security/pam_p11.so"; args = [
|
||||
"${pkgs.opensc}/lib/opensc-pkcs11.so"
|
||||
]; })
|
||||
(let u2f = config.security.pam.u2f; in { name = "u2f"; enable = cfg.u2fAuth; control = u2f.control; modulePath = "${pkgs.pam_u2f}/lib/security/pam_u2f.so"; settings = {
|
||||
inherit (u2f) debug interactive cue origin;
|
||||
authfile = u2f.authFile;
|
||||
appid = u2f.appId;
|
||||
}; })
|
||||
{ name = "usb"; enable = cfg.usbAuth; control = "sufficient"; modulePath = "${pkgs.pam_usb}/lib/security/pam_usb.so"; }
|
||||
(let ussh = config.security.pam.ussh; in { name = "ussh"; enable = config.security.pam.ussh.enable && cfg.usshAuth; control = ussh.control; modulePath = "${pkgs.pam_ussh}/lib/security/pam_ussh.so"; settings = {
|
||||
ca_file = ussh.caFile;
|
||||
authorized_principals = ussh.authorizedPrincipals;
|
||||
authorized_principals_file = ussh.authorizedPrincipalsFile;
|
||||
inherit (ussh) group;
|
||||
}; })
|
||||
(let oath = config.security.pam.oath; in { name = "oath"; enable = cfg.oathAuth; control = "requisite"; modulePath = "${pkgs.oath-toolkit}/lib/security/pam_oath.so"; settings = {
|
||||
inherit (oath) window digits;
|
||||
usersfile = oath.usersFile;
|
||||
}; })
|
||||
(let yubi = config.security.pam.yubico; in { name = "yubico"; enable = cfg.yubicoAuth; control = yubi.control; modulePath = "${pkgs.yubico-pam}/lib/security/pam_yubico.so"; settings = {
|
||||
inherit (yubi) mode debug;
|
||||
chalresp_path = yubi.challengeResponsePath;
|
||||
id = mkIf (yubi.mode == "client") yubi.id;
|
||||
}; })
|
||||
(let dp9ik = config.security.pam.dp9ik; in { name = "p9"; enable = dp9ik.enable; control = dp9ik.control; modulePath = "${pkgs.pam_dp9ik}/lib/security/pam_p9.so"; args = [
|
||||
dp9ik.authserver
|
||||
]; })
|
||||
{ name = "fprintd"; enable = cfg.fprintAuth; control = "sufficient"; modulePath = "${pkgs.fprintd}/lib/security/pam_fprintd.so"; }
|
||||
] ++
|
||||
# Modules in this block require having the password set in PAM_AUTHTOK.
|
||||
# pam_unix is marked as 'sufficient' on NixOS which means nothing will run
|
||||
# after it succeeds. Certain modules need to run after pam_unix
|
||||
|
@ -562,7 +694,7 @@ let
|
|||
# We use try_first_pass the second time to avoid prompting password twice.
|
||||
#
|
||||
# The same principle applies to systemd-homed
|
||||
(optionalString ((cfg.unixAuth || config.services.homed.enable) &&
|
||||
(optionals ((cfg.unixAuth || config.services.homed.enable) &&
|
||||
(config.security.pam.enableEcryptfs
|
||||
|| config.security.pam.enableFscrypt
|
||||
|| cfg.pamMount
|
||||
|
@ -573,199 +705,173 @@ let
|
|||
|| cfg.failDelay.enable
|
||||
|| cfg.duoSecurity.enable
|
||||
|| cfg.zfs))
|
||||
(
|
||||
optionalString config.services.homed.enable ''
|
||||
auth optional ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'' +
|
||||
optionalString cfg.unixAuth ''
|
||||
auth optional pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth
|
||||
'' +
|
||||
optionalString config.security.pam.enableEcryptfs ''
|
||||
auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap
|
||||
'' +
|
||||
optionalString config.security.pam.enableFscrypt ''
|
||||
auth optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so
|
||||
'' +
|
||||
optionalString cfg.zfs ''
|
||||
auth optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes}
|
||||
'' +
|
||||
optionalString cfg.pamMount ''
|
||||
auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
|
||||
'' +
|
||||
optionalString cfg.enableKwallet ''
|
||||
auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5
|
||||
'' +
|
||||
optionalString cfg.enableGnomeKeyring ''
|
||||
auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
||||
'' +
|
||||
optionalString cfg.gnupg.enable ''
|
||||
auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.storeOnly " store-only"}
|
||||
'' +
|
||||
optionalString cfg.failDelay.enable ''
|
||||
auth optional ${pkgs.pam}/lib/security/pam_faildelay.so delay=${toString cfg.failDelay.delay}
|
||||
'' +
|
||||
optionalString cfg.googleAuthenticator.enable ''
|
||||
auth required ${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so no_increment_hotp
|
||||
'' +
|
||||
optionalString cfg.duoSecurity.enable ''
|
||||
auth required ${pkgs.duo-unix}/lib/security/pam_duo.so
|
||||
''
|
||||
)) +
|
||||
optionalString config.services.homed.enable ''
|
||||
auth sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'' +
|
||||
optionalString cfg.unixAuth ''
|
||||
auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth try_first_pass
|
||||
'' +
|
||||
optionalString cfg.otpwAuth ''
|
||||
auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so
|
||||
'' +
|
||||
optionalString use_ldap ''
|
||||
auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass
|
||||
'' +
|
||||
optionalString config.services.kanidm.enablePam ''
|
||||
auth sufficient ${pkgs.kanidm}/lib/pam_kanidm.so ignore_unknown_user use_first_pass
|
||||
'' +
|
||||
optionalString config.services.sssd.enable ''
|
||||
auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass
|
||||
'' +
|
||||
optionalString config.security.pam.krb5.enable ''
|
||||
auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
|
||||
auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass
|
||||
auth sufficient ${pam_ccreds}/lib/security/pam_ccreds.so action=store use_first_pass
|
||||
'' +
|
||||
''
|
||||
auth required pam_deny.so
|
||||
[
|
||||
{ name = "systemd_home-early"; enable = config.services.homed.enable; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "unix-early"; enable = cfg.unixAuth; control = "optional"; modulePath = "pam_unix.so"; settings = {
|
||||
nullok = cfg.allowNullPassword;
|
||||
inherit (cfg) nodelay;
|
||||
likeauth = true;
|
||||
}; }
|
||||
{ name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; settings = {
|
||||
unwrap = true;
|
||||
}; }
|
||||
{ name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; }
|
||||
{ name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = {
|
||||
inherit (config.security.pam.zfs) homes;
|
||||
}; }
|
||||
{ name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; settings = {
|
||||
disable_interactive = true;
|
||||
}; }
|
||||
{ name = "kwallet5"; enable = cfg.enableKwallet; control = "optional"; modulePath = "${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so"; settings = {
|
||||
kwalletd = "${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5";
|
||||
}; }
|
||||
{ name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; }
|
||||
{ name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = {
|
||||
store-only = cfg.gnupg.storeOnly;
|
||||
}; }
|
||||
{ name = "faildelay"; enable = cfg.failDelay.enable; control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_faildelay.so"; settings = {
|
||||
inherit (cfg.failDelay) delay;
|
||||
}; }
|
||||
{ name = "google_authenticator"; enable = cfg.googleAuthenticator.enable; control = "required"; modulePath = "${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so"; settings = {
|
||||
no_increment_hotp = true;
|
||||
}; }
|
||||
{ name = "duo"; enable = cfg.duoSecurity.enable; control = "required"; modulePath = "${pkgs.duo-unix}/lib/security/pam_duo.so"; }
|
||||
]) ++ [
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "unix"; enable = cfg.unixAuth; control = "sufficient"; modulePath = "pam_unix.so"; settings = {
|
||||
nullok = cfg.allowNullPassword;
|
||||
inherit (cfg) nodelay;
|
||||
likeauth = true;
|
||||
try_first_pass = true;
|
||||
}; }
|
||||
{ name = "otpw"; enable = cfg.otpwAuth; control = "sufficient"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; }
|
||||
{ name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; settings = {
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; settings = {
|
||||
ignore_unknown_user = true;
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "sss"; enable = config.services.sssd.enable; control = "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; settings = {
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "krb5"; enable = config.security.pam.krb5.enable; control = "[default=ignore success=1 service_err=reset]"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; settings = {
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "ccreds-validate"; enable = config.security.pam.krb5.enable; control = "[default=die success=done]"; modulePath = "${pam_ccreds}/lib/security/pam_ccreds.so"; settings = {
|
||||
action = "validate";
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "ccreds-store"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_ccreds}/lib/security/pam_ccreds.so"; settings = {
|
||||
action = "store";
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "deny"; control = "required"; modulePath = "pam_deny.so"; }
|
||||
]);
|
||||
|
||||
# Password management.
|
||||
'' +
|
||||
optionalString config.services.homed.enable ''
|
||||
password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'' + ''
|
||||
password sufficient pam_unix.so nullok yescrypt
|
||||
'' +
|
||||
optionalString config.security.pam.enableEcryptfs ''
|
||||
password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
|
||||
'' +
|
||||
optionalString config.security.pam.enableFscrypt ''
|
||||
password optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so
|
||||
'' +
|
||||
optionalString cfg.zfs ''
|
||||
password optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes}
|
||||
'' +
|
||||
optionalString cfg.pamMount ''
|
||||
password optional ${pkgs.pam_mount}/lib/security/pam_mount.so
|
||||
'' +
|
||||
optionalString use_ldap ''
|
||||
password sufficient ${pam_ldap}/lib/security/pam_ldap.so
|
||||
'' +
|
||||
optionalString cfg.mysqlAuth ''
|
||||
password sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf
|
||||
'' +
|
||||
optionalString config.services.kanidm.enablePam ''
|
||||
password sufficient ${pkgs.kanidm}/lib/pam_kanidm.so
|
||||
'' +
|
||||
optionalString config.services.sssd.enable ''
|
||||
password sufficient ${pkgs.sssd}/lib/security/pam_sss.so
|
||||
'' +
|
||||
optionalString config.security.pam.krb5.enable ''
|
||||
password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
|
||||
'' +
|
||||
optionalString cfg.enableGnomeKeyring ''
|
||||
password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok
|
||||
'' +
|
||||
''
|
||||
password = autoOrderRules [
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "unix"; control = "sufficient"; modulePath = "pam_unix.so"; settings = {
|
||||
nullok = true;
|
||||
yescrypt = true;
|
||||
}; }
|
||||
{ name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; }
|
||||
{ name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; }
|
||||
{ name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = {
|
||||
inherit (config.security.pam.zfs) homes;
|
||||
}; }
|
||||
{ name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; }
|
||||
{ name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; }
|
||||
{ name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = {
|
||||
config_file = "/etc/security/pam_mysql.conf";
|
||||
}; }
|
||||
{ name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; }
|
||||
{ name = "sss"; enable = config.services.sssd.enable; control = "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; }
|
||||
{ name = "krb5"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; settings = {
|
||||
use_first_pass = true;
|
||||
}; }
|
||||
{ name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; settings = {
|
||||
use_authtok = true;
|
||||
}; }
|
||||
];
|
||||
|
||||
# Session management.
|
||||
'' +
|
||||
optionalString cfg.setEnvironment ''
|
||||
session required pam_env.so conffile=/etc/pam/environment readenv=0
|
||||
'' +
|
||||
''
|
||||
session required pam_unix.so
|
||||
'' +
|
||||
optionalString cfg.setLoginUid ''
|
||||
session ${if config.boot.isContainer then "optional" else "required"} pam_loginuid.so
|
||||
'' +
|
||||
optionalString cfg.ttyAudit.enable (concatStringsSep " \\\n " ([
|
||||
"session required ${pkgs.pam}/lib/security/pam_tty_audit.so"
|
||||
] ++ optional cfg.ttyAudit.openOnly "open_only"
|
||||
++ optional (cfg.ttyAudit.enablePattern != null) "enable=${cfg.ttyAudit.enablePattern}"
|
||||
++ optional (cfg.ttyAudit.disablePattern != null) "disable=${cfg.ttyAudit.disablePattern}"
|
||||
)) +
|
||||
optionalString config.services.homed.enable ''
|
||||
session required ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'' +
|
||||
optionalString cfg.makeHomeDir ''
|
||||
session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=${config.security.pam.makeHomeDir.umask}
|
||||
'' +
|
||||
optionalString cfg.updateWtmp ''
|
||||
session required ${pkgs.pam}/lib/security/pam_lastlog.so silent
|
||||
'' +
|
||||
optionalString config.security.pam.enableEcryptfs ''
|
||||
session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
|
||||
'' +
|
||||
optionalString config.security.pam.enableFscrypt ''
|
||||
# Work around https://github.com/systemd/systemd/issues/8598
|
||||
# Skips the pam_fscrypt module for systemd-user sessions which do not have a password
|
||||
# anyways.
|
||||
# See also https://github.com/google/fscrypt/issues/95
|
||||
session [success=1 default=ignore] pam_succeed_if.so service = systemd-user
|
||||
session optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so
|
||||
'' +
|
||||
optionalString cfg.zfs ''
|
||||
session [success=1 default=ignore] pam_succeed_if.so service = systemd-user
|
||||
session optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} ${optionalString config.security.pam.zfs.noUnmount "nounmount"}
|
||||
'' +
|
||||
optionalString cfg.pamMount ''
|
||||
session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
|
||||
'' +
|
||||
optionalString use_ldap ''
|
||||
session optional ${pam_ldap}/lib/security/pam_ldap.so
|
||||
'' +
|
||||
optionalString cfg.mysqlAuth ''
|
||||
session optional ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf
|
||||
'' +
|
||||
optionalString config.services.kanidm.enablePam ''
|
||||
session optional ${pkgs.kanidm}/lib/pam_kanidm.so
|
||||
'' +
|
||||
optionalString config.services.sssd.enable ''
|
||||
session optional ${pkgs.sssd}/lib/security/pam_sss.so
|
||||
'' +
|
||||
optionalString config.security.pam.krb5.enable ''
|
||||
session optional ${pam_krb5}/lib/security/pam_krb5.so
|
||||
'' +
|
||||
optionalString cfg.otpwAuth ''
|
||||
session optional ${pkgs.otpw}/lib/security/pam_otpw.so
|
||||
'' +
|
||||
optionalString cfg.startSession ''
|
||||
session optional ${config.systemd.package}/lib/security/pam_systemd.so
|
||||
'' +
|
||||
optionalString cfg.forwardXAuth ''
|
||||
session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99
|
||||
'' +
|
||||
optionalString (cfg.limits != []) ''
|
||||
session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits}
|
||||
'' +
|
||||
optionalString (cfg.showMotd && (config.users.motd != null || config.users.motdFile != null)) ''
|
||||
session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd}
|
||||
'' +
|
||||
optionalString (cfg.enableAppArmor && config.security.apparmor.enable) ''
|
||||
session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug
|
||||
'' +
|
||||
optionalString (cfg.enableKwallet) ''
|
||||
session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5
|
||||
'' +
|
||||
optionalString (cfg.enableGnomeKeyring) ''
|
||||
session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
|
||||
'' +
|
||||
optionalString cfg.gnupg.enable ''
|
||||
session optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.noAutostart " no-autostart"}
|
||||
'' +
|
||||
optionalString (config.virtualisation.lxc.lxcfs.enable) ''
|
||||
session optional ${pkgs.lxc}/lib/security/pam_cgfs.so -c all
|
||||
''
|
||||
);
|
||||
session = autoOrderRules [
|
||||
{ name = "env"; enable = cfg.setEnvironment; control = "required"; modulePath = "pam_env.so"; settings = {
|
||||
conffile = "/etc/pam/environment";
|
||||
readenv = 0;
|
||||
}; }
|
||||
{ name = "unix"; control = "required"; modulePath = "pam_unix.so"; }
|
||||
{ name = "loginuid"; enable = cfg.setLoginUid; control = if config.boot.isContainer then "optional" else "required"; modulePath = "pam_loginuid.so"; }
|
||||
{ name = "tty_audit"; enable = cfg.ttyAudit.enable; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_tty_audit.so"; settings = {
|
||||
open_only = cfg.ttyAudit.openOnly;
|
||||
enable = cfg.ttyAudit.enablePattern;
|
||||
disable = cfg.ttyAudit.disablePattern;
|
||||
}; }
|
||||
{ name = "systemd_home"; enable = config.services.homed.enable; control = "required"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; }
|
||||
{ name = "mkhomedir"; enable = cfg.makeHomeDir; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_mkhomedir.so"; settings = {
|
||||
silent = true;
|
||||
skel = config.security.pam.makeHomeDir.skelDirectory;
|
||||
inherit (config.security.pam.makeHomeDir) umask;
|
||||
}; }
|
||||
{ name = "lastlog"; enable = cfg.updateWtmp; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_lastlog.so"; settings = {
|
||||
silent = true;
|
||||
}; }
|
||||
{ name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; }
|
||||
# Work around https://github.com/systemd/systemd/issues/8598
|
||||
# Skips the pam_fscrypt module for systemd-user sessions which do not have a password
|
||||
# anyways.
|
||||
# See also https://github.com/google/fscrypt/issues/95
|
||||
{ name = "fscrypt-skip-systemd"; enable = config.security.pam.enableFscrypt; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [
|
||||
"service" "=" "systemd-user"
|
||||
]; }
|
||||
{ name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; }
|
||||
{ name = "zfs_key-skip-systemd"; enable = cfg.zfs; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [
|
||||
"service" "=" "systemd-user"
|
||||
]; }
|
||||
{ name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = {
|
||||
inherit (config.security.pam.zfs) homes;
|
||||
nounmount = config.security.pam.zfs.noUnmount;
|
||||
}; }
|
||||
{ name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; settings = {
|
||||
disable_interactive = true;
|
||||
}; }
|
||||
{ name = "ldap"; enable = use_ldap; control = "optional"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; }
|
||||
{ name = "mysql"; enable = cfg.mysqlAuth; control = "optional"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = {
|
||||
config_file = "/etc/security/pam_mysql.conf";
|
||||
}; }
|
||||
{ name = "kanidm"; enable = config.services.kanidm.enablePam; control = "optional"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; }
|
||||
{ name = "sss"; enable = config.services.sssd.enable; control = "optional"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; }
|
||||
{ name = "krb5"; enable = config.security.pam.krb5.enable; control = "optional"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; }
|
||||
{ name = "otpw"; enable = cfg.otpwAuth; control = "optional"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; }
|
||||
{ name = "systemd"; enable = cfg.startSession; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd.so"; }
|
||||
{ name = "xauth"; enable = cfg.forwardXAuth; control = "optional"; modulePath = "pam_xauth.so"; settings = {
|
||||
xauthpath = "${pkgs.xorg.xauth}/bin/xauth";
|
||||
systemuser = 99;
|
||||
}; }
|
||||
{ name = "limits"; enable = cfg.limits != []; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_limits.so"; settings = {
|
||||
conf = "${makeLimitsConf cfg.limits}";
|
||||
}; }
|
||||
{ name = "motd"; enable = cfg.showMotd && (config.users.motd != null || config.users.motdFile != null); control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_motd.so"; settings = {
|
||||
inherit motd;
|
||||
}; }
|
||||
{ name = "apparmor"; enable = cfg.enableAppArmor && config.security.apparmor.enable; control = "optional"; modulePath = "${pkgs.apparmor-pam}/lib/security/pam_apparmor.so"; settings = {
|
||||
order = "user,group,default";
|
||||
debug = true;
|
||||
}; }
|
||||
{ name = "kwallet5"; enable = cfg.enableKwallet; control = "optional"; modulePath = "${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so"; settings = {
|
||||
kwalletd = "${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5";
|
||||
}; }
|
||||
{ name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; settings = {
|
||||
auto_start = true;
|
||||
}; }
|
||||
{ name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = {
|
||||
no-autostart = cfg.gnupg.noAutostart;
|
||||
}; }
|
||||
{ name = "cgfs"; enable = config.virtualisation.lxc.lxcfs.enable; control = "optional"; modulePath = "${pkgs.lxc}/lib/security/pam_cgfs.so"; args = [
|
||||
"-c" "all"
|
||||
]; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -841,6 +947,8 @@ in
|
|||
|
||||
{
|
||||
|
||||
meta.maintainers = [ maintainers.majiir ];
|
||||
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ])
|
||||
];
|
||||
|
@ -1402,9 +1510,7 @@ in
|
|||
fscrypt = {};
|
||||
};
|
||||
|
||||
security.apparmor.includes."abstractions/pam" = let
|
||||
isEnabled = test: fold or false (map test (attrValues config.security.pam.services));
|
||||
in
|
||||
security.apparmor.includes."abstractions/pam" =
|
||||
lib.concatMapStrings
|
||||
(name: "r ${config.environment.etc."pam.d/${name}".source},\n")
|
||||
(attrNames config.security.pam.services) +
|
||||
|
@ -1413,88 +1519,18 @@ in
|
|||
mr ${getLib pkgs.pam}/lib/security/pam_*.so,
|
||||
r ${getLib pkgs.pam}/lib/security/,
|
||||
'' +
|
||||
optionalString use_ldap ''
|
||||
mr ${pam_ldap}/lib/security/pam_ldap.so,
|
||||
'' +
|
||||
optionalString config.services.kanidm.enablePam ''
|
||||
mr ${pkgs.kanidm}/lib/pam_kanidm.so,
|
||||
'' +
|
||||
optionalString config.services.sssd.enable ''
|
||||
mr ${pkgs.sssd}/lib/security/pam_sss.so,
|
||||
'' +
|
||||
optionalString config.security.pam.krb5.enable ''
|
||||
mr ${pam_krb5}/lib/security/pam_krb5.so,
|
||||
mr ${pam_ccreds}/lib/security/pam_ccreds.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.googleOsLoginAccountVerification)) ''
|
||||
mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so,
|
||||
mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.googleOsLoginAuthentication)) ''
|
||||
mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so,
|
||||
'' +
|
||||
optionalString (config.security.pam.enableSSHAgentAuth
|
||||
&& isEnabled (cfg: cfg.sshAgentAuth)) ''
|
||||
mr ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.fprintAuth)) ''
|
||||
mr ${pkgs.fprintd}/lib/security/pam_fprintd.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.u2fAuth)) ''
|
||||
mr ${pkgs.pam_u2f}/lib/security/pam_u2f.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.usbAuth)) ''
|
||||
mr ${pkgs.pam_usb}/lib/security/pam_usb.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.usshAuth)) ''
|
||||
mr ${pkgs.pam_ussh}/lib/security/pam_ussh.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.oathAuth)) ''
|
||||
"mr ${pkgs.oath-toolkit}/lib/security/pam_oath.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.mysqlAuth)) ''
|
||||
mr ${pkgs.pam_mysql}/lib/security/pam_mysql.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.yubicoAuth)) ''
|
||||
mr ${pkgs.yubico-pam}/lib/security/pam_yubico.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.duoSecurity.enable)) ''
|
||||
mr ${pkgs.duo-unix}/lib/security/pam_duo.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.otpwAuth)) ''
|
||||
mr ${pkgs.otpw}/lib/security/pam_otpw.so,
|
||||
'' +
|
||||
optionalString config.security.pam.enableEcryptfs ''
|
||||
mr ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so,
|
||||
'' +
|
||||
optionalString config.security.pam.enableFscrypt ''
|
||||
mr ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.pamMount)) ''
|
||||
mr ${pkgs.pam_mount}/lib/security/pam_mount.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.enableGnomeKeyring)) ''
|
||||
mr ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.startSession)) ''
|
||||
mr ${config.systemd.package}/lib/security/pam_systemd.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.enableAppArmor)
|
||||
&& config.security.apparmor.enable) ''
|
||||
mr ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.enableKwallet)) ''
|
||||
mr ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so,
|
||||
'' +
|
||||
optionalString config.virtualisation.lxc.lxcfs.enable ''
|
||||
mr ${pkgs.lxc}/lib/security/pam_cgfs.so,
|
||||
'' +
|
||||
optionalString (isEnabled (cfg: cfg.zfs)) ''
|
||||
mr ${config.boot.zfs.package}/lib/security/pam_zfs_key.so,
|
||||
'' +
|
||||
optionalString config.services.homed.enable ''
|
||||
mr ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'';
|
||||
(with lib; pipe config.security.pam.services [
|
||||
attrValues
|
||||
(catAttrs "rules")
|
||||
(concatMap attrValues)
|
||||
(concatMap attrValues)
|
||||
(filter (rule: rule.enable))
|
||||
(catAttrs "modulePath")
|
||||
(filter (hasPrefix "/"))
|
||||
unique
|
||||
(map (module: "mr ${module},"))
|
||||
concatLines
|
||||
]);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ let
|
|||
withConfigFile ''
|
||||
query () {
|
||||
local result=$(${sqlite}/bin/sqlite3 \
|
||||
'${cfg.stateDir}/${settings.database.filename}'
|
||||
'${cfg.stateDir}/${settings.database.filename}' \
|
||||
"$1" \
|
||||
)
|
||||
|
||||
|
|
|
@ -649,6 +649,15 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
restartIfChanged = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Whether the container should be restarted during a NixOS
|
||||
configuration switch if its definition has changed.
|
||||
'';
|
||||
};
|
||||
|
||||
timeoutStartSec = mkOption {
|
||||
type = types.str;
|
||||
default = "1min";
|
||||
|
@ -826,7 +835,7 @@ in
|
|||
containerConfig.path
|
||||
config.environment.etc."${configurationDirectoryName}/${name}.conf".source
|
||||
];
|
||||
restartIfChanged = true;
|
||||
restartIfChanged = containerConfig.restartIfChanged;
|
||||
}
|
||||
)
|
||||
)) config.containers)
|
||||
|
|
|
@ -20,7 +20,7 @@ import ../make-test-python.nix ({ ... }:
|
|||
''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.succeed(
|
||||
'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue.*origin=nixos-test" /etc/pam.d/ -R'
|
||||
'egrep "auth required .*/lib/security/pam_u2f.so.*cue.*debug.*interactive.*origin=nixos-test" /etc/pam.d/ -R'
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -6,7 +6,7 @@ expected_lines = {
|
|||
"auth required pam_deny.so",
|
||||
"auth sufficient @@pam_ccreds@@/lib/security/pam_ccreds.so action=store use_first_pass",
|
||||
"auth sufficient pam_rootok.so",
|
||||
"auth sufficient pam_unix.so likeauth try_first_pass",
|
||||
"auth sufficient pam_unix.so likeauth try_first_pass",
|
||||
"password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass",
|
||||
"password sufficient pam_unix.so nullok yescrypt",
|
||||
"session optional @@pam_krb5@@/lib/security/pam_krb5.so",
|
||||
|
@ -15,9 +15,10 @@ expected_lines = {
|
|||
}
|
||||
actual_lines = set(machine.succeed("cat /etc/pam.d/chfn").splitlines())
|
||||
|
||||
missing_lines = expected_lines - actual_lines
|
||||
extra_lines = actual_lines - expected_lines
|
||||
non_functional_lines = set([line for line in extra_lines if (line == "" or line.startswith("#"))])
|
||||
stripped_lines = set([line.split("#")[0].rstrip() for line in actual_lines])
|
||||
missing_lines = expected_lines - stripped_lines
|
||||
extra_lines = stripped_lines - expected_lines
|
||||
non_functional_lines = set([line for line in extra_lines if line == ""])
|
||||
unexpected_functional_lines = extra_lines - non_functional_lines
|
||||
|
||||
with subtest("All expected lines are in the file"):
|
||||
|
|
|
@ -29,16 +29,6 @@ let
|
|||
"+32M",
|
||||
])
|
||||
|
||||
# Fix the GPT table by moving the backup table to the end of the enlarged
|
||||
# disk image. This is necessary because we increased the size of the disk
|
||||
# before. The disk needs to be a raw disk because sgdisk can only run on
|
||||
# raw images.
|
||||
subprocess.run([
|
||||
"${pkgs.gptfdisk}/bin/sgdisk",
|
||||
"--move-second-header",
|
||||
tmp_disk_image.name,
|
||||
])
|
||||
|
||||
# Set NIX_DISK_IMAGE so that the qemu script finds the right disk image.
|
||||
os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name
|
||||
'';
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
, pcaudiolib
|
||||
, sonicSupport ? true
|
||||
, sonic
|
||||
, CoreAudio
|
||||
, AudioToolbox
|
||||
, AudioUnit
|
||||
, alsa-plugins
|
||||
, makeWrapper
|
||||
}:
|
||||
|
@ -42,9 +45,20 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = lib.optional mbrolaSupport mbrola
|
||||
++ lib.optional pcaudiolibSupport pcaudiolib
|
||||
++ lib.optional sonicSupport sonic;
|
||||
++ lib.optional sonicSupport sonic
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
CoreAudio
|
||||
AudioToolbox
|
||||
AudioUnit
|
||||
];
|
||||
|
||||
preConfigure = "./autogen.sh";
|
||||
# touch ChangeLog to avoid below error on darwin:
|
||||
# Makefile.am: error: required file './ChangeLog.md' not found
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
touch ChangeLog
|
||||
'' + ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
|
||||
|
|
|
@ -88,8 +88,8 @@ stdenv.mkDerivation rec {
|
|||
for n in 16 24 32 48 64 96 128 256; do
|
||||
size=$n"x"$n
|
||||
install -Dm644 \
|
||||
-t $out/share/icons/hicolor/$size/apps/monero.png \
|
||||
$src/images/appicons/$size.png
|
||||
$src/images/appicons/$size.png \
|
||||
$out/share/icons/hicolor/$size/apps/monero.png
|
||||
done;
|
||||
'';
|
||||
|
||||
|
|
|
@ -63,14 +63,14 @@ def update_grammars(nvim_treesitter_dir: str):
|
|||
|
||||
generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
|
||||
|
||||
{ buildGrammar, """
|
||||
{ buildGrammar, """
|
||||
|
||||
generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True)
|
||||
|
||||
generated_file += """ }:
|
||||
|
||||
{
|
||||
"""
|
||||
{
|
||||
"""
|
||||
|
||||
lockfile_path = os.path.join(nvim_treesitter_dir, "lockfile.json")
|
||||
log.debug("Opening %s", lockfile_path)
|
||||
|
@ -88,7 +88,8 @@ def update_grammars(nvim_treesitter_dir: str):
|
|||
_generate_grammar, lockfile.items()
|
||||
):
|
||||
generated_file += generated
|
||||
generated_file += "}\n"
|
||||
|
||||
generated_file += "}\n"
|
||||
return generated_file
|
||||
|
||||
|
||||
|
|
|
@ -138,15 +138,19 @@ class VimEditor(pluginupdate.Editor):
|
|||
nvim_treesitter_dir = subprocess.check_output(cmd, text=True, timeout=90).strip()
|
||||
|
||||
generated = treesitter.update_grammars(nvim_treesitter_dir)
|
||||
open(os.path.join(args.nixpkgs, "generated.nix"), "w").write(generated)
|
||||
treesitter_generated_nix_path = os.path.join(
|
||||
NIXPKGS_NVIMTREESITTER_FOLDER,
|
||||
"generated.nix"
|
||||
)
|
||||
open(os.path.join(args.nixpkgs, treesitter_generated_nix_path), "w").write(generated)
|
||||
|
||||
if self.nixpkgs_repo:
|
||||
index = self.nixpkgs_repo.index
|
||||
for diff in index.diff(None):
|
||||
if diff.a_path == f"{NIXPKGS_NVIMTREESITTER_FOLDER}/generated.nix":
|
||||
if diff.a_path == treesitter_generated_nix_path:
|
||||
msg = "vimPlugins.nvim-treesitter: update grammars"
|
||||
print(f"committing to nixpkgs: {msg}")
|
||||
index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))])
|
||||
index.add([treesitter_generated_nix_path])
|
||||
index.commit(msg)
|
||||
return
|
||||
print("no updates to nvim-treesitter grammars")
|
||||
|
|
|
@ -1229,8 +1229,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "elixir-ls";
|
||||
publisher = "JakeBecker";
|
||||
version = "0.17.0";
|
||||
sha256 = "sha256-jb9WHX5jCdi4vzIRvh7i6ncicuISsEBBmlIHvqquqcA=";
|
||||
version = "0.17.1";
|
||||
sha256 = "sha256-WBtIdz+8zsyTl43ovU3Dz+8p154ZGvHp6BA3AQtXN/U=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
|
||||
|
|
|
@ -15,11 +15,11 @@ let
|
|||
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1xzmfvkzqfxblahi2pc54fr7i6rynqm76p4wpbfzxrrh5a3xjwn3";
|
||||
x86_64-darwin = "0lp6yqwqwfngl98nba8f77yypb44cfn7kcjhbc93s8kqd57m97zj";
|
||||
aarch64-linux = "1hpwjdbfc8l4a7ln50s6h68abcb6djcc5y0h686s9k5v2axm7f3v";
|
||||
aarch64-darwin = "0cbms9p8g2gjx9wmm78fzlscw62qasjv30al8v39bda3k694wnh5";
|
||||
armv7l-linux = "0hvaray6b36j8s0fvffnkbsw7kf2rn2z4y8q4wlnqx3hfyalcvcn";
|
||||
x86_64-linux = "0cqkxd4pywkrvg3b96f1dyain6vlrb3di8a0yskmq3h58qd6k8rc";
|
||||
x86_64-darwin = "09y3whpp2z8fgb42pb9lw0b4wn0np3rdjkn5l1kldjljfrcwcn9g";
|
||||
aarch64-linux = "1kh8qylj77km8jhmx9a2bck7y4bb0fjx46sll7swagxz27b8ahi0";
|
||||
aarch64-darwin = "14g60sx3c5m02ly880sxwhmzvpxqw4pfij2ibgyprzdlpap0r2b0";
|
||||
armv7l-linux = "1s4rpd5p4kwmi89cml1106l9dccdwnqq3lyr8ym781pj9p75i8wp";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
|
||||
|
@ -29,7 +29,7 @@ in
|
|||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.82.2.23257";
|
||||
version = "1.83.1.23285";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
|
|
@ -97,6 +97,12 @@ stdenv.mkDerivation rec {
|
|||
wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC"
|
||||
'';
|
||||
|
||||
# See https://github.com/keepassxreboot/keepassxc/blob/cd7a53abbbb81e468efb33eb56eefc12739969b8/src/browser/NativeMessageInstaller.cpp#L317
|
||||
postInstall = lib.optionalString withKeePassBrowser ''
|
||||
mkdir -p "$out/lib/mozilla/native-messaging-hosts"
|
||||
substituteAll "${./firefox-native-messaging-host.json}" "$out/lib/mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json"
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
botan2
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "org.keepassxc.keepassxc_browser",
|
||||
"description": "KeePassXC integration with native messaging support",
|
||||
"path": "@out@/bin/keepassxc-proxy",
|
||||
"type": "stdio",
|
||||
"allowed_extensions": [
|
||||
"keepassxc-browser@keepassxc.org"
|
||||
]
|
||||
}
|
|
@ -8,6 +8,7 @@
|
|||
, browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire
|
||||
, tridactyl-native
|
||||
, fx-cast-bridge
|
||||
, keepassxc
|
||||
, udev
|
||||
, libkrb5
|
||||
, libva
|
||||
|
@ -70,6 +71,7 @@ let
|
|||
++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator
|
||||
++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration
|
||||
++ lib.optional (cfg.enableFXCastBridge or false) fx-cast-bridge
|
||||
++ lib.optional (cfg.enableKeePassXC or false) keepassxc
|
||||
++ extraNativeMessagingHosts
|
||||
;
|
||||
libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ]
|
||||
|
|
|
@ -13,28 +13,20 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lynx";
|
||||
version = "2.8.9rel.1";
|
||||
version = "2.9.0dev.12";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2"
|
||||
"https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2"
|
||||
];
|
||||
sha256 = "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq";
|
||||
hash = "sha256-pkVbFZ0Ad22OwQUShcly3B8MVS0FcaDP8Coj7BRu6OU=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
hardeningEnable = [ "pie" ];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2021-38165.patch";
|
||||
url = "https://git.alpinelinux.org/aports/plain/main/lynx/CVE-2021-38165.patch?id=3400945dbbb8a87065360963e4caa0e17d3dcc61";
|
||||
sha256 = "1aykb9y2g2vdpbbpvjlm4r40x7py2yv6jbywwcqcxrlciqcw4x57";
|
||||
})
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-default-colors"
|
||||
"--enable-widec"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"version" = "1.11.45";
|
||||
"version" = "1.11.46";
|
||||
"hashes" = {
|
||||
"desktopSrcHash" = "sha256-SxpnvIctV738mMRmMiuLgr1InMrlWH39/6lTO0wu+vQ=";
|
||||
"desktopYarnHash" = "09a2swngqjz4hahzvczhw0lh38y39glc1dkkhjkp4jqvmds9ni7n";
|
||||
"webSrcHash" = "sha256-hImwZ7vzpupRulk9g5jhfv0sgZqmPXnggJjUUwZ+UCE=";
|
||||
"webYarnHash" = "0r2xzq9630vky32hqp3h1skdgv3jiiffi8553yzzk4zr45nlvf9d";
|
||||
"desktopSrcHash" = "sha256-sgdvdTi3fi/vZohh/JPW3I24cQS0i84eM1dUgmEafWs=";
|
||||
"desktopYarnHash" = "1nssv92yk1a53v7mvijkrb3gzif5xrz2j6lxvg7p340z42rm7f9v";
|
||||
"webSrcHash" = "sha256-3ucitVtYnOc5UUn4y3u+L0sKWJLt+NNrd5T6mn0wNBg=";
|
||||
"webYarnHash" = "19396p654zzzh6d18rpyckjd67lncch3r9a0zmjb7znsi7d78k63";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "rymdport";
|
||||
version = "3.5.0";
|
||||
version = "3.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jacalz";
|
||||
repo = "rymdport";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-aNLAj8rQSRp6fsEu052uc2gJE55A996YJY7tDApjHxA=";
|
||||
hash = "sha256-wsFZN2qDp0XScqBdwLYZdRsS30g+ex+sYjw2GkBwwI4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8TxuExcxiBTHVA9DTLfElKOq45a2EVLxqmByDyKJQ4c=";
|
||||
vendorHash = "sha256-SDNCVROfwCTfoQpUyChxtX3rTf0OPFOTzH5PeH4ahUI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -25,13 +25,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freedv";
|
||||
version = "1.9.2";
|
||||
version = "1.9.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drowe67";
|
||||
repo = "freedv-gui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SBWwAmIsa9HfaZpH8TioMm9IaoZ+x4HNHaOBps0vA0A=";
|
||||
hash = "sha256-tlkD8Kem4HPwrk3E98UKcPoBNoFucqarEBo+oihnQSU=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index 4c96ae7..9e1a2e3 100755
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -3,7 +3,7 @@
|
||||
# Setup make itself.
|
||||
|
||||
.ONESHELL:
|
||||
-override SHELL := /bin/bash
|
||||
+SHELL := bash
|
||||
override .SHELLFLAGS := -e -u -o pipefail -O nullglob -O extglob -O globstar -c
|
||||
|
||||
# Unset all default build- and recipe-related variables.
|
||||
@@ -315,7 +315,6 @@ endif
|
||||
GetTargetStructName = target[${1}]
|
||||
|
||||
makefiles_to_include := \
|
||||
- third_party/Build.*.mk \
|
||||
frontends/*/Build.mk \
|
||||
tests/*/Build.mk \
|
||||
lib/*/Build.mk
|
||||
diff --git a/frontends/systemverilog/Build.mk b/frontends/systemverilog/Build.mk
|
||||
index acd9cb6..c039994 100644
|
||||
--- a/frontends/systemverilog/Build.mk
|
||||
+++ b/frontends/systemverilog/Build.mk
|
||||
@@ -1,6 +1,7 @@
|
||||
t := systemverilog-plugin
|
||||
ts := $(call GetTargetStructName,${t})
|
||||
out_dir := $(call GetTargetBuildDir,${t})
|
||||
+mod_dir := third_party/yosys_mod
|
||||
|
||||
cxx_is_clang := $(findstring clang,$(notdir ${CXX}))
|
||||
|
||||
@@ -13,9 +14,9 @@ ${ts}.sources := \
|
||||
${${ts}.src_dir}uhdm_ast_frontend.cc \
|
||||
${${ts}.src_dir}uhdm_common_frontend.cc \
|
||||
${${ts}.src_dir}uhdm_surelog_ast_frontend.cc \
|
||||
- ${$(call GetTargetStructName,yosys).mod_dir}const2ast.cc \
|
||||
- ${$(call GetTargetStructName,yosys).mod_dir}edif.cc \
|
||||
- ${$(call GetTargetStructName,yosys).mod_dir}simplify.cc
|
||||
+ $(mod_dir)/const2ast.cc \
|
||||
+ $(mod_dir)/edif.cc \
|
||||
+ $(mod_dir)/simplify.cc
|
||||
|
||||
define ${ts}.env =
|
||||
export PKG_CONFIG_PATH=$(call ShQuote,${$(call GetTargetStructName,surelog).output_vars.PKG_CONFIG_PATH}$(if ${PKG_CONFIG_PATH},:${PKG_CONFIG_PATH}))
|
||||
@@ -35,8 +36,8 @@ endif
|
||||
endif
|
||||
|
||||
${ts}.cxxflags = \
|
||||
- -I${$(call GetTargetStructName,yosys).src_dir} \
|
||||
- -I${$(call GetTargetStructName,yosys).mod_dir} \
|
||||
+ -I$(shell yosys-config --cxxflags) \
|
||||
+ -I$(mod_dir) \
|
||||
-D_YOSYS_ \
|
||||
-DYOSYS_ENABLE_PLUGINS \
|
||||
$(shell ${${ts}.env}; pkg-config --cflags Surelog) \
|
||||
@@ -55,7 +56,7 @@ ${ts}.ldflags = \
|
||||
$(shell ${${ts}.env}; pkg-config --libs-only-L Surelog) \
|
||||
${build_type_ldflags} \
|
||||
${LDFLAGS} \
|
||||
- -Wl,--export-dynamic
|
||||
+ $(shell yosys-config --ldflags --ldlibs)
|
||||
|
||||
${ts}.ldlibs = \
|
||||
$(shell ${${ts}.env}; pkg-config --libs-only-l --libs-only-other Surelog) \
|
73
pkgs/development/compilers/yosys/plugins/synlig.nix
Normal file
73
pkgs/development/compilers/yosys/plugins/synlig.nix
Normal file
|
@ -0,0 +1,73 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, antlr4
|
||||
, capnproto
|
||||
, readline
|
||||
, surelog
|
||||
, uhdm
|
||||
, yosys
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "yosys-synlig";
|
||||
version = "2023.10.12"; # Currently no tagged versions upstream
|
||||
plugin = "synlig";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chipsalliance";
|
||||
repo = "synlig";
|
||||
rev = "c5bd73595151212c61709d69a382917e96877a14";
|
||||
sha256 = "sha256-WJhf5gdZTCs3EeNocP9aZAh6EZquHgYOG/xiTo8l0ao=";
|
||||
fetchSubmodules = false; # we use all dependencies from nix
|
||||
};
|
||||
|
||||
patches = [
|
||||
./synlig-makefile-for-nix.patch # Remove assumption submodules available.
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
antlr4.runtime.cpp
|
||||
capnproto
|
||||
readline
|
||||
surelog
|
||||
uhdm
|
||||
yosys
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
make -j $NIX_BUILD_CORES build@systemverilog-plugin
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# Very simple litmus test that the plugin can be loaded successfully.
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
yosys -p "plugin -i build/release/systemverilog-plugin/systemverilog.so;\
|
||||
help read_systemverilog" | grep "Read SystemVerilog files using"
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/yosys/plugins
|
||||
cp ./build/release/systemverilog-plugin/systemverilog.so \
|
||||
$out/share/yosys/plugins/systemverilog.so
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "SystemVerilog support plugin for Yosys";
|
||||
homepage = "https://github.com/chipsalliance/synlig";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ hzeller ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
})
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "svdtools";
|
||||
version = "0.3.3";
|
||||
version = "0.3.4";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version pname;
|
||||
hash = "sha256-pZufVz7m91MiD1TfzTzS6mL0eBxawcr43GAfvDJVqfU=";
|
||||
hash = "sha256-rdBUEOyE4bHqPXZs3MxT/oivagKmJIVE/hI9mp0RY0k=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FAJZ/3eNhxPvIKXnE9lpejQuMi+yeBaA5ra9Peb2yIM=";
|
||||
cargoHash = "sha256-mPz8m/9VGKSqXan/R1k1JTZ9a44CwCL6JefVyeeREeE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tools to handle vendor-supplied, often buggy SVD files";
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nghttp3";
|
||||
version = "0.15.0";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ngtcp2";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZnfwPgjBAI2elHrx7uzc3JX2MdeX/hsrFKj4TfMK2tI=";
|
||||
hash = "sha256-mw0zI7528lvEZlv+/KuST7PWjuu37p/+EGGsjIEto2Q=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ngtcp2";
|
||||
version = "0.19.1";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ngtcp2";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-agiQRy/e5VS+ANxajXYi5huRjQQ2M8eddH/AzmwnHdQ==";
|
||||
hash = "sha256-dnYIRcNGTIzETu2OjTJa0IWB1+xttdGFKRBmMkTwrXk=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
|
|
@ -38,7 +38,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
++ lib.optional stdenv.isLinux alsa-lib
|
||||
++ lib.optional pulseaudioSupport libpulseaudio;
|
||||
|
||||
preConfigure = ''
|
||||
# touch ChangeLog to avoid below error on darwin:
|
||||
# Makefile.am: error: required file './ChangeLog.md' not found
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
touch ChangeLog
|
||||
'' + ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
|
@ -48,6 +52,5 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ aske ];
|
||||
platforms = platforms.unix;
|
||||
badPlatforms = platforms.darwin;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "updfparser";
|
||||
version = "unstable-2023-01-10";
|
||||
rev = "a421098092ba600fb1686a7df8fc58cd67429f59";
|
||||
version = "unstable-2023-08-08";
|
||||
rev = "c5ce75b9eea8ebb2746b13eeb0f335813c615115";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://indefero.soutade.fr/p/updfparser/source/download/${rev}/";
|
||||
sha256 = "sha256-Kt1QDj7E0GaT615kJW2MQKF9BeU5U7/95TQKODpxgNI=";
|
||||
hash = "sha256-RT7mvu43Izp0rHhKq4wR4kt0TDfzHvB2NGMR+fxO5UM=";
|
||||
extension = "zip";
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiovlc";
|
||||
version = "0.3.0";
|
||||
version = "0.3.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
|||
owner = "MartinHjelmare";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ZFLNgPxR5N+hI988POCYJD9QGivs1fYysyFtmxsJQaA=";
|
||||
hash = "sha256-+IpWX661Axl2Ke1NGN6W9CMMQMEu7EQ/2PeRkkByAxI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchpatch
|
||||
, fetchPypi
|
||||
, poetry-core
|
||||
, pythonOlder
|
||||
|
@ -9,26 +8,16 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "celery-types";
|
||||
version = "0.19.0";
|
||||
version = "0.20.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-1OLUJxsuxG/sCKDxKiU4i7o5HyaJdIW8rPo8UofMI28=";
|
||||
hash = "sha256-5cdiVVYF7QWSuu2dUZIwBGzo56EcZ6ghVVwIt87OGWA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# remove extraneous build dependencies:
|
||||
# https://github.com/sbdchd/celery-types/pull/138
|
||||
(fetchpatch {
|
||||
name = "clean-up-build-dependencies.patch";
|
||||
url = "https://github.com/sbdchd/celery-types/commit/ff83f06a0302084e1a690e2a5a8b25f2c0dfc6e7.patch";
|
||||
hash = "sha256-c68SMugg6Qk88FC842/czoxLpk0uVAVSlWsvo4NI9uo=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
typing-extensions
|
||||
];
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Benes <nbenes.gh@xandea.de>
|
||||
Date: Mon, 12 Jun 2023 11:29:32 +0200
|
||||
Subject: [PATCH] Fix quotes in test
|
||||
|
||||
|
||||
diff --git a/tests/test_basic.py b/tests/test_basic.py
|
||||
index 077e6c0..90bbdc3 100644
|
||||
--- a/tests/test_basic.py
|
||||
+++ b/tests/test_basic.py
|
||||
@@ -43,8 +43,8 @@ def test_foobar(runner):
|
||||
|
||||
TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]...
|
||||
{}
|
||||
-Error: No such command "bar".
|
||||
-""".format('Try "cli --help" for help.\n' if _click7 else '')
|
||||
+Error: No such command 'bar'.
|
||||
+""".format("Try 'cli --help' for help.\n" if _click7 else '')
|
||||
|
||||
|
||||
def test_invalid(runner):
|
||||
diff --git a/tests/test_foobar.py b/tests/test_foobar.py
|
||||
index fd6c4e6..ab0ad5d 100644
|
||||
--- a/tests/test_foobar.py
|
||||
+++ b/tests/test_foobar.py
|
||||
@@ -44,8 +44,8 @@ def test_foobar(runner):
|
||||
|
||||
TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]...
|
||||
{}
|
||||
-Error: No such command "baz".
|
||||
-""".format('Try "cli --help" for help.\n' if _click7 else '')
|
||||
+Error: No such command 'baz'.
|
||||
+""".format("Try 'cli --help' for help.\n" if _click7 else '')
|
||||
|
||||
|
||||
def test_invalid(runner):
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,23 +1,26 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, click
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "click-aliases";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "click-contrib";
|
||||
repo = "click-aliases";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vzWlCb4m9TdRaVz4DrlRRZ60+9gj60NoiALgvaIG0gA=";
|
||||
hash = "sha256-ZrNdxUMLRre0U9xCyyU8HjByNGMSXiuMDVjW9e88eyk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-Fix-quotes-in-test.patch
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "hahomematic";
|
||||
version = "2023.10.11";
|
||||
version = "2023.10.12";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
|||
owner = "danielperna84";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-9vKXIvCLmdKS+DIR6OY7/gnDdqWZfmi9FOGpbqCMCqA=";
|
||||
hash = "sha256-mlZlaUcpVflz1mTiI0rIAOnJD5+NqXjsb1xp+wvoQvs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "igraph";
|
||||
version = "0.10.8";
|
||||
version = "0.11.2";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "igraph";
|
||||
repo = "python-igraph";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-EpWkFKN8fhKkzR2g9Uv0/LxSwi4TkraH5rjde7yR+C8=";
|
||||
hash = "sha256-evYnUv2PWO+LbVBBQPa708dQb8Wq8SQ92bJ6clQNV/g=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ lib
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, cryptography
|
||||
, fetchFromGitHub
|
||||
, pytest-asyncio
|
||||
, pytest-sugar
|
||||
, pytest-timeout
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pylutron-caseta";
|
||||
version = "0.18.2";
|
||||
version = "0.18.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "gurumitts";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-GyYJZIjvy4JYNCUUJpQxt32U8lMS/iQoz4llbCmJQhU=";
|
||||
hash = "sha256-tjmMu7LUne+hLLTXGqHhci9/PZiuQ10mQaARvL2sdIM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -34,9 +34,10 @@ buildPythonPackage rec {
|
|||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytest-sugar
|
||||
pytest-timeout
|
||||
pytestCheckHook
|
||||
] ++ lib.optionals (pythonOlder "3.11") [
|
||||
async-timeout
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, buildPythonPackage
|
||||
, cryptography
|
||||
, fetchPypi
|
||||
, poetry-core
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pymazda";
|
||||
version = "0.3.11";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-DiXLY4mfgRbE0Y1tOJnkMSQQj1vcySLVDBthOWe7/dM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
cryptography
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pymazda"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python client for interacting with the MyMazda API";
|
||||
homepage = "https://github.com/bdr99/pymazda";
|
||||
changelog = "https://github.com/bdr99/pymazda/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytensor";
|
||||
version = "2.17.1";
|
||||
version = "2.17.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -35,7 +35,7 @@ buildPythonPackage rec {
|
|||
owner = "pymc-devs";
|
||||
repo = "pytensor";
|
||||
rev = "refs/tags/rel-${version}";
|
||||
hash = "sha256-xXS0uNR5rlmUjt9/TW/X/pQc5MS/MwHSQGCp7BkAVYg=";
|
||||
hash = "sha256-u1CbOjU3rQ6G3SSwYR3UlebymkupGMJWID4RH4v9PIk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-lsp-ruff";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "python-lsp-ruff";
|
||||
sha256 = "sha256-yvG4Qn9aym0rTDALURxHrWtDhO7g2VYsI+zLgb8z+gE=";
|
||||
sha256 = "sha256-7vilIo1PHgHZ6yaRxTVt/bPwGt9g7rGvrq84eyIDIBw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "sagemaker";
|
||||
version = "2.188.0";
|
||||
version = "2.192.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -35,7 +35,7 @@ buildPythonPackage rec {
|
|||
owner = "aws";
|
||||
repo = "sagemaker-python-sdk";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-iWNAsqDGTkELQn5K45AYpdzexE3DimI5xYWt3Udd4EI=";
|
||||
hash = "sha256-+1wb7O+fHhRE8aKlgAB/NRgx2J+LBkR7xuqfWnVYSKc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "scikit-hep-testdata";
|
||||
version = "0.4.31";
|
||||
version = "0.4.33";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "scikit-hep";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-/CUBRRezm84yAqnEVAC89vKIpALnvSkoSKBCmX84S0w=";
|
||||
hash = "sha256-IAi1LS6LqcvMR3dqNcppuyoMNM/hRT1eH+LZbczWW/M=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
|
|
@ -17,16 +17,16 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "siuba";
|
||||
version = "0.4.2";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
version = "0.4.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "machow";
|
||||
repo = "siuba";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Q2nkK51bmIO2OcBuWu+u7yB8UmaqiZJXpuxXcytTlUY=";
|
||||
hash = "sha256-rd/yQH3sbZqQAQ1AN44vChe30GMJuIlZj3Ccfv1m3lU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -45,8 +45,9 @@ buildPythonPackage rec {
|
|||
hypothesis
|
||||
pytestCheckHook
|
||||
];
|
||||
doCheck = false;
|
||||
|
||||
# requires running mysql and postgres instances; see docker-compose.yml
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"siuba"
|
||||
|
@ -56,6 +57,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Use dplyr-like syntax with pandas and SQL";
|
||||
homepage = "https://siuba.org";
|
||||
changelog = "https://github.com/machow/siuba/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "stanza";
|
||||
version = "1.6.0";
|
||||
version = "1.6.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "stanfordnlp";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-AyO/BC5JpkxaXXjj8pAVa4WGnK/GTw4xrmUvGLbLt3U=";
|
||||
hash = "sha256-8WH83K/1SbzjlAmjKVh3gT9KVvQ6BMRmg3Z0SSeL1j8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -16,16 +16,16 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "structlog";
|
||||
version = "23.1.0";
|
||||
version = "23.2.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hynek";
|
||||
repo = "structlog";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-0zHvBMiZB4cGntdYXA7C9V9+FfnDB6sHGuFRYAo/LJw=";
|
||||
hash = "sha256-KSHKgkv+kObKCdWZDg5o6QYe0AMND9VLdEuseY/GyDY=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
|
|
@ -18,16 +18,16 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "sumo";
|
||||
version = "2.3.6";
|
||||
version = "2.3.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SMTG-UCL";
|
||||
repo = "sumo";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-HQIs2G2hdKQkQOBs2lijmx/0cI4o/FFJU866PjtrBAE=";
|
||||
hash = "sha256-9NHz8SPymD9zANWMeajjavpjw68X4abqhrLl0dn92l0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -58,6 +58,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Toolkit for plotting and analysis of ab initio solid-state calculation data";
|
||||
homepage = "https://github.com/SMTG-UCL/sumo";
|
||||
changelog = "https://github.com/SMTG-Bham/sumo/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ psyanticy ];
|
||||
};
|
||||
|
|
|
@ -2,18 +2,28 @@
|
|||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tag-expressions";
|
||||
version = "1.1.0";
|
||||
version = "2.0.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1c0a49c3c0357976822b03c43db8d4a1c5548e16fb07ac939c10bbd5183f529d";
|
||||
hash = "sha256-/6Ym72jlgVdpel4V2W2aCKNtISDT9y5qz7+gTllUuPg=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"tagexpressions"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Package to parse logical tag expressions";
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "tesserocr";
|
||||
version = "2.6.1";
|
||||
version = "2.6.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-pz82cutgQ9ifMS6+40mcBiOsXIqeEquYdBWT+npZNPY=";
|
||||
sha256 = "sha256-RVJfocGjVvnRVanekbN1nKRECEr9hTVE9aKaqFizA5A=";
|
||||
};
|
||||
|
||||
# https://github.com/sirfz/tesserocr/issues/314
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "textual-universal-directorytree";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "juftin";
|
||||
repo = "textual-universal-directorytree";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-a7alxVmHTKJnJiU7X6UlUD2y7MY4O5TMR+02KcyPwEs=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-FL2bwPGqBmDn33Rhj7+VEpuqB4znEAw+GGAODTs25oo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "tubeup";
|
||||
version = "2023.8.19";
|
||||
version = "2023.9.19";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-0atpOUJIfXgw/5fi5w2ciAFDMgWmVH4U8d84zwLCRXk=";
|
||||
sha256 = "sha256-Pp4h0MBoYhczmxPq21cLiYpLUeFP+2JoACcFpBl3b0E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
, unittestCheckHook
|
||||
}:
|
||||
let
|
||||
version = "6.0.0";
|
||||
version = "6.1.0";
|
||||
api = [ aiohttp fastapi uvicorn ];
|
||||
# cloud = [ apache-libcloud ];
|
||||
console = [ rich ];
|
||||
|
@ -105,7 +105,7 @@ buildPythonPackage {
|
|||
owner = "neuml";
|
||||
repo = "txtai";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-lGRdSUSQGdxe+I4WrUkE4hIyyJ1HcFn3cXO3zd27fsM=";
|
||||
hash = "sha256-ZUMfDyebroa9r01bOUFYDyVjuNUqlPU88HBocp3YQJ4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "typepy";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "thombashi";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-cgy1+6RZ1DUyH45bAKpGPOOZCwhCUghummw2fnfJGww=";
|
||||
hash = "sha256-oIDVjJwapHun0Rk04zOZ4IjAh7qZ2k0BXK6zqFmtVds=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -15,14 +15,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "unearth";
|
||||
version = "0.11.0";
|
||||
version = "0.11.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ryBymzmNLzuDklHXReT0DyPLCb1reX4Kb/bu1GynBCI=";
|
||||
hash = "sha256-abnU2GFz9vvoz2hcgpwxpg0MguG81sW1mvj9Vkvw3Bo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "uptime-kuma-api";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
|||
src = fetchPypi {
|
||||
pname = "uptime_kuma_api";
|
||||
inherit version;
|
||||
hash = "sha256-owRLc6823jJbEEzdJ3ORCkQfaEvxxs0uwYLzzCa17zI=";
|
||||
hash = "sha256-tZ5ln3sy6W5RLcwjzLbhobCNLbHXIhXIzrcOVCG+Z+E=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "vispy";
|
||||
version = "0.14.0";
|
||||
version = "0.14.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-3vcn528rZd7YhmSoPaUN2peWOWHBbxOk2FCr3UWTD5Q=";
|
||||
hash = "sha256-JJpQl5/ACotlEJKDNU3PEs9BXBpdz5gh4RP25ZC5uTw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -38,7 +38,7 @@ let
|
|||
buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
|
||||
|
||||
# our version of buck2; this should be a git tag
|
||||
version = "2023-10-01";
|
||||
version = "2023-10-15";
|
||||
|
||||
# the platform-specific, statically linked binary — which is also
|
||||
# zstd-compressed
|
||||
|
@ -63,7 +63,7 @@ let
|
|||
# tooling
|
||||
prelude-src =
|
||||
let
|
||||
prelude-hash = "75aa81a92edd2bf477538f9a3f0fe6a47e811842";
|
||||
prelude-hash = "880be565178cf1e08ce9badef52b215f91e48479";
|
||||
name = "buck2-prelude-${version}.tar.gz";
|
||||
hash = buildHashes."_prelude";
|
||||
url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh"
|
||||
, "_prelude": "sha256-SshYnziEP/2jdoeLZYkQOvH56VBOJZaf0TUt++tLO1U="
|
||||
, "x86_64-linux": "sha256-eztjSDjgtXZWeDSPsKNSUGlIR+g8DsByIjDpcGNXB2s="
|
||||
, "x86_64-darwin": "sha256-buC0mShgDPU1+oeuNdjP6hNq1MoJDIPaEHCGL+Rcsr8="
|
||||
, "aarch64-linux": "sha256-52Ld12TzC51OutjZY+idpd7GhFr2tPksz1pda4F9Zag="
|
||||
, "aarch64-darwin": "sha256-b9peYBF9FZbSdMiwC8E/+y15pWlFe37/Euj5v8q3v1E="
|
||||
, "_prelude": "sha256-mm9jU74rsLpiMzuDmSih6tzY4+NOiR15j+W96BVe/OI="
|
||||
, "x86_64-linux": "sha256-qxymUjsSwCf6ev5TwlkWVGtMc9tj6Vt4yMIPaLHFAMM="
|
||||
, "x86_64-darwin": "sha256-DGfpByvL4gmP+CR7VLCZS8IGSJ3esHhuKxHUfXJb/6k="
|
||||
, "aarch64-linux": "sha256-zc9LEYmpVJttCTI6Qxm25KZRX8CJVJzVtSbouw0LB6g="
|
||||
, "aarch64-darwin": "sha256-HUzpKJQN/22IQYmHLhW0fVQs0f86rREMTlp+yOfK0+Y="
|
||||
}
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, testers, dagger }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dagger";
|
||||
version = "0.8.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dagger";
|
||||
repo = "dagger";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EHAQRmBgQEM0ypfUwuaoPnoKsQb1S+tarO1nHdmY5RI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-fUNet9P6twEJP4eYooiHZ6qaJ3jEkJUwQ2zPzk3+eIs=";
|
||||
proxyVendor = true;
|
||||
|
||||
subPackages = [
|
||||
"cmd/dagger"
|
||||
];
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/dagger/dagger/engine.Version=${version}" ];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd dagger \
|
||||
--bash <($out/bin/dagger completion bash) \
|
||||
--fish <($out/bin/dagger completion fish) \
|
||||
--zsh <($out/bin/dagger completion zsh)
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = dagger;
|
||||
command = "dagger version";
|
||||
version = "v${version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A portable devkit for CICD pipelines";
|
||||
homepage = "https://dagger.io";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ jfroche sagikazarmark ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "moq";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matryer";
|
||||
repo = "moq";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-T+vBzhc9XafCeXsW4/24vOn4U7N1t0S8DXkPNav7I94=";
|
||||
sha256 = "sha256-TOFWaPJ+XfgiQCVRXze29TG7Zfur0SV4mQNdgVIGj5o=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lfs61YK5HmUd3/qA4o9MiWeTFhu4MTAkNH+f0iGlRe0=";
|
||||
|
|
130
pkgs/development/tools/mysql-shell/innovation.nix
Normal file
130
pkgs/development/tools/mysql-shell/innovation.nix
Normal file
|
@ -0,0 +1,130 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, pkg-config
|
||||
, cmake
|
||||
, fetchurl
|
||||
, git
|
||||
, cctools
|
||||
, developer_cmds
|
||||
, DarwinTools
|
||||
, makeWrapper
|
||||
, CoreServices
|
||||
, bison
|
||||
, openssl
|
||||
, protobuf
|
||||
, curl
|
||||
, zlib
|
||||
, libssh
|
||||
, zstd
|
||||
, lz4
|
||||
, boost
|
||||
, readline
|
||||
, libtirpc
|
||||
, rpcsvc-proto
|
||||
, libedit
|
||||
, libevent
|
||||
, icu
|
||||
, re2
|
||||
, ncurses
|
||||
, libfido2
|
||||
, python3
|
||||
, cyrus_sasl
|
||||
, openldap
|
||||
, antlr
|
||||
}:
|
||||
|
||||
let
|
||||
pythonDeps = with python3.pkgs; [ certifi paramiko pyyaml ];
|
||||
|
||||
mysqlShellVersion = "8.1.1";
|
||||
mysqlServerVersion = "8.1.0";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mysql-shell-innovation";
|
||||
version = mysqlShellVersion;
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "https://cdn.mysql.com//Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz";
|
||||
hash = "sha256-PdAXqUBzSqkHlqTGXhJeZxL2S7u+M4jTZGneqoe1mes=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
|
||||
hash = "sha256-X7A2h9PWgQgNg7h64oD+Th/KsqP3UGpJ2etaP2B0VuY=";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = "mysql-shell-${finalAttrs.version}-src";
|
||||
|
||||
postUnpack = ''
|
||||
mv mysql-${mysqlServerVersion} mysql
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ../mysql/cmake/libutils.cmake --replace /usr/bin/libtool libtool
|
||||
substituteInPlace ../mysql/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool
|
||||
|
||||
substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake git bison makeWrapper ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ]
|
||||
++ lib.optionals stdenv.isDarwin [ cctools developer_cmds DarwinTools ];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
curl
|
||||
libedit
|
||||
libssh
|
||||
lz4
|
||||
openssl
|
||||
protobuf
|
||||
readline
|
||||
zlib
|
||||
zstd
|
||||
libevent
|
||||
icu
|
||||
re2
|
||||
ncurses
|
||||
libfido2
|
||||
cyrus_sasl
|
||||
openldap
|
||||
python3
|
||||
antlr.runtime.cpp
|
||||
] ++ pythonDeps
|
||||
++ lib.optionals stdenv.isLinux [ libtirpc ]
|
||||
++ lib.optionals stdenv.isDarwin [ CoreServices ];
|
||||
|
||||
preConfigure = ''
|
||||
# Build MySQL
|
||||
echo "Building mysqlclient mysqlxclient"
|
||||
|
||||
cmake -DWITH_BOOST=system -DWITH_SYSTEM_LIBS=ON -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \
|
||||
-DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql -B ../mysql/build
|
||||
|
||||
cmake --build ../mysql/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DMYSQL_SOURCE_DIR=../mysql"
|
||||
"-DMYSQL_BUILD_DIR=../mysql/build"
|
||||
"-DMYSQL_CONFIG_EXECUTABLE=../../mysql/build/scripts/mysql_config"
|
||||
"-DWITH_ZSTD=system"
|
||||
"-DWITH_LZ4=system"
|
||||
"-DWITH_ZLIB=system"
|
||||
"-DWITH_PROTOBUF=${protobuf}"
|
||||
"-DHAVE_PYTHON=1"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/mysqlsh --set PYTHONPATH "${lib.makeSearchPath python3.sitePackages pythonDeps}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor finalAttrs.version}/en/";
|
||||
description = "A new command line scriptable shell for MySQL";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ aaronjheng ];
|
||||
mainProgram = "mysqlsh";
|
||||
};
|
||||
})
|
|
@ -70,7 +70,7 @@ let
|
|||
unfreeRedistributable # osu-framework contains libbass.so in repository
|
||||
];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with maintainers; [ delan stepbrobd ];
|
||||
maintainers = with maintainers; [ delan stepbrobd spacefault ];
|
||||
mainProgram = "osu!";
|
||||
platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
|
||||
};
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pipes-rs";
|
||||
version = "1.6.1";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lhvy";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0i5jAqOGq+N5bUM103Gk1Wzgwe7wUQRjJ+T4XqUkuZw=";
|
||||
sha256 = "sha256-PUCbirnOPYIqt56IF6UQ7Jd0bJLsVY2pGIn/C95HTrQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-LOU1BCFeX+F2dJdajgLDAtgyyrn6KkvLx3KtF9NkKcY=";
|
||||
cargoHash = "sha256-6OTiciRqZyuX4FaDg131DEaVssUT2OYXdw/cxxJmLso=";
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Do not edit!
|
||||
|
||||
{
|
||||
version = "2023.10.1";
|
||||
version = "2023.10.3";
|
||||
components = {
|
||||
"3_day_blinds" = ps: with ps; [
|
||||
];
|
||||
|
@ -2485,7 +2485,6 @@
|
|||
maxcube-api
|
||||
];
|
||||
"mazda" = ps: with ps; [
|
||||
pymazda
|
||||
];
|
||||
"meater" = ps: with ps; [
|
||||
meater-python
|
||||
|
|
|
@ -427,7 +427,7 @@ let
|
|||
extraBuildInputs = extraPackages python.pkgs;
|
||||
|
||||
# Don't forget to run parse-requirements.py after updating
|
||||
hassVersion = "2023.10.1";
|
||||
hassVersion = "2023.10.3";
|
||||
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "homeassistant";
|
||||
|
@ -443,7 +443,7 @@ in python.pkgs.buildPythonApplication rec {
|
|||
# Primary source is the pypi sdist, because it contains translations
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-3VkV5DirOzLO9Qbo4s5of5Aie7JvSAN7hgHBTA8koAE=";
|
||||
hash = "sha256-7Eg6Ik8eiPPUTXyRedQLixaCnHDg9Dmikmhcq55+458=";
|
||||
};
|
||||
|
||||
# Secondary source is git for tests
|
||||
|
@ -451,7 +451,7 @@ in python.pkgs.buildPythonApplication rec {
|
|||
owner = "home-assistant";
|
||||
repo = "core";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-mzj4JJ81Wr5FO1lVVwHlgnS3olxzXzMw0lFYPbTf634=";
|
||||
hash = "sha256-4J1BBC6PvfbN4fKD+zUpW19sMvoKALilitNJlwB0ZTk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python.pkgs; [
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exim";
|
||||
version = "4.96.1";
|
||||
version = "4.96.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-k6wHVcMX4f276ozLcKhoh2vfMUhpKJHHKtD+gWdnAz0=";
|
||||
hash = "sha256-A44yfo0ek9AFusm7Bv0irsRNUCiTDW2+iBetRLv8HeY=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -17,6 +17,6 @@ buildGoModule rec {
|
|||
description = "Exporter for metrics from devices running JunOS";
|
||||
homepage = "https://github.com/czerwonk/junos_exporter";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ netali ];
|
||||
maintainers = teams.wdz.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "prometheus-nextcloud-exporter";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xperimental";
|
||||
repo = "nextcloud-exporter";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8Pz1Xa8P0T+5P4qCoyRyRqPtAaSiZw4BV+rSZf4exC0=";
|
||||
sha256 = "sha256-OiuhxawEpD29EhbzA9DYeJ1J1/uMQGgBTZR9m/5egHI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NIJH5Ya+fZ+37y+Lim/WizNCOYk1lpPRf6u70IoiFZk=";
|
||||
vendorHash = "sha256-QlMj4ATpJATlQAsrxIHG/1vrD5E/4brsda3BoGGzDgk=";
|
||||
|
||||
passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; };
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg-headless }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ytarchive";
|
||||
version = "unstable-2023-02-21";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kethsar";
|
||||
repo = "ytarchive";
|
||||
rev = "90aaf17b5e86eec52a95752e3c2dba4f54ee1068";
|
||||
hash = "sha256-JRjQRbMqtd04/aO6NkInoDqfOrHnDrXj4C4/URiU6yo=";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mQgpwuTIEHeDv/PzBHpK1sraxFj8Ef3y8vN5bLw5E94=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-sjwQ/zEYJRkeWUDB7TzV8z+kET8lVRnQkXYbZbcUeHY=";
|
||||
|
@ -18,7 +18,7 @@ buildGoModule rec {
|
|||
ldflags = [ "-s" "-w" "-X main.Commit=-${src.rev}" ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
|
||||
wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg-headless ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
471
pkgs/tools/networking/bandwhich/Cargo.lock
generated
471
pkgs/tools/networking/bandwhich/Cargo.lock
generated
|
@ -30,9 +30,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.0"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0f2135563fb5c609d2b2b87c1e8ce7bc41b0b45430fa9661f457981503dd5bf0"
|
||||
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
@ -54,9 +54,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.5.0"
|
||||
version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
|
||||
checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
|
@ -68,15 +68,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.3"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
|
||||
checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
|
||||
checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
|
||||
dependencies = [
|
||||
"utf8parse",
|
||||
]
|
||||
|
@ -92,9 +92,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "2.1.0"
|
||||
version = "3.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
|
||||
checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"windows-sys 0.48.0",
|
||||
|
@ -111,13 +111,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.73"
|
||||
version = "0.1.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
|
||||
checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -143,16 +143,19 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "bandwhich"
|
||||
version = "0.21.0"
|
||||
version = "0.21.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
"chrono",
|
||||
"clap",
|
||||
"clap-verbosity-flag",
|
||||
"crossterm",
|
||||
"derivative",
|
||||
"http_req",
|
||||
"insta",
|
||||
"ipnetwork",
|
||||
"log",
|
||||
"netstat2",
|
||||
"packet-builder",
|
||||
"pnet",
|
||||
|
@ -162,6 +165,8 @@ dependencies = [
|
|||
"ratatui",
|
||||
"regex",
|
||||
"resolv-conf",
|
||||
"rstest",
|
||||
"simplelog",
|
||||
"sysinfo",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
|
@ -184,9 +189,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.4.0"
|
||||
version = "2.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
|
||||
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
|
@ -205,9 +210,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
|
|||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.4.3"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
|
||||
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
|
@ -284,19 +289,29 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.4.4"
|
||||
version = "4.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1d7b8d5ec32af0fadc644bf1fd509a688c2103b185644bb1e29d164e0703136"
|
||||
checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.4.4"
|
||||
name = "clap-verbosity-flag"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5179bb514e4d7c2051749d8fcefa2ed6d06a9f4e6d69faf3805f5d80b8cf8d56"
|
||||
checksum = "1eef05769009513df2eb1c3b4613e7fad873a14c600ff025b08f250f59fee7de"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
@ -313,7 +328,7 @@ dependencies = [
|
|||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -380,16 +395,6 @@ dependencies = [
|
|||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.3"
|
||||
|
@ -429,7 +434,7 @@ version = "0.27.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"crossterm_winapi",
|
||||
"libc",
|
||||
"mio",
|
||||
|
@ -466,9 +471,23 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
|
|||
|
||||
[[package]]
|
||||
name = "deranged"
|
||||
version = "0.3.8"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
|
||||
checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
|
||||
dependencies = [
|
||||
"powerfmt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derivative"
|
||||
version = "2.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derive-new"
|
||||
|
@ -513,41 +532,30 @@ dependencies = [
|
|||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.3"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
|
||||
checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
|
||||
dependencies = [
|
||||
"errno-dragonfly",
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno-dragonfly"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
|
||||
checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
|
||||
|
||||
[[package]]
|
||||
name = "flate2"
|
||||
version = "1.0.27"
|
||||
version = "1.0.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
|
||||
checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"miniz_oxide",
|
||||
|
@ -577,6 +585,21 @@ dependencies = [
|
|||
"percent-encoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-executor",
|
||||
"futures-io",
|
||||
"futures-sink",
|
||||
"futures-task",
|
||||
"futures-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.28"
|
||||
|
@ -584,6 +607,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -592,26 +616,65 @@ version = "0.3.28"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
|
||||
|
||||
[[package]]
|
||||
name = "futures-executor"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
"futures-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-io"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
|
||||
|
||||
[[package]]
|
||||
name = "futures-macro"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-sink"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
|
||||
|
||||
[[package]]
|
||||
name = "futures-timer"
|
||||
version = "3.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-macro",
|
||||
"futures-sink",
|
||||
"futures-task",
|
||||
"memchr",
|
||||
"pin-project-lite",
|
||||
"pin-utils",
|
||||
"slab",
|
||||
|
@ -658,9 +721,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
|||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
|
||||
checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
|
||||
|
||||
[[package]]
|
||||
name = "hex"
|
||||
|
@ -690,9 +753,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "http_req"
|
||||
version = "0.9.3"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42ce34c74ec562d68f2c23a532c62c1332ff1d1b6147fd118bd1938e090137d0"
|
||||
checksum = "158d4edacc70c9bdb0464314063b8d9d60fa776442dc13b00a13581b88b0a0a0"
|
||||
dependencies = [
|
||||
"native-tls",
|
||||
"unicase",
|
||||
|
@ -748,9 +811,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "insta"
|
||||
version = "1.31.0"
|
||||
version = "1.34.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a0770b0a3d4c70567f0d58331f3088b0e4c4f56c9b8d764efe654b4a5d46de3a"
|
||||
checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc"
|
||||
dependencies = [
|
||||
"console",
|
||||
"lazy_static",
|
||||
|
@ -807,10 +870,16 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.26"
|
||||
name = "itoa"
|
||||
version = "1.0.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
|
||||
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
@ -832,9 +901,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.148"
|
||||
version = "0.2.149"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
|
||||
checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
|
||||
|
||||
[[package]]
|
||||
name = "linked-hash-map"
|
||||
|
@ -850,9 +919,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
|
|||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.7"
|
||||
version = "0.4.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
|
||||
checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
|
@ -887,9 +956,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
|
|||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.6.3"
|
||||
version = "2.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
|
||||
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
|
@ -981,9 +1050,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.16"
|
||||
version = "0.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
|
||||
checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
@ -998,6 +1067,15 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_threads"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.32.1"
|
||||
|
@ -1019,7 +1097,7 @@ version = "0.10.57"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"cfg-if",
|
||||
"foreign-types",
|
||||
"libc",
|
||||
|
@ -1036,7 +1114,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1189,7 +1267,7 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1235,6 +1313,12 @@ dependencies = [
|
|||
"pnet_sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "powerfmt"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.17"
|
||||
|
@ -1243,9 +1327,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.67"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
|
||||
checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
@ -1262,7 +1346,7 @@ dependencies = [
|
|||
"flate2",
|
||||
"hex",
|
||||
"lazy_static",
|
||||
"rustix 0.36.15",
|
||||
"rustix 0.36.16",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1316,7 +1400,7 @@ version = "0.23.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e2e4cd95294a85c3b4446e63ef054eea43e0205b1fd60120c16b74ff7ff96ad"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"cassowary",
|
||||
"crossterm",
|
||||
"indoc",
|
||||
|
@ -1329,9 +1413,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.7.0"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
|
||||
checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
|
||||
dependencies = [
|
||||
"either",
|
||||
"rayon-core",
|
||||
|
@ -1339,14 +1423,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rayon-core"
|
||||
version = "1.11.0"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
|
||||
checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-utils",
|
||||
"num_cpus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1360,9 +1442,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.9.5"
|
||||
version = "1.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
|
||||
checksum = "aaac441002f822bc9705a681810a4dd2963094b9ca0ddc41cb963a4c189189ea"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
|
@ -1372,9 +1454,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.8"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
|
||||
checksum = "5011c7e263a695dc8ca064cddb722af1be54e517a280b12a5356f98366899e5d"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
|
@ -1383,9 +1465,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.7.5"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
|
||||
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
|
||||
|
||||
[[package]]
|
||||
name = "relative-path"
|
||||
version = "1.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca"
|
||||
|
||||
[[package]]
|
||||
name = "resolv-conf"
|
||||
|
@ -1397,6 +1485,35 @@ dependencies = [
|
|||
"quick-error",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rstest"
|
||||
version = "0.18.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"futures-timer",
|
||||
"rstest_macros",
|
||||
"rustc_version",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rstest_macros"
|
||||
version = "0.18.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"glob",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
"relative-path",
|
||||
"rustc_version",
|
||||
"syn 2.0.38",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.23"
|
||||
|
@ -1404,10 +1521,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.36.15"
|
||||
name = "rustc_version"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941"
|
||||
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
|
||||
dependencies = [
|
||||
"semver",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.36.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6da3636faa25820d8648e0e31c5d519bbb01f72fdf57131f0f5f7da5fed36eab"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"errno",
|
||||
|
@ -1419,14 +1545,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.13"
|
||||
version = "0.38.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662"
|
||||
checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys 0.4.7",
|
||||
"linux-raw-sys 0.4.10",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
|
@ -1475,30 +1601,36 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.188"
|
||||
name = "semver"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
|
||||
checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.189"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.188"
|
||||
version = "1.0.189"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
|
||||
checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha1"
|
||||
version = "0.10.5"
|
||||
version = "0.10.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
|
||||
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
|
@ -1507,9 +1639,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "sha2"
|
||||
version = "0.10.7"
|
||||
version = "0.10.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
|
||||
checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
|
@ -1548,9 +1680,20 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "similar"
|
||||
version = "2.2.1"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
|
||||
checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597"
|
||||
|
||||
[[package]]
|
||||
name = "simplelog"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369"
|
||||
dependencies = [
|
||||
"log",
|
||||
"termcolor",
|
||||
"time",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
|
@ -1563,9 +1706,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.11.0"
|
||||
version = "1.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
|
||||
checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
|
@ -1594,15 +1737,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "strum_macros"
|
||||
version = "0.25.2"
|
||||
version = "0.25.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059"
|
||||
checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rustversion",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1624,9 +1767,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.37"
|
||||
version = "2.0.38"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
|
||||
checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -1657,46 +1800,69 @@ dependencies = [
|
|||
"cfg-if",
|
||||
"fastrand",
|
||||
"redox_syscall",
|
||||
"rustix 0.38.13",
|
||||
"rustix 0.38.19",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.48"
|
||||
name = "termcolor"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
|
||||
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.49"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.48"
|
||||
version = "1.0.49"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
|
||||
checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48"
|
||||
checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa",
|
||||
"libc",
|
||||
"num_threads",
|
||||
"powerfmt",
|
||||
"serde",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time-core"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
|
||||
checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
|
||||
dependencies = [
|
||||
"time-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
|
@ -1715,9 +1881,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
|||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.32.0"
|
||||
version = "1.33.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
|
||||
checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
|
@ -1731,11 +1897,10 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.37"
|
||||
version = "0.1.39"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
|
||||
checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
|
@ -1743,29 +1908,29 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.26"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
|
||||
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.31"
|
||||
version = "0.1.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
|
||||
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "trust-dns-proto"
|
||||
version = "0.23.0"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0dc775440033cb114085f6f2437682b194fa7546466024b1037e82a48a052a69"
|
||||
checksum = "559ac980345f7f5020883dd3bcacf176355225e01916f8c2efecad7534f682c6"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"cfg-if",
|
||||
|
@ -1788,9 +1953,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "trust-dns-resolver"
|
||||
version = "0.23.0"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dff7aed33ef3e8bf2c9966fccdfed93f93d46f432282ea875cd66faabc6ef2f"
|
||||
checksum = "c723b0e608b24ad04c73b2607e0241b2c98fd79795a95e98b068b6966138a29d"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"futures-util",
|
||||
|
@ -1851,9 +2016,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
|
|||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.10"
|
||||
version = "0.1.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
|
||||
checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
|
@ -1911,7 +2076,7 @@ dependencies = [
|
|||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
|
@ -1933,7 +2098,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
|
|||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.37",
|
||||
"syn 2.0.38",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
@ -1966,6 +2131,15 @@ version = "0.4.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-util"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
|
@ -2173,11 +2347,10 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zstd-sys"
|
||||
version = "2.0.8+zstd.1.5.5"
|
||||
version = "2.0.9+zstd.1.5.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
|
||||
checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bandwhich";
|
||||
version = "0.21.0";
|
||||
version = "0.21.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "imsnif";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FquV+V5BTIX0HB6lLqPMUTvnPn7Y8/jhl93qvrSkYLY=";
|
||||
hash = "sha256-9+7ol2QSIXLkkRt/YlAobZHb3Tm+SmnjW/JufwimMTE=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
|
|
@ -17,6 +17,6 @@ buildGoModule rec {
|
|||
description = "MAC Address CLI Toolkit";
|
||||
homepage = "https://github.com/thatmattlove/oui";
|
||||
license = with licenses; [ bsd3 ];
|
||||
maintainers = [ maintainers.netali ];
|
||||
maintainers = teams.wdz.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -166,6 +166,7 @@ mapAliases ({
|
|||
|
||||
### D ###
|
||||
|
||||
dagger = throw "'dagger' has been removed from nixpkgs, as the trademark policy of the upstream project is incompatible"; # Added 2023-10-16
|
||||
dart_stable = dart; # Added 2020-01-15
|
||||
dat = nodePackages.dat;
|
||||
deadpixi-sam = deadpixi-sam-unstable;
|
||||
|
|
|
@ -1092,6 +1092,15 @@ with pkgs;
|
|||
protobuf = protobuf3_21;
|
||||
};
|
||||
|
||||
mysql-shell-innovation = callPackage ../development/tools/mysql-shell/innovation.nix {
|
||||
inherit (darwin) cctools developer_cmds DarwinTools;
|
||||
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
||||
antlr = antlr4_10;
|
||||
boost = boost177; # Configure checks for specific version.
|
||||
icu = icu69;
|
||||
protobuf = protobuf3_21;
|
||||
};
|
||||
|
||||
broadlink-cli = callPackage ../tools/misc/broadlink-cli { };
|
||||
|
||||
fetchpatch = callPackage ../build-support/fetchpatch {
|
||||
|
@ -4952,8 +4961,6 @@ with pkgs;
|
|||
|
||||
daemontools = callPackage ../tools/admin/daemontools { };
|
||||
|
||||
dagger = callPackage ../development/tools/continuous-integration/dagger { };
|
||||
|
||||
dale = callPackage ../development/compilers/dale { };
|
||||
|
||||
damon = callPackage ../tools/admin/damon { };
|
||||
|
@ -17477,6 +17484,7 @@ with pkgs;
|
|||
yosys = callPackage ../development/compilers/yosys { };
|
||||
yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { };
|
||||
yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { };
|
||||
yosys-synlig = callPackage ../development/compilers/yosys/plugins/synlig.nix { };
|
||||
yosys-symbiflow = callPackage ../development/compilers/yosys/plugins/symbiflow.nix { };
|
||||
|
||||
z88dk = callPackage ../development/compilers/z88dk { };
|
||||
|
@ -31375,7 +31383,9 @@ with pkgs;
|
|||
|
||||
espeak-classic = callPackage ../applications/audio/espeak { };
|
||||
|
||||
espeak-ng = callPackage ../applications/audio/espeak-ng { };
|
||||
espeak-ng = callPackage ../applications/audio/espeak-ng {
|
||||
inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit CoreAudio;
|
||||
};
|
||||
espeak = res.espeak-ng;
|
||||
|
||||
espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
|
||||
|
|
|
@ -285,6 +285,7 @@ mapAliases ({
|
|||
pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
|
||||
PyLD = pyld; # added 2022-06-22
|
||||
pymatgen-lammps = throw "pymatgen-lammps has been removed because it is unmaintained and broken"; # added 2023-06-20
|
||||
pymazda = throw "pymazda has been removed, because the upstream repo has been affected by a DCMA claim."; # added 2023-10-16
|
||||
pymc3 = pymc; # added 2022-06-05, module was rename starting with 4.0.0
|
||||
pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
|
||||
PyMVGLive = pymvglive; # added 2023-02-19
|
||||
|
|
|
@ -10364,8 +10364,6 @@ self: super: with self; {
|
|||
|
||||
pymavlink = callPackage ../development/python-modules/pymavlink { };
|
||||
|
||||
pymazda = callPackage ../development/python-modules/pymazda { };
|
||||
|
||||
pymbolic = callPackage ../development/python-modules/pymbolic { };
|
||||
|
||||
pymc = callPackage ../development/python-modules/pymc { };
|
||||
|
|
Loading…
Reference in a new issue