Merge master into staging-next
This commit is contained in:
+28
-4
@@ -42,7 +42,7 @@ package's `meta.maintainers` list, and send a PR with the changes.
|
||||
|
||||
If you're adding yourself as a maintainer as part of another PR (in which
|
||||
you become a maintainer of a package, for example), make your change to
|
||||
`maintainer-list.nix` in a separate commit.
|
||||
`maintainer-list.nix` in a separate commit titled `maintainers: add <name>`.
|
||||
|
||||
### How to lose maintainer status
|
||||
|
||||
@@ -58,10 +58,34 @@ person as a reviewer, and then waiting a week for a reaction.
|
||||
|
||||
The maintainer is welcome to come back at any time.
|
||||
|
||||
### Tools for maintainers
|
||||
## Tools for maintainers
|
||||
|
||||
When a pull request is made against a package, OfBorg will notify the
|
||||
appropriate maintainer(s).
|
||||
When a pull request is made against a package, nixpkgs CI will notify the appropriate
|
||||
maintainer(s) by trying to correlate the files the PR touches with the packages that need rebuilding.
|
||||
|
||||
Maintainers can also invoke the [nixpkgs-merge-bot](https://github.com/nixos/nixpkgs-merge-bot)
|
||||
to merge pull requests targeting packages they are the maintainer of, which satisfy the current
|
||||
security [constraints](https://github.com/NixOS/nixpkgs-merge-bot/blob/main/README.md#constraints).
|
||||
Examples: [#397273](https://github.com/NixOS/nixpkgs/pull/397273#issuecomment-2789382120) and [#377027](https://github.com/NixOS/nixpkgs/pull/377027#issuecomment-2614510869)
|
||||
|
||||
New maintainers will automatically get invited to join the [NixOS/nixpkgs-maintainers](https://github.com/orgs/NixOS/teams/nixpkgs-maintainers) GitHub team.
|
||||
By joining, you will get some triaging rights in the nixpkgs repository, like the ability to close and reopen issues made by others, and managing labels.
|
||||
However, the GitHub team invite is usually only sent by email, and is only valid for one week!
|
||||
Should it expire, please ask for a re-invite in the [GitHub org owners help desk Matrix channel](https://matrix.to/#/#org_owners:nixos.org).
|
||||
|
||||
### Unofficial maintainer tooling
|
||||
|
||||
[zh.fail](https://zh.fail/failed/overview.html) tracks all package build failures on `master` grouped by maintainer.
|
||||
|
||||
[asymmetric/nixpkgs-update-notifier](https://github.com/asymmetric/nixpkgs-update-notifier) is a matrix
|
||||
bot that scrapes the [nixpkgs-update logs](https://nixpkgs-update-logs.nix-community.org/) and notifies
|
||||
you if nixpkgs-update/@r-ryantm fails to update any of the packages you've subscribed to.
|
||||
|
||||
[repology.org](https://repology.org) tracks and compares the versions of packages between various package repositories, letting you know what packages may be out of date or insecure.
|
||||
You can view which packages a specific maintainer maintains and subscribe to updates with atom/rss. Example: [repology.org/maintainer/pbsds](https://repology.org/maintainer/pbsds%40hotmail.com).
|
||||
|
||||
[nixpk.gs/pr-tracker](https://nixpk.gs/pr-tracker.html) and [nixpkgs-tracker.ocfox.me](https://nixpkgs-tracker.ocfox.me/)
|
||||
can visualize the release status of any nixpkgs pull request.
|
||||
|
||||
## Reviewing contributions
|
||||
|
||||
|
||||
@@ -4063,6 +4063,12 @@
|
||||
}
|
||||
];
|
||||
};
|
||||
cameroncuttingedge = {
|
||||
email = "buckets-taxiway5l@icloud.com";
|
||||
github = "cameroncuttingedge";
|
||||
githubId = 109548666;
|
||||
name = "Cameron Byte";
|
||||
};
|
||||
camerondugan = {
|
||||
email = "cameron.dugan@protonmail.com";
|
||||
github = "camerondugan";
|
||||
@@ -26579,6 +26585,12 @@
|
||||
githubId = 45292658;
|
||||
name = "Julius Schmitt";
|
||||
};
|
||||
voidnoi = {
|
||||
email = "voidnoi@proton.me";
|
||||
github = "VoidNoi";
|
||||
githubId = 83523507;
|
||||
name = "voidnoi";
|
||||
};
|
||||
vojta001 = {
|
||||
email = "vojtech.kane@gmail.com";
|
||||
github = "vojta001";
|
||||
|
||||
@@ -10,6 +10,7 @@ let
|
||||
hasPrefix
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkMerge
|
||||
mkOption
|
||||
mkPackageOption
|
||||
types
|
||||
@@ -18,6 +19,7 @@ let
|
||||
cfg = config.services.postfix-tlspol;
|
||||
|
||||
format = pkgs.formats.yaml_1_2 { };
|
||||
configFile = format.generate "postfix-tlspol.yaml" cfg.settings;
|
||||
in
|
||||
|
||||
{
|
||||
@@ -121,100 +123,119 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.etc."postfix-tlspol/config.yaml".source =
|
||||
format.generate "postfix-tlspol.yaml" cfg.settings;
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
# https://github.com/Zuplu/postfix-tlspol#postfix-configuration
|
||||
services.postfix.config = mkIf (config.services.postfix.enable && cfg.configurePostfix) {
|
||||
smtp_dns_support_level = "dnssec";
|
||||
smtp_tls_security_level = "dane";
|
||||
smtp_tls_policy_maps =
|
||||
let
|
||||
address =
|
||||
if (hasPrefix "unix:" cfg.settings.server.address) then
|
||||
cfg.settings.server.address
|
||||
else
|
||||
"inet:${cfg.settings.server.address}";
|
||||
in
|
||||
[ "socketmap:${address}:QUERYwithTLSRPT" ];
|
||||
};
|
||||
|
||||
systemd.services.postfix-tlspol = {
|
||||
after = [
|
||||
"nss-lookup.target"
|
||||
"network-online.target"
|
||||
];
|
||||
wants = [
|
||||
"nss-lookup.target"
|
||||
"network-online.target"
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
description = "Postfix DANE/MTA-STS TLS policy socketmap service";
|
||||
documentation = [ "https://github.com/Zuplu/postfix-tlspol" ];
|
||||
|
||||
# https://github.com/Zuplu/postfix-tlspol/blob/main/init/postfix-tlspol.service
|
||||
serviceConfig = {
|
||||
ExecStart = toString [
|
||||
(lib.getExe cfg.package)
|
||||
"-config"
|
||||
"/etc/postfix-tlspol/config.yaml"
|
||||
];
|
||||
ExecReload = "${lib.getExe' pkgs.util-linux "kill"} -HUP $MAINPID";
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
|
||||
DynamicUser = true;
|
||||
|
||||
CacheDirectory = "postfix-tlspol";
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
ReadOnlyPaths = [ "/etc/postfix-tlspol/config.yaml" ];
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies =
|
||||
[
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
]
|
||||
++ lib.optionals (lib.hasPrefix "unix:" cfg.settings.server.address) [
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespace = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged @resources"
|
||||
];
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
SecureBits = [
|
||||
"noroot"
|
||||
"noroot-locked"
|
||||
];
|
||||
RuntimeDirectory = "postfix-tlspol";
|
||||
RuntimeDirectoryMode = "1750";
|
||||
WorkingDirectory = "/var/cache/postfix-tlspol";
|
||||
UMask = "0117";
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.enable && config.services.postfix.enable && cfg.configurePostfix) {
|
||||
# https://github.com/Zuplu/postfix-tlspol#postfix-configuration
|
||||
services.postfix.config = {
|
||||
smtp_dns_support_level = "dnssec";
|
||||
smtp_tls_security_level = "dane";
|
||||
smtp_tls_policy_maps =
|
||||
let
|
||||
address =
|
||||
if (hasPrefix "unix:" cfg.settings.server.address) then
|
||||
cfg.settings.server.address
|
||||
else
|
||||
"inet:${cfg.settings.server.address}";
|
||||
in
|
||||
[ "socketmap:${address}:QUERYwithTLSRPT" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.postfix = {
|
||||
wants = [ "postfix-tlspol.service" ];
|
||||
after = [ "postfix-tlspol.service" ];
|
||||
};
|
||||
|
||||
users.users.postfix.extraGroups = [ "postfix-tlspol" ];
|
||||
})
|
||||
|
||||
(mkIf cfg.enable {
|
||||
environment.etc."postfix-tlspol/config.yaml".source = configFile;
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
users.users.postfix-tlspol = {
|
||||
isSystemUser = true;
|
||||
group = "postfix-tlspol";
|
||||
};
|
||||
users.groups.postfix-tlspol = { };
|
||||
|
||||
systemd.services.postfix-tlspol = {
|
||||
after = [
|
||||
"nss-lookup.target"
|
||||
"network-online.target"
|
||||
];
|
||||
wants = [
|
||||
"nss-lookup.target"
|
||||
"network-online.target"
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
description = "Postfix DANE/MTA-STS TLS policy socketmap service";
|
||||
documentation = [ "https://github.com/Zuplu/postfix-tlspol" ];
|
||||
|
||||
reloadTriggers = [ configFile ];
|
||||
|
||||
# https://github.com/Zuplu/postfix-tlspol/blob/main/init/postfix-tlspol.service
|
||||
serviceConfig = {
|
||||
ExecStart = toString [
|
||||
(lib.getExe cfg.package)
|
||||
"-config"
|
||||
"/etc/postfix-tlspol/config.yaml"
|
||||
];
|
||||
ExecReload = "${lib.getExe' pkgs.util-linux "kill"} -HUP $MAINPID";
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
|
||||
User = "postfix-tlspol";
|
||||
Group = "postfix-tlspol";
|
||||
|
||||
CacheDirectory = "postfix-tlspol";
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
ReadOnlyPaths = [ "/etc/postfix-tlspol/config.yaml" ];
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies =
|
||||
[
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
]
|
||||
++ lib.optionals (lib.hasPrefix "unix:" cfg.settings.server.address) [
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged @resources"
|
||||
];
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
SecureBits = [
|
||||
"noroot"
|
||||
"noroot-locked"
|
||||
];
|
||||
RuntimeDirectory = "postfix-tlspol";
|
||||
RuntimeDirectoryMode = "1750";
|
||||
WorkingDirectory = "/var/cache/postfix-tlspol";
|
||||
UMask = "0117";
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -27,6 +27,9 @@ let
|
||||
|
||||
${optionalString (cfg.extraConfig != null) cfg.extraConfig}
|
||||
'';
|
||||
|
||||
inherit (cfg.settings) mailer;
|
||||
useSendmail = mailer.ENABLED && mailer.PROTOCOL == "sendmail";
|
||||
in
|
||||
|
||||
{
|
||||
@@ -366,15 +369,6 @@ in
|
||||
description = "Path to a file containing the SMTP password.";
|
||||
};
|
||||
|
||||
mailerUseSendmail = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Use the operating system's sendmail command instead of SMTP.
|
||||
Note: some sandbox settings will be disabled.
|
||||
'';
|
||||
};
|
||||
|
||||
metricsTokenFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
@@ -422,120 +416,157 @@ in
|
||||
};
|
||||
}
|
||||
'';
|
||||
type = types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
log = {
|
||||
ROOT_PATH = mkOption {
|
||||
default = "${cfg.stateDir}/log";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/log"'';
|
||||
type = types.str;
|
||||
description = "Root path for log files.";
|
||||
type = types.submodule (
|
||||
{ config, options, ... }:
|
||||
{
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
log = {
|
||||
ROOT_PATH = mkOption {
|
||||
default = "${cfg.stateDir}/log";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/log"'';
|
||||
type = types.str;
|
||||
description = "Root path for log files.";
|
||||
};
|
||||
LEVEL = mkOption {
|
||||
default = "Info";
|
||||
type = types.enum [
|
||||
"Trace"
|
||||
"Debug"
|
||||
"Info"
|
||||
"Warn"
|
||||
"Error"
|
||||
"Critical"
|
||||
];
|
||||
description = "General log level.";
|
||||
};
|
||||
};
|
||||
LEVEL = mkOption {
|
||||
default = "Info";
|
||||
type = types.enum [
|
||||
"Trace"
|
||||
"Debug"
|
||||
"Info"
|
||||
"Warn"
|
||||
"Error"
|
||||
"Critical"
|
||||
];
|
||||
description = "General log level.";
|
||||
|
||||
mailer = {
|
||||
ENABLED = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to use an email service to send notifications.";
|
||||
};
|
||||
|
||||
PROTOCOL = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
null
|
||||
"smtp"
|
||||
"smtps"
|
||||
"smtp+starttls"
|
||||
"smtp+unix"
|
||||
"sendmail"
|
||||
"dummy"
|
||||
];
|
||||
default = null;
|
||||
description = "Which mail server protocol to use.";
|
||||
};
|
||||
|
||||
SENDMAIL_PATH = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
# somewhat duplicated with useSendmail but cannot be deduped because of infinite recursion
|
||||
default =
|
||||
if config.mailer.ENABLED && config.mailer.PROTOCOL == "sendmail" then
|
||||
"/run/wrappers/bin/sendmail"
|
||||
else
|
||||
"sendmail";
|
||||
defaultText = lib.literalExpression ''if config.${options.mailer.ENABLED} && config.${options.mailer.PROTOCOL} == "sendmail" then "/run/wrappers/bin/sendmail" else "sendmail"'';
|
||||
description = "Path to sendmail binary or script.";
|
||||
};
|
||||
};
|
||||
|
||||
server = {
|
||||
PROTOCOL = mkOption {
|
||||
type = types.enum [
|
||||
"http"
|
||||
"https"
|
||||
"fcgi"
|
||||
"http+unix"
|
||||
"fcgi+unix"
|
||||
];
|
||||
default = "http";
|
||||
description = ''Listen protocol. `+unix` means "over unix", not "in addition to."'';
|
||||
};
|
||||
|
||||
HTTP_ADDR = mkOption {
|
||||
type = types.either types.str types.path;
|
||||
default =
|
||||
if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then "/run/gitea/gitea.sock" else "0.0.0.0";
|
||||
defaultText = literalExpression ''if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then "/run/gitea/gitea.sock" else "0.0.0.0"'';
|
||||
description = "Listen address. Must be a path when using a unix socket.";
|
||||
};
|
||||
|
||||
HTTP_PORT = mkOption {
|
||||
type = types.port;
|
||||
default = 3000;
|
||||
description = "Listen port. Ignored when using a unix socket.";
|
||||
};
|
||||
|
||||
DOMAIN = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = "Domain name of your server.";
|
||||
};
|
||||
|
||||
ROOT_URL = mkOption {
|
||||
type = types.str;
|
||||
default = "http://${cfg.settings.server.DOMAIN}:${toString cfg.settings.server.HTTP_PORT}/";
|
||||
defaultText = literalExpression ''"http://''${config.services.gitea.settings.server.DOMAIN}:''${toString config.services.gitea.settings.server.HTTP_PORT}/"'';
|
||||
description = "Full public URL of gitea server.";
|
||||
};
|
||||
|
||||
STATIC_ROOT_PATH = mkOption {
|
||||
type = types.either types.str types.path;
|
||||
default = cfg.package.data;
|
||||
defaultText = literalExpression "config.${opt.package}.data";
|
||||
example = "/var/lib/gitea/data";
|
||||
description = "Upper level of template and static files path.";
|
||||
};
|
||||
|
||||
DISABLE_SSH = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Disable external SSH feature.";
|
||||
};
|
||||
|
||||
SSH_PORT = mkOption {
|
||||
type = types.port;
|
||||
default = 22;
|
||||
example = 2222;
|
||||
description = ''
|
||||
SSH port displayed in clone URL.
|
||||
The option is required to configure a service when the external visible port
|
||||
differs from the local listening port i.e. if port forwarding is used.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
service = {
|
||||
DISABLE_REGISTRATION = mkEnableOption "the registration lock" // {
|
||||
description = ''
|
||||
By default any user can create an account on this `gitea` instance.
|
||||
This can be disabled by using this option.
|
||||
|
||||
*Note:* please keep in mind that this should be added after the initial
|
||||
deploy as the first registered user will be the administrator.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
session = {
|
||||
COOKIE_SECURE = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Marks session cookies as "secure" as a hint for browsers to only send
|
||||
them via HTTPS. This option is recommend, if gitea is being served over HTTPS.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
server = {
|
||||
PROTOCOL = mkOption {
|
||||
type = types.enum [
|
||||
"http"
|
||||
"https"
|
||||
"fcgi"
|
||||
"http+unix"
|
||||
"fcgi+unix"
|
||||
];
|
||||
default = "http";
|
||||
description = ''Listen protocol. `+unix` means "over unix", not "in addition to."'';
|
||||
};
|
||||
|
||||
HTTP_ADDR = mkOption {
|
||||
type = types.either types.str types.path;
|
||||
default =
|
||||
if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then "/run/gitea/gitea.sock" else "0.0.0.0";
|
||||
defaultText = literalExpression ''if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then "/run/gitea/gitea.sock" else "0.0.0.0"'';
|
||||
description = "Listen address. Must be a path when using a unix socket.";
|
||||
};
|
||||
|
||||
HTTP_PORT = mkOption {
|
||||
type = types.port;
|
||||
default = 3000;
|
||||
description = "Listen port. Ignored when using a unix socket.";
|
||||
};
|
||||
|
||||
DOMAIN = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = "Domain name of your server.";
|
||||
};
|
||||
|
||||
ROOT_URL = mkOption {
|
||||
type = types.str;
|
||||
default = "http://${cfg.settings.server.DOMAIN}:${toString cfg.settings.server.HTTP_PORT}/";
|
||||
defaultText = literalExpression ''"http://''${config.services.gitea.settings.server.DOMAIN}:''${toString config.services.gitea.settings.server.HTTP_PORT}/"'';
|
||||
description = "Full public URL of gitea server.";
|
||||
};
|
||||
|
||||
STATIC_ROOT_PATH = mkOption {
|
||||
type = types.either types.str types.path;
|
||||
default = cfg.package.data;
|
||||
defaultText = literalExpression "config.${opt.package}.data";
|
||||
example = "/var/lib/gitea/data";
|
||||
description = "Upper level of template and static files path.";
|
||||
};
|
||||
|
||||
DISABLE_SSH = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Disable external SSH feature.";
|
||||
};
|
||||
|
||||
SSH_PORT = mkOption {
|
||||
type = types.port;
|
||||
default = 22;
|
||||
example = 2222;
|
||||
description = ''
|
||||
SSH port displayed in clone URL.
|
||||
The option is required to configure a service when the external visible port
|
||||
differs from the local listening port i.e. if port forwarding is used.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
service = {
|
||||
DISABLE_REGISTRATION = mkEnableOption "the registration lock" // {
|
||||
description = ''
|
||||
By default any user can create an account on this `gitea` instance.
|
||||
This can be disabled by using this option.
|
||||
|
||||
*Note:* please keep in mind that this should be added after the initial
|
||||
deploy as the first registered user will be the administrator.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
session = {
|
||||
COOKIE_SECURE = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Marks session cookies as "secure" as a hint for browsers to only send
|
||||
them via HTTPS. This option is recommend, if gitea is being served over HTTPS.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
@@ -663,15 +694,9 @@ in
|
||||
})
|
||||
]);
|
||||
|
||||
mailer = mkMerge [
|
||||
(mkIf (cfg.mailerPasswordFile != null) {
|
||||
PASSWD = "#mailerpass#";
|
||||
})
|
||||
(mkIf cfg.mailerUseSendmail {
|
||||
PROTOCOL = "sendmail";
|
||||
SENDMAIL_PATH = "/run/wrappers/bin/sendmail";
|
||||
})
|
||||
];
|
||||
mailer = mkIf (cfg.mailerPasswordFile != null) {
|
||||
PASSWD = "#mailerpass#";
|
||||
};
|
||||
|
||||
metrics = mkIf (cfg.metricsTokenFile != null) {
|
||||
TOKEN = "#metricstoken#";
|
||||
@@ -884,18 +909,18 @@ in
|
||||
cfg.repositoryRoot
|
||||
cfg.stateDir
|
||||
cfg.lfs.contentDir
|
||||
] ++ optional cfg.mailerUseSendmail "/var/lib/postfix/queue/maildrop";
|
||||
] ++ lib.optional (useSendmail && config.services.postfix.enable) "/var/lib/postfix/queue/maildrop";
|
||||
UMask = "0027";
|
||||
# Capabilities
|
||||
CapabilityBoundingSet = "";
|
||||
# Security
|
||||
NoNewPrivileges = optional (!cfg.mailerUseSendmail) true;
|
||||
NoNewPrivileges = !useSendmail;
|
||||
# Sandboxing
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = optional (!cfg.mailerUseSendmail) true;
|
||||
PrivateUsers = !useSendmail;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
@@ -906,7 +931,7 @@ in
|
||||
"AF_UNIX"
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
] ++ optional cfg.mailerUseSendmail "AF_NETLINK";
|
||||
] ++ lib.optional (useSendmail && config.services.postfix.enable) "AF_NETLINK";
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
@@ -916,10 +941,14 @@ in
|
||||
PrivateMounts = true;
|
||||
# System Call Filtering
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"~@cpu-emulation @debug @keyring @mount @obsolete @setuid"
|
||||
"setrlimit"
|
||||
] ++ optional (!cfg.mailerUseSendmail) "~@privileged";
|
||||
SystemCallFilter =
|
||||
[
|
||||
"~@cpu-emulation @debug @keyring @mount @obsolete @setuid"
|
||||
"setrlimit"
|
||||
]
|
||||
++ lib.optionals (!useSendmail) [
|
||||
"~@privileged"
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
@@ -997,7 +1026,6 @@ in
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
ma27
|
||||
techknowlogick
|
||||
SuperSandro2000
|
||||
];
|
||||
|
||||
@@ -8,15 +8,20 @@
|
||||
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||
|
||||
nodes.machine = {
|
||||
services.postfix.enable = true;
|
||||
services.postfix-tlspol.enable = true;
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
services.dnsmasq = {
|
||||
enable = true;
|
||||
settings.selfmx = true;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
machine.wait_for_unit("postfix-tlspol.service")
|
||||
machine.succeed("getent group postfix-tlspol | grep :postfix")
|
||||
|
||||
with subtest("Interact with the service"):
|
||||
machine.succeed("postfix-tlspol -purge")
|
||||
@@ -24,6 +29,10 @@
|
||||
response = json.loads((machine.succeed("postfix-tlspol -query localhost")))
|
||||
machine.log(json.dumps(response, indent=2))
|
||||
|
||||
assert response["dane"]["policy"] == "", f"Unexpected DANE policy for localhost: {response["dane"]["policy"]}"
|
||||
assert response["mta-sts"]["policy"] == "", f"Unexpected MTA-STS policy for localhost: {response["mta-sts"]["policy"]}"
|
||||
|
||||
machine.log(machine.execute("systemd-analyze security postfix-tlspol.service | grep -v ✓")[1])
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mednafen-saturn";
|
||||
version = "0-unstable-2025-03-16";
|
||||
version = "0-unstable-2025-06-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "beetle-saturn-libretro";
|
||||
rev = "06c9daa7ff6de42955437d29a80d8fc4ececc8d3";
|
||||
hash = "sha256-HTOT4/NmfcVjte61FjkqL9neKVQrH7P4dZjmIC9fy0k=";
|
||||
rev = "e6c4275f1bc93163a35db30cbd5399c046cf112d";
|
||||
hash = "sha256-CnjBf/dWkbzwhvsnmYAJFC254mQ7+QkcLu4GavZhg5s=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
buildKodiAddon rec {
|
||||
pname = "formula1";
|
||||
namespace = "plugin.video.formula1";
|
||||
version = "2.0.4";
|
||||
version = "2.0.5";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "sha256-tyVq/yfnPQ5NAnlYCT8lF/s2voh4NOQPRawXX1+ryTU=";
|
||||
sha256 = "sha256-zOEf1CXywEqUpBhan03xjVQ3Rjp3h08X2OgQ4GAjwJQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -4,42 +4,41 @@
|
||||
fetchFromGitHub,
|
||||
kodi,
|
||||
inputstreamhelper,
|
||||
requests,
|
||||
}:
|
||||
|
||||
buildKodiAddon rec {
|
||||
pname = "sendtokodi";
|
||||
namespace = "plugin.video.sendtokodi";
|
||||
version = "0.9.557";
|
||||
version = "0.9.924";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firsttris";
|
||||
repo = "plugin.video.sendtokodi";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Ga+9Q7x8+sEmQmteHbSyCahZ/T/l28BAEM84w7bf7z8=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ycp5/NbRX2rcRRpbpX6LlplyxdfoIwCw39EyQDcyzOU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Unconditionally depend on packaged yt-dlp. This removes the ability to
|
||||
# use youtube_dl, which is unmaintained and considered vulnerable (see
|
||||
# CVE-2024-38519).
|
||||
./use-packaged-yt-dlp.patch
|
||||
# Use yt-dlp, only. This removes the ability to use youtube_dl, which is
|
||||
# unmaintained and considered vulnerable (see CVE-2024-38519).
|
||||
./use-yt-dlp-only.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
inputstreamhelper
|
||||
requests
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Remove vendored youtube-dl and yt-dlp libraries.
|
||||
rm -r lib/
|
||||
# Remove youtube-dl, which is unmaintained and vulnerable.
|
||||
rm -r lib/youtube_dl lib/youtube_dl_version
|
||||
# Replace yt-dlp with our own packaged version thereof.
|
||||
rm -r lib/yt_dlp
|
||||
echo "${lib.strings.getVersion kodi.pythonPackages.yt-dlp}" >lib/yt_dlp_version
|
||||
ln -s ${kodi.pythonPackages.yt-dlp}/${kodi.pythonPackages.python.sitePackages}/yt_dlp lib/
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# Instead of the vendored libraries, we propagate yt-dlp via the Python
|
||||
# path.
|
||||
pythonPath = with kodi.pythonPackages; makePythonPath [ yt-dlp ];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/firsttris/plugin.video.sendtokodi";
|
||||
description = "Plays various stream sites on Kodi using yt-dlp";
|
||||
|
||||
+9
-9
@@ -1,18 +1,18 @@
|
||||
diff --git a/service.py b/service.py
|
||||
index 024ad9a..6ef71dd 100644
|
||||
index 5d588682..99123b4b 100644
|
||||
--- a/service.py
|
||||
+++ b/service.py
|
||||
@@ -243,11 +243,8 @@ def playlistIndex(url, playlist):
|
||||
@@ -323,12 +323,7 @@ if not sys.argv[2]:
|
||||
xbmcaddon.Addon().openSettings()
|
||||
exit()
|
||||
|
||||
|
||||
# Use the chosen resolver while forcing to use youtube_dl on legacy python 2 systems (dlp is python 3.6+)
|
||||
-# Use the chosen resolver while forcing to use youtube_dl on legacy python 2 systems (dlp is python 3.6+)
|
||||
-if xbmcplugin.getSetting(int(sys.argv[1]),"resolver") == "0" or sys.version_info[0] == 2:
|
||||
- from lib.youtube_dl import YoutubeDL
|
||||
- from youtube_dl import YoutubeDL
|
||||
-else:
|
||||
- from lib.yt_dlp import YoutubeDL
|
||||
-
|
||||
- # import lib.yt_dlp as yt_dlp
|
||||
- from yt_dlp import YoutubeDL
|
||||
+from yt_dlp import YoutubeDL
|
||||
+
|
||||
|
||||
# patch broken strptime (see above)
|
||||
patch_strptime()
|
||||
|
||||
@@ -0,0 +1,282 @@
|
||||
diff --git a/apps/cli/package.json b/apps/cli/package.json
|
||||
index 2ec4e6f697..db5981b5ec 100644
|
||||
--- a/apps/cli/package.json
|
||||
+++ b/apps/cli/package.json
|
||||
@@ -85,7 +85,7 @@
|
||||
"multer": "1.4.5-lts.2",
|
||||
"node-fetch": "2.6.12",
|
||||
"node-forge": "1.3.1",
|
||||
- "open": "10.1.2",
|
||||
+ "open": "8.4.2",
|
||||
"papaparse": "5.5.3",
|
||||
"proper-lockfile": "4.1.2",
|
||||
"rxjs": "7.8.1",
|
||||
diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock
|
||||
index 05663ea7e0..eadd75e598 100644
|
||||
--- a/apps/desktop/desktop_native/Cargo.lock
|
||||
+++ b/apps/desktop/desktop_native/Cargo.lock
|
||||
@@ -162,7 +162,7 @@ dependencies = [
|
||||
"serde_repr",
|
||||
"tokio",
|
||||
"url",
|
||||
- "zbus 5.6.0",
|
||||
+ "zbus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -900,7 +900,7 @@ dependencies = [
|
||||
"widestring",
|
||||
"windows 0.61.1",
|
||||
"windows-future",
|
||||
- "zbus 4.4.0",
|
||||
+ "zbus",
|
||||
"zbus_polkit",
|
||||
"zeroizing-alloc",
|
||||
]
|
||||
@@ -2063,10 +2063,10 @@ dependencies = [
|
||||
"sha2",
|
||||
"subtle",
|
||||
"tokio",
|
||||
- "zbus 5.6.0",
|
||||
- "zbus_macros 5.6.0",
|
||||
+ "zbus",
|
||||
+ "zbus_macros",
|
||||
"zeroize",
|
||||
- "zvariant 5.5.1",
|
||||
+ "zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2715,17 +2715,6 @@ dependencies = [
|
||||
"syn",
|
||||
]
|
||||
|
||||
-[[package]]
|
||||
-name = "sha1"
|
||||
-version = "0.10.6"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
|
||||
-dependencies = [
|
||||
- "cfg-if",
|
||||
- "cpufeatures",
|
||||
- "digest",
|
||||
-]
|
||||
-
|
||||
[[package]]
|
||||
name = "sha2"
|
||||
version = "0.10.8"
|
||||
@@ -3921,9 +3910,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zbus"
|
||||
-version = "4.4.0"
|
||||
+version = "5.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725"
|
||||
+checksum = "59c333f648ea1b647bc95dc1d34807c8e25ed7a6feff3394034dc4776054b236"
|
||||
dependencies = [
|
||||
"async-broadcast",
|
||||
"async-executor",
|
||||
@@ -3938,90 +3927,37 @@ dependencies = [
|
||||
"enumflags2",
|
||||
"event-listener",
|
||||
"futures-core",
|
||||
- "futures-sink",
|
||||
- "futures-util",
|
||||
- "hex",
|
||||
- "nix",
|
||||
- "ordered-stream",
|
||||
- "rand 0.8.5",
|
||||
- "serde",
|
||||
- "serde_repr",
|
||||
- "sha1",
|
||||
- "static_assertions",
|
||||
- "tracing",
|
||||
- "uds_windows",
|
||||
- "windows-sys 0.52.0",
|
||||
- "xdg-home",
|
||||
- "zbus_macros 4.4.0",
|
||||
- "zbus_names 3.0.0",
|
||||
- "zvariant 4.2.0",
|
||||
-]
|
||||
-
|
||||
-[[package]]
|
||||
-name = "zbus"
|
||||
-version = "5.6.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "2522b82023923eecb0b366da727ec883ace092e7887b61d3da5139f26b44da58"
|
||||
-dependencies = [
|
||||
- "async-broadcast",
|
||||
- "async-recursion",
|
||||
- "async-trait",
|
||||
- "enumflags2",
|
||||
- "event-listener",
|
||||
- "futures-core",
|
||||
"futures-lite",
|
||||
"hex",
|
||||
"nix",
|
||||
"ordered-stream",
|
||||
"serde",
|
||||
"serde_repr",
|
||||
+ "static_assertions",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"uds_windows",
|
||||
"windows-sys 0.59.0",
|
||||
"winnow",
|
||||
- "zbus_macros 5.6.0",
|
||||
- "zbus_names 4.2.0",
|
||||
- "zvariant 5.5.1",
|
||||
+ "xdg-home",
|
||||
+ "zbus_macros",
|
||||
+ "zbus_names",
|
||||
+ "zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus_macros"
|
||||
-version = "4.4.0"
|
||||
+version = "5.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e"
|
||||
+checksum = "f325ad10eb0d0a3eb060203494c3b7ec3162a01a59db75d2deee100339709fc0"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
- "zvariant_utils 2.1.0",
|
||||
-]
|
||||
-
|
||||
-[[package]]
|
||||
-name = "zbus_macros"
|
||||
-version = "5.6.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "05d2e12843c75108c00c618c2e8ef9675b50b6ec095b36dc965f2e5aed463c15"
|
||||
-dependencies = [
|
||||
- "proc-macro-crate",
|
||||
- "proc-macro2",
|
||||
- "quote",
|
||||
- "syn",
|
||||
- "zbus_names 4.2.0",
|
||||
- "zvariant 5.5.1",
|
||||
- "zvariant_utils 3.2.0",
|
||||
-]
|
||||
-
|
||||
-[[package]]
|
||||
-name = "zbus_names"
|
||||
-version = "3.0.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
|
||||
-dependencies = [
|
||||
- "serde",
|
||||
- "static_assertions",
|
||||
- "zvariant 4.2.0",
|
||||
+ "zbus_names",
|
||||
+ "zvariant",
|
||||
+ "zvariant_utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4033,20 +3969,20 @@ dependencies = [
|
||||
"serde",
|
||||
"static_assertions",
|
||||
"winnow",
|
||||
- "zvariant 5.5.1",
|
||||
+ "zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus_polkit"
|
||||
-version = "4.0.0"
|
||||
+version = "5.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "00a29bfa927b29f91b7feb4e1990f2dd1b4604072f493dc2f074cf59e4e0ba90"
|
||||
+checksum = "ad23d5c4d198c7e2641b33e6e0d1f866f117408ba66fe80bbe52e289eeb77c52"
|
||||
dependencies = [
|
||||
"enumflags2",
|
||||
"serde",
|
||||
"serde_repr",
|
||||
"static_assertions",
|
||||
- "zbus 4.4.0",
|
||||
+ "zbus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4149,19 +4085,6 @@ dependencies = [
|
||||
"syn",
|
||||
]
|
||||
|
||||
-[[package]]
|
||||
-name = "zvariant"
|
||||
-version = "4.2.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe"
|
||||
-dependencies = [
|
||||
- "endi",
|
||||
- "enumflags2",
|
||||
- "serde",
|
||||
- "static_assertions",
|
||||
- "zvariant_derive 4.2.0",
|
||||
-]
|
||||
-
|
||||
[[package]]
|
||||
name = "zvariant"
|
||||
version = "5.5.1"
|
||||
@@ -4173,21 +4096,8 @@ dependencies = [
|
||||
"serde",
|
||||
"url",
|
||||
"winnow",
|
||||
- "zvariant_derive 5.5.1",
|
||||
- "zvariant_utils 3.2.0",
|
||||
-]
|
||||
-
|
||||
-[[package]]
|
||||
-name = "zvariant_derive"
|
||||
-version = "4.2.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449"
|
||||
-dependencies = [
|
||||
- "proc-macro-crate",
|
||||
- "proc-macro2",
|
||||
- "quote",
|
||||
- "syn",
|
||||
- "zvariant_utils 2.1.0",
|
||||
+ "zvariant_derive",
|
||||
+ "zvariant_utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4200,18 +4110,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
- "zvariant_utils 3.2.0",
|
||||
-]
|
||||
-
|
||||
-[[package]]
|
||||
-name = "zvariant_utils"
|
||||
-version = "2.1.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340"
|
||||
-dependencies = [
|
||||
- "proc-macro2",
|
||||
- "quote",
|
||||
- "syn",
|
||||
+ "zvariant_utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
diff --git a/package-lock.json b/package-lock.json
|
||||
index 5df63a79dd..702b6d1c81 100644
|
||||
--- a/package-lock.json
|
||||
+++ b/package-lock.json
|
||||
@@ -225,7 +225,7 @@
|
||||
"multer": "1.4.5-lts.2",
|
||||
"node-fetch": "2.6.12",
|
||||
"node-forge": "1.3.1",
|
||||
- "open": "10.1.2",
|
||||
+ "open": "8.4.2",
|
||||
"papaparse": "5.5.3",
|
||||
"proper-lockfile": "4.1.2",
|
||||
"rxjs": "7.8.1",
|
||||
@@ -5,7 +5,7 @@
|
||||
cargo,
|
||||
copyDesktopItems,
|
||||
darwin,
|
||||
electron_34,
|
||||
electron_36,
|
||||
fetchFromGitHub,
|
||||
gnome-keyring,
|
||||
jq,
|
||||
@@ -25,7 +25,7 @@
|
||||
let
|
||||
description = "Secure and free password manager for all of your devices";
|
||||
icon = "bitwarden";
|
||||
electron = electron_34;
|
||||
electron = electron_36;
|
||||
|
||||
# argon2 npm dependency is using `std::basic_string<uint8_t>`, which is no longer allowed in LLVM 19
|
||||
buildNpmPackage' = buildNpmPackage.override {
|
||||
@@ -34,21 +34,27 @@ let
|
||||
in
|
||||
buildNpmPackage' rec {
|
||||
pname = "bitwarden-desktop";
|
||||
version = "2025.5.1";
|
||||
version = "2025.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitwarden";
|
||||
repo = "clients";
|
||||
rev = "desktop-v${version}";
|
||||
hash = "sha256-1gxd73E7Y7e1A6yU+J3XYQ4QzXZTxuKd+AE+t8HD478=";
|
||||
hash = "sha256-KI6oIMNtqfywVqeTdzthSHBnAlF55cINTr04LNSq0AM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./electron-builder-package-lock.patch
|
||||
./dont-auto-setup-biometrics.patch
|
||||
./set-exe-path.patch # ensures `app.getPath("exe")` returns our wrapper, not ${electron}/bin/electron
|
||||
./skip-afterpack-and-aftersign.patch # on linux: don't flip fuses, don't create wrapper script, on darwin: don't try copying safari extensions, don't try re-signing app
|
||||
./dont-use-platform-triple.patch # since out arch doesn't match upstream, we'll generate and use desktop_napi.node instead of desktop_napi.${platform}-${arch}.node
|
||||
# The nixpkgs tooling trips over upstreams inconsistent lock files, so we fixed them by running npm install open@10.2.1 and cargo b
|
||||
./fix-lock-files.diff
|
||||
|
||||
# ensures `app.getPath("exe")` returns our wrapper, not ${electron}/bin/electron
|
||||
./set-exe-path.patch
|
||||
# on linux: don't flip fuses, don't create wrapper script, on darwin: don't try copying safari extensions, don't try re-signing app
|
||||
./skip-afterpack-and-aftersign.patch
|
||||
# since out arch doesn't match upstream, we'll generate and use desktop_napi.node instead of desktop_napi.${platform}-${arch}.node
|
||||
./dont-use-platform-triple.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@@ -76,7 +82,7 @@ buildNpmPackage' rec {
|
||||
"--ignore-scripts"
|
||||
];
|
||||
npmWorkspace = "apps/desktop";
|
||||
npmDepsHash = "sha256-0IoBPRGdtkMeTrT5cqZLHB/WrUCONtsJ6YHh0y4K5Ls=";
|
||||
npmDepsHash = "sha256-52cLVrfbeNeRH7OKN5QZdGD5VkUVliN0Rn/cbdohsG0=";
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit
|
||||
@@ -86,7 +92,7 @@ buildNpmPackage' rec {
|
||||
cargoRoot
|
||||
patches
|
||||
;
|
||||
hash = "sha256-ZD/UPYRa+HR7hyWDP6S/BKvQpYRDwWQJV6iGF9LT2uY=";
|
||||
hash = "sha256-mt7zWKgH21khAIrfpBFzb+aS2V2mV56zMqCSLzDhGfQ=";
|
||||
};
|
||||
cargoRoot = "apps/desktop/desktop_native";
|
||||
|
||||
|
||||
@@ -33,14 +33,14 @@ let
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "esphome";
|
||||
version = "2025.6.1";
|
||||
version = "2025.6.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "esphome";
|
||||
repo = "esphome";
|
||||
tag = version;
|
||||
hash = "sha256-iM9AbL8K7Ka2B50/slp/Cfgb4kWWmOhZcMe0Ph3WnP0=";
|
||||
hash = "sha256-45DhWxBvItl70mx/H42o9PqlIipvzIA/A9H6pKDO2fo=";
|
||||
};
|
||||
|
||||
build-systems = with python.pkgs; [
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cargo,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
rustc,
|
||||
wrapGAppsHook4,
|
||||
cairo,
|
||||
dbus,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
gtk4,
|
||||
libadwaita,
|
||||
openssl,
|
||||
pango,
|
||||
pipewire,
|
||||
sqlite,
|
||||
desktop-file-utils,
|
||||
libxml2,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "euphonica";
|
||||
version = "0.94.1-alpha";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "htkhiem";
|
||||
repo = "euphonica";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1d2GZSTr0HnVC7D6T7LFeL8kXfwGBhjqZ3lC4ZjpOtM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-vb9THfSTN27rOfIlpCPkAJm+eLnh+RptOYWLS8hGDpw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustPlatform.bindgenHook
|
||||
rustPlatform.cargoSetupHook
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
desktop-file-utils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
dbus
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
openssl
|
||||
pango
|
||||
pipewire
|
||||
sqlite
|
||||
libxml2
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "MPD client with delusions of grandeur, made with Rust, GTK and Libadwaita";
|
||||
homepage = "https://github.com/htkhiem/euphonica";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ paperdigits ];
|
||||
mainProgram = "euphonica";
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
})
|
||||
@@ -5,15 +5,15 @@
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "exploitdb";
|
||||
version = "2025-06-21";
|
||||
version = "2025-06-27";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "exploit-database";
|
||||
repo = "exploitdb";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-6mXku+SW6xmSYxd40Ilis8H/2Ozm6eUecLQHy1xeKtM=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Gm3SRdt6a3hSe64iP7j+5HQ5bGZ6s3eKvxFlCkQWZHo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
@@ -26,19 +26,19 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Archive of public exploits and corresponding vulnerable software";
|
||||
homepage = "https://gitlab.com/exploit-database/exploitdb";
|
||||
license = with licenses; [
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus
|
||||
gpl3Plus
|
||||
mit
|
||||
];
|
||||
maintainers = with maintainers; [
|
||||
maintainers = with lib.maintainers; [
|
||||
applePrincess
|
||||
fab
|
||||
];
|
||||
mainProgram = "searchsploit";
|
||||
platforms = platforms.unix;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "github-distributed-owners";
|
||||
version = "0.1.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "andrewring";
|
||||
repo = "github-distributed-owners";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oLRcH1lgRxlYIlyk3bPWO5YmCIq462YUjBjMSPOF7Ic=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-pt/GoXF/uSU78pZqG8PgFe+tlbwZH2qpGQD7jgC52NM=";
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Generate GitHub CODEOWNERS files from OWNERS files distributed through the file tree";
|
||||
homepage = "https://github.com/andrewring/github-distributed-owners";
|
||||
changelog = "https://github.com/andrewring/github-distributed-owners/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ cameroncuttingedge ];
|
||||
mainProgram = "github-distributed-owners";
|
||||
};
|
||||
})
|
||||
@@ -7,18 +7,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "komodo";
|
||||
version = "1.18.3";
|
||||
version = "1.18.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "moghtech";
|
||||
repo = "komodo";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-OBap1gKxFUh1QoR5waXi2IrWiTydhp/VtL9rGnEDJSI=";
|
||||
hash = "sha256-allGKoeI3mlMWbF9WsDbX/4eGdBT/eoF71uAk5iK0e4=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
|
||||
cargoHash = "sha256-P7s+uEnh8CUmRLiBLz/yNbox8auHU5zFk8IiWGW0rAs=";
|
||||
cargoHash = "sha256-nlCGrPlH+AZNz7BYDcoU0WBHBft4DnO4WfqGD5wVLmQ=";
|
||||
|
||||
# disable for check. document generation is fail
|
||||
# > error: doctest failed, to rerun pass `-p komodo_client --doc`
|
||||
|
||||
@@ -29,7 +29,7 @@ buildGoModule (finalAttrs: {
|
||||
changelog = "https://github.com/m3scluster/mesos-dns/releases/tag/v${finalAttrs.version}";
|
||||
description = "DNS-based service discovery for Mesos";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ aaronjheng ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "mesos-dns";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "mimir";
|
||||
version = "2.16.0";
|
||||
version = "2.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "mimir-${version}";
|
||||
owner = "grafana";
|
||||
repo = "mimir";
|
||||
hash = "sha256-75KHS+jIPEvcB7SHBBcBi5uycwY7XR4RNc1khNYVZFE=";
|
||||
hash = "sha256-+GFsWBjZHxRe3a2/ZT0zkoRXDTR4qopTUcU5Fx9t5xA=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
xorg,
|
||||
}:
|
||||
let
|
||||
version = "2.16.3";
|
||||
version = "2.17.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paperless-ngx";
|
||||
repo = "paperless-ngx";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-mtzr/rRzcYcZl9tUkhxEKoFQWm1QTToOYZJXhynwDmk=";
|
||||
hash = "sha256-6FvP/HgomsPxqCtKrZFxMlD2fFyT2e/JII2L7ANiOao=";
|
||||
};
|
||||
|
||||
python = python3.override {
|
||||
@@ -69,7 +69,7 @@ let
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit pname version src;
|
||||
hash = "sha256-Z7c+AstVnxbPnEhc51qSqOYhRXqNJVwTvgHFcFp+pYg=";
|
||||
hash = "sha256-VtYYwpMXPAC3g1OESnw3dzLTwiGqJBQcicFZskEucok=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "plemoljp-hs";
|
||||
version = "2.0.4";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/yuru7/PlemolJP/releases/download/v${version}/PlemolJP_HS_v${version}.zip";
|
||||
hash = "sha256-+pRbMgRaIbsXo8e7rQre377F8LhbK9rBjG/vYrdeFQM=";
|
||||
hash = "sha256-V21T8ktNZE4nq3SH6aN9iIJHmGTkZuMsvT84yHbwSqI=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "plemoljp-nf";
|
||||
version = "2.0.4";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/yuru7/PlemolJP/releases/download/v${version}/PlemolJP_NF_v${version}.zip";
|
||||
hash = "sha256-6CMeo6YtWbEH/6xDD1yERhlMiCcOafAsQzcHeWQxuo4=";
|
||||
hash = "sha256-m8zR9ySl88DnVzG4fKJtc9WjSLDMLU4YDX+KXhcP2WU=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "plemoljp";
|
||||
version = "2.0.4";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/yuru7/PlemolJP/releases/download/v${version}/PlemolJP_v${version}.zip";
|
||||
hash = "sha256-pajE86IK05mm3Z507bvoMGy8JJwuGWZnUiSrXndiBTk=";
|
||||
hash = "sha256-R4zC1pnM72FVqBQ5d03z8vyVccsM163BE15m2hdEnSA=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
fetchzip,
|
||||
python3Packages,
|
||||
fetchpatch2,
|
||||
parallel,
|
||||
}:
|
||||
let
|
||||
|
||||
pixart2svg = stdenvNoCC.mkDerivation {
|
||||
name = "pixart2svg";
|
||||
version = "0-unstable-2021-07-18";
|
||||
|
||||
src = fetchzip {
|
||||
name = "pixart2svg";
|
||||
url = "https://gist.github.com/m13253/66284bc244deeff0f0f8863c206421c7/archive/f9454958dc0a33cea787cc6fbd7e8e34ba6eb23b.zip";
|
||||
hash = "sha256-lNA3qWK/bnUcMM/jrCGEgaX+HAk/DjKJnkE8niYmBDU=";
|
||||
};
|
||||
|
||||
patches =
|
||||
let
|
||||
urlFor =
|
||||
name:
|
||||
"https://raw.githubusercontent.com/linusg/serenityos-emoji-font/11c84f33777a5d5bbe97ef2ffe8b74af7d72d27f/patches/${name}.patch";
|
||||
in
|
||||
[
|
||||
(fetchpatch2 {
|
||||
url = urlFor "0001-pixart2svg-rgba";
|
||||
extraPrefix = "./";
|
||||
hash = "sha256-/4a6btqp/6yiBnFhr4vI+SWfOopUjzDfOeW1Fs6Z5yU=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
url = urlFor "0002-pixart2svg-no-style";
|
||||
extraPrefix = "./";
|
||||
hash = "sha256-FVurs+bEOat74d2egl21JS5ywdkFKKIsqXSFGSJI8MI=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
url = urlFor "0003-pixart2svg-imageio-deprecation-warning";
|
||||
extraPrefix = "./";
|
||||
hash = "sha256-Vo3JIcXof+AtuEbsczNS3CUaBUEncCR0pnIuY4uF7R4=";
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp ./pixart2svg.py $out
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "serenityos-emoji-font";
|
||||
version = "0-unstable-2025-05-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "serenity";
|
||||
owner = "SerenityOS";
|
||||
repo = "serenity";
|
||||
rev = "35fd7a6770144259a05d41dfffbc8092495c4bf2";
|
||||
hash = "sha256-i48egESwQKhcEAObSg2zqubgNdkXE5FlNa+Jukvg2X8=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
pixart2svg
|
||||
parallel
|
||||
]
|
||||
++ (with python3Packages; [
|
||||
imageio
|
||||
nanoemoji
|
||||
numpy
|
||||
]);
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p svgfiles
|
||||
|
||||
total=$(ls -1 Base/res/emoji/*.png | wc -l)
|
||||
|
||||
parallel -j$NIX_BUILD_CORES \
|
||||
echo [{#}/$total] Converting {/} \; python3 ${pixart2svg}/pixart2svg.py {} svgfiles/{/.}.svg \
|
||||
::: Base/res/emoji/*.png;
|
||||
|
||||
nanoemoji --family "SerenityOS Emoji" --output_file "SerenityOS-Emoji.ttf" --color_format glyf_colr_1 svgfiles/*.svg
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp build/SerenityOS-Emoji.ttf $out/share/fonts/truetype
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "SerenityOS pixel art emojis as a TTF";
|
||||
homepage = "https://emoji.serenityos.org/";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [
|
||||
voidnoi
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "shaperglot-cli";
|
||||
version = "0-unstable-2025-05-30";
|
||||
version = "0-unstable-2025-06-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "googlefonts";
|
||||
repo = "shaperglot";
|
||||
rev = "92878be90fabb7bdd93afd81121f4ed885f33d06";
|
||||
hash = "sha256-Hrl/SVmRCEJLk+MR5fA4H0MTjy9hGgrM/HvAK3/lLIc=";
|
||||
rev = "0c521f32f8fe5c927a4aac2236307547fa281972";
|
||||
hash = "sha256-V7eBt0m82mW4NALWZeYVJD4TeU5l0kaOJPyDFxRSIUs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-bWdO3YCWxKwgGjDdquY9COT5Ma2rRloOyWj51JZ45BE=";
|
||||
cargoHash = "sha256-19amPodlTIxuBue8UT5PfWHUe4evmJsAHcrIAx6YVSk=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--package=shaperglot-cli"
|
||||
|
||||
@@ -14,17 +14,17 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "texlab";
|
||||
version = "5.23.0";
|
||||
version = "5.23.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "latex-lsp";
|
||||
repo = "texlab";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-bKjogyIPrP3USDHsI4m8u44T+WYF1kyDz8eRpZ4j/xU=";
|
||||
hash = "sha256-QGC2UFmbMCMr0i853M5mdXklqZFYy00fbqeLllpQ4Sg=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-Dblnlh9l3tQI4IYWVZdpLz0Hyvg4SY6O5R3Naz515QQ=";
|
||||
cargoHash = "sha256-hJDKzHrNUmN4jqp4P1Is3mYvRC5H3nnHtIW7xjDH+xo=";
|
||||
|
||||
outputs = [ "out" ] ++ lib.optional (!isCross) "man";
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "trickest-cli";
|
||||
version = "2.1.1";
|
||||
version = "2.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trickest";
|
||||
repo = "trickest-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-43rLYXvAIr3wWImNLSHI/2g8AyxD557ZivWpC3he60o=";
|
||||
hash = "sha256-OuCiW/5g4swtSpqM2rhLyB1syiRkyTbJsghEvyosz/A=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Ae0fNzYOAeCMrNFVhw4VvG/BkOMcguIMiBvLGt7wxEo=";
|
||||
|
||||
@@ -8,38 +8,38 @@
|
||||
"fetchurlAttrSet": {
|
||||
"docker-credential-up": {
|
||||
"aarch64-darwin": {
|
||||
"hash": "sha256-EPJXlxa4Vx7jzdX5/ekIer/EKTAFuqWBcAp4mYyS+JA=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/darwin_arm64.tar.gz"
|
||||
"hash": "sha256-ByiFy8k6qwKXTp7iLoojUNNKhhZnbqc6ms6g+r4f9u0=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/docker-credential-up/darwin_arm64.tar.gz"
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"hash": "sha256-cM8F+Qyg34ypdIusI2jFOzoxM3B+tLRyvmqdeUSpz0c=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/linux_arm64.tar.gz"
|
||||
"hash": "sha256-qis91nt43HGEfuqcCH5ri/s4QiHiMrRMTinSUjQeI3o=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/docker-credential-up/linux_arm64.tar.gz"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"hash": "sha256-jvBe0GEDNMj3HlbMBFcwS1CA2y3QnDkYgv943GW0tLs=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/darwin_amd64.tar.gz"
|
||||
"hash": "sha256-s2ORdd3G87Vo9I5zSZXGisjSMr0x86sCu6WOxOZBWTk=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/docker-credential-up/darwin_amd64.tar.gz"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"hash": "sha256-c/tjuO3j+pYFlyGRAeA3jJLit4sZqreEzMa0LRxnTv0=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/linux_amd64.tar.gz"
|
||||
"hash": "sha256-5q/XactXioaOqUYwrojg5xgZg+pKjqnxR9tB8ILaaHg=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/docker-credential-up/linux_amd64.tar.gz"
|
||||
}
|
||||
},
|
||||
"up": {
|
||||
"aarch64-darwin": {
|
||||
"hash": "sha256-ecNGveGSxYsKFGkAqWNkpr8RKquL1k+/8LsZBNEgWq8=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/darwin_arm64.tar.gz"
|
||||
"hash": "sha256-Rud8CPSlxl08cRjChFsZFG6Mfro8BiRWN7f2+DRwUsE=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/up/darwin_arm64.tar.gz"
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"hash": "sha256-70c9eE+SewPICRPzIdOmAj503xB/cL5ud2sQc4uJkJQ=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/linux_arm64.tar.gz"
|
||||
"hash": "sha256-KN84vzXue9Tc8O9Ci/4emI7GOX8pETcVc/hpFuBJmy4=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/up/linux_arm64.tar.gz"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"hash": "sha256-DQZNsUYLM97zo7ua5xmxSqkxbC91qqLe49yI6X9ELbM=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/darwin_amd64.tar.gz"
|
||||
"hash": "sha256-qHN7PSqU5nK5Dh8k4HEjwTmjN/yIoJh7VBoQ/dJS3/s=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/up/darwin_amd64.tar.gz"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"hash": "sha256-WmsFhA5fteS3+12wPAGym0TZHax+v3zicbh+48aaW0Q=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/linux_amd64.tar.gz"
|
||||
"hash": "sha256-mw80qJ+9CRQFFKF7bhWiEYcW1P7Jm4dqkXTN+F8erPM=",
|
||||
"url": "https://cli.upbound.io/main/v0.39.0-87.g20595f83/bundle/up/linux_amd64.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -49,5 +49,5 @@
|
||||
"x86_64-darwin",
|
||||
"x86_64-linux"
|
||||
],
|
||||
"version": "0.39.0-43.g3cca6045"
|
||||
"version": "0.39.0-87.g20595f83"
|
||||
}
|
||||
|
||||
@@ -126,8 +126,6 @@ extra-packages:
|
||||
|
||||
# keep-sorted start skip_lines=1 case=no
|
||||
package-maintainers:
|
||||
abbradar:
|
||||
- Agda
|
||||
alexfmpe:
|
||||
- aeson-gadt-th
|
||||
- android-activity
|
||||
@@ -377,6 +375,7 @@ package-maintainers:
|
||||
- warp-systemd
|
||||
- amazonka
|
||||
ncfavier:
|
||||
- Agda
|
||||
- irc-client
|
||||
- lambdabot
|
||||
- shake
|
||||
|
||||
+1
-1
@@ -1605,8 +1605,8 @@ self: {
|
||||
description = "A dependently typed functional programming language and proof assistant";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [
|
||||
lib.maintainers.abbradar
|
||||
lib.maintainers.iblech
|
||||
lib.maintainers.ncfavier
|
||||
lib.maintainers.turion
|
||||
];
|
||||
}
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiolifx-themes";
|
||||
version = "0.6.11";
|
||||
version = "1.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
disabled = pythonOlder "3.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Djelibeybi";
|
||||
repo = "aiolifx-themes";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-H5fjmGfvC/d1qTzEHtmGDPlZ0aY1UaTYPOqUAxDmb3I=";
|
||||
hash = "sha256-02ciRYc5aQ1nES/uctKUWwyBM9dO0hZ5OEWC5MT4Nuo=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -2,27 +2,21 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
importlib-resources,
|
||||
pythonOlder,
|
||||
setuptools-scm,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "asdf-standard";
|
||||
version = "1.2.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "asdf_standard";
|
||||
inherit version;
|
||||
hash = "sha256-5wmRL68L4vWEOiOvJzHm927WwnmynfWYnhUgmS+jxc8=";
|
||||
hash = "sha256-WViWHzmd6tIACnhyTaN/Wu6wSZp4C72a5Pw+y+Pq7WQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
|
||||
propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [ importlib-resources ];
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
# Circular dependency on asdf
|
||||
doCheck = false;
|
||||
@@ -32,6 +26,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Standards document describing ASDF";
|
||||
homepage = "https://github.com/asdf-format/asdf-standard";
|
||||
changelog = "https://github.com/asdf-format/asdf-standard/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bottleneck";
|
||||
version = "1.4.2";
|
||||
version = "1.5.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-+o6OF5nepUg85maUYmYPnZqVZJ9vmKgNMVuE7In0SfQ=";
|
||||
hash = "sha256-yGAkLPIOadWqsuw8XWyMKhXxnkslsouPyiwqEs766dg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ numpy ];
|
||||
|
||||
@@ -7,38 +7,27 @@
|
||||
fetchPypi,
|
||||
glibcLocales,
|
||||
gnureadline,
|
||||
importlib-metadata,
|
||||
pyperclip,
|
||||
pytest-cov-stub,
|
||||
pytest-mock,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools-scm,
|
||||
typing-extensions,
|
||||
wcwidth,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cmd2";
|
||||
version = "2.6.0";
|
||||
version = "2.6.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-jP+rp4EFJkIcqzv6AQG0kH4SmP8rzYEZYVllourl2V8=";
|
||||
hash = "sha256-ZQpYkr8psjPT1ndbXjzIE2SM/w15E09weYH2a6rtn0I=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# Fake the impure dependencies pbpaste and pbcopy
|
||||
mkdir bin
|
||||
echo '#!${stdenv.shell}' > bin/pbpaste
|
||||
echo '#!${stdenv.shell}' > bin/pbcopy
|
||||
chmod +x bin/{pbcopy,pbpaste}
|
||||
export PATH=$(realpath bin):$PATH
|
||||
'';
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
dependencies = [
|
||||
@@ -48,7 +37,7 @@ buildPythonPackage rec {
|
||||
wcwidth
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin gnureadline;
|
||||
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
doCheck = true;
|
||||
|
||||
nativeCheckInputs = [
|
||||
glibcLocales
|
||||
|
||||
@@ -28,14 +28,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "compliance-trestle";
|
||||
version = "3.8.1";
|
||||
version = "3.9.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oscal-compass";
|
||||
repo = "compliance-trestle";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-aEIV3XfoRnyMfR0nssmxIkQwrsx7DXxqidOZ8wZ+lWw=";
|
||||
hash = "sha256-WWqrUfDlzpZAXtOlq3Uq8AmUOerUmMCr9KPjdjk4JHg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cucumber-tag-expressions";
|
||||
version = "6.1.2";
|
||||
version = "6.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cucumber";
|
||||
repo = "tag-expressions";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ptDsN6loFXrKT1xeR138kXzA5TbHPH1G7I/25ZD8Nj4=";
|
||||
hash = "sha256-m6CmRs/Fz2e9GTtHrE3FF8GPK2vs6i37xcI3BM64rlc=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/python";
|
||||
|
||||
@@ -45,14 +45,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "diffusers";
|
||||
version = "0.32.2";
|
||||
version = "0.34.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "huggingface";
|
||||
repo = "diffusers";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TwmII38EA0Vux+Jh39pTAA6r+FRNuKHQWOOqsEe2Z+E=";
|
||||
hash = "sha256-e7969HsHS1wUG9LKREc7FPe2eBeUVPSW2I+BisBPt3M=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-leaflet";
|
||||
version = "0.31.0";
|
||||
version = "0.32.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "django_leaflet";
|
||||
inherit version;
|
||||
hash = "sha256-+yt1+Er/YNQFhlkwDzGnEVVMZdEout5fqAiGN/sHUfc=";
|
||||
hash = "sha256-ATzLBu4IBxyuyYpl3/1oqzaU2vznLK/zTz1481VoriU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-prometheus";
|
||||
version = "2.4.0";
|
||||
version = "2.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "django-commons";
|
||||
repo = "django-prometheus";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-cKkpsV3w2SUvQuSBm0MlTsomdrU4h7CS5L+nKFvrKA8=";
|
||||
hash = "sha256-Bf1JSh9ibiPOa252IPld1FvHTPbCsB/amtlQdRQwoWY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "evolutionhttp";
|
||||
version = "0.0.18";
|
||||
version = "0.0.19";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-LZ9IQJ2qVdCbhOECbPOjikeJA0aGKLdZURG6tjIrkT4=";
|
||||
hash = "sha256-VhWYhkrZVUDu1I6ZZTZlTUhNfpma29tEYBLoT7xBd1M=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fastcore";
|
||||
version = "1.8.2";
|
||||
version = "1.8.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "fastai";
|
||||
repo = "fastcore";
|
||||
tag = version;
|
||||
hash = "sha256-GoOddw2kxOMqmV6m8E6vWdpFLyGGkooMtgE1WTAWm7U=";
|
||||
hash = "sha256-PZamAF6LaBgSlLNkaKRFHnibmcnplCShQXa2DwvObjc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
pythonOlder,
|
||||
flit,
|
||||
flit-core,
|
||||
uritemplate,
|
||||
pyjwt,
|
||||
pytestCheckHook,
|
||||
@@ -16,19 +16,19 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gidgethub";
|
||||
version = "5.3.0";
|
||||
format = "pyproject";
|
||||
version = "5.4.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ns59N/vOuBm4BWDn7Vj5NuSKZdN+xfVtt5FFFWtCaiU=";
|
||||
hash = "sha256-dHDXcj18F0NHGi1i55yHUvuhKxwJcuS61XJSM4pQHb0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flit ];
|
||||
build-system = [ flit-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
uritemplate
|
||||
pyjwt
|
||||
] ++ pyjwt.optional-dependencies.crypto;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-appengine-logging";
|
||||
version = "1.6.1";
|
||||
version = "1.6.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "google_cloud_appengine_logging";
|
||||
inherit version;
|
||||
hash = "sha256-+XveNsf3/1QRI8JXCBMVi92gw/I4XI0y/fEhHFYa5W0=";
|
||||
hash = "sha256-SJCShGTJjanuzHv04FQuuiVRUSwCZUYsEPOj0qZCS5A=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-bigquery-datatransfer";
|
||||
version = "3.19.1";
|
||||
version = "3.19.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "google_cloud_bigquery_datatransfer";
|
||||
inherit version;
|
||||
hash = "sha256-L7em/I7t7htI5zdGwSKDs35b2t/pvIXl1lUSMM6BdRo=";
|
||||
hash = "sha256-l/9g7Sc6umoVdPf6kzE08gRmLH6co2dLJ8mdLPLXtN8=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-monitoring";
|
||||
version = "2.27.1";
|
||||
version = "2.27.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "google_cloud_monitoring";
|
||||
inherit version;
|
||||
hash = "sha256-9HAJAKZYzWybf3FLsp0Af6zvDPDWKNAHVpnDpzvOilU=";
|
||||
hash = "sha256-0PACBaX5RTDccsO5b2gb4Uq98dYUTa5dK5IrVKkMQ/o=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-secret-manager";
|
||||
version = "2.23.3";
|
||||
version = "2.24.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "google_cloud_secret_manager";
|
||||
inherit version;
|
||||
hash = "sha256-WYxMCp0Q1J1QDrSuoyVd/yUKovksAo9cl+OzZ/doyAg=";
|
||||
hash = "sha256-zlc9QP/C+30BcZJDqU7heqJD6mQqaubDN1AeWPv2QrU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "habanero";
|
||||
version = "2.2.0";
|
||||
version = "2.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sckott";
|
||||
repo = "habanero";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-tEsuCOuRXJleiv02VGLVSg0ykh3Yu77uZzE6vhf5PaQ=";
|
||||
hash = "sha256-XI+UOm3xONBNVSlywfBhnsCA9RdpEwDQ4oQixn4UBKk=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -2,12 +2,17 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
|
||||
# dependencies
|
||||
lxml,
|
||||
lxml-html-clean,
|
||||
beautifulsoup4,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -15,8 +20,6 @@ buildPythonPackage rec {
|
||||
version = "2.4.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matthiask";
|
||||
repo = "html-sanitizer";
|
||||
@@ -24,9 +27,9 @@ buildPythonPackage rec {
|
||||
hash = "sha256-6OWFLsuefeDzQ1uHnLmboKDgrbY/xJCwqsSQlDaJlRs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ hatchling ];
|
||||
build-system = [ hatchling ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
lxml
|
||||
lxml-html-clean
|
||||
beautifulsoup4
|
||||
@@ -40,15 +43,19 @@ buildPythonPackage rec {
|
||||
# Tests are sensitive to output
|
||||
"test_billion_laughs"
|
||||
"test_10_broken_html"
|
||||
|
||||
# Mismatch snapshot (AssertionError)
|
||||
# https://github.com/matthiask/html-sanitizer/issues/53
|
||||
"test_keep_typographic_whitespace"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "html_sanitizer" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Allowlist-based and very opinionated HTML sanitizer";
|
||||
homepage = "https://github.com/matthiask/html-sanitizer";
|
||||
changelog = "https://github.com/matthiask/html-sanitizer/blob/${version}/CHANGELOG.rst";
|
||||
license = with licenses; [ bsd3 ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
license = with lib.licenses; [ bsd3 ];
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
buildPythonPackage,
|
||||
cython,
|
||||
fetchPypi,
|
||||
future,
|
||||
pytestCheckHook,
|
||||
pythonAtLeast,
|
||||
pythonOlder,
|
||||
@@ -15,7 +14,7 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "in-n-out";
|
||||
version = "0.2.1";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
@@ -25,14 +24,12 @@ buildPythonPackage rec {
|
||||
hash = "sha256-Q83it96YHUGm1wYYore9mJSBCVkipT6tTcdfK71d/+o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
cython
|
||||
hatchling
|
||||
hatch-vcs
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ future ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
toolz
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "kde-material-you-colors";
|
||||
version = "1.10.0";
|
||||
version = "1.10.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "luisbocanegra";
|
||||
repo = "kde-material-you-colors";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-qT2F3OtRzYagbBH/4kijuy4udD6Ak74WacIhfzaNWqo=";
|
||||
hash = "sha256-qiaFHu4eyX73cAbMdoP46SiiFjNWx2vXWVzEbCsTNBI=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
hypothesis,
|
||||
kazoo,
|
||||
msgpack,
|
||||
packaging,
|
||||
pycurl,
|
||||
pymongo,
|
||||
#, pyro4
|
||||
@@ -30,20 +31,21 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "kombu";
|
||||
version = "5.5.3";
|
||||
version = "5.5.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-AhoOEfz82bAmDvH7ZAiMDpK+uXbrWcHfyn3dStRWLqI=";
|
||||
hash = "sha256-iGYAFoJ16+rak7iI6DE1L+V4FoNC8NHVgz2Iug2Ec2M=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
amqp
|
||||
packaging
|
||||
tzdata
|
||||
vine
|
||||
] ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ];
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "langchain-openai";
|
||||
version = "0.3.23";
|
||||
version = "0.3.24";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "langchain-ai";
|
||||
repo = "langchain";
|
||||
tag = "langchain-openai==${version}";
|
||||
hash = "sha256-o/DDHV2niEDp0kFJ+XuUXH7TSL/cBXwrI4lYLyD2SHc=";
|
||||
hash = "sha256-eJqI7R1YzmVrZ+OoK2qtxkM2odpEDjszbBRD+2Gog9o=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/libs/partners/openai";
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
lxml,
|
||||
unittestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -13,8 +12,6 @@ buildPythonPackage rec {
|
||||
version = "0.4.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fedora-python";
|
||||
repo = "lxml_html_clean";
|
||||
@@ -22,6 +19,22 @@ buildPythonPackage rec {
|
||||
hash = "sha256-KGUFRbcaeDcX2jyoyyZMZsVTbN+h8uy+ugcritkZe38=";
|
||||
};
|
||||
|
||||
# Disable failing snapshot tests (AssertionError)
|
||||
# https://github.com/fedora-python/lxml_html_clean/issues/24
|
||||
# As this derivation must use unittestCheckHook, we cannot use disabledTests
|
||||
postPatch = ''
|
||||
substituteInPlace tests/test_clean.py \
|
||||
--replace-fail \
|
||||
"test_host_whitelist_valid" \
|
||||
"DISABLED_test_host_whitelist_valid" \
|
||||
--replace-fail \
|
||||
"test_host_whitelist_invalid" \
|
||||
"DISABLED_test_host_whitelist_invalid" \
|
||||
--replace-fail \
|
||||
"test_host_whitelist_sneaky_userinfo" \
|
||||
"DISABLED_test_host_whitelist_sneaky_userinfo"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ lxml ];
|
||||
@@ -30,11 +43,11 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "lxml_html_clean" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Separate project for HTML cleaning functionalities copied from lxml.html.clean";
|
||||
homepage = "https://github.com/fedora-python/lxml_html_clean/";
|
||||
changelog = "https://github.com/fedora-python/lxml_html_clean/blob/${version}/CHANGES.rst";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mdformat-gfm-alerts";
|
||||
version = "1.0.1";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KyleKing";
|
||||
repo = "mdformat-gfm-alerts";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-2EYdNCyS1LxcEnCXkOugAAGx5XLWV4cWTNkXjR8RVQo=";
|
||||
hash = "sha256-Hfi4Ek91G8WHAWjv7m52ZnT5Je9QyZT4yWSecaeTcvA=";
|
||||
};
|
||||
|
||||
build-system = [ flit-core ];
|
||||
@@ -34,9 +34,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Format 'GitHub Markdown Alerts', which use blockquotes to render admonitions";
|
||||
homepage = "https://github.com/KyleKing/mdformat-gfm-alerts";
|
||||
changelog = "https://github.com/KyleKing/mdformat-gfm-alerts/releases/tag/v${version}";
|
||||
changelog = "https://github.com/KyleKing/mdformat-gfm-alerts/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
broken = true; # broken test due to changes in mdformat; compare https://github.com/KyleKing/mdformat-admon/issues/25
|
||||
};
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "microsoft-kiota-http";
|
||||
version = "1.9.3";
|
||||
version = "1.9.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -24,8 +24,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "kiota-python";
|
||||
tag = "microsoft-kiota-http-v${version}";
|
||||
hash = "sha256-FUfVkJbpD0X7U7DPzyoh+84Bk7C07iLT9dmbUeliFu8=";
|
||||
tag = "microsoft-kiota-serialization-text-v${version}";
|
||||
hash = "sha256-59vuJc7Wb/6PsPA4taAFA2UK8bdz+raZ+NB4S8LahtM=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/packages/http/httpx/";
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mkdocs-git-revision-date-localized-plugin";
|
||||
version = "1.3.0";
|
||||
version = "1.4.7";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "timvink";
|
||||
repo = "mkdocs-git-revision-date-localized-plugin";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Z0a/V8wyo15E7bTumLRM+0QxMGXlxVc1Sx9uXlDbg+8=";
|
||||
hash = "sha256-xSm+Qvk1DU5CEZpR+69oIAKnIrg/J7iECNHEZQlf/7o=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -31,14 +31,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "moviepy";
|
||||
version = "2.1.2";
|
||||
version = "2.2.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Zulko";
|
||||
repo = "moviepy";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-dha+rPBkcEyqQ7EfnFg81GDq0Lc2uoQ3meCTjdajaBM=";
|
||||
hash = "sha256-3vt/EyEOv6yNPgewkgcWcjM0TbQ6IfkR6nytS/WpRyg=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
@@ -108,7 +108,7 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Video editing with Python";
|
||||
homepage = "https://zulko.github.io/moviepy/";
|
||||
changelog = "https://github.com/Zulko/moviepy/blob/v${version}/CHANGELOG.md";
|
||||
changelog = "https://github.com/Zulko/moviepy/blob/${src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@ buildPythonPackage rec {
|
||||
version = "0.708.0";
|
||||
pyproject = true;
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "nominal_api_protos";
|
||||
|
||||
@@ -12,6 +12,7 @@ buildPythonPackage rec {
|
||||
version = "0.708.0";
|
||||
pyproject = true;
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "nominal_api";
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pythonOlder,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
@@ -17,19 +16,17 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "param";
|
||||
version = "2.2.0";
|
||||
version = "2.2.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "holoviz";
|
||||
repo = "param";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-3aqABliOk+JtR84J/qiwda4yAkVgG2lJWewhQuSUgtA=";
|
||||
hash = "sha256-tucF37o4Yf1OkGz4TUUFI/cGNlVLvTMcak+SmbztCMA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
hatchling
|
||||
hatch-vcs
|
||||
];
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "plugwise";
|
||||
version = "1.7.4";
|
||||
version = "1.7.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "plugwise";
|
||||
repo = "python-plugwise";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-0Xfy1HKaVraEjhB6CS6V+EkU5gmKr6SQse+p7l1x8d8=";
|
||||
hash = "sha256-x3UiEO2dduMHpDkMZAdpUBNR9VStM7qInEXxZeHqeTM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pudb";
|
||||
version = "2024.1.3";
|
||||
version = "2025.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Jk8jngU45S6D09AgFDEAsxccrhcidnS7G5+LB180hJw=";
|
||||
hash = "sha256-pSiynGnOixgqM3hyxfBGBx9taNNBXG179TvSfCZPWNA=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -3,23 +3,22 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyahocorasick";
|
||||
version = "2.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WojciechMula";
|
||||
repo = "pyahocorasick";
|
||||
tag = version;
|
||||
hash = "sha256-SCIgu0uEjiSUiIP0WesJG+y+3ZqFBfI5PdgUzviOVrs=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-lFJhHDN9QAKw5dqzgjRxcs+7+LuTqP9qQ68B5LlCNmU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "ahocorasick" ];
|
||||
@@ -32,8 +31,8 @@ buildPythonPackage rec {
|
||||
key strings occurrences at once in some input text.
|
||||
'';
|
||||
homepage = "https://github.com/WojciechMula/pyahocorasick";
|
||||
changelog = "https://github.com/WojciechMula/pyahocorasick/blob/${version}/CHANGELOG.rst";
|
||||
license = with licenses; [ bsd3 ];
|
||||
changelog = "https://github.com/WojciechMula/pyahocorasick/blob/${src.tag}/CHANGELOG.rst";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyipp";
|
||||
version = "0.17.1";
|
||||
version = "0.17.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "ctalkington";
|
||||
repo = "python-ipp";
|
||||
tag = version;
|
||||
hash = "sha256-V+hf3UgTUnRTBtFP83s2zPWzCpAamSsx9Lj1l9lcW6k=";
|
||||
hash = "sha256-YlIc/FNM3SdYQj0DN0if3R7h0383V5CHGpD7FHErWhA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-sql";
|
||||
version = "1.5.2";
|
||||
version = "1.6.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "python_sql";
|
||||
inherit version;
|
||||
hash = "sha256-c19SNyGHy5VrGu6MoHADn3O6iRO7i33vlC78FNUGzTY=";
|
||||
hash = "sha256-WzShJOitdMU6zZckhoS1v7tFODiPZnZmKYGjJxg+w2w=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pythonfinder";
|
||||
version = "2.1.0";
|
||||
version = "3.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "sarugaku";
|
||||
repo = "pythonfinder";
|
||||
tag = version;
|
||||
hash = "sha256-CbaKXD7Sde8euRqvc/IHoXoSMF+dNd7vT9LkLWq4/IU=";
|
||||
hash = "sha256-Qym/t+IejBMFHvBfIm+G5+J3GBC9O3RFrwSqHLuxwcg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
@@ -46,7 +46,7 @@ buildPythonPackage rec {
|
||||
description = "Cross platform search tool for finding Python";
|
||||
mainProgram = "pyfinder";
|
||||
homepage = "https://github.com/sarugaku/pythonfinder";
|
||||
changelog = "https://github.com/sarugaku/pythonfinder/blob/v${version}/CHANGELOG.rst";
|
||||
changelog = "https://github.com/sarugaku/pythonfinder/blob/${src.tag}/CHANGELOG.rst";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ cpcloud ];
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "r2pipe";
|
||||
version = "1.9.4";
|
||||
version = "1.9.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -33,7 +33,7 @@ buildPythonPackage rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Ah3kb+Hk1pMlQ8D1SMPAISbL2n6TDG0Ih9ezmW7oIRk=";
|
||||
hash = "sha256-OAS3Yr1CmMMuhEP/tRO9YAdYZ3emib0huXl3/rjLLJk=";
|
||||
};
|
||||
|
||||
# Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sqlmap";
|
||||
version = "1.9.5";
|
||||
version = "1.9.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-eiX5kg/euf+V9x8tBtzMhq8b7xaFbMww5DuQIKWoBQs=";
|
||||
hash = "sha256-/uzLkxqSVKjSYmFeDMo7EzcLbxGXGHlkg0ufhPRsGpY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sv-ttk";
|
||||
version = "2.6.0";
|
||||
version = "2.6.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "sv_ttk";
|
||||
hash = "sha256-P9RAOWyV4w6I9ob88ovkJUgPcyDWvzRvnOpdb1ZwLMI=";
|
||||
hash = "sha256-R1idXiA5jPQE6DYvJPPtSPODDNCs4FbYM1T6Jdjk/kg=";
|
||||
};
|
||||
|
||||
# No tests available
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tracerite";
|
||||
version = "1.1.1";
|
||||
version = "1.1.3";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -20,14 +20,13 @@ buildPythonPackage rec {
|
||||
owner = "sanic-org";
|
||||
repo = "tracerite";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-rI1MNdYl/P64tUHyB3qV9gfLbGbCVOXnEFoqFTkaqgg=";
|
||||
hash = "sha256-T210vRXFWlTs5ke13DVvZEVsonXiT+g6xSI63+DxLXc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
dependencies = [
|
||||
html5tagger
|
||||
setuptools
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
@@ -42,7 +41,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Tracebacks for Humans in Jupyter notebooks";
|
||||
homepage = "https://github.com/sanic-org/tracerite";
|
||||
changelog = "https://github.com/sanic-org/tracerite/releases/tag/v${version}";
|
||||
changelog = "https://github.com/sanic-org/tracerite/releases/tag/${src.tag}";
|
||||
license = licenses.unlicense;
|
||||
maintainers = with maintainers; [ p0lyw0lf ];
|
||||
};
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
certifi,
|
||||
charset-normalizer,
|
||||
courlan,
|
||||
fetchPypi,
|
||||
htmldate,
|
||||
justext,
|
||||
lxml,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
urllib3,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -19,11 +24,11 @@ buildPythonPackage rec {
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-zrcJSm7Ml+cv6nPH26NnFMXFtXe2Rw5FINyok3BtYkc=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "adbar";
|
||||
repo = "trafilatura";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Cf1W3JEGSMkVmRZVTXYsXzZK/Nt/aDG890Sf0/0OZAA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -48,6 +53,15 @@ buildPythonPackage rec {
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
disabledTests = [
|
||||
# TypeError: argument of type 'NoneType' is not iterable
|
||||
# https://github.com/adbar/trafilatura/issues/805
|
||||
"test_external"
|
||||
"test_extract"
|
||||
|
||||
# AttributeError: 'NoneType' object has no attribute 'find'
|
||||
# https://github.com/adbar/trafilatura/issues/805
|
||||
"test_table_processing"
|
||||
|
||||
# Disable tests that require an internet connection
|
||||
"test_cli_pipeline"
|
||||
"test_crawl_page"
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "west";
|
||||
version = "1.3.0";
|
||||
version = "1.4.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-iTIANL6HCZ0W519HYKwNHtZ+iXiSjkaKuZPj+6DP6S8=";
|
||||
hash = "sha256-kIoHrnzDNKiMsvBptDBITf392gw0ItFLniOkMDDPnMY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "homeassistant-stubs";
|
||||
version = "2025.6.2";
|
||||
version = "2025.6.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python.version != home-assistant.python.version;
|
||||
@@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "KapJI";
|
||||
repo = "homeassistant-stubs";
|
||||
tag = version;
|
||||
hash = "sha256-Hdk7Lf0J4wgx+xhrKtBgBtO+DzCqQ2sih5DaoYcsWww=";
|
||||
hash = "sha256-FGjnZJ7lTZ+qmjMV66PRbndFjw7Hzq3y3nq62eQ+I+U=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
Reference in New Issue
Block a user