Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-09-03 12:05:18 +00:00 committed by GitHub
commit 9b619f2f77
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
67 changed files with 1982 additions and 1252 deletions

View File

@ -6,6 +6,8 @@ Fabian Affolter <mail@fabian-affolter.ch> <fabian@affolter-engineering.ch>
goatastronaut0212 <goatastronaut0212@outlook.com> <goatastronaut0212@proton.me>
Janne Heß <janne@hess.ooo> <dasJ@users.noreply.github.com>
Jörg Thalheim <joerg@thalheim.io> <Mic92@users.noreply.github.com>
Lin Jian <me@linj.tech> <linj.dev@outlook.com>
Lin Jian <me@linj.tech> <75130626+jian-lin@users.noreply.github.com>
Martin Weinelt <hexa@darmstadt.ccc.de> <mweinelt@users.noreply.github.com>
R. RyanTM <ryantm-bot@ryantm.com>
Robert Hensing <robert@roberthensing.nl> <roberth@users.noreply.github.com>

View File

@ -4279,7 +4279,7 @@
keys = [ { fingerprint = "2017 E152 BB81 5C16 955C E612 45BC C1E2 709B 1788"; } ];
};
Cryolitia = {
name = "Beiyan Cryolitia";
name = "Cryolitia PukNgae";
email = "Cryolitia@gmail.com";
github = "Cryolitia";
githubId = 23723294;
@ -15249,6 +15249,12 @@
github = "o0th";
githubId = 22490354;
};
oakenshield = {
email = "nix@thorin.theoakenshield.com";
github = "HritwikSinghal";
githubId = 29531474;
name = "Hritwik Singhal";
};
oaksoaj = {
email = "oaksoaj@riseup.net";
name = "Oaksoaj";
@ -20383,6 +20389,11 @@
githubId = 156964;
name = "Thomas Boerger";
};
tbwanderer = {
github = "tbwanderer";
githubId = 125365236;
name = "Ice Layer";
};
tcbravo = {
email = "tomas.bravo@protonmail.ch";
github = "tcbravo";
@ -22600,6 +22611,12 @@
githubId = 529003;
name = "Christine Dodrill";
};
xeals = {
email = "dev@xeal.me";
github = "xeals";
githubId = 21125058;
name = "xeals";
};
xeji = {
email = "xeji@cat3.de";
github = "xeji";

View File

@ -45,6 +45,7 @@ lpeglabel,,,,1.6.0,,
lrexlib-gnu,,,,,,
lrexlib-pcre,,,,,,vyp
lrexlib-posix,,,,,,
lsp-progress.nvim,,,,,,gepbird
lua-cjson,,,,,,
lua-cmsgpack,,,,,,
lua-curl,,,,,,

1 name rockspec ref server version luaversion maintainers
45 lrexlib-gnu
46 lrexlib-pcre vyp
47 lrexlib-posix
48 lsp-progress.nvim gepbird
49 lua-cjson
50 lua-cmsgpack
51 lua-curl

View File

@ -289,6 +289,12 @@
for `stateVersion` ≥ 24.11. (It was previously using SQLite for structured
data and the filesystem for blobs).
- The `stargazer` service has been hardened to improve security, but these
changes make break certain setups, particularly around traditional CGI.
- The `stargazer.allowCgiUser` option has been added, enabling
Stargazer's `cgi-user` option to work, which was previously broken.
- The `shiori` service now requires an HTTP secret value `SHIORI_HTTP_SECRET_KEY` to be provided via environment variable. The nixos module therefore, now provides an environmentFile option:
```

View File

@ -128,13 +128,13 @@ with lib;
nix.settings.trusted-users = [ "nixos" ];
# Install less voices for speechd to save some space
services.speechd.package = pkgs.speechd.override {
mbrola = pkgs.mbrola.override {
mbrola-voices = pkgs.mbrola-voices.override {
nixpkgs.overlays = [
(_: prev: {
mbrola-voices = prev.mbrola-voices.override {
# only ship with one voice per language
languages = [ "*1" ];
};
};
};
})
];
};
}

View File

@ -366,7 +366,7 @@ in {
};
};
services.kubernetes.kubelet.clusterDns = mkDefault cfg.clusterIp;
services.kubernetes.kubelet.clusterDns = mkDefault [ cfg.clusterIp ];
};
meta.buildDocsInSandbox = false;

View File

@ -34,6 +34,7 @@ in
ExecStart = "${lib.getExe cfg.package} -nobrowser -data=/var/lib/prowlarr";
Restart = "on-failure";
};
environment.HOME = "/var/empty";
};
networking.firewall = mkIf cfg.openFirewall {

View File

@ -1,7 +1,4 @@
{ config, lib, pkgs, ... }:
with lib;
let
# The splicing information needed for nativeBuildInputs isn't available
@ -17,8 +14,8 @@ let
let
# reports boolean as yes / no
mkValueString = with lib; v:
if isInt v then toString v
else if isString v then v
if lib.isInt v then toString v
else if lib.isString v then v
else if true == v then "yes"
else if false == v then "no"
else throw "unsupported type ${builtins.typeOf v}: ${(lib.generators.toPretty {}) v}";
@ -37,10 +34,10 @@ let
in {
inherit (base) type;
generate = name: value:
let transformedValue = mapAttrs (key: val:
if isList val then
if elem key commaSeparated then concatStringsSep "," val
else if elem key spaceSeparated then concatStringsSep " " val
let transformedValue = lib.mapAttrs (key: val:
if lib.isList val then
if lib.elem key commaSeparated then lib.concatStringsSep "," val
else if lib.elem key spaceSeparated then lib.concatStringsSep " " val
else throw "list value for unknown key ${key}: ${(lib.generators.toPretty {}) val}"
else
val
@ -49,7 +46,7 @@ let
base.generate name transformedValue;
};
configFile = settingsFormat.generate "sshd.conf-settings" (filterAttrs (n: v: v != null) cfg.settings);
configFile = settingsFormat.generate "sshd.conf-settings" (lib.filterAttrs (n: v: v != null) cfg.settings);
sshconf = pkgs.runCommand "sshd.conf-final" { } ''
cat ${configFile} - >$out <<EOL
${cfg.extraConfig}
@ -65,8 +62,8 @@ let
userOptions = {
options.openssh.authorizedKeys = {
keys = mkOption {
type = types.listOf types.singleLineStr;
keys = lib.mkOption {
type = lib.types.listOf lib.types.singleLineStr;
default = [];
description = ''
A list of verbatim OpenSSH public keys that should be added to the
@ -83,8 +80,8 @@ let
];
};
keyFiles = mkOption {
type = types.listOf types.path;
keyFiles = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [];
description = ''
A list of files each containing one OpenSSH public key that should be
@ -96,8 +93,8 @@ let
};
};
options.openssh.authorizedPrincipals = mkOption {
type = with types; listOf types.singleLineStr;
options.openssh.authorizedPrincipals = lib.mkOption {
type = with lib.types; listOf lib.types.singleLineStr;
default = [];
description = ''
A list of verbatim principal names that should be added to the user's
@ -112,46 +109,46 @@ let
};
authKeysFiles = let
mkAuthKeyFile = u: nameValuePair "ssh/authorized_keys.d/${u.name}" {
mkAuthKeyFile = u: lib.nameValuePair "ssh/authorized_keys.d/${u.name}" {
mode = "0444";
source = pkgs.writeText "${u.name}-authorized_keys" ''
${concatStringsSep "\n" u.openssh.authorizedKeys.keys}
${concatMapStrings (f: readFile f + "\n") u.openssh.authorizedKeys.keyFiles}
${lib.concatStringsSep "\n" u.openssh.authorizedKeys.keys}
${lib.concatMapStrings (f: lib.readFile f + "\n") u.openssh.authorizedKeys.keyFiles}
'';
};
usersWithKeys = attrValues (flip filterAttrs config.users.users (n: u:
length u.openssh.authorizedKeys.keys != 0 || length u.openssh.authorizedKeys.keyFiles != 0
usersWithKeys = lib.attrValues (lib.flip lib.filterAttrs config.users.users (n: u:
lib.length u.openssh.authorizedKeys.keys != 0 || lib.length u.openssh.authorizedKeys.keyFiles != 0
));
in listToAttrs (map mkAuthKeyFile usersWithKeys);
in lib.listToAttrs (map mkAuthKeyFile usersWithKeys);
authPrincipalsFiles = let
mkAuthPrincipalsFile = u: nameValuePair "ssh/authorized_principals.d/${u.name}" {
mkAuthPrincipalsFile = u: lib.nameValuePair "ssh/authorized_principals.d/${u.name}" {
mode = "0444";
text = concatStringsSep "\n" u.openssh.authorizedPrincipals;
text = lib.concatStringsSep "\n" u.openssh.authorizedPrincipals;
};
usersWithPrincipals = attrValues (flip filterAttrs config.users.users (n: u:
length u.openssh.authorizedPrincipals != 0
usersWithPrincipals = lib.attrValues (lib.flip lib.filterAttrs config.users.users (n: u:
lib.length u.openssh.authorizedPrincipals != 0
));
in listToAttrs (map mkAuthPrincipalsFile usersWithPrincipals);
in lib.listToAttrs (map mkAuthPrincipalsFile usersWithPrincipals);
in
{
imports = [
(mkAliasOptionModuleMD [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
(mkAliasOptionModuleMD [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
(mkRenamedOptionModule [ "services" "openssh" "challengeResponseAuthentication" ] [ "services" "openssh" "kbdInteractiveAuthentication" ])
(lib.mkAliasOptionModuleMD [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
(lib.mkAliasOptionModuleMD [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "challengeResponseAuthentication" ] [ "services" "openssh" "kbdInteractiveAuthentication" ])
(mkRenamedOptionModule [ "services" "openssh" "kbdInteractiveAuthentication" ] [ "services" "openssh" "settings" "KbdInteractiveAuthentication" ])
(mkRenamedOptionModule [ "services" "openssh" "passwordAuthentication" ] [ "services" "openssh" "settings" "PasswordAuthentication" ])
(mkRenamedOptionModule [ "services" "openssh" "useDns" ] [ "services" "openssh" "settings" "UseDns" ])
(mkRenamedOptionModule [ "services" "openssh" "permitRootLogin" ] [ "services" "openssh" "settings" "PermitRootLogin" ])
(mkRenamedOptionModule [ "services" "openssh" "logLevel" ] [ "services" "openssh" "settings" "LogLevel" ])
(mkRenamedOptionModule [ "services" "openssh" "macs" ] [ "services" "openssh" "settings" "Macs" ])
(mkRenamedOptionModule [ "services" "openssh" "ciphers" ] [ "services" "openssh" "settings" "Ciphers" ])
(mkRenamedOptionModule [ "services" "openssh" "kexAlgorithms" ] [ "services" "openssh" "settings" "KexAlgorithms" ])
(mkRenamedOptionModule [ "services" "openssh" "gatewayPorts" ] [ "services" "openssh" "settings" "GatewayPorts" ])
(mkRenamedOptionModule [ "services" "openssh" "forwardX11" ] [ "services" "openssh" "settings" "X11Forwarding" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "kbdInteractiveAuthentication" ] [ "services" "openssh" "settings" "KbdInteractiveAuthentication" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "passwordAuthentication" ] [ "services" "openssh" "settings" "PasswordAuthentication" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "useDns" ] [ "services" "openssh" "settings" "UseDns" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "permitRootLogin" ] [ "services" "openssh" "settings" "PermitRootLogin" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "logLevel" ] [ "services" "openssh" "settings" "LogLevel" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "macs" ] [ "services" "openssh" "settings" "Macs" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "ciphers" ] [ "services" "openssh" "settings" "Ciphers" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "kexAlgorithms" ] [ "services" "openssh" "settings" "KexAlgorithms" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "gatewayPorts" ] [ "services" "openssh" "settings" "GatewayPorts" ])
(lib.mkRenamedOptionModule [ "services" "openssh" "forwardX11" ] [ "services" "openssh" "settings" "X11Forwarding" ])
];
###### interface
@ -160,8 +157,8 @@ in
services.openssh = {
enable = mkOption {
type = types.bool;
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to enable the OpenSSH secure shell daemon, which
@ -169,15 +166,15 @@ in
'';
};
package = mkOption {
type = types.package;
package = lib.mkOption {
type = lib.types.package;
default = config.programs.ssh.package;
defaultText = literalExpression "programs.ssh.package";
defaultText = lib.literalExpression "programs.ssh.package";
description = "OpenSSH package to use for sshd.";
};
startWhenNeeded = mkOption {
type = types.bool;
startWhenNeeded = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
If set, {command}`sshd` is socket-activated; that
@ -186,8 +183,8 @@ in
'';
};
allowSFTP = mkOption {
type = types.bool;
allowSFTP = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Whether to enable the SFTP subsystem in the SSH daemon. This
@ -196,8 +193,8 @@ in
'';
};
sftpServerExecutable = mkOption {
type = types.str;
sftpServerExecutable = lib.mkOption {
type = lib.types.str;
example = "internal-sftp";
description = ''
The sftp server executable. Can be a path or "internal-sftp" to use
@ -205,8 +202,8 @@ in
'';
};
sftpFlags = mkOption {
type = with types; listOf str;
sftpFlags = lib.mkOption {
type = with lib.types; listOf str;
default = [];
example = [ "-f AUTHPRIV" "-l INFO" ];
description = ''
@ -214,34 +211,34 @@ in
'';
};
ports = mkOption {
type = types.listOf types.port;
ports = lib.mkOption {
type = lib.types.listOf lib.types.port;
default = [22];
description = ''
Specifies on which ports the SSH daemon listens.
'';
};
openFirewall = mkOption {
type = types.bool;
openFirewall = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Whether to automatically open the specified ports in the firewall.
'';
};
listenAddresses = mkOption {
type = with types; listOf (submodule {
listenAddresses = lib.mkOption {
type = with lib.types; listOf (submodule {
options = {
addr = mkOption {
type = types.nullOr types.str;
addr = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Host, IPv4 or IPv6 address to listen to.
'';
};
port = mkOption {
type = types.nullOr types.int;
port = lib.mkOption {
type = lib.types.nullOr lib.types.int;
default = null;
description = ''
Port to listen to.
@ -261,8 +258,8 @@ in
'';
};
hostKeys = mkOption {
type = types.listOf types.attrs;
hostKeys = lib.mkOption {
type = lib.types.listOf lib.types.attrs;
default =
[ { type = "rsa"; bits = 4096; path = "/etc/ssh/ssh_host_rsa_key"; }
{ type = "ed25519"; path = "/etc/ssh/ssh_host_ed25519_key"; }
@ -279,16 +276,16 @@ in
'';
};
banner = mkOption {
type = types.nullOr types.lines;
banner = lib.mkOption {
type = lib.types.nullOr lib.types.lines;
default = null;
description = ''
Message to display to the remote user before authentication is allowed.
'';
};
authorizedKeysFiles = mkOption {
type = types.listOf types.str;
authorizedKeysFiles = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = ''
Specify the rules for which files to read on the host.
@ -303,8 +300,8 @@ in
'';
};
authorizedKeysInHomedir = mkOption {
type = types.bool;
authorizedKeysInHomedir = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Enables the use of the `~/.ssh/authorized_keys` file.
@ -314,8 +311,8 @@ in
'';
};
authorizedKeysCommand = mkOption {
type = types.str;
authorizedKeysCommand = lib.mkOption {
type = lib.types.str;
default = "none";
description = ''
Specifies a program to be used to look up the user's public
@ -324,8 +321,8 @@ in
'';
};
authorizedKeysCommandUser = mkOption {
type = types.str;
authorizedKeysCommandUser = lib.mkOption {
type = lib.types.str;
default = "nobody";
description = ''
Specifies the user under whose account the AuthorizedKeysCommand
@ -336,28 +333,28 @@ in
settings = mkOption {
settings = lib.mkOption {
description = "Configuration for `sshd_config(5)`.";
default = { };
example = literalExpression ''
example = lib.literalExpression ''
{
UseDns = true;
PasswordAuthentication = false;
}
'';
type = types.submodule ({name, ...}: {
type = lib.types.submodule ({name, ...}: {
freeformType = settingsFormat.type;
options = {
AuthorizedPrincipalsFile = mkOption {
type = types.nullOr types.str;
AuthorizedPrincipalsFile = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = "none"; # upstream default
description = ''
Specifies a file that lists principal names that are accepted for certificate authentication. The default
is `"none"`, i.e. not to use a principals file.
'';
};
LogLevel = mkOption {
type = types.nullOr (types.enum [ "QUIET" "FATAL" "ERROR" "INFO" "VERBOSE" "DEBUG" "DEBUG1" "DEBUG2" "DEBUG3" ]);
LogLevel = lib.mkOption {
type = lib.types.nullOr (lib.types.enum [ "QUIET" "FATAL" "ERROR" "INFO" "VERBOSE" "DEBUG" "DEBUG1" "DEBUG2" "DEBUG3" ]);
default = "INFO"; # upstream default
description = ''
Gives the verbosity level that is used when logging messages from sshd(8). Logging with a DEBUG level
@ -365,10 +362,10 @@ in
'';
};
UsePAM =
mkEnableOption "PAM authentication"
// { default = true; type = types.nullOr types.bool; };
UseDns = mkOption {
type = types.nullOr types.bool;
lib.mkEnableOption "PAM authentication"
// { default = true; type = lib.types.nullOr lib.types.bool; };
UseDns = lib.mkOption {
type = lib.types.nullOr lib.types.bool;
# apply if cfg.useDns then "yes" else "no"
default = false;
description = ''
@ -378,36 +375,36 @@ in
~/.ssh/authorized_keys from and sshd_config Match Host directives.
'';
};
X11Forwarding = mkOption {
type = types.nullOr types.bool;
X11Forwarding = lib.mkOption {
type = lib.types.nullOr lib.types.bool;
default = false;
description = ''
Whether to allow X11 connections to be forwarded.
'';
};
PasswordAuthentication = mkOption {
type = types.nullOr types.bool;
PasswordAuthentication = lib.mkOption {
type = lib.types.nullOr lib.types.bool;
default = true;
description = ''
Specifies whether password authentication is allowed.
'';
};
PermitRootLogin = mkOption {
PermitRootLogin = lib.mkOption {
default = "prohibit-password";
type = types.nullOr (types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"]);
type = lib.types.nullOr (lib.types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"]);
description = ''
Whether the root user can login using ssh.
'';
};
KbdInteractiveAuthentication = mkOption {
type = types.nullOr types.bool;
KbdInteractiveAuthentication = lib.mkOption {
type = lib.types.nullOr lib.types.bool;
default = true;
description = ''
Specifies whether keyboard-interactive authentication is allowed.
'';
};
GatewayPorts = mkOption {
type = types.nullOr types.str;
GatewayPorts = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = "no";
description = ''
Specifies whether remote hosts are allowed to connect to
@ -415,8 +412,8 @@ in
{manpage}`sshd_config(5)`.
'';
};
KexAlgorithms = mkOption {
type = types.nullOr (types.listOf types.str);
KexAlgorithms = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = [
"sntrup761x25519-sha512@openssh.com"
"curve25519-sha256"
@ -432,8 +429,8 @@ in
<https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
'';
};
Macs = mkOption {
type = types.nullOr (types.listOf types.str);
Macs = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = [
"hmac-sha2-512-etm@openssh.com"
"hmac-sha2-256-etm@openssh.com"
@ -448,15 +445,15 @@ in
<https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
'';
};
StrictModes = mkOption {
type = types.nullOr (types.bool);
StrictModes = lib.mkOption {
type = lib.types.nullOr (lib.types.bool);
default = true;
description = ''
Whether sshd should check file modes and ownership of directories
'';
};
Ciphers = mkOption {
type = types.nullOr (types.listOf types.str);
Ciphers = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = [
"chacha20-poly1305@openssh.com"
"aes256-gcm@openssh.com"
@ -474,16 +471,16 @@ in
<https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
'';
};
AllowUsers = mkOption {
type = with types; nullOr (listOf str);
AllowUsers = lib.mkOption {
type = with lib.types; nullOr (listOf str);
default = null;
description = ''
If specified, login is allowed only for the listed users.
See {manpage}`sshd_config(5)` for details.
'';
};
DenyUsers = mkOption {
type = with types; nullOr (listOf str);
DenyUsers = lib.mkOption {
type = with lib.types; nullOr (listOf str);
default = null;
description = ''
If specified, login is denied for all listed users. Takes
@ -491,8 +488,8 @@ in
See {manpage}`sshd_config(5)` for details.
'';
};
AllowGroups = mkOption {
type = with types; nullOr (listOf str);
AllowGroups = lib.mkOption {
type = with lib.types; nullOr (listOf str);
default = null;
description = ''
If specified, login is allowed only for users part of the
@ -500,8 +497,8 @@ in
See {manpage}`sshd_config(5)` for details.
'';
};
DenyGroups = mkOption {
type = with types; nullOr (listOf str);
DenyGroups = lib.mkOption {
type = with lib.types; nullOr (listOf str);
default = null;
description = ''
If specified, login is denied for all users part of the listed
@ -512,21 +509,21 @@ in
};
# Disabled by default, since pam_motd handles this.
PrintMotd =
mkEnableOption "printing /etc/motd when a user logs in interactively"
// { type = types.nullOr types.bool; };
lib.mkEnableOption "printing /etc/motd when a user logs in interactively"
// { type = lib.types.nullOr lib.types.bool; };
};
});
};
extraConfig = mkOption {
type = types.lines;
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = "Verbatim contents of {file}`sshd_config`.";
};
moduliFile = mkOption {
moduliFile = lib.mkOption {
example = "/etc/my-local-ssh-moduli;";
type = types.path;
type = lib.types.path;
description = ''
Path to `moduli` file to install in
`/etc/ssh/moduli`. If this option is unset, then
@ -536,8 +533,8 @@ in
};
users.users = mkOption {
type = with types; attrsOf (submodule userOptions);
users.users = lib.mkOption {
type = with lib.types; attrsOf (submodule userOptions);
};
};
@ -545,7 +542,7 @@ in
###### implementation
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
users.users.sshd =
{
@ -555,8 +552,8 @@ in
};
users.groups.sshd = {};
services.openssh.moduliFile = mkDefault "${cfg.package}/etc/ssh/moduli";
services.openssh.sftpServerExecutable = mkDefault "${cfg.package}/libexec/sftp-server";
services.openssh.moduliFile = lib.mkDefault "${cfg.package}/etc/ssh/moduli";
services.openssh.sftpServerExecutable = lib.mkDefault "${cfg.package}/libexec/sftp-server";
environment.etc = authKeysFiles // authPrincipalsFiles //
{ "ssh/moduli".source = cfg.moduliFile;
@ -567,13 +564,13 @@ in
let
service =
{ description = "SSH Daemon";
wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target";
wantedBy = lib.optional (!cfg.startWhenNeeded) "multi-user.target";
after = [ "network.target" ];
stopIfChanged = false;
path = [ cfg.package pkgs.gawk ];
environment.LD_LIBRARY_PATH = nssModulesPath;
restartTriggers = optionals (!cfg.startWhenNeeded) [
restartTriggers = lib.optionals (!cfg.startWhenNeeded) [
config.environment.etc."ssh/sshd_config".source
];
@ -583,7 +580,7 @@ in
# socket activation, it goes to the remote side (#19589).
exec >&2
${flip concatMapStrings cfg.hostKeys (k: ''
${lib.flip lib.concatMapStrings cfg.hostKeys (k: ''
if ! [ -s "${k.path}" ]; then
if ! [ -h "${k.path}" ]; then
rm -f "${k.path}"
@ -591,10 +588,10 @@ in
mkdir -m 0755 -p "$(dirname '${k.path}')"
ssh-keygen \
-t "${k.type}" \
${optionalString (k ? bits) "-b ${toString k.bits}"} \
${optionalString (k ? rounds) "-a ${toString k.rounds}"} \
${optionalString (k ? comment) "-C '${k.comment}'"} \
${optionalString (k ? openSSHFormat && k.openSSHFormat) "-o"} \
${lib.optionalString (k ? bits) "-b ${toString k.bits}"} \
${lib.optionalString (k ? rounds) "-a ${toString k.rounds}"} \
${lib.optionalString (k ? comment) "-C '${k.comment}'"} \
${lib.optionalString (k ? openSSHFormat && k.openSSHFormat) "-o"} \
-f "${k.path}" \
-N ""
fi
@ -603,8 +600,8 @@ in
serviceConfig =
{ ExecStart =
(optionalString cfg.startWhenNeeded "-") +
"${cfg.package}/bin/sshd " + (optionalString cfg.startWhenNeeded "-i ") +
(lib.optionalString cfg.startWhenNeeded "-") +
"${cfg.package}/bin/sshd " + (lib.optionalString cfg.startWhenNeeded "-i ") +
"-D " + # don't detach into a daemon process
"-f /etc/ssh/sshd_config";
KillMode = "process";
@ -625,7 +622,7 @@ in
{ description = "SSH Socket";
wantedBy = [ "sockets.target" ];
socketConfig.ListenStream = if cfg.listenAddresses != [] then
concatMap
lib.concatMap
({ addr, port }:
if port != null then [ "${addr}:${toString port}" ]
else map (p: "${addr}:${toString p}") cfg.ports)
@ -645,7 +642,7 @@ in
};
networking.firewall.allowedTCPPorts = optionals cfg.openFirewall cfg.ports;
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall cfg.ports;
security.pam.services.sshd = lib.mkIf cfg.settings.UsePAM
{ startSession = true;
@ -662,34 +659,34 @@ in
services.openssh.authorizedKeysFiles =
lib.optional cfg.authorizedKeysInHomedir "%h/.ssh/authorized_keys" ++ [ "/etc/ssh/authorized_keys.d/%u" ];
services.openssh.settings.AuthorizedPrincipalsFile = mkIf (authPrincipalsFiles != {}) "/etc/ssh/authorized_principals.d/%u";
services.openssh.settings.AuthorizedPrincipalsFile = lib.mkIf (authPrincipalsFiles != {}) "/etc/ssh/authorized_principals.d/%u";
services.openssh.extraConfig = mkOrder 0
services.openssh.extraConfig = lib.mkOrder 0
''
Banner ${if cfg.banner == null then "none" else pkgs.writeText "ssh_banner" cfg.banner}
AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"}
${concatMapStrings (port: ''
${lib.concatMapStrings (port: ''
Port ${toString port}
'') cfg.ports}
${concatMapStrings ({ port, addr, ... }: ''
ListenAddress ${addr}${optionalString (port != null) (":" + toString port)}
${lib.concatMapStrings ({ port, addr, ... }: ''
ListenAddress ${addr}${lib.optionalString (port != null) (":" + toString port)}
'') cfg.listenAddresses}
${optionalString cfgc.setXAuthLocation ''
${lib.optionalString cfgc.setXAuthLocation ''
XAuthLocation ${pkgs.xorg.xauth}/bin/xauth
''}
${optionalString cfg.allowSFTP ''
Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
${lib.optionalString cfg.allowSFTP ''
Subsystem sftp ${cfg.sftpServerExecutable} ${lib.concatStringsSep " " cfg.sftpFlags}
''}
AuthorizedKeysFile ${toString cfg.authorizedKeysFiles}
${optionalString (cfg.authorizedKeysCommand != "none") ''
${lib.optionalString (cfg.authorizedKeysCommand != "none") ''
AuthorizedKeysCommand ${cfg.authorizedKeysCommand}
AuthorizedKeysCommandUser ${cfg.authorizedKeysCommandUser}
''}
${flip concatMapStrings cfg.hostKeys (k: ''
${lib.flip lib.concatMapStrings cfg.hostKeys (k: ''
HostKey ${k.path}
'')}
'';
@ -699,13 +696,13 @@ in
{
nativeBuildInputs = [ validationPackage ];
} ''
${concatMapStringsSep "\n"
${lib.concatMapStringsSep "\n"
(lport: "sshd -G -T -C lport=${toString lport} -f ${sshconf} > /dev/null")
cfg.ports}
${concatMapStringsSep "\n"
${lib.concatMapStringsSep "\n"
(la:
concatMapStringsSep "\n"
(port: "sshd -G -T -C ${escapeShellArg "laddr=${la.addr},lport=${toString port}"} -f ${sshconf} > /dev/null")
lib.concatMapStringsSep "\n"
(port: "sshd -G -T -C ${lib.escapeShellArg "laddr=${la.addr},lport=${toString port}"} -f ${sshconf} > /dev/null")
(if la.port != null then [ la.port ] else cfg.ports)
)
cfg.listenAddresses}
@ -726,7 +723,7 @@ in
# Grab the groups, we don't care about the group identifiers
lib.attrValues (
# Group the settings that are the same in lower case
lib.groupBy lib.strings.toLower (attrNames cfg.settings)
lib.groupBy lib.strings.toLower (lib.attrNames cfg.settings)
)
);
formattedDuplicates = lib.concatMapStringsSep ", " (dupl: "(${lib.concatStringsSep ", " dupl})") duplicates;
@ -735,7 +732,7 @@ in
assertion = lib.length duplicates == 0;
message = ''Duplicate sshd config key; does your capitalization match the option's? Duplicate keys: ${formattedDuplicates}'';
})]
++ forEach cfg.listenAddresses ({ addr, ... }: {
++ lib.forEach cfg.listenAddresses ({ addr, ... }: {
assertion = addr != null;
message = "addr must be specified in each listenAddresses entry";
});

View File

@ -83,6 +83,21 @@ in
'';
};
allowCgiUser = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
When enabled, the stargazer process will be given `CAP_SETGID`
and `CAP_SETUID` so that it can run cgi processes as a different
user. This is required if the `cgi-user` option is used for a route.
Note that these capabilities could allow privilege escalation so be
careful. For that reason, this is disabled by default.
You will need to create the user mentioned `cgi-user` if it does not
already exist.
'';
};
store = lib.mkOption {
type = lib.types.path;
default = /var/lib/gemini/certs;
@ -206,6 +221,48 @@ in
# User and group
User = cfg.user;
Group = cfg.group;
AmbientCapabilities = lib.mkIf cfg.allowCgiUser [
"CAP_SETGID"
"CAP_SETUID"
];
# Hardening
UMask = "0077";
PrivateTmp = true;
ProtectHome = true;
ProtectSystem = "full";
ProtectClock = true;
ProtectHostname = true;
ProtectControlGroups = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
PrivateDevices = true;
NoNewPrivileges = true;
RestrictSUIDSGID = true;
PrivateMounts = true;
MemoryDenyWriteExecute = true;
LockPersonality = true;
RestrictRealtime = true;
RemoveIPC = true;
CapabilityBoundingSet = [
"~CAP_SYS_PTRACE"
"~CAP_SYS_ADMIN"
"~CAP_SETPCAP"
"~CAP_SYS_TIME"
"~CAP_SYS_PACCT"
"~CAP_SYS_TTY_CONFIG "
"~CAP_SYS_CHROOT"
"~CAP_SYS_BOOT"
"~CAP_NET_ADMIN"
] ++ lib.lists.optional (!cfg.allowCgiUser) [
"~CAP_SETGID"
"~CAP_SETUID"
];
SystemCallArchitectures = "native";
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete" ]
++ lib.lists.optional (!cfg.allowCgiUser) [ "@privileged @setuid" ];
};
};

View File

@ -712,9 +712,9 @@ in
(mkIf cfg.enable {
boot.loader.grub.devices = optional (cfg.device != "") cfg.device;
boot.loader.grub.devices = mkIf (cfg.device != "") [ cfg.device ];
boot.loader.grub.mirroredBoots = optionals (cfg.devices != [ ]) [
boot.loader.grub.mirroredBoots = mkIf (cfg.devices != [ ]) [
{ path = "/boot"; inherit (cfg) devices; inherit (efi) efiSysMountPoint; }
];
@ -752,7 +752,7 @@ in
# set at once.
system.boot.loader.id = "grub";
environment.systemPackages = optional (grub != null) grub;
environment.systemPackages = mkIf (grub != null) [ grub ];
boot.loader.grub.extraPrepareConfig =
concatStrings (mapAttrsToList (n: v: ''

View File

@ -65,9 +65,9 @@ in
environment.etc.vmware-tools.source = "${open-vm-tools}/etc/vmware-tools/*";
services.xserver = mkIf (!cfg.headless) {
modules = [ xf86inputvmmouse ];
modules = lib.optionals pkgs.stdenv.hostPlatform.isx86 [ xf86inputvmmouse ];
config = ''
config = lib.optionalString (pkgs.stdenv.hostPlatform.isx86) ''
Section "InputClass"
Identifier "VMMouse"
MatchDevicePath "/dev/input/event*"

View File

@ -117,16 +117,41 @@ in
};
};
};
cgiTestServer = { ... }: {
users.users.cgi = {
isSystemUser = true;
group = "cgi";
};
users.groups.cgi = { };
services.stargazer = {
enable = true;
connectionLogging = false;
requestTimeout = 1;
allowCgiUser = true;
routes = [
{
route = "localhost:/cgi-bin";
root = "${test_env}/test_data";
cgi = true;
cgi-timeout = 5;
cgi-user = "cgi";
}
];
};
};
};
testScript = { nodes, ... }: ''
geminiserver.wait_for_unit("scgi_server")
geminiserver.wait_for_open_port(1099)
geminiserver.wait_for_unit("stargazer")
geminiserver.wait_for_open_port(1965)
cgiTestServer.wait_for_open_port(1965)
with subtest("stargazer test suite"):
response = geminiserver.succeed("sh -c 'cd ${test_env}; ${test_script}/bin/test'")
print(response)
with subtest("stargazer cgi-user test"):
response = cgiTestServer.succeed("sh -c 'cd ${test_env}; ${test_script}/bin/test --checks CGIVars'")
print(response)
'';
}

View File

@ -1004,6 +1004,11 @@
dependencies = with self; [ plenary-nvim ];
};
lsp-progress-nvim = neovimUtils.buildNeovimPlugin {
luaAttr = "lsp-progress-nvim";
nvimRequireCheck = "lsp-progress";
};
luasnip = super.luasnip.overrideAttrs {
dependencies = with self; [ luaPackages.jsregexp ];
};

View File

@ -1816,8 +1816,8 @@ let
mktplcRef = {
name = "dependi";
publisher = "fill-labs";
version = "0.7.7";
hash = "sha256-tskNhHWjfItmUAKPYvqB1knUcqoEmTzYasJSzw5KwTI=";
version = "0.7.8";
hash = "sha256-UxLpn86U5EI+qRUpEXt+ByirtCwOUknRwTwpfCF+tqQ=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/fill-labs.dependi/changelog";

View File

@ -1,20 +1,27 @@
{ buildGoModule, buildNpmPackage, fetchFromGitHub, lib }:
{
buildGo123Module,
buildNpmPackage,
fetchFromGitHub,
lib,
}:
let
version = "2.31.0";
src = fetchFromGitHub {
owner = "filebrowser";
repo = "filebrowser";
rev = "v${version}";
hash = "sha256-zLM1fLrucIhzGdTTDu81ZnTIipK+iRnPhgfMiT1P+yg=";
};
frontend = buildNpmPackage rec {
pname = "filebrowser-frontend";
version = "2.23.0";
src = fetchFromGitHub {
owner = "filebrowser";
repo = "filebrowser";
rev = "v${version}";
hash = "sha256-xhBIJcEtxDdMXSgQtLAV0UWzPtrvKEil0WV76K5ycBc=";
};
inherit version src;
sourceRoot = "${src.name}/frontend";
npmDepsHash = "sha256-acNIMKHc4q7eiFLPBtKZBNweEsrt+//0VR6dqwXHTvA=";
npmDepsHash = "sha256-5/yEMWkNPAS8/PkaHlPBGFLiJu7xK2GHYo5dYqHAfCE=";
NODE_OPTIONS = "--openssl-legacy-provider";
@ -28,18 +35,11 @@ let
'';
};
in
buildGoModule rec {
buildGo123Module {
pname = "filebrowser";
version = "2.23.0";
inherit version src;
src = fetchFromGitHub {
owner = "filebrowser";
repo = "filebrowser";
rev = "v${version}";
hash = "sha256-xhBIJcEtxDdMXSgQtLAV0UWzPtrvKEil0WV76K5ycBc=";
};
vendorHash = "sha256-MR0ju2Nomb3j78Z+1YcJY+jPd40MZpuOTuQJM94AM8A=";
vendorHash = "sha256-N5aUs8rgTYXeb0qJhPQBCa6lUDkT6lH1bh+1u4bixos=";
excludedPackages = [ "tools" ];
@ -55,7 +55,8 @@ buildGoModule rec {
description = "Filebrowser is a web application for managing files and directories";
homepage = "https://filebrowser.org";
license = licenses.asl20;
maintainers = with maintainers; [ nielsegberts ];
maintainers = with maintainers; [ oakenshield ];
mainProgram = "filebrowser";
};
}

View File

@ -13,7 +13,7 @@
, rtl_sdr_source ? true, rtl-sdr-osmocom, libusb1 # osmocom better w/ rtlsdr v4
, rtl_tcp_source ? true
, sdrplay_source ? false, sdrplay
, soapy_source ? true, soapysdr
, soapy_source ? true, soapysdr-with-plugins
, spyserver_source ? true
, usrp_source ? false, uhd, boost
@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
++ lib.optional limesdr_source limesuite
++ lib.optionals rtl_sdr_source [ rtl-sdr-osmocom libusb1 ]
++ lib.optional sdrplay_source sdrplay
++ lib.optional soapy_source soapysdr
++ lib.optional soapy_source soapysdr-with-plugins
++ lib.optionals plutosdr_source [ libiio libad9361 ]
++ lib.optionals usrp_source [ uhd boost ]
++ lib.optional audio_sink rtaudio

View File

@ -1,5 +1,6 @@
{ stdenv
, lib
, fetchpatch
, fetchurl
, makeWrapper
, readline
@ -73,6 +74,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-ZyMIdF63iiIklO6N1nhu3VvDMUVvzGRWrAZL2yjVh6g=";
};
patches = [
(fetchpatch {
url = "https://github.com/gap-system/gap/commit/c786e229413a44b7462196716b99ae9bb0071f4c.patch";
hash = "sha256-g3jrEMSavHAUKlHoPqWmOw49hWHU+29SA788Klnr0Uw=";
})
];
# remove all non-essential packages (which take up a lot of space)
preConfigure = lib.optionalString (!keepAll) (removeNonWhitelistedPkgs packagesToKeep) + ''
patchShebangs .

View File

@ -1,4 +1,4 @@
{lib, stdenv, fetchurl, gmp, mpir, cddlib}:
{lib, stdenv, fetchpatch, fetchurl, gmp, mpir, cddlib}:
stdenv.mkDerivation rec {
pname = "gfan";
version = "0.6.2";
@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
patches = [
./gfan-0.6.2-cddlib-prefix.patch
] ++ lib.optionals (stdenv.cc.isClang) [
(fetchpatch {
name = "clang-fix-miscompilation.patch";
url = "https://raw.githubusercontent.com/sagemath/sage/eea1f59394a5066e9acd8ae39a90302820914ee3/build/pkgs/gfan/patches/nodel.patch";
sha256 = "sha256-RrncSgFyrBIk/Bwe3accxiJ2rpOSJKQ84cV/uBvQsDc=";
})
];
postPatch = lib.optionalString stdenv.cc.isClang ''

View File

@ -9,18 +9,30 @@ assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation rec {
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
version = "1.9.0-43"; # TODO try to remove preCheck phase on upgrade
version = "1.9.0-993"; # TODO try to remove preCheck phase on upgrade
src = fetchurl {
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
sha256 = "sha256-466jB8ZRqHkU5XCY+j0Fh7Dq/mMaOu10rHECKbtNGrs=";
sha256 = "sha256-pqytFWrSWfEwQqRdRbaigGCq68s8mdgj2j8M+kclslE=";
};
patches = [
./remove-old-functional-patterns.patch
./fix-fltk-guard.patch
(fetchpatch {
name = "pari_2_11.patch";
url = "https://raw.githubusercontent.com/sagemath/sage/21ba7540d385a9864b44850d6987893dfa16bfc0/build/pkgs/giac/patches/pari_2_11.patch";
sha256 = "sha256-vEo/5MNzMdYRPWgLFPsDcMT1W80Qzj4EPBjx/B8j68k=";
name = "pari_2_15.patch";
url = "https://raw.githubusercontent.com/sagemath/sage/07a2afd65fb4b0a1c9cbc43ede7d4a18c921a000/build/pkgs/giac/patches/pari_2_15.patch";
sha256 = "sha256-Q3xBFED7XEAyNz6AHjzt63XtospmdGAIdS6iPq1C2UE=";
})
(fetchpatch {
name = "infinity.patch";
url = "https://github.com/geogebra/giac/commit/851c2cd91e879c79d6652f8a5d5bed03b65c6d39.patch";
sha256 = "sha256-WJRT2b8I9kgAkRuIugMiXoF4hT7yR7qyad8A6IspNTM=";
stripLen = 5;
extraPrefix = "/src/";
excludes = [ "src/kdisplay.cc" ];
})
# giac calls scanf/printf with non-constant first arguments, which
@ -31,8 +43,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256-r+M+9MRPRqhHcdhYWI6inxyNvWbXUbBcPCeDY7aulvk=";
})
# increase pari stack size for test chk_fhan{4,6}
./increase-pari-stack-size.patch
# issue with include path precedence
(fetchpatch {
name = "fix_implicit_declaration.patch";
url = "https://salsa.debian.org/science-team/giac/-/raw/c05ae9b9e74d3c6ee6411d391071989426a76201/debian/patches/fix_implicit_declaration.patch";
sha256 = "sha256-ompUceYJLiL0ftfjBkIMcYvX1YqG2/XA7e1yDyFY0IY=";
})
] ++ lib.optionals (!enableGUI) [
# when enableGui is false, giac is compiled without fltk. That
# means some outputs differ in the make check. Patch around this:
@ -86,6 +102,12 @@ stdenv.mkDerivation rec {
# when fltk is disabled. disable these tests for now.
echo > check/chk_fhan2
echo > check/chk_fhan9
'' + lib.optionalString (stdenv.isDarwin) ''
# these cover a known regression in giac, likely due to how pari state
# is shared between multiple giac instances (see pari.cc.old).
# see https://github.com/NixOS/nixpkgs/pull/264126 for more information
echo > check/chk_fhan4
echo > check/chk_fhan6
'';
enableParallelBuilding = true;
@ -96,6 +118,8 @@ stdenv.mkDerivation rec {
"--enable-ao" "--enable-ecm" "--enable-glpk"
] ++ lib.optionals enableGUI [
"--enable-gui" "--with-x"
] ++ lib.optionals stdenv.isDarwin [
"--disable-nls"
] ++ lib.optionals (!enableGUI) [
"--disable-fltk"
] ++ lib.optionals (!enableMicroPy) [
@ -129,7 +153,6 @@ stdenv.mkDerivation rec {
homepage = "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html";
license = licenses.gpl3Plus;
platforms = platforms.linux ++ (optionals (!enableGUI) platforms.darwin);
broken = stdenv.isDarwin && stdenv.isAarch64;
maintainers = [ maintainers.symphorien ];
};
}

View File

@ -0,0 +1,28 @@
From c7eafa2d7bde0d735b125912542acec2d5896c17 Mon Sep 17 00:00:00 2001
From: George Huebner <george@feyor.sh>
Date: Sat, 20 Jul 2024 02:31:20 -0500
Subject: [PATCH 3/4] remove erroneous HAVE_LIBFLTK guard
---
src/icas.cc | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/icas.cc b/src/icas.cc
index f91885b..17a0373 100644
--- a/src/icas.cc
+++ b/src/icas.cc
@@ -2407,11 +2407,7 @@ int main(int ARGC, char *ARGV[]){
#ifdef __APPLE__
startc=clock();
#endif
-#ifdef HAVE_LIBFLTK
xcas::icas_eval(gq,e,reading_file,filename,contextptr);
-#else
- e=eval(gq,1,contextptr);
-#endif
#ifdef __APPLE__
startc=clock()-startc;
#endif
--
2.44.1

View File

@ -1,18 +0,0 @@
diff -ur a/check/chk_fhan4 b/check/chk_fhan4
--- a/check/chk_fhan4 2018-03-13 19:27:11.000000000 +0100
+++ b/check/chk_fhan4 2023-05-20 16:31:30.349063063 +0200
@@ -1,4 +1,5 @@
#! /bin/sh
unset LANG
+export PARI_SIZE=2048000
../src/icas TP04-sol.cas > TP04.tst
diff TP04.tst TP04-sol.cas.out1
diff -ur a/check/chk_fhan6 b/check/chk_fhan6
--- a/check/chk_fhan6 2018-03-13 19:27:21.000000000 +0100
+++ b/check/chk_fhan6 2023-05-20 16:32:04.199407065 +0200
@@ -1,4 +1,5 @@
#! /bin/sh
unset LANG
+export PARI_SIZE=2048000
../src/icas TP06-sol.cas > TP06.tst
diff TP06.tst TP06-sol.cas.out1

View File

@ -0,0 +1,294 @@
From f1c5309d5b815acc2616cd9fbb5182b1e64d225f Mon Sep 17 00:00:00 2001
From: George Huebner <george@feyor.sh>
Date: Wed, 17 Jul 2024 18:12:36 -0500
Subject: [PATCH 1/4] remove old <functional> patterns
pointer_to_binary_function and ptr_fun are holdovers from pre c++11,
and can be replaced or entirely removed. This allows Giac to compile
with Clang 16>=.
---
src/all_global_var | 2 +-
src/gausspol.cc | 2 +-
src/gausspol.h | 2 +-
src/gen.cc | 2 +-
src/gen.h | 4 ++--
src/maple.cc | 2 +-
src/monomial.h | 16 ++++++++--------
src/plot.cc | 2 +-
src/poly.h | 17 +++++++++--------
src/solve.cc | 18 +++++++++---------
src/usual.cc | 2 +-
11 files changed, 35 insertions(+), 34 deletions(-)
diff --git a/src/all_global_var b/src/all_global_var
index 7d75d73..55f4782 100644
--- a/src/all_global_var
+++ b/src/all_global_var
@@ -16,7 +16,7 @@ Relatif a l'evaluation du tableur
// File Eqw.cc
vector<string> completion_tab;
// File alg_ext.cc
- rootmap symbolic_rootof_list(ptr_fun(islesscomplex));
+ rootmap symbolic_rootof_list(islesscomplex);
// File derive.cc
// File desolve.cc
identificateur laplace_var(" s");
diff --git a/src/gausspol.cc b/src/gausspol.cc
index 8fbd581..2f2121f 100644
--- a/src/gausspol.cc
+++ b/src/gausspol.cc
@@ -855,7 +855,7 @@ namespace giac {
std::vector< monomial<gen> >::const_iterator & itb_end,
std::vector< monomial<gen> > & new_coord,
bool (* is_strictly_greater)( const index_m &, const index_m &),
- const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_strictly_greater
+ const std::function<bool(const monomial<gen> &, const monomial<gen> &)> m_is_strictly_greater
) {
if (ita==ita_end || itb==itb_end){
new_coord.clear();
diff --git a/src/gausspol.h b/src/gausspol.h
index b5d214b..e6c7e0c 100644
--- a/src/gausspol.h
+++ b/src/gausspol.h
@@ -93,7 +93,7 @@ namespace giac {
std::vector< monomial<gen> >::const_iterator & itb_end,
std::vector< monomial<gen> > & new_coord,
bool (* is_strictly_greater)( const index_t &, const index_t &),
- const std::pointer_to_binary_function < const monomial<gen> &, const monomial<gen> &, bool> m_is_greater
+ const std::function<bool(const monomial<gen> &, const monomial<gen> &)> m_is_greater
) ;
void mulpoly(const polynome & th,const gen & fact,polynome & res);
polynome operator * (const polynome & th, const gen & fact) ;
diff --git a/src/gen.cc b/src/gen.cc
index 7d4874c..0b64afe 100644
--- a/src/gen.cc
+++ b/src/gen.cc
@@ -1126,7 +1126,7 @@ namespace giac {
#if 1 // def NSPIRE
g.__MAPptr = new ref_gen_map;
#else
- g.__MAPptr = new ref_gen_map(ptr_fun(islesscomplexthanf));
+ g.__MAPptr = new ref_gen_map(islesscomplexthanf);
#endif
#endif
g.type=_MAP;
diff --git a/src/gen.h b/src/gen.h
index 04d70af..496b25d 100644
--- a/src/gen.h
+++ b/src/gen.h
@@ -443,7 +443,7 @@ namespace giac {
};
typedef std::map<gen,gen,comparegen> gen_map;
#else
- typedef std::map<gen,gen,const std::pointer_to_binary_function < const gen &, const gen &, bool> > gen_map;
+ typedef std::map<gen,gen,const std::function<bool(const gen &, const gen &)> > gen_map;
#endif
struct ref_gen_map;
@@ -902,7 +902,7 @@ namespace giac {
#if 1 // def NSPIRE
ref_gen_map(): ref_count(1),m() {}
#else
- ref_gen_map(const std::pointer_to_binary_function < const gen &, const gen &, bool> & p): ref_count(1),m(p) {}
+ ref_gen_map(const std::function<bool(const gen &, const gen &)> & p): ref_count(1),m(p) {}
#endif
ref_gen_map(const gen_map & M):ref_count(1),m(M) {}
};
diff --git a/src/maple.cc b/src/maple.cc
index 3b33da8..d57a170 100644
--- a/src/maple.cc
+++ b/src/maple.cc
@@ -3626,7 +3626,7 @@ namespace giac {
#if 1 // def NSPIRE
gen_map m;
#else
- gen_map m(ptr_fun(islessthanf));
+ gen_map m(islessthanf);
#endif
int s=int(args.size());
vector<int> indexbegin,indexsize;
diff --git a/src/monomial.h b/src/monomial.h
index 6e606d0..637a76c 100644
--- a/src/monomial.h
+++ b/src/monomial.h
@@ -338,9 +338,9 @@ namespace giac {
template<class T> class sort_helper {
public:
- std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> strictly_greater ;
- sort_helper(const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> is_strictly_greater):strictly_greater(is_strictly_greater) {};
- sort_helper():strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {};
+ std::function<bool(const monomial<T> &, const monomial<T> &)> strictly_greater ;
+ sort_helper(const std::function<bool(const monomial<T> &, const monomial<T> &)> is_strictly_greater):strictly_greater(is_strictly_greater) {};
+ sort_helper():strictly_greater(m_lex_is_strictly_greater<T>) {};
bool operator () (const monomial<T> & a, const monomial<T> & b){ return strictly_greater(a,b);}
};
@@ -677,7 +677,7 @@ namespace giac {
typename std::vector< monomial<T> >::const_iterator & itb_end,
std::vector< monomial<T> > & new_coord,
bool (* is_strictly_greater)( const index_m &, const index_m &),
- const std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater
+ const std::function<bool(const monomial<T> &, const monomial<T> &)> m_is_strictly_greater
) {
if (ita==ita_end || itb==itb_end){
new_coord.clear();
@@ -726,8 +726,8 @@ namespace giac {
#endif
#ifndef NSPIRE
/* other algorithm using a map to avoid reserving too much space */
- typedef std::map< index_t,T,const std::pointer_to_binary_function < const index_m &, const index_m &, bool> > application;
- application produit(std::ptr_fun(is_strictly_greater));
+ typedef std::map< index_t,T,const std::function<bool(const index_m &, const index_m &)> > application;
+ application produit(is_strictly_greater);
// typedef std::map<index_t,T> application;
// application produit;
index_t somme(ita->index.size());
@@ -848,7 +848,7 @@ namespace giac {
typename std::vector< monomial<T> >::const_iterator a=v.begin(), a_end=v.end();
typename std::vector< monomial<T> >::const_iterator b=w.begin(), b_end=w.end();
std::vector< monomial<T> > res;
- Mul(a,a_end,b,b_end,res,i_lex_is_strictly_greater,std::ptr_fun< const monomial<T> &, const monomial<T> &, bool >((m_lex_is_strictly_greater<T>)));
+ Mul(a,a_end,b,b_end,res,i_lex_is_strictly_greater,m_lex_is_strictly_greater<T>);
return res ;
}
@@ -856,7 +856,7 @@ namespace giac {
std::vector< monomial<T> > & operator *= (std::vector< monomial<T> > & v,const std::vector< monomial<T> > & w){
typename std::vector< monomial<T> >::const_iterator a=v.begin(), a_end=v.end();
typename std::vector< monomial<T> >::const_iterator b=w.begin(), b_end=w.end();
- Mul(a,a_end,b,b_end,v,i_lex_is_strictly_greater,std::ptr_fun< const monomial<T> &, const monomial<T> &, bool >((m_lex_is_strictly_greater<T>)));
+ Mul(a,a_end,b,b_end,v,i_lex_is_strictly_greater,m_lex_is_strictly_greater<T>);
return v;
}
diff --git a/src/plot.cc b/src/plot.cc
index 288a1b5..ac85c9a 100755
--- a/src/plot.cc
+++ b/src/plot.cc
@@ -11886,7 +11886,7 @@ static vecteur densityscale(double xmin,double xmax,double ymin,double ymax,doub
#if 1 // def NSPIRE
gen_map m;
#else
- gen_map m(ptr_fun(islesscomplexthanf));
+ gen_map m(islesscomplexthanf);
#endif
int taille;
is >> taille;
diff --git a/src/poly.h b/src/poly.h
index 7d64e2c..d9ff991 100644
--- a/src/poly.h
+++ b/src/poly.h
@@ -40,23 +40,24 @@ namespace giac {
// T zero;
// functional object sorting function for monomial ordering
bool (* is_strictly_greater)( const index_m &, const index_m &);
- std::pointer_to_binary_function < const monomial<T> &, const monomial<T> &, bool> m_is_strictly_greater ;
+ std::function<bool(const monomial<T> &, const monomial<T> &)> m_is_strictly_greater ;
// constructors
tensor(const tensor<T> & t) : dim(t.dim), coord(t.coord), is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { }
tensor(const tensor<T> & t, const std::vector< monomial<T> > & v) : dim(t.dim), coord(v), is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { }
// warning: this constructor prohibits construction of tensor from a value
// of type T if this value is an int, except by using tensor<T>(T(int))
- tensor() : dim(0), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { }
- explicit tensor(int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { }
+ // DANGER
+ tensor() : dim(0), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { }
+ explicit tensor(int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) { }
explicit tensor(int d,const tensor<T> & t) : dim(d),is_strictly_greater(t.is_strictly_greater), m_is_strictly_greater(t.m_is_strictly_greater) { }
- tensor(const monomial<T> & v) : dim(int(v.index.size())), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {
+ tensor(const monomial<T> & v) : dim(int(v.index.size())), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) {
coord.push_back(v);
}
- tensor(const T & v, int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) {
+ tensor(const T & v, int d) : dim(d), is_strictly_greater(i_lex_is_strictly_greater), m_is_strictly_greater(m_lex_is_strictly_greater<T>) {
if (!is_zero(v))
coord.push_back(monomial<T>(v,0,d));
}
- tensor(int d,const std::vector< monomial<T> > & c) : dim(d), coord(c), is_strictly_greater(i_lex_is_strictly_greater),m_is_strictly_greater(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>)) { }
+ tensor(int d,const std::vector< monomial<T> > & c) : dim(d), coord(c), is_strictly_greater(i_lex_is_strictly_greater),m_is_strictly_greater(m_lex_is_strictly_greater<T>) { }
~tensor() { coord.clear(); }
// member functions
// ordering monomials in the tensor
@@ -519,10 +520,10 @@ namespace giac {
template <class T>
void lexsort(std::vector < monomial<T> > & v){
#if 1 // def NSPIRE
- sort_helper<T> M(std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>));
+ sort_helper<T> M(m_lex_is_strictly_greater<T>);
sort(v.begin(),v.end(),M);
#else
- sort(v.begin(),v.end(),std::ptr_fun<const monomial<T> &, const monomial<T> &, bool>(m_lex_is_strictly_greater<T>));
+ sort(v.begin(),v.end(),m_lex_is_strictly_greater<T>);
#endif
}
diff --git a/src/solve.cc b/src/solve.cc
index 889f824..2a51ab8 100755
--- a/src/solve.cc
+++ b/src/solve.cc
@@ -8684,39 +8684,39 @@ namespace giac {
switch (order.val){
case _PLEX_ORDER:
p.is_strictly_greater=i_lex_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_lex_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_lex_is_strictly_greater<gen>;
break;
case _REVLEX_ORDER:
p.is_strictly_greater=i_total_revlex_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_total_revlex_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_total_revlex_is_strictly_greater<gen>;
break;
case _TDEG_ORDER:
p.is_strictly_greater=i_total_lex_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_total_lex_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_total_lex_is_strictly_greater<gen>;
break;
case _3VAR_ORDER:
p.is_strictly_greater=i_3var_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_3var_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_3var_is_strictly_greater<gen>;
break;
case _7VAR_ORDER:
p.is_strictly_greater=i_7var_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_7var_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_7var_is_strictly_greater<gen>;
break;
case _11VAR_ORDER:
p.is_strictly_greater=i_11var_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_11var_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_11var_is_strictly_greater<gen>;
break;
case _16VAR_ORDER:
p.is_strictly_greater=i_16var_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_16var_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_16var_is_strictly_greater<gen>;
break;
case _32VAR_ORDER:
p.is_strictly_greater=i_32var_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_32var_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_32var_is_strictly_greater<gen>;
break;
case _64VAR_ORDER:
p.is_strictly_greater=i_64var_is_strictly_greater;
- p.m_is_strictly_greater=std::ptr_fun(m_64var_is_strictly_greater<gen>);
+ p.m_is_strictly_greater=m_64var_is_strictly_greater<gen>;
break;
}
p.tsort();
diff --git a/src/usual.cc b/src/usual.cc
index fddede6..eb7ae5e 100755
--- a/src/usual.cc
+++ b/src/usual.cc
@@ -5950,7 +5950,7 @@ namespace giac {
#if 1 // def NSPIRE
gen_map m;
#else
- gen_map m(ptr_fun(islesscomplexthanf));
+ gen_map m(islesscomplexthanf);
#endif
for (;it!=itend;++it){
if (is_equal(*it) || it->is_symb_of_sommet(at_deuxpoints)){
--
2.44.1

View File

@ -18,7 +18,7 @@ let
inherit flint3;
inherit sage-src env-locations singular;
inherit (maxima) lisp-compiler;
linbox = pkgs.linbox.override { withSage = true; };
linbox = pkgs.linbox;
pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
};

View File

@ -0,0 +1,36 @@
From d6362714c9acf4cab69f3e2e772ec0bb1dfd39fe Mon Sep 17 00:00:00 2001
From: George Huebner <george@feyor.sh>
Date: Mon, 22 Jul 2024 00:37:53 -0500
Subject: [PATCH] disable singular version doctest to avoid exceeding the stack
limit
It works fine interactively, only an issue for Nix builds
---
src/sage/interfaces/singular.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
index c0ab80e0a6..c778acdb0c 100644
--- a/src/sage/interfaces/singular.py
+++ b/src/sage/interfaces/singular.py
@@ -1262,7 +1262,7 @@ class Singular(ExtraTabCompletion, Expect):
EXAMPLES::
- sage: singular.version()
+ sage: singular.version() # not tested
"Singular ... version 4...
"""
return singular_version()
@@ -2475,7 +2475,7 @@ def singular_version():
EXAMPLES::
- sage: singular.version()
+ sage: singular.version() # not tested
"Singular ... version 4...
"""
return singular.eval('system("--version");')
--
2.44.1

View File

@ -0,0 +1,27 @@
From 06d3bb5d8ef007bbcd71ee157fd97cd69557383b Mon Sep 17 00:00:00 2001
From: George Huebner <george@feyor.sh>
Date: Sat, 20 Jul 2024 18:46:04 -0500
Subject: [PATCH] sage.cython: silence linker
(Nix+LLVM specific issue) "ld: warning: directory not found" causes
any cython doctest to fail and is annoying, so I told ld to shut up.
---
src/sage/misc/cython.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sage/misc/cython.py b/src/sage/misc/cython.py
index 545e1227b0..c5f4b69221 100644
--- a/src/sage/misc/cython.py
+++ b/src/sage/misc/cython.py
@@ -339,7 +339,7 @@ def cython(filename, verbose=0, compile_message=False,
Cython.Compiler.Options.pre_import = "sage.all" if sage_namespace else None
extra_compile_args = ['-w'] # no warnings
- extra_link_args = []
+ extra_link_args = ['-w']
ext = Extension(name,
sources=[pyxfile],
--
2.44.1

View File

@ -10,6 +10,7 @@
, coreutils
, gnused
, gnugrep
, gawk
, binutils
, pythonEnv
, python3
@ -70,6 +71,7 @@ let
coreutils
gnused
gnugrep
gawk
binutils.bintools
pkg-config
pari
@ -186,7 +188,7 @@ writeTextFile rec {
export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data'
# for find_library
export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular giac]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular giac gap]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
'';
} // { # equivalent of `passthru`, which `writeTextFile` doesn't support
lib = sagelib;

View File

@ -1,4 +1,5 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, fetchurl
@ -40,6 +41,13 @@ stdenv.mkDerivation rec {
# we can now set the cache dir to be within the .sage directory. This is
# not strictly necessary, but keeps us from littering in the user's HOME.
./patches/sympow-cache.patch
] ++ lib.optionals (stdenv.cc.isClang) [
# https://github.com/NixOS/nixpkgs/pull/264126
# Dead links in python sysconfig cause LLVM linker warnings, leading to cython doctest failures.
./patches/silence-linker.patch
# Stack overflows during doctests; this does not change functionality.
./patches/disable-singular-doctest.patch
];
# Since sage unfortunately does not release bugfix releases, packagers must
@ -64,6 +72,13 @@ stdenv.mkDerivation rec {
# compile libs/gap/element.pyx with -O1
# a more conservative version of https://github.com/sagemath/sage/pull/37951
./patches/gap-element-crash.patch
# https://github.com/sagemath/sage/pull/37886, landed in 10.4.beta7
(fetchpatch {
name = "remove-xcode.patch";
url = "https://github.com/sagemath/sage/commit/8e72038b4ab24fb63c06b28f6eb43097b9ab24d6.patch";
sha256 = "sha256-hufDJFUBa/Trn1xsVNvzb2c1wE9iyhqewj3RMjVtENA=";
})
];
# Patches needed because of package updates. We could just pin the versions of
@ -73,6 +88,12 @@ stdenv.mkDerivation rec {
# should come from or be proposed to upstream. This list will probably never
# be empty since dependencies update all the time.
packageUpgradePatches = [
# https://github.com/sagemath/sage/pull/37646, landed in 10.4.beta1
(fetchpatch {
name = "cpp-17.patch";
url = "https://github.com/sagemath/sage/commit/9b0a40d6cd17706db31d5ff8cdd78910409ba1c8.patch";
sha256 = "sha256-2pJ9eH+o9O76Tsmklc/frzDOFkvPjvs2JQWCSqA+tMs=";
})
# https://github.com/sagemath/sage/pull/37763, landed in 10.4.beta2
(fetchpatch {
name = "scipy-fault-tolerance.patch";

View File

@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.sagemath.org";
license = licenses.gpl2Plus;
maintainers = teams.sage.members;
platforms = platforms.linux;
platforms = platforms.linux ++ [ "aarch64-darwin" ];
};
}

View File

@ -7,6 +7,7 @@
, getconf
, flint3
, ntl
, mpfr
, cddlib
, gfan
, lrcalc
@ -15,8 +16,7 @@
, latex2html
, texinfo
, texliveSmall
, enableDocs ? !stdenv.isDarwin
, enableGfanlib ? true
, enableDocs ? true
}:
stdenv.mkDerivation rec {
@ -40,12 +40,11 @@ stdenv.mkDerivation rec {
};
configureFlags = [
"--enable-gfanlib"
"--with-ntl=${ntl}"
"--disable-pyobject-module"
"--with-flint=${flint3}"
] ++ lib.optionals enableDocs [
"--enable-doc-build"
] ++ lib.optionals enableGfanlib [
"--enable-gfanlib"
];
prePatch = ''
@ -61,14 +60,15 @@ stdenv.mkDerivation rec {
buildInputs = [
# necessary
gmp
flint3
# by upstream recommended but optional
ncurses
readline
ntl
flint3
mpfr
lrcalc
# for gfanlib
gfan
] ++ lib.optionals enableGfanlib [
cddlib
];
@ -100,6 +100,8 @@ stdenv.mkDerivation rec {
doCheck = true; # very basic checks, does not test any libraries
installPhase = ''
# clean up any artefacts a previous non-sandboxed docbuild may have left behind
rm /tmp/conic.log /tmp/conic.tex /tmp/tropicalcurve*.tex || true
make install
'' + lib.optionalString enableDocs ''
# Sage uses singular.info, which is not installed by default
@ -118,8 +120,8 @@ stdenv.mkDerivation rec {
"Buch/buch.lst"
"Plural/short.lst"
"Old/factor.tst"
] ++ lib.optionals enableGfanlib [
# tests that require gfanlib
# requires "DivRemIdU", a syzextra (undocumented) command
"Short/ok_s.lst"
];

View File

@ -0,0 +1,44 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
mkfontdir,
mkfontscale,
}:
stdenvNoCC.mkDerivation {
pname = "beon";
version = "2024-02-26";
src = fetchFromGitHub {
owner = "noirblancrouge";
repo = "Beon";
rev = "c0379c80a3b7d01532413f43f49904b2567341ac";
hash = "sha256-jBLVVykHFJamOVF6GSRnQqYixqOrw5K1oV1B3sl4Zoc=";
};
nativeBuildInputs = [
mkfontscale
mkfontdir
];
installPhase = ''
runHook preInstall
install -D -v fonts/ttf/Beon-Regular.ttf $out/share/fonts/truetype/Beon-Regular.ttf
cd $out/share/fonts
mkfontdir
mkfontscale
runHook postInstall
'';
meta = {
description = "Neon stencil typeface";
homepage = "https://noirblancrouge.com/fonts/beon-display";
changelog = "https://github.com/noirblancrouge/Beon#changelog";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ raboof ];
platforms = lib.platforms.all;
};
}

View File

@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "cmd-wrapped";
version = "0.2.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "YiNNx";
repo = "cmd-wrapped";
rev = version;
hash = "sha256-YWX4T3EiBIbEG/NGShuHRyxfdVGrqQH6J42EDkRblNQ=";
rev = "v${version}";
hash = "sha256-tIvwJo33Jz9cPq6o4Ytc3VqkxEaxt0W9Fd8CNp+7vAE=";
};
cargoHash = "sha256-CM2IpWs1vGiXHvQNgHyD6cUgMYSkp5+23j+YyF9G9IE=";
cargoHash = "sha256-pAlAWG9Dfqhhvl7uVvzr4nx481seIwwzBg+5SSsje84=";
meta = with lib; {
description = "Find out what the past year looks like in commandline";

View File

@ -0,0 +1,35 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
glib,
dbus,
openssl_3,
}:
rustPlatform.buildRustPackage rec {
pname = "cwe-client-cli";
version = "0.3.2";
src = fetchFromGitHub {
owner = "NotBalds";
repo = "cwe-client-cli";
rev = "v${version}";
hash = "sha256-7zzmYwuQ+Sg8hf1zuKtKUMgk0Is1YJB4WdOKdxtWRA0=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
glib
dbus
openssl_3
];
cargoHash = "sha256-VgbNwqDVcORWJB5QjH39gZZtW1n2Me9FxVUhb4vIg1A=";
meta = {
description = "Simple command line client for CWE";
homepage = "https://github.com/NotBalds/cwe-client-cli";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ tbwanderer ];
mainProgram = "cwe-client-cli";
platforms = lib.platforms.linux;
};
}

View File

@ -15,7 +15,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dbeaver-bin";
version = "24.1.5";
version = "24.2.0";
src =
let
@ -28,10 +28,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
aarch64-darwin = "macos-aarch64.dmg";
};
hash = selectSystem {
x86_64-linux = "sha256-FdrQDQ+2nsZp44+sARXT89/ZXlkl/OGej1JuezXGgU4=";
aarch64-linux = "sha256-oNP0ntsQ79ckNXuQ3TeVf9ooGzwCq7WXI0TbjTLC5DI=";
x86_64-darwin = "sha256-YcmMZPigykA9vNEF32NzCQWMWPt1GM7VaWGSAZp/1YM=";
aarch64-darwin = "sha256-tz+Ap/YZJbc+obCLqq2b2HgRUORWkaOHVGEEJtwEJXo=";
x86_64-linux = "sha256-N4r2immlH6B6rWluFX9abU5gnavPFY1ZoNtKpzCxwh4=";
aarch64-linux = "sha256-oRU+0iMLno1xIVI3NzeJfDrz5CuPlccICM/zpxRvV40=";
x86_64-darwin = "sha256-oUUof1HYeULP3qPr9mB69ZU83VuI4hJ09w03fjc+1Y4=";
aarch64-darwin = "sha256-JZfj0dgaqEndzyLgBwFrFebWxz7O/53qA9aTeOEWvLE=";
};
in
fetchurl {

View File

@ -47,13 +47,13 @@ let
in
stdenv'.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.22.0";
version = "2.23.0";
src = fetchFromGitHub {
owner = "fastfetch-cli";
repo = "fastfetch";
rev = finalAttrs.version;
hash = "sha256-ncaBMSV7n4RVA2376ExBv+a8bzuvuMttv3GlNaOH23k=";
hash = "sha256-ry7FWja/FGSTQU1IhfXUA778yO0T3O1cvYsS4pcqURY=";
};
outputs = [

View File

@ -1,6 +1,19 @@
{ lib, stdenv, fetchurl, coreutils, openjdk17, makeWrapper, autoPatchelfHook
, zlib, libzen, libmediainfo, curlWithGnuTls, libmms, glib
, genericUpdater, writeShellScript
{
lib,
stdenv,
fetchurl,
coreutils,
openjdk17,
makeWrapper,
autoPatchelfHook,
zlib,
libzen,
libmediainfo,
curlWithGnuTls,
libmms,
glib,
genericUpdater,
writeShellScript,
}:
let
@ -8,20 +21,31 @@ let
url = "https://search.maven.org/remotecontent?filepath=com/googlecode/lanterna/lanterna/3.1.1/lanterna-3.1.1.jar";
hash = "sha256-7zxCeXYW5v9ritnvkwRpPKdgSptCmkT3HJOaNgQHUmQ=";
};
in stdenv.mkDerivation (finalAttrs: {
in
stdenv.mkDerivation (finalAttrs: {
pname = "filebot";
version = "5.1.4";
version = "5.1.5";
src = fetchurl {
url = "https://web.archive.org/web/20230917142929/https://get.filebot.net/filebot/FileBot_${finalAttrs.version}/FileBot_${finalAttrs.version}-portable.tar.xz";
hash = "sha256-UEgG3bQT5GPMfh/nxC1aXGsb8HKE5Ov5ax0ULjLr73U=";
hash = "sha256-fwyo9J5O728xxWHWvq63bTJMV4IAMAHZR0yr3Pb6d7U=";
};
unpackPhase = "tar xvf $src";
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
nativeBuildInputs = [
makeWrapper
autoPatchelfHook
];
buildInputs = [ zlib libzen libmediainfo curlWithGnuTls libmms glib ];
buildInputs = [
zlib
libzen
libmediainfo
curlWithGnuTls
libmms
glib
];
postPatch = ''
# replace lanterna.jar to be able to specify `com.googlecode.lanterna.terminal.UnixTerminal.sttyCommand`
@ -65,7 +89,10 @@ in stdenv.mkDerivation (finalAttrs: {
binaryNativeCode
];
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ gleber felschr ];
maintainers = with maintainers; [
gleber
felschr
];
platforms = platforms.linux;
mainProgram = "filebot";
};

View File

@ -0,0 +1,32 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "gersemi";
version = "0.15.1";
src = fetchFromGitHub {
owner = "BlankSpruce";
repo = "gersemi";
rev = version;
hash = "sha256-MyiGmMITD6TlZ98qsSDalQWOWnpqelTrXKn6MmBGYS0=";
};
propagatedBuildInputs = with python3Packages; [
appdirs
colorama
lark
pyyaml
];
meta = {
description = "Formatter to make your CMake code the real treasure";
homepage = "https://github.com/BlankSpruce/gersemi";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ xeals ];
mainProgram = "gersemi";
};
}

View File

@ -120,6 +120,8 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Plus;
mainProgram = "ghdl";
maintainers = with lib.maintainers; [ lucus16 thoughtpolice ];
platforms = lib.platforms.linux;
platforms =
lib.platforms.linux
++ lib.optionals (backend == "mcode" || backend == "llvm") [ "x86_64-darwin" ];
};
})

View File

@ -2,6 +2,8 @@
, fetchFromGitHub
, lib
, nix-update-script
, gitlab-ci-local
, testers
}:
buildNpmPackage rec {
@ -23,7 +25,12 @@ buildNpmPackage rec {
--replace-fail "npm run cleanup" "true"
'';
passthru.updateScript = nix-update-script { };
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion {
package = gitlab-ci-local;
};
};
meta = with lib;{
description = "Run gitlab pipelines locally as shell executor or docker executor";

View File

@ -2,16 +2,16 @@
buildNpmPackage rec {
pname = "inshellisense";
version = "0.0.1-rc.15";
version = "0.0.1-rc.16";
src = fetchFromGitHub {
owner = "microsoft";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-/6pU8ubasONPMe1qnE+Db0nzdHRQTo9fhMr7Xxjgsos=";
hash = "sha256-jqLYN251ZvLOjYsSQJmvQ1TupO4jz3Q23aDpKX+Puvs=";
};
npmDepsHash = "sha256-rOyvFA5X3o1TCgY54XxNSg0+QotA8IUauLngTtJuRj4=";
npmDepsHash = "sha256-rGUyA0RLnNZ6ocmHPXfBLJ6ZmeeTN9w+TJTtfTQQ24M=";
# Needed for dependency `@homebridge/node-pty-prebuilt-multiarch`
# On Darwin systems the build fails with,

File diff suppressed because it is too large Load Diff

View File

@ -12,13 +12,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "stirling-pdf";
version = "0.26.1";
version = "0.28.3";
src = fetchFromGitHub {
owner = "Stirling-Tools";
repo = "Stirling-PDF";
rev = "v${finalAttrs.version}";
hash = "sha256-msxP2n8Varc7/h9RVwYRBuD253JZu6/p7zQC1lmNmqc=";
hash = "sha256-88UdJPn9AeLtpKEu3efHm+xj4lheQ0EPyvId4vYskIo=";
};
patches = [
@ -58,6 +58,8 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = {
changelog = "https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v${finalAttrs.version}";
description = "Locally hosted web application that allows you to perform various operations on PDF files";

View File

@ -0,0 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
nix-update stirling-pdf
$(nix-build -A stirling-pdf.mitmCache.updateScript)

View File

@ -43,21 +43,6 @@ dependencies = [
"memchr",
]
[[package]]
name = "android-tzdata"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
[[package]]
name = "android_system_properties"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
dependencies = [
"libc",
]
[[package]]
name = "anes"
version = "0.1.6"
@ -133,9 +118,9 @@ checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a"
[[package]]
name = "arrayvec"
version = "0.7.4"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "assert-json-diff"
@ -307,9 +292,9 @@ dependencies = [
[[package]]
name = "axoupdater"
version = "0.7.0"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3adfac228780fcf162617739408bd8edeb1ae1d497c95082759c5e607cac1e71"
checksum = "14cd170d3b144de5288b99c69f30b36ee5eba837bed33f458f39c890e2049162"
dependencies = [
"axoasset",
"axoprocess",
@ -486,9 +471,9 @@ dependencies = [
[[package]]
name = "bytemuck"
version = "1.16.3"
version = "1.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83"
checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2"
[[package]]
name = "byteorder"
@ -549,9 +534,9 @@ dependencies = [
[[package]]
name = "camino"
version = "1.1.7"
version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
dependencies = [
"serde",
]
@ -587,12 +572,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cc"
version = "1.1.8"
version = "1.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "504bdec147f2cc13c8b57ed9401fd8a147cc66b67ad5cb241394244f2c947549"
checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6"
dependencies = [
"jobserver",
"libc",
"shlex",
]
[[package]]
@ -617,19 +603,6 @@ dependencies = [
"encoding_rs",
]
[[package]]
name = "chrono"
version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [
"android-tzdata",
"iana-time-zone",
"num-traits",
"serde",
"windows-targets 0.52.6",
]
[[package]]
name = "ciborium"
version = "0.2.2"
@ -682,9 +655,9 @@ dependencies = [
[[package]]
name = "clap_complete"
version = "4.5.13"
version = "4.5.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa3c596da3cf0983427b0df0dba359df9182c13bd5b519b585a482b0c351f4e8"
checksum = "6d7db6eca8c205649e8d3ccd05aa5042b1800a784e56bc7c43524fde8abbfa9b"
dependencies = [
"clap",
]
@ -730,9 +703,9 @@ checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
[[package]]
name = "cmake"
version = "0.1.50"
version = "0.1.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a"
dependencies = [
"cc",
]
@ -821,15 +794,15 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
version = "0.8.6"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "cpufeatures"
version = "0.2.12"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad"
dependencies = [
"libc",
]
@ -1188,9 +1161,9 @@ dependencies = [
[[package]]
name = "fastrand"
version = "2.1.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
[[package]]
name = "fdeflate"
@ -1203,9 +1176,9 @@ dependencies = [
[[package]]
name = "filetime"
version = "0.2.24"
version = "0.2.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550"
checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
dependencies = [
"cfg-if",
"libc",
@ -1485,9 +1458,9 @@ dependencies = [
[[package]]
name = "h2"
version = "0.4.5"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205"
dependencies = [
"atomic-waker",
"bytes",
@ -1545,6 +1518,12 @@ version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
[[package]]
name = "hermit-abi"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
[[package]]
name = "hex"
version = "0.4.3"
@ -1562,16 +1541,14 @@ dependencies = [
[[package]]
name = "homedir"
version = "0.2.1"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22074da8bba2ef26fc1737ae6c777b5baab5524c2dc403b5c6a76166766ccda5"
checksum = "2bed305c13ce3829a09d627f5d43ff738482a09361ae4eb8039993b55fb10e5e"
dependencies = [
"cfg-if",
"nix 0.26.4",
"serde",
"widestring",
"windows-sys 0.48.0",
"wmi",
"windows 0.57.0",
]
[[package]]
@ -1695,29 +1672,6 @@ dependencies = [
"tracing",
]
[[package]]
name = "iana-time-zone"
version = "0.1.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
"windows-core 0.52.0",
]
[[package]]
name = "iana-time-zone-haiku"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
"cc",
]
[[package]]
name = "idna"
version = "0.5.0"
@ -1763,9 +1717,9 @@ checksum = "b72ad49b554c1728b1e83254a1b1565aea4161e28dabbfa171fc15fe62299caf"
[[package]]
name = "indexmap"
version = "2.4.0"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c"
checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
dependencies = [
"equivalent",
"hashbrown 0.14.5",
@ -1863,11 +1817,11 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
[[package]]
name = "is-terminal"
version = "0.4.12"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
dependencies = [
"hermit-abi",
"hermit-abi 0.4.0",
"libc",
"windows-sys 0.52.0",
]
@ -1919,9 +1873,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "jiff"
version = "0.1.10"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ef8bc400f8312944a9f879db116fed372c4f0859af672eba2a80f79c767dd19"
checksum = "362be9c702bada57298130d0565e9c389e6d4024a541692f01819e21abc3e26a"
dependencies = [
"jiff-tzdb-platform",
"serde",
@ -1960,9 +1914,9 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
[[package]]
name = "js-sys"
version = "0.3.69"
version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a"
dependencies = [
"wasm-bindgen",
]
@ -2003,9 +1957,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
version = "0.2.155"
version = "0.2.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
[[package]]
name = "libmimalloc-sys"
@ -2227,11 +2181,11 @@ dependencies = [
[[package]]
name = "mio"
version = "1.0.1"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4"
checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
dependencies = [
"hermit-abi",
"hermit-abi 0.3.9",
"libc",
"wasi",
"windows-sys 0.52.0",
@ -2320,7 +2274,7 @@ version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
"hermit-abi",
"hermit-abi 0.3.9",
"libc",
]
@ -2332,9 +2286,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
[[package]]
name = "object"
version = "0.36.3"
version = "0.36.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9"
checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a"
dependencies = [
"memchr",
]
@ -2714,9 +2668,9 @@ dependencies = [
[[package]]
name = "priority-queue"
version = "2.0.3"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70c501afe3a2e25c9bd219aa56ec1e04cdb3fcdd763055be268778c13fa82c1f"
checksum = "560bcab673ff7f6ca9e270c17bf3affd8a05e3bd9207f123b0d45076fd8197e8"
dependencies = [
"autocfg",
"equivalent",
@ -3016,9 +2970,9 @@ dependencies = [
[[package]]
name = "redox_users"
version = "0.4.5"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom",
"libredox",
@ -3231,9 +3185,9 @@ dependencies = [
[[package]]
name = "rgb"
version = "0.8.48"
version = "0.8.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f86ae463694029097b846d8f99fd5536740602ae00022c0c50c5600720b2f71"
checksum = "09cd5a1e95672f201913966f39baf355b53b5d92833431847295ae0346a5b939"
dependencies = [
"bytemuck",
]
@ -3355,9 +3309,9 @@ checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
[[package]]
name = "rustix"
version = "0.38.34"
version = "0.38.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f"
dependencies = [
"bitflags 2.6.0",
"errno",
@ -3382,9 +3336,9 @@ dependencies = [
[[package]]
name = "rustls-native-certs"
version = "0.7.1"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba"
checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5"
dependencies = [
"openssl-probe",
"rustls-pemfile",
@ -3411,9 +3365,9 @@ checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
[[package]]
name = "rustls-webpki"
version = "0.102.6"
version = "0.102.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e"
checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56"
dependencies = [
"ring",
"rustls-pki-types",
@ -3636,6 +3590,12 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
[[package]]
name = "shlex"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "signal-hook-registry"
version = "1.4.2"
@ -4071,9 +4031,9 @@ source = "git+https://github.com/charliermarsh/tl.git?rev=6e25b2ee2513d75385101a
[[package]]
name = "tokio"
version = "1.39.3"
version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5"
checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998"
dependencies = [
"backtrace",
"bytes",
@ -4201,15 +4161,15 @@ dependencies = [
[[package]]
name = "tower-layer"
version = "0.3.2"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
[[package]]
name = "tower-service"
version = "0.3.2"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
@ -4492,7 +4452,7 @@ checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
[[package]]
name = "uv"
version = "0.4.1"
version = "0.4.3"
dependencies = [
"anstream",
"anyhow",
@ -5044,7 +5004,7 @@ dependencies = [
"uv-warnings",
"which",
"windows-registry",
"windows-result",
"windows-result 0.2.0",
"windows-sys 0.59.0",
"winsafe 0.0.22",
]
@ -5249,7 +5209,7 @@ dependencies = [
[[package]]
name = "uv-version"
version = "0.4.1"
version = "0.4.3"
[[package]]
name = "uv-virtualenv"
@ -5354,19 +5314,20 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.92"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
dependencies = [
"cfg-if",
"once_cell",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.92"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
dependencies = [
"bumpalo",
"log",
@ -5379,9 +5340,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.42"
version = "0.4.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed"
dependencies = [
"cfg-if",
"js-sys",
@ -5391,9 +5352,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.92"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@ -5401,9 +5362,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.92"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [
"proc-macro2",
"quote",
@ -5414,9 +5375,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.92"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
[[package]]
name = "wasm-streams"
@ -5448,9 +5409,9 @@ dependencies = [
[[package]]
name = "web-sys"
version = "0.3.69"
version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -5523,13 +5484,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.52.0"
version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
dependencies = [
"windows-core 0.52.0",
"windows-implement 0.52.0",
"windows-interface 0.52.0",
"windows-core 0.57.0",
"windows-targets 0.52.6",
]
@ -5545,10 +5504,13 @@ dependencies = [
[[package]]
name = "windows-core"
version = "0.52.0"
version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
dependencies = [
"windows-implement 0.57.0",
"windows-interface 0.57.0",
"windows-result 0.1.2",
"windows-targets 0.52.6",
]
@ -5560,16 +5522,16 @@ checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
dependencies = [
"windows-implement 0.58.0",
"windows-interface 0.58.0",
"windows-result",
"windows-result 0.2.0",
"windows-strings",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-implement"
version = "0.52.0"
version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946"
checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
dependencies = [
"proc-macro2",
"quote",
@ -5589,9 +5551,9 @@ dependencies = [
[[package]]
name = "windows-interface"
version = "0.52.0"
version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1"
checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
dependencies = [
"proc-macro2",
"quote",
@ -5615,11 +5577,20 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
dependencies = [
"windows-result",
"windows-result 0.2.0",
"windows-strings",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-result"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-result"
version = "0.2.0"
@ -5635,7 +5606,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
dependencies = [
"windows-result",
"windows-result 0.2.0",
"windows-targets 0.52.6",
]
@ -5842,20 +5813,6 @@ dependencies = [
"url",
]
[[package]]
name = "wmi"
version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc2f0a4062ca522aad4705a2948fd4061b3857537990202a8ddd5af21607f79a"
dependencies = [
"chrono",
"futures",
"log",
"serde",
"thiserror",
"windows 0.52.0",
]
[[package]]
name = "wyz"
version = "0.5.1"

View File

@ -16,14 +16,14 @@
python3Packages.buildPythonApplication rec {
pname = "uv";
version = "0.4.1";
version = "0.4.3";
pyproject = true;
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = "refs/tags/${version}";
hash = "sha256-gjACm0q9j5Kx9E1rxiR7Bvg4FoAATesQyO0y8kbsTJI=";
hash = "sha256-NxnG7mKl0mB4sLKgzhgCBfp9e/Bz7bRqv5ShY4i01TY=";
};
cargoDeps = rustPlatform.importCargoLock {

View File

@ -34,7 +34,7 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "weblate";
version = "5.7";
version = "5.7.1";
pyproject = true;
@ -46,8 +46,8 @@ python.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "WeblateOrg";
repo = "weblate";
rev = "weblate-${version}";
sha256 = "sha256-h5+0lOMD+H0ehtZ0bngA9bI5va1I5KjZH9boaEtXJPo=";
rev = "refs/tags/weblate-${version}";
hash = "sha256-mVcVthOiUTTYGRIp6pcubMsHZW55P86ZCfeno6JjN4I=";
};
patches = [

View File

@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "liblouis";
version = "3.30.0";
version = "3.31.0";
outputs = [ "out" "dev" "info" "doc" ]
# configure: WARNING: cannot generate manual pages while cross compiling
@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "liblouis";
repo = "liblouis";
rev = "v${finalAttrs.version}";
hash = "sha256-VeDthGET1PcKXzXkztJCcN6yXgf51bcIyawuyUurwBs=";
hash = "sha256-0OnIvRwoL7GsuQPXJixA0DRf/tf8CNqwe9lHSahQbwk=";
};
strictDeps = true;

View File

@ -8,7 +8,6 @@
, lapack
, fflas-ffpack
, gmpxx
, withSage ? false # sage support
}:
assert (!blas.isILP64) && (!lapack.isILP64);
@ -56,8 +55,6 @@ stdenv.mkDerivation rec {
"--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2"
"--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma"
"--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4"
] ++ lib.optionals withSage [
"--enable-sage"
];
# https://github.com/linbox-team/linbox/issues/304

View File

@ -59,10 +59,17 @@ stdenv.mkDerivation rec {
# Example from the README as a sanity check.
doInstallCheck = true;
installCheckPhase = ''
export HOME=$TMPDIR
"$out/bin/sympow" -sp 2p16 -curve "[1,2,3,4,5]" | grep '8.3705'
'';
installCheckPhase =
''
export HOME=$TMPDIR
"$out/bin/sympow" -curve "[1,2,3,4,5]" -moddeg | grep 'Modular Degree is 464'
echo "[1,-1,0,-79,289]" | "$out/bin/sympow" -analrank | grep ^"Analytic Rank is 4"
"$out/bin/sympow" -curve "[1,-1,0,-79,289]" -analrank | grep ^"Analytic Rank is 4"
"$out/bin/sympow" -curve "[0,1,1,-2,0]" -analrank | grep ^"Analytic Rank is 2"
''
+ lib.optionalString (!stdenv.isAarch64) ''
"$out/bin/sympow" -sp 2p16 -curve "[1,2,3,4,5]" | grep '8.3705'
'';
meta = {
description = "Compute special values of symmetric power elliptic curve L-functions";
@ -73,6 +80,6 @@ stdenv.mkDerivation rec {
free = true;
};
maintainers = lib.teams.sage.members;
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
};
}

View File

@ -1086,6 +1086,29 @@ buildLuarocksPackage {
};
}) {};
lsp-progress-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "lsp-progress.nvim";
version = "1.0.13-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/lsp-progress.nvim-1.0.13-1.rockspec";
sha256 = "13h0kyrri0bvhkzvyngamsacx62n2dhb2j2gs495z4ghyh1p345i";
}).outPath;
src = fetchzip {
url = "https://github.com/linrongbin16/lsp-progress.nvim/archive/d5f4d28efe75ce636bfbe271eb45f39689765aab.zip";
sha256 = "0h63z55gwv36rahhha8vkbxb9n4f8psa265khz719i97j17x39rr";
};
disabled = luaOlder "5.1";
meta = {
homepage = "https://linrongbin16.github.io/lsp-progress.nvim/";
description = "A performant lsp progress status for Neovim.";
maintainers = with lib.maintainers; [ gepbird ];
license.fullName = "MIT";
};
}) {};
lua-cjson = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
buildLuarocksPackage {
pname = "lua-cjson";

View File

@ -228,7 +228,7 @@ final: prev: {
version = esbuild-version;
src = fetchurl {
url = "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-${esbuild-version}.tgz";
sha512 = "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==";
sha512 = "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==";
};
};
esbuild-darwin-arm64 = {
@ -237,7 +237,7 @@ final: prev: {
version = esbuild-version;
src = fetchurl {
url = "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-${esbuild-version}.tgz";
sha512 = "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==";
sha512 = "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==";
};
};
in{

View File

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "django-otp";
version = "1.5.1";
version = "1.5.2";
pyproject = true;
src = fetchFromGitHub {
owner = "django-otp";
repo = "django-otp";
rev = "v${version}";
hash = "sha256-1tatp4CQowaHZ5w9IPiKZ3rT5jREXZnwK9iSAYaUhis=";
hash = "sha256-fn3MptdlnqY0rOLwcPhKiLfrhYvov4YVLZ58Jp/j6zc=";
};
build-system = [ hatchling ];

View File

@ -1,30 +1,34 @@
{
lib,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
ipykernel,
jupyter-core,
jupyter-client,
pygments,
pyqt5,
pytestCheckHook,
pythonOlder,
pyzmq,
qtpy,
setuptools,
traitlets,
# tests
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "qtconsole";
version = "5.5.2";
version = "5.6.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-a1+xEnSyl0Y3Bq+E3LvVySJzsfYZ5tJdCIdLCohRaYk=";
src = fetchFromGitHub {
owner = "jupyter";
repo = "qtconsole";
rev = "refs/tags/${version}";
hash = "sha256-V82tGAmpvfGeUoewtJXXsBBXx2HNcV9/IMJxJg3bJL8=";
};
build-system = [ setuptools ];
@ -35,7 +39,6 @@ buildPythonPackage rec {
jupyter-client
pygments
pyqt5
pyzmq
qtpy
traitlets
];
@ -47,11 +50,13 @@ buildPythonPackage rec {
pythonImportsCheck = [ "qtconsole" ];
meta = with lib; {
meta = {
description = "Jupyter Qt console";
mainProgram = "jupyter-qtconsole";
homepage = "https://qtconsole.readthedocs.io/";
license = licenses.bsd3;
platforms = platforms.unix;
changelog = "https://qtconsole.readthedocs.io/en/stable/changelog.html#changes-in-jupyter-qt-console";
license = lib.licenses.bsd3;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}

View File

@ -1,14 +1,16 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
cloudpickle,
fetchPypi,
ipykernel,
ipython,
jupyter-client,
packaging,
pythonOlder,
pyxdg,
pyzmq,
wurlitzer,
@ -16,15 +18,14 @@
buildPythonPackage rec {
pname = "spyder-kernels";
version = "2.5.2";
version = "3.0.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "spyder_kernels";
inherit version;
hash = "sha256-cfJSkA4CsDlIIMxwSfie1yUkP2/M9kC3bdMpIDxBOWA=";
src = fetchFromGitHub {
owner = "spyder-ide";
repo = "spyder-kernels";
rev = "refs/tags/v${version}";
hash = "sha256-oyPgujvaj2tqouZKuMVDq3gxm0GNrKmeUWqUFUkEMB4=";
};
build-system = [ setuptools ];
@ -34,7 +35,6 @@ buildPythonPackage rec {
ipykernel
ipython
jupyter-client
packaging
pyxdg
pyzmq
wurlitzer

View File

@ -5,11 +5,14 @@
pythonOlder,
# dependencies
aiohttp,
asyncssh,
atomicwrites,
chardet,
cloudpickle,
cookiecutter,
diff-match-patch,
fzf,
intervaltree,
jedi,
jellyfish,
@ -20,6 +23,7 @@
numpydoc,
pickleshare,
psutil,
pygithub,
pygments,
pylint-venv,
pyls-spyder,
@ -27,7 +31,7 @@
pyqtwebengine,
python-lsp-black,
python-lsp-server,
pyxdg,
pyuca,
pyzmq,
qdarkstyle,
qstylizer,
@ -39,21 +43,21 @@
scipy,
setuptools,
spyder-kernels,
superqt,
textdistance,
three-merge,
watchdog,
yarl,
}:
buildPythonPackage rec {
pname = "spyder";
version = "5.5.6";
version = "6.0.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-lYtmn0oBXFw5EFDrbv+o2EZWqL/Eel9GrbopeEnYK90=";
hash = "sha256-/UUtSpSkt1hJeIZfBLe8owP82jRx02kUF6TdfCsq6CY=";
};
patches = [ ./dont-clear-pythonpath.patch ];
@ -64,11 +68,14 @@ buildPythonPackage rec {
];
dependencies = [
aiohttp
asyncssh
atomicwrites
chardet
cloudpickle
cookiecutter
diff-match-patch
fzf
intervaltree
jedi
jellyfish
@ -79,6 +86,7 @@ buildPythonPackage rec {
numpydoc
pickleshare
psutil
pygithub
pygments
pylint-venv
pyls-spyder
@ -86,7 +94,7 @@ buildPythonPackage rec {
pyqtwebengine
python-lsp-black
python-lsp-server
pyxdg
pyuca
pyzmq
qdarkstyle
qstylizer
@ -97,9 +105,11 @@ buildPythonPackage rec {
rtree
scipy
spyder-kernels
superqt
textdistance
three-merge
watchdog
yarl
] ++ python-lsp-server.optional-dependencies.all;
# There is no test for spyder

View File

@ -1,25 +1,21 @@
diff --git a/spyder/app/start.py b/spyder/app/start.py
index 97b08a600..66486e510 100644
index ad9f2b8d0..442b4fc46 100644
--- a/spyder/app/start.py
+++ b/spyder/app/start.py
@@ -6,20 +6,8 @@
@@ -6,16 +6,8 @@
# (see spyder/__init__.py for details)
# -----------------------------------------------------------------------------
-# Remove PYTHONPATH paths from sys.path before other imports to protect against
-# shadowed standard libraries.
import os
import sys
-if os.environ.get('PYTHONPATH'):
- for path in os.environ['PYTHONPATH'].split(os.pathsep):
- if os.name == 'nt' and 'pkgs' in path:
- # Don't remove pynsist installer entry for 'pkgs' directory
- continue
- else:
- try:
- sys.path.remove(path.rstrip(os.sep))
- except ValueError:
- pass
- try:
- sys.path.remove(path.rstrip(os.sep))
- except ValueError:
- pass
# Standard library imports
import ctypes

View File

@ -1,27 +1,30 @@
{
lib,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
# build-system
poetry-core,
# buildInputs
deprecation,
docker,
wrapt,
# dependencies
typing-extensions,
}:
buildPythonPackage rec {
pname = "testcontainers";
version = "4.8.0";
version = "4.8.1";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "testcontainers";
repo = "testcontainers-python";
rev = "refs/tags/testcontainers-v${version}";
hash = "sha256-4PYtWn3NqGYe4BrYTG/CwPAdPVFkdUyFuAxwGQvd6y8=";
hash = "sha256-UCT0AmpDWMiAeRuW4BadZl4cJFCQPDogHOSkTYi/tqM=";
};
postPatch = ''

View File

@ -57,7 +57,7 @@
grpcio,
}:
let
version = "0.15.8";
version = "0.15.9";
optional-dependencies = {
huggingflace = [
langdetect
@ -100,7 +100,7 @@ buildPythonPackage {
owner = "Unstructured-IO";
repo = "unstructured";
rev = "refs/tags/${version}";
hash = "sha256-smNbkSBntGRaJuzJRcp0J5vdjf/xWMqF1IaHMAKPXjw=";
hash = "sha256-AJz7E/XBtsZtN0wQzA9Elk/gXPtkcrkN934OIc0MTYg=";
};
propagatedBuildInputs = [

View File

@ -26,7 +26,7 @@
buildPythonPackage rec {
pname = "vector";
version = "1.4.1";
version = "1.5.1";
pyproject = true;
disabled = pythonOlder "3.8";
@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "scikit-hep";
repo = "vector";
rev = "refs/tags/v${version}";
hash = "sha256-ckwJgh5aWFTwoEBVmKukdk+cmQeOuecLiYD2EcuELGw=";
hash = "sha256-bTCcuJosoR0/n6QiJuCIeE9oPab9RKAbUXXA+sAkX48=";
};
build-system = [
@ -62,10 +62,16 @@ buildPythonPackage rec {
__darwinAllowLocalNetworking = true;
disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
# AssertionError: assert 2.1073424255447017e-08 == 0.0
"test_issue_463"
];
disabledTests =
[
# AssertionError (unclear why)
"test_rhophi_eta_tau"
"test_xy_eta_tau"
]
++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
# AssertionError: assert 2.1073424255447017e-08 == 0.0
"test_issue_463"
];
meta = {
description = "Library for 2D, 3D, and Lorentz vectors, especially arrays of vectors, to solve common physics problems in a NumPy-like way";

View File

@ -8,16 +8,17 @@
buildPythonPackage rec {
pname = "weblate-language-data";
version = "2024.5";
version = "2024.6";
pyproject = true;
build-system = [ setuptools ];
src = fetchPypi {
pname = "weblate_language_data";
inherit version;
hash = "sha256-kDt5ZF8cFH6HoQVlGX+jbchbwVCUIvmxHsCY3hjtjDM=";
hash = "sha256-FGLrjptIqMeKAV/O2H6ZcP+uGcr1ghqIxAHsYnOpVxg=";
};
build-system = [ setuptools ];
dependencies = [ translate-toolkit ];
# No tests

View File

@ -1,6 +1,6 @@
{ buildGoModule, fetchFromGitHub, lib, installShellFiles }:
{ buildGo123Module, fetchFromGitHub, lib, installShellFiles }:
buildGoModule rec {
buildGo123Module rec {
pname = "golangci-lint";
version = "1.60.3";

View File

@ -13,16 +13,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "deno";
version = "1.45.5";
version = "1.46.2";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
hash = "sha256-hV//IH9PoAS9vt7uESBAyD6KYhZdCQuMx4NtB+BaBss=";
hash = "sha256-6rmAgGX7BnhbyDk0Pmp1uLBDywlK4cptTOfuvNhm0KE=";
};
cargoHash = "sha256-TopzwlyvaDnZ3J2oDz9a27Fw3aRM000IcvKBykDPytU=";
cargoHash = "sha256-B+O2QYQDH+mqbnJhLumFWnv1b7dvnbpR7JG/3IS5tnI=";
postPatch = ''
# upstream uses lld on aarch64-darwin for faster builds

View File

@ -13,11 +13,11 @@ let
};
in
fetch_librusty_v8 {
version = "0.99.0";
version = "0.105.0";
shas = {
x86_64-linux = "sha256-rXAxKDTDB7tU5T6tf7XQUEAbDD2PXfzU+0bgA6WOsOQ=";
aarch64-linux = "sha256-4V3EtxH+rGsJzam57OByLlB0D1xtnSz+1P34EfaIry4=";
x86_64-darwin = "sha256-fYo8B9uMS6ElPA+4A3wLQvuLH2dqar6hGhpOTvnKK7s=";
aarch64-darwin = "sha256-vh/fitDe3s0AoncO9nlJPNTMLQhWuJnYzFHsYdmERrU=";
x86_64-linux = "sha256-9yON4DNPxm4IUZSLZp9VZtzSRPPWX1tEuQLVJmN8cLs=";
aarch64-linux = "sha256-5vAjw2vimjCHKPxjIp5vcwMCWUUDYVlk4QyOeEI0DLY=";
x86_64-darwin = "sha256-o4WRkg4ptiJTNMkorn5K+P8xOJwpChM5PqkZCjP076g=";
aarch64-darwin = "sha256-ZuWBnvxu1PgDtjtguxtj3BhFO01AChlbjAS0kZUws3A=";
};
}

View File

@ -27,7 +27,7 @@
stdenv.mkDerivation rec {
pname = "power-profiles-daemon";
version = "0.21";
version = "0.22";
outputs = [ "out" "devdoc" ];
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
owner = "upower";
repo = "power-profiles-daemon";
rev = version;
sha256 = "sha256-5JbMbz38SeNEkVKFjJLxeUHiOrx+QCaK/vXgRPbzwzY=";
sha256 = "sha256-NzaneS/Za73HSK2abBZNmP+ZPbhIG+JXfBTPHm2vBeU=";
};
nativeBuildInputs = [

View File

@ -11,15 +11,15 @@
rustPlatform.buildRustPackage rec {
pname = "nostr-rs-relay";
version = "0.8.13";
version = "0.8.13-unstable-2024-08-14";
src = fetchFromGitHub {
owner = "scsibug";
repo = "nostr-rs-relay";
rev = version;
hash = "sha256-YgYi387b1qlGpjupqgGuLx8muHJ1iMx1sH82UW3TsQg=";
rev = "5a2189062560709b641bb13bedaca2cd478b4403";
hash = "sha256-ZUndTcLGdAODgSsIqajlNdaEYbYWame0vFRBVmRFzKw=";
};
cargoHash = "sha256-CwyX8VlzH/y5LZtaMDd/4yWGCZLczc9bW4AqUzQFFKU=";
cargoHash = "sha256-+agmlg6tAnEJ5o586fUY7V4fdNScDPKCbaZqt7R3gqg=";
buildInputs = [ openssl.dev ]
++ lib.optionals stdenv.isDarwin [

View File

@ -6,18 +6,19 @@
, yarn
, makeBinaryWrapper
, nodejs
, python311
, node-gyp
, python3
, nixosTests
}:
let
version = "1.9.9";
version = "1.10.0";
src = fetchFromGitHub {
owner = "hedgedoc";
repo = "hedgedoc";
rev = version;
hash = "sha256-6eKTgEZ+YLoSmPQWBS95fJ+ioIxeTVlT+moqslByPPw=";
hash = "sha256-cRIpcoD9WzLYxKYpkvhRxUmeyJR5z2QyqApzWvQND+s=";
};
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
@ -42,7 +43,7 @@ let
'';
outputHashMode = "recursive";
outputHash = "sha256-Ga+tl4oZlum43tdfez1oWGMHZAfyePGl47S+9NRRvW8=";
outputHash = "sha256-RV9xzNVE4//tPVWVaET78ML3ah+hkZ8x6mTAxe5/pdE=";
};
in stdenv.mkDerivation {
@ -51,12 +52,12 @@ in stdenv.mkDerivation {
nativeBuildInputs = [
makeBinaryWrapper
(python3.withPackages (ps: with ps; [ setuptools ])) # required to build sqlite3 bindings
yarn
python311 # needed for sqlite node-gyp
];
buildInputs = [
nodejs
nodejs # for shebangs
];
dontConfigure = true;
@ -67,15 +68,8 @@ in stdenv.mkDerivation {
export HOME=$(mktemp -d)
yarn config set enableTelemetry 0
yarn config set cacheFolder ${offlineCache}
export npm_config_nodedir=${nodejs} # prevent node-gyp from downloading headers
# This will fail but create the sqlite3 files we can patch
yarn --immutable-cache || :
# Ensure we don't download any node things
sed -i 's:--fallback-to-build:--build-from-source --nodedir=${nodejs}/include/node:g' node_modules/sqlite3/package.json
export CPPFLAGS="-I${nodejs}/include/node"
# Perform the actual install
yarn --immutable-cache
yarn run build

View File

@ -1,8 +1,8 @@
{ lib, stdenv, file, fetchurl, makeWrapper,
autoPatchelfHook, jsoncpp, libpulseaudio }:
let
versionMajor = "8.4";
versionMinor = "2";
versionMajor = "8.13";
versionMinor = "1";
versionBuild_x86_64 = "1";
versionBuild_i686 = "1";
in
@ -14,12 +14,12 @@ in
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz";
sha256 = "sha256-r4yRmnMd6uNay7CqmyqYj9F6huoqD8eBby+oDNk1T34=";
sha256 = "sha256-8rxlxdtGU8avpvYJr+bpnsy5v91sqtlij/MCGWrcanY=";
}
else if stdenv.hostPlatform.system == "i686-linux" then
fetchurl {
url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz";
sha256 = "sha256-TvEU1hDvPXQbF7fMI89I2bhap1Y0oetUoFl3yR5eTGg=";
sha256 = "sha256-Ekyxc4wODjqWhp0aINhaPGLy9lh6Rt9AmxIt1ulE8Go=";
}
else
throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}";
@ -56,10 +56,10 @@ in
mkdir $out/share/applications
cp share/applnk/player/xdg/*.desktop $out/share/applications/
cp share/applnk/client/xdg-mime/*.desktop $out/share/applications/
cp share/applnk/runner/xdg-mime/*.desktop $out/share/applications/
mkdir -p $out/share/mime/packages
cp share/applnk/client/xdg-mime/*.xml $out/share/mime/packages/
cp share/applnk/runner/xdg-mime/*.xml $out/share/mime/packages/
for i in $out/share/applications/*.desktop; do
substituteInPlace "$i" --replace /usr/NX/bin $out/bin

View File

@ -5039,8 +5039,6 @@ with pkgs;
filebench = callPackage ../tools/misc/filebench { };
filebot = callPackage ../applications/video/filebot { };
fileshare = callPackage ../servers/fileshare { };
fileshelter = callPackage ../servers/web-apps/fileshelter { };