Merge staging-next into staging
This commit is contained in:
@@ -116,6 +116,16 @@ A nominal type marker, always `"configuration"`.
|
||||
|
||||
The [`class` argument](#module-system-lib-evalModules-param-class).
|
||||
|
||||
#### `graph` {#module-system-lib-evalModules-return-value-graph}
|
||||
|
||||
Represents all the modules that took part in the evaluation.
|
||||
It is a list of `ModuleGraph` where `ModuleGraph` is defined as an attribute set with the following attributes:
|
||||
|
||||
- `key`: `string` for the purpose of module deduplication and `disabledModules`
|
||||
- `file`: `string` for the purpose of error messages and warnings
|
||||
- `imports`: `[ ModuleGraph ]`
|
||||
- `disabled`: `bool`
|
||||
|
||||
## Module arguments {#module-system-module-arguments}
|
||||
|
||||
Module arguments are the attribute values passed to modules when they are evaluated.
|
||||
|
||||
@@ -487,6 +487,9 @@
|
||||
"module-system-lib-evalModules-return-value-_configurationClass": [
|
||||
"index.html#module-system-lib-evalModules-return-value-_configurationClass"
|
||||
],
|
||||
"module-system-lib-evalModules-return-value-graph": [
|
||||
"index.html#module-system-lib-evalModules-return-value-graph"
|
||||
],
|
||||
"part-stdenv": [
|
||||
"index.html#part-stdenv"
|
||||
],
|
||||
|
||||
+71
-44
@@ -245,25 +245,26 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
merged =
|
||||
let
|
||||
collected =
|
||||
collectModules class (specialArgs.modulesPath or "") (regularModules ++ [ internalModule ])
|
||||
(
|
||||
{
|
||||
inherit
|
||||
lib
|
||||
options
|
||||
specialArgs
|
||||
;
|
||||
_class = class;
|
||||
_prefix = prefix;
|
||||
config = addErrorContext "if you get an infinite recursion here, you probably reference `config` in `imports`. If you are trying to achieve a conditional import behavior dependent on `config`, consider importing unconditionally, and using `mkEnableOption` and `mkIf` to control its effect." config;
|
||||
}
|
||||
// specialArgs
|
||||
);
|
||||
in
|
||||
mergeModules prefix (reverseList collected);
|
||||
# This function takes an empty attrset as an argument.
|
||||
# It could theoretically be replaced with its body,
|
||||
# but such a binding is avoided to allow for earlier grabage collection.
|
||||
doCollect =
|
||||
{ }:
|
||||
collectModules class (specialArgs.modulesPath or "") (regularModules ++ [ internalModule ]) (
|
||||
{
|
||||
inherit
|
||||
lib
|
||||
options
|
||||
specialArgs
|
||||
;
|
||||
_class = class;
|
||||
_prefix = prefix;
|
||||
config = addErrorContext "if you get an infinite recursion here, you probably reference `config` in `imports`. If you are trying to achieve a conditional import behavior dependent on `config`, consider importing unconditionally, and using `mkEnableOption` and `mkIf` to control its effect." config;
|
||||
}
|
||||
// specialArgs
|
||||
);
|
||||
|
||||
merged = mergeModules prefix (reverseList (doCollect { }).modules);
|
||||
|
||||
options = merged.matchedOptions;
|
||||
|
||||
@@ -359,12 +360,13 @@ let
|
||||
options = checked options;
|
||||
config = checked (removeAttrs config [ "_module" ]);
|
||||
_module = checked (config._module);
|
||||
inherit (doCollect { }) graph;
|
||||
inherit extendModules type class;
|
||||
};
|
||||
in
|
||||
result;
|
||||
|
||||
# collectModules :: (class: String) -> (modulesPath: String) -> (modules: [ Module ]) -> (args: Attrs) -> [ Module ]
|
||||
# collectModules :: (class: String) -> (modulesPath: String) -> (modules: [ Module ]) -> (args: Attrs) -> ModulesTree
|
||||
#
|
||||
# Collects all modules recursively through `import` statements, filtering out
|
||||
# all modules in disabledModules.
|
||||
@@ -424,8 +426,37 @@ let
|
||||
else
|
||||
m: m;
|
||||
|
||||
# isDisabled :: String -> [ { disabled, file } ] -> StructuredModule -> bool
|
||||
#
|
||||
# Figures out whether a `StructuredModule` is disabled.
|
||||
isDisabled =
|
||||
modulesPath: disabledList:
|
||||
let
|
||||
moduleKey =
|
||||
file: m:
|
||||
if isString m then
|
||||
if substring 0 1 m == "/" then m else toString modulesPath + "/" + m
|
||||
|
||||
else if isConvertibleWithToString m then
|
||||
if m ? key && m.key != toString m then
|
||||
throw "Module `${file}` contains a disabledModules item that is an attribute set that can be converted to a string (${toString m}) but also has a `.key` attribute (${m.key}) with a different value. This makes it ambiguous which module should be disabled."
|
||||
else
|
||||
toString m
|
||||
|
||||
else if m ? key then
|
||||
m.key
|
||||
|
||||
else if isAttrs m then
|
||||
throw "Module `${file}` contains a disabledModules item that is an attribute set, presumably a module, that does not have a `key` attribute. This means that the module system doesn't have any means to identify the module that should be disabled. Make sure that you've put the correct value in disabledModules: a string path relative to modulesPath, a path value, or an attribute set with a `key` attribute."
|
||||
else
|
||||
throw "Each disabledModules item must be a path, string, or a attribute set with a key attribute, or a value supported by toString. However, one of the disabledModules items in `${toString file}` is none of that, but is of type ${typeOf m}.";
|
||||
|
||||
disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabledList;
|
||||
in
|
||||
structuredModule: elem structuredModule.key disabledKeys;
|
||||
|
||||
/**
|
||||
Collects all modules recursively into the form
|
||||
Collects all modules recursively into a `[ StructuredModule ]` and a list of disabled modules:
|
||||
|
||||
{
|
||||
disabled = [ <list of disabled modules> ];
|
||||
@@ -493,36 +524,32 @@ let
|
||||
modulesPath:
|
||||
{ disabled, modules }:
|
||||
let
|
||||
moduleKey =
|
||||
file: m:
|
||||
if isString m then
|
||||
if substring 0 1 m == "/" then m else toString modulesPath + "/" + m
|
||||
|
||||
else if isConvertibleWithToString m then
|
||||
if m ? key && m.key != toString m then
|
||||
throw "Module `${file}` contains a disabledModules item that is an attribute set that can be converted to a string (${toString m}) but also has a `.key` attribute (${m.key}) with a different value. This makes it ambiguous which module should be disabled."
|
||||
else
|
||||
toString m
|
||||
|
||||
else if m ? key then
|
||||
m.key
|
||||
|
||||
else if isAttrs m then
|
||||
throw "Module `${file}` contains a disabledModules item that is an attribute set, presumably a module, that does not have a `key` attribute. This means that the module system doesn't have any means to identify the module that should be disabled. Make sure that you've put the correct value in disabledModules: a string path relative to modulesPath, a path value, or an attribute set with a `key` attribute."
|
||||
else
|
||||
throw "Each disabledModules item must be a path, string, or a attribute set with a key attribute, or a value supported by toString. However, one of the disabledModules items in `${toString file}` is none of that, but is of type ${typeOf m}.";
|
||||
|
||||
disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabled;
|
||||
keyFilter = filter (attrs: !elem attrs.key disabledKeys);
|
||||
keyFilter = filter (attrs: !isDisabled modulesPath disabled attrs);
|
||||
in
|
||||
map (attrs: attrs.module) (genericClosure {
|
||||
startSet = keyFilter modules;
|
||||
operator = attrs: keyFilter attrs.modules;
|
||||
});
|
||||
|
||||
toGraph =
|
||||
modulesPath:
|
||||
{ disabled, modules }:
|
||||
let
|
||||
isDisabledModule = isDisabled modulesPath disabled;
|
||||
|
||||
toModuleGraph = structuredModule: {
|
||||
disabled = isDisabledModule structuredModule;
|
||||
inherit (structuredModule) key;
|
||||
file = structuredModule.module._file;
|
||||
imports = map toModuleGraph structuredModule.modules;
|
||||
};
|
||||
in
|
||||
map toModuleGraph (filter (x: x.key != "lib/modules.nix") modules);
|
||||
in
|
||||
modulesPath: initialModules: args:
|
||||
filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
modulesPath: initialModules: args: {
|
||||
modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
};
|
||||
|
||||
/**
|
||||
Wrap a module with a default location for reporting errors.
|
||||
|
||||
+22
-1
@@ -20,6 +20,10 @@ cd "$DIR"/modules
|
||||
pass=0
|
||||
fail=0
|
||||
|
||||
local-nix-instantiate() {
|
||||
nix-instantiate --timeout 1 --eval-only --show-trace --read-write-mode --json "$@"
|
||||
}
|
||||
|
||||
# loc
|
||||
# prints the location of the call of to the function that calls it
|
||||
# loc n
|
||||
@@ -55,7 +59,7 @@ evalConfig() {
|
||||
local attr=$1
|
||||
shift
|
||||
local script="import ./default.nix { modules = [ $* ];}"
|
||||
nix-instantiate --timeout 1 -E "$script" -A "$attr" --eval-only --show-trace --read-write-mode --json
|
||||
local-nix-instantiate -E "$script" -A "$attr"
|
||||
}
|
||||
|
||||
reportFailure() {
|
||||
@@ -106,6 +110,20 @@ globalErrorLogCheck() {
|
||||
}
|
||||
}
|
||||
|
||||
checkExpression() {
|
||||
local path=$1
|
||||
local output
|
||||
{
|
||||
output="$(local-nix-instantiate --strict "$path" 2>&1)" && ((++pass))
|
||||
} || {
|
||||
logStartFailure
|
||||
echo "$output"
|
||||
((++fail))
|
||||
logFailure
|
||||
logEndFailure
|
||||
}
|
||||
}
|
||||
|
||||
checkConfigError() {
|
||||
local errorContains=$1
|
||||
local err=""
|
||||
@@ -337,6 +355,9 @@ checkConfigOutput '^12$' config.value ./declare-coerced-value-unsound.nix
|
||||
checkConfigError 'A definition for option .* is not of type .*. Definition values:\n\s*- In .*: "1000"' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix
|
||||
checkConfigError 'toInt: Could not convert .* to int' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix
|
||||
|
||||
# Check `graph` attribute
|
||||
checkExpression './graph/test.nix'
|
||||
|
||||
# Check mkAliasOptionModule.
|
||||
checkConfigOutput '^true$' config.enable ./alias-with-priority.nix
|
||||
checkConfigOutput '^true$' config.enableAlias ./alias-with-priority.nix
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
imports = [
|
||||
{
|
||||
imports = [ { } ];
|
||||
}
|
||||
];
|
||||
disabledModules = [ ./b.nix ];
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
args: {
|
||||
imports = [ { key = "explicit-key"; } ];
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
let
|
||||
lib = import ../../..;
|
||||
|
||||
evaluation = lib.evalModules {
|
||||
modules = [
|
||||
{ }
|
||||
(args: { })
|
||||
./a.nix
|
||||
./b.nix
|
||||
];
|
||||
};
|
||||
|
||||
actual = evaluation.graph;
|
||||
|
||||
expected = [
|
||||
{
|
||||
key = ":anon-1";
|
||||
file = "<unknown-file>";
|
||||
imports = [ ];
|
||||
disabled = false;
|
||||
}
|
||||
{
|
||||
key = ":anon-2";
|
||||
file = "<unknown-file>";
|
||||
imports = [ ];
|
||||
disabled = false;
|
||||
}
|
||||
{
|
||||
key = toString ./a.nix;
|
||||
file = toString ./a.nix;
|
||||
imports = [
|
||||
{
|
||||
key = "${toString ./a.nix}:anon-1";
|
||||
file = toString ./a.nix;
|
||||
imports = [
|
||||
{
|
||||
key = "${toString ./a.nix}:anon-1:anon-1";
|
||||
file = toString ./a.nix;
|
||||
imports = [ ];
|
||||
disabled = false;
|
||||
}
|
||||
];
|
||||
disabled = false;
|
||||
}
|
||||
];
|
||||
disabled = false;
|
||||
}
|
||||
{
|
||||
key = toString ./b.nix;
|
||||
file = toString ./b.nix;
|
||||
imports = [
|
||||
{
|
||||
key = "explicit-key";
|
||||
file = toString ./b.nix;
|
||||
imports = [ ];
|
||||
disabled = false;
|
||||
}
|
||||
];
|
||||
disabled = true;
|
||||
}
|
||||
];
|
||||
in
|
||||
assert actual == expected;
|
||||
null
|
||||
@@ -6602,6 +6602,12 @@
|
||||
githubId = 129093;
|
||||
name = "Desmond O. Chang";
|
||||
};
|
||||
DoctorDalek1963 = {
|
||||
email = "dyson.dyson@icloud.com";
|
||||
github = "DoctorDalek1963";
|
||||
githubId = 69600500;
|
||||
name = "Dyson Dyson";
|
||||
};
|
||||
dod-101 = {
|
||||
email = "david.thievon@proton.me";
|
||||
github = "DOD-101";
|
||||
|
||||
@@ -12,10 +12,7 @@ def perform_ocr_on_screenshot(screenshot_path: Path) -> str:
|
||||
Perform OCR on a screenshot that contains text.
|
||||
Returns a string with all words that could be found.
|
||||
"""
|
||||
variants = perform_ocr_variants_on_screenshot(screenshot_path, False)[0]
|
||||
if len(variants) != 1:
|
||||
raise MachineError(f"Received wrong number of OCR results: {len(variants)}")
|
||||
return variants[0]
|
||||
return perform_ocr_variants_on_screenshot(screenshot_path, False)[0]
|
||||
|
||||
|
||||
def perform_ocr_variants_on_screenshot(
|
||||
|
||||
@@ -174,8 +174,6 @@ in
|
||||
|
||||
networking.resolvconf.subscriberFiles = [ "/etc/resolv.conf" ];
|
||||
|
||||
networking.resolvconf.package = pkgs.openresolv;
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.resolvconf = {
|
||||
|
||||
@@ -1683,6 +1683,7 @@
|
||||
./services/web-apps/simplesamlphp.nix
|
||||
./services/web-apps/slskd.nix
|
||||
./services/web-apps/snipe-it.nix
|
||||
./services/web-apps/snips-sh.nix
|
||||
./services/web-apps/sogo.nix
|
||||
./services/web-apps/stash.nix
|
||||
./services/web-apps/stirling-pdf.nix
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkOption
|
||||
mkEnableOption
|
||||
mkPackageOption
|
||||
mapAttrs
|
||||
optional
|
||||
boolToString
|
||||
isBool
|
||||
mkIf
|
||||
getExe
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.services.snips-sh;
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
isabelroses
|
||||
NotAShelf
|
||||
];
|
||||
|
||||
options.services.snips-sh = {
|
||||
enable = mkEnableOption "snips.sh";
|
||||
|
||||
package = mkPackageOption pkgs "snips-sh" {
|
||||
example = "pkgs.snips-sh.override {withTensorflow = true;}";
|
||||
};
|
||||
|
||||
stateDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/snips-sh";
|
||||
description = "The state directory of the service.";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = types.attrsOf (
|
||||
types.nullOr (
|
||||
types.oneOf [
|
||||
types.str
|
||||
types.int
|
||||
types.bool
|
||||
]
|
||||
)
|
||||
);
|
||||
|
||||
options = {
|
||||
SNIPS_HTTP_INTERNAL = mkOption {
|
||||
type = types.str;
|
||||
description = "The internal HTTP address of the service";
|
||||
};
|
||||
|
||||
SNIPS_SSH_INTERNAL = mkOption {
|
||||
type = types.str;
|
||||
description = "The internal SSH address of the service";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
default = { };
|
||||
example = {
|
||||
SNIPS_HTTP_INTERNAL = "http://0.0.0.0:8080";
|
||||
SNIPS_SSH_INTERNAL = "ssh://0.0.0.0:2222";
|
||||
};
|
||||
|
||||
description = ''
|
||||
The configuration of snips-sh is done through environment variables,
|
||||
therefore you must use upper snake case (e.g. {env}`SNIPS_HTTP_INTERNAL`).
|
||||
|
||||
Based on the attributes passed to this config option an environment file will be generated
|
||||
that is passed to snips-sh's systemd service.
|
||||
|
||||
The available configuration options can be found in
|
||||
[self-hosting guide](https://github.com/robherley/snips.sh/blob/main/docs/self-hosting.md#configuration) to
|
||||
find about the environment variables you can use.
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
example = "/etc/snips-sh.env";
|
||||
description = ''
|
||||
Additional environment file as defined in {manpage}`systemd.exec(5)`.
|
||||
|
||||
Sensitive secrets such as {env}`SNIPS_SSH_HOSTKEYPATH` and {env}`SNIPS_METRICS_STATSD`
|
||||
may be passed to the service while avoiding potentially making them world-readable in the nix store or
|
||||
to convert an existing non-nix installation with minimum hassle.
|
||||
|
||||
Note that this file needs to be available on the host on which
|
||||
`snips-sh` is running.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd = {
|
||||
tmpfiles.settings."10-snips-sh" = {
|
||||
"${cfg.stateDir}/data".D = {
|
||||
mode = "0755";
|
||||
};
|
||||
};
|
||||
|
||||
services.snips-sh = {
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment = mapAttrs (_: v: if isBool v then boolToString v else toString v) cfg.settings;
|
||||
|
||||
serviceConfig = {
|
||||
EnvironmentFile = optional (cfg.environmentFile != null) cfg.environmentFile;
|
||||
ExecStart = getExe cfg.package;
|
||||
LimitNOFILE = "1048576";
|
||||
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||
WorkingDirectory = cfg.stateDir;
|
||||
RuntimeDirectory = "snips-sh";
|
||||
StateDirectory = "snips-sh";
|
||||
StateDirectoryMode = "0700";
|
||||
Restart = "always";
|
||||
|
||||
# hardening
|
||||
DynamicUser = true;
|
||||
NoNewPrivileges = true;
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectControlGroups = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallFilter = "@system-service";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
CapabilityBoundingSet = "CAP_NET_BIND_SERVICE";
|
||||
RemoveIPC = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -30,9 +30,11 @@ let
|
||||
${optionalString (
|
||||
hostOpts.useACMEHost != null
|
||||
) "tls ${sslCertDir}/cert.pem ${sslCertDir}/key.pem"}
|
||||
log {
|
||||
${hostOpts.logFormat}
|
||||
}
|
||||
${optionalString (hostOpts.logFormat != null) ''
|
||||
log {
|
||||
${hostOpts.logFormat}
|
||||
}
|
||||
''}
|
||||
|
||||
${hostOpts.extraConfig}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ in
|
||||
};
|
||||
|
||||
logFormat = mkOption {
|
||||
type = types.lines;
|
||||
type = types.nullOr types.lines;
|
||||
default = ''
|
||||
output file ${cfg.logDir}/access-${lib.replaceStrings [ "/" " " ] [ "_" "_" ] config.hostName}.log
|
||||
'';
|
||||
|
||||
@@ -1353,6 +1353,7 @@ in
|
||||
snapcast = runTest ./snapcast.nix;
|
||||
snapper = runTest ./snapper.nix;
|
||||
snipe-it = runTest ./web-apps/snipe-it.nix;
|
||||
snips-sh = runTest ./snips-sh.nix;
|
||||
soapui = runTest ./soapui.nix;
|
||||
soft-serve = runTest ./soft-serve.nix;
|
||||
sogo = runTest ./sogo.nix;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
name = "snips-sh";
|
||||
|
||||
nodes.machine = {
|
||||
services.snips-sh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
SNIPS_HTTP_INTERNAL = "http://0.0.0.0:8080";
|
||||
SNIPS_SSH_INTERNAL = "ssh://0.0.0.0:2222";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("snips-sh.service")
|
||||
machine.wait_for_open_port(8080)
|
||||
machine.succeed("curl --fail http://localhost:8080")
|
||||
'';
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
isabelroses
|
||||
NotAShelf
|
||||
];
|
||||
}
|
||||
@@ -15103,6 +15103,19 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
tiny-glimmer-nvim = buildVimPlugin {
|
||||
pname = "tiny-glimmer.nvim";
|
||||
version = "2025-07-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rachartier";
|
||||
repo = "tiny-glimmer.nvim";
|
||||
rev = "60a632536e0741c9cecb892f89fbe65a270dc7c7";
|
||||
sha256 = "0xa3ma6ps1q5766ib2iksc7bw8rpqn96llynb75njwj2kpadfcis";
|
||||
};
|
||||
meta.homepage = "https://github.com/rachartier/tiny-glimmer.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
tiny-inline-diagnostic-nvim = buildVimPlugin {
|
||||
pname = "tiny-inline-diagnostic.nvim";
|
||||
version = "2025-07-16";
|
||||
|
||||
@@ -1159,6 +1159,7 @@ https://github.com/levouh/tint.nvim/,HEAD,
|
||||
https://github.com/tinted-theming/tinted-nvim/,HEAD,
|
||||
https://github.com/tinted-theming/tinted-vim/,HEAD,
|
||||
https://github.com/rachartier/tiny-devicons-auto-colors.nvim/,HEAD,
|
||||
https://github.com/rachartier/tiny-glimmer.nvim/,HEAD,
|
||||
https://github.com/rachartier/tiny-inline-diagnostic.nvim/,HEAD,
|
||||
https://github.com/tomtom/tinykeymap_vim/,,tinykeymap
|
||||
https://github.com/tomtom/tlib_vim/,,
|
||||
|
||||
@@ -1614,8 +1614,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "elixir-ls";
|
||||
publisher = "JakeBecker";
|
||||
version = "0.28.0";
|
||||
hash = "sha256-pHLAA7i2HJC523lPotUy5Zwa3BTSTurC2BA+eevdH38=";
|
||||
version = "0.29.2";
|
||||
hash = "sha256-+MkKUhyma/mc5MZa0+RFty5i7rox0EARPTm/uggQj6M=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
|
||||
|
||||
@@ -61,17 +61,19 @@ fi
|
||||
cd "${NIXPKGS_K3S_PATH}/${MAJOR_VERSION}_${MINOR_VERSION}"
|
||||
|
||||
CHARTS_URL=https://k3s.io/k3s-charts/assets
|
||||
TRAEFIK_CRD_CHART_SHA256=$(nix-hash --type sha256 --base32 --flat <(curl -o - "${CHARTS_URL}/traefik-crd/${CHART_FILES[0]}"))
|
||||
TRAEFIK_CHART_SHA256=$(nix-hash --type sha256 --base32 --flat <(curl -o - "${CHARTS_URL}/traefik/${CHART_FILES[1]}"))
|
||||
# Get metadata for both files
|
||||
rm -f chart-versions.nix.update
|
||||
cat > chart-versions.nix.update <<EOF
|
||||
{
|
||||
traefik-crd = {
|
||||
url = "${CHARTS_URL}/traefik-crd/${CHART_FILES[0]}";
|
||||
sha256 = "$(nix-prefetch-url --quiet "${CHARTS_URL}/traefik-crd/${CHART_FILES[0]}")";
|
||||
sha256 = "$TRAEFIK_CRD_CHART_SHA256";
|
||||
};
|
||||
traefik = {
|
||||
url = "${CHARTS_URL}/traefik/${CHART_FILES[1]}";
|
||||
sha256 = "$(nix-prefetch-url --quiet "${CHARTS_URL}/traefik/${CHART_FILES[1]}")";
|
||||
sha256 = "$TRAEFIK_CHART_SHA256";
|
||||
};
|
||||
}
|
||||
EOF
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "chhoto-url";
|
||||
version = "6.2.11";
|
||||
version = "6.2.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SinTan1729";
|
||||
repo = "chhoto-url";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-3VQmTQ6ZlDTRL3nx/sQxWLKgW8ee0Ts+C1CiWkiX2/g=";
|
||||
hash = "sha256-hV/YWxOPRTojVTFIXwzqImBKyQ1dCDq5+bgCdS7T1p0=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/actix";
|
||||
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
--replace-fail "./resources/" "${placeholder "out"}/share/chhoto-url/resources/"
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-QIqLzk/vAOrW0ain0Oq9tnqzCSyK4yDOYsjmil3xPc4=";
|
||||
cargoHash = "sha256-9wXbd56KOQ7suZqtg2cSFf2FGQJADFMHJbwAAxJ2V4g=";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/chhoto-url
|
||||
|
||||
+4
-4
@@ -6,13 +6,13 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-code": "^1.0.69"
|
||||
"@anthropic-ai/claude-code": "^1.0.70"
|
||||
}
|
||||
},
|
||||
"node_modules/@anthropic-ai/claude-code": {
|
||||
"version": "1.0.69",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.69.tgz",
|
||||
"integrity": "sha512-kF86lNI9o6rt14cEDw16G89rHz4pL0lv/sASztV8XenEeQ/6VUZ5Jk+icYg6XTQKe33BsdtNKFS3IL3iLyzQyw==",
|
||||
"version": "1.0.70",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.70.tgz",
|
||||
"integrity": "sha512-gJ/bdT/XQ/hp5EKM0QoOWj/eKmK3wvs1TotTLq1unqahiB6B+EAQeRy/uvxv2Ua9nI8p5Bogw8hXB1uUmAHb+A==",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "claude-code";
|
||||
version = "1.0.69";
|
||||
version = "1.0.70";
|
||||
|
||||
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
|
||||
hash = "sha256-uZbe7N3FSAVxNxL7npujJcBFH6ZjnwDz327bZWN2IEM=";
|
||||
hash = "sha256-7nqhJNhO+QollwVtVlKDYHOlPDT6Erk6wI/voiAYXY4=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-a06NT96pVOiz06ZZ9r+1s+oF9U/I7SRJFFAw1e0NkMY=";
|
||||
npmDepsHash = "sha256-nBLaWDwSPOfZx26UU2QQpp/r8HPHAO4EnPkb/gcTPrg=";
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
unzip,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "duckstation-bin";
|
||||
version = "0.1-7371";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/stenzek/duckstation/releases/download/v${finalAttrs.version}/duckstation-mac-release.zip";
|
||||
hash = "sha256-ukORbTG0lZIsUInkEnyPB9+PwFxxK5hbgj9D6tjOEAY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
dontPatch = true;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/Applications
|
||||
cp -r DuckStation.app $out/Applications/DuckStation.app
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/stenzek/duckstation";
|
||||
description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64";
|
||||
changelog = "https://github.com/stenzek/duckstation/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ matteopacini ];
|
||||
platforms = lib.platforms.darwin;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq gnused
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
|
||||
# Grab latest version, ignoring "latest" and "preview" tags
|
||||
LATEST_VER="$(curl --fail -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/stenzek/duckstation/releases" | jq -r '.[].tag_name' | grep '^v' | head -n 1 | sed 's/^v//')"
|
||||
CURRENT_VER="$(grep -oP 'version = "\K[^"]+' package.nix)"
|
||||
|
||||
if [[ "$LATEST_VER" == "$CURRENT_VER" ]]; then
|
||||
echo "duckstation-bin is up-to-date"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
HASH="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/stenzek/duckstation/releases/download/v${LATEST_VER}/duckstation-mac-release.zip")")"
|
||||
|
||||
sed -i "s#hash = \".*\"#hash = \"$HASH\"#g" package.nix
|
||||
sed -i "s#version = \".*\";#version = \"$LATEST_VER\";#g" package.nix
|
||||
@@ -1,11 +0,0 @@
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 879d46bc..95570f6b 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -20,5 +20,5 @@ if(BUILD_REGTEST)
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTS)
|
||||
- add_subdirectory(common-tests EXCLUDE_FROM_ALL)
|
||||
+ add_subdirectory(common-tests)
|
||||
endif()
|
||||
@@ -1,19 +0,0 @@
|
||||
diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh
|
||||
index 9122cd8..50ed8f9 100755
|
||||
--- a/src/scmversion/gen_scmversion.sh
|
||||
+++ b/src/scmversion/gen_scmversion.sh
|
||||
@@ -10,10 +10,10 @@ else
|
||||
fi
|
||||
|
||||
|
||||
-HASH=$(git rev-parse HEAD)
|
||||
-BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n')
|
||||
-TAG=$(git describe --dirty | tr -d '\r\n')
|
||||
-DATE=$(git log -1 --date=iso8601-strict --format=%cd)
|
||||
+HASH="@gitHash@"
|
||||
+BRANCH="@gitBranch@"
|
||||
+TAG="@gitTag@"
|
||||
+DATE="@gitDate@"
|
||||
|
||||
cd $CURDIR
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
From 19e094e5c7aaaf375a13424044521701e85c8313 Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Thu, 9 Jan 2025 17:46:25 +0100
|
||||
Subject: [PATCH] Fix usage of NEON intrinsics
|
||||
|
||||
---
|
||||
src/common/gsvector_neon.h | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/common/gsvector_neon.h b/src/common/gsvector_neon.h
|
||||
index e4991af5e..61b8dc09b 100644
|
||||
--- a/src/common/gsvector_neon.h
|
||||
+++ b/src/common/gsvector_neon.h
|
||||
@@ -867,7 +867,7 @@ public:
|
||||
|
||||
ALWAYS_INLINE int mask() const
|
||||
{
|
||||
- const uint32x2_t masks = vshr_n_u32(vreinterpret_u32_s32(v2s), 31);
|
||||
+ const uint32x2_t masks = vshr_n_u32(vreinterpret_u32_f32(v2s), 31);
|
||||
return (vget_lane_u32(masks, 0) | (vget_lane_u32(masks, 1) << 1));
|
||||
}
|
||||
|
||||
@@ -2882,7 +2882,7 @@ public:
|
||||
ALWAYS_INLINE GSVector4 gt64(const GSVector4& v) const
|
||||
{
|
||||
#ifdef CPU_ARCH_ARM64
|
||||
- return GSVector4(vreinterpretq_f32_f64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
+ return GSVector4(vreinterpretq_f32_u64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
#else
|
||||
GSVector4 ret;
|
||||
ret.U64[0] = (F64[0] > v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
|
||||
@@ -2894,7 +2894,7 @@ public:
|
||||
ALWAYS_INLINE GSVector4 eq64(const GSVector4& v) const
|
||||
{
|
||||
#ifdef CPU_ARCH_ARM64
|
||||
- return GSVector4(vreinterpretq_f32_f64(vceqq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
+ return GSVector4(vreinterpretq_f32_u64(vceqq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
#else
|
||||
GSVector4 ret;
|
||||
ret.U64[0] = (F64[0] == v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
|
||||
@@ -2906,7 +2906,7 @@ public:
|
||||
ALWAYS_INLINE GSVector4 lt64(const GSVector4& v) const
|
||||
{
|
||||
#ifdef CPU_ARCH_ARM64
|
||||
- return GSVector4(vreinterpretq_f32_f64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
+ return GSVector4(vreinterpretq_f32_u64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
#else
|
||||
GSVector4 ret;
|
||||
ret.U64[0] = (F64[0] < v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
|
||||
@@ -2918,7 +2918,7 @@ public:
|
||||
ALWAYS_INLINE GSVector4 ge64(const GSVector4& v) const
|
||||
{
|
||||
#ifdef CPU_ARCH_ARM64
|
||||
- return GSVector4(vreinterpretq_f32_f64(vcgeq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
+ return GSVector4(vreinterpretq_f32_u64(vcgeq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
#else
|
||||
GSVector4 ret;
|
||||
ret.U64[0] = (F64[0] >= v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
|
||||
@@ -2930,7 +2930,7 @@ public:
|
||||
ALWAYS_INLINE GSVector4 le64(const GSVector4& v) const
|
||||
{
|
||||
#ifdef CPU_ARCH_ARM64
|
||||
- return GSVector4(vreinterpretq_f32_f64(vcleq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
+ return GSVector4(vreinterpretq_f32_u64(vcleq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
|
||||
#else
|
||||
GSVector4 ret;
|
||||
ret.U64[0] = (F64[0] <= v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
|
||||
--
|
||||
2.47.0
|
||||
|
||||
@@ -1,147 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
llvmPackages,
|
||||
SDL2,
|
||||
callPackage,
|
||||
cmake,
|
||||
cpuinfo,
|
||||
cubeb,
|
||||
curl,
|
||||
extra-cmake-modules,
|
||||
libXrandr,
|
||||
libbacktrace,
|
||||
libwebp,
|
||||
makeWrapper,
|
||||
ninja,
|
||||
pkg-config,
|
||||
qt6,
|
||||
vulkan-loader,
|
||||
wayland,
|
||||
wayland-scanner,
|
||||
}:
|
||||
|
||||
let
|
||||
sources = callPackage ./sources.nix { };
|
||||
inherit (qt6)
|
||||
qtbase
|
||||
qtsvg
|
||||
qttools
|
||||
qtwayland
|
||||
wrapQtAppsHook
|
||||
;
|
||||
in
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (sources.duckstation) pname version src;
|
||||
|
||||
patches = [
|
||||
# Tests are not built by default
|
||||
./001-fix-test-inclusion.diff
|
||||
# Patching yet another script that fills data based on git commands . . .
|
||||
./002-hardcode-vars.diff
|
||||
# Fix NEON intrinsics usage
|
||||
./003-fix-NEON-intrinsics.patch
|
||||
./remove-cubeb-vendor.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
ninja
|
||||
pkg-config
|
||||
qttools
|
||||
wayland-scanner
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
cpuinfo
|
||||
cubeb
|
||||
curl
|
||||
libXrandr
|
||||
libbacktrace
|
||||
libwebp
|
||||
qtbase
|
||||
qtsvg
|
||||
qtwayland
|
||||
sources.discord-rpc-patched
|
||||
sources.lunasvg
|
||||
sources.shaderc-patched
|
||||
sources.soundtouch-patched
|
||||
sources.spirv-cross-patched
|
||||
wayland
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_TESTS" true)
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
postPatch = ''
|
||||
gitHash=$(cat .nixpkgs-auxfiles/git_hash) \
|
||||
gitBranch=$(cat .nixpkgs-auxfiles/git_branch) \
|
||||
gitTag=$(cat .nixpkgs-auxfiles/git_tag) \
|
||||
gitDate=$(cat .nixpkgs-auxfiles/git_date) \
|
||||
substituteAllInPlace src/scmversion/gen_scmversion.sh
|
||||
'';
|
||||
|
||||
# error: cannot convert 'int16x8_t' to '__Int32x4_t'
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch64 "-flax-vector-conversions";
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
$out/share/duckstation/common-tests
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share
|
||||
|
||||
cp -r bin $out/share/duckstation
|
||||
ln -s $out/share/duckstation/duckstation-qt $out/bin/
|
||||
|
||||
install -Dm644 $src/scripts/org.duckstation.DuckStation.desktop $out/share/applications/org.duckstation.DuckStation.desktop
|
||||
install -Dm644 $src/scripts/org.duckstation.DuckStation.png $out/share/pixmaps/org.duckstation.DuckStation.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
qtWrapperArgs =
|
||||
let
|
||||
libPath = lib.makeLibraryPath ([
|
||||
sources.shaderc-patched
|
||||
sources.spirv-cross-patched
|
||||
vulkan-loader
|
||||
]);
|
||||
in
|
||||
[
|
||||
"--prefix LD_LIBRARY_PATH : ${libPath}"
|
||||
];
|
||||
|
||||
# https://github.com/stenzek/duckstation/blob/master/scripts/appimage/apprun-hooks/default-to-x11.sh
|
||||
# Can't avoid the double wrapping, the binary wrapper from qtWrapperArgs doesn't support --run
|
||||
postFixup = ''
|
||||
source "${makeWrapper}/nix-support/setup-hook"
|
||||
wrapProgram $out/bin/duckstation-qt \
|
||||
--run 'if [[ -z $I_WANT_A_BROKEN_WAYLAND_UI ]]; then export QT_QPA_PLATFORM=xcb; fi'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/stenzek/duckstation";
|
||||
description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "duckstation-qt";
|
||||
maintainers = with lib.maintainers; [
|
||||
guibou
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -1,33 +0,0 @@
|
||||
diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt
|
||||
index af35687..8347825 100644
|
||||
--- a/dep/CMakeLists.txt
|
||||
+++ b/dep/CMakeLists.txt
|
||||
@@ -22,9 +22,8 @@ add_subdirectory(rcheevos EXCLUDE_FROM_ALL)
|
||||
disable_compiler_warnings_for_target(rcheevos)
|
||||
add_subdirectory(rapidyaml EXCLUDE_FROM_ALL)
|
||||
disable_compiler_warnings_for_target(rapidyaml)
|
||||
-add_subdirectory(cubeb EXCLUDE_FROM_ALL)
|
||||
-disable_compiler_warnings_for_target(cubeb)
|
||||
-disable_compiler_warnings_for_target(speex)
|
||||
+find_package(cubeb REQUIRED GLOBAL)
|
||||
+add_library(cubeb ALIAS cubeb::cubeb)
|
||||
add_subdirectory(kissfft EXCLUDE_FROM_ALL)
|
||||
disable_compiler_warnings_for_target(kissfft)
|
||||
|
||||
diff --git a/src/util/cubeb_audio_stream.cpp b/src/util/cubeb_audio_stream.cpp
|
||||
index 85579c4..339190a 100644
|
||||
--- a/src/util/cubeb_audio_stream.cpp
|
||||
+++ b/src/util/cubeb_audio_stream.cpp
|
||||
@@ -261,9 +261,9 @@ std::vector<std::pair<std::string, std::string>> AudioStream::GetCubebDriverName
|
||||
std::vector<std::pair<std::string, std::string>> names;
|
||||
names.emplace_back(std::string(), TRANSLATE_STR("AudioStream", "Default"));
|
||||
|
||||
- const char** cubeb_names = cubeb_get_backend_names();
|
||||
- for (u32 i = 0; cubeb_names[i] != nullptr; i++)
|
||||
- names.emplace_back(cubeb_names[i], cubeb_names[i]);
|
||||
+ cubeb_backend_names backends = cubeb_get_backend_names();
|
||||
+ for (u32 i = 0; i < backends.count; i++)
|
||||
+ names.emplace_back(backends.names[i], backends.names[i]);
|
||||
return names;
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
fetchpatch,
|
||||
duckstation,
|
||||
shaderc,
|
||||
}:
|
||||
|
||||
shaderc.overrideAttrs (old: {
|
||||
pname = "shaderc-patched-for-duckstation";
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
(fetchpatch {
|
||||
url = "file://${duckstation.src}/scripts/shaderc-changes.patch";
|
||||
hash = "sha256-Ps/D+CdSbjVWg3ZGOEcgbpQbCNkI5Nuizm4E5qiM9Wo=";
|
||||
excludes = [
|
||||
"CHANGES"
|
||||
"CMakeLists.txt"
|
||||
"libshaderc/CMakeLists.txt"
|
||||
];
|
||||
})
|
||||
];
|
||||
})
|
||||
@@ -1,166 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
duckstation,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
shaderc,
|
||||
spirv-cross,
|
||||
discord-rpc,
|
||||
stdenv,
|
||||
cmake,
|
||||
ninja,
|
||||
}:
|
||||
|
||||
{
|
||||
duckstation =
|
||||
let
|
||||
self = {
|
||||
pname = "duckstation";
|
||||
version = "0.1-7465";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stenzek";
|
||||
repo = "duckstation";
|
||||
rev = "aa955b8ae28314ae061613f0ddf13183a98aca03";
|
||||
#
|
||||
# Some files are filled by using Git commands; it requires deepClone.
|
||||
# More info at `checkout_ref` function in nix-prefetch-git.
|
||||
# However, `.git` is a bit nondeterministic (and Git itself makes no
|
||||
# guarantees whatsoever).
|
||||
# Then, in order to enhance reproducibility, what we will do here is:
|
||||
#
|
||||
# - Execute the desired Git commands;
|
||||
# - Save the obtained info into files;
|
||||
# - Remove `.git` afterwards.
|
||||
#
|
||||
deepClone = true;
|
||||
postFetch = ''
|
||||
cd $out
|
||||
mkdir -p .nixpkgs-auxfiles/
|
||||
git rev-parse HEAD > .nixpkgs-auxfiles/git_hash
|
||||
git rev-parse --abbrev-ref HEAD | tr -d '\r\n' > .nixpkgs-auxfiles/git_branch
|
||||
git describe --dirty | tr -d '\r\n' > .nixpkgs-auxfiles/git_tag
|
||||
git log -1 --date=iso8601-strict --format=%cd > .nixpkgs-auxfiles/git_date
|
||||
find $out -name .git -print0 | xargs -0 rm -fr
|
||||
'';
|
||||
hash = "sha256-ixrlr7Rm6GZAn/kh2sSeCCiK/qdmQ5+5jbbhAKjTx/E=";
|
||||
};
|
||||
};
|
||||
in
|
||||
self;
|
||||
|
||||
shaderc-patched = shaderc.overrideAttrs (
|
||||
old:
|
||||
let
|
||||
version = "2024.3-unstable-2024-08-24";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stenzek";
|
||||
repo = "shaderc";
|
||||
rev = "f60bb80e255144e71776e2ad570d89b78ea2ab4f";
|
||||
hash = "sha256-puZxkrEVhhUT4UcCtEDmtOMX4ugkB6ooMhKRBlb++lE=";
|
||||
};
|
||||
in
|
||||
{
|
||||
pname = "shaderc-patched-for-duckstation";
|
||||
inherit version src;
|
||||
patches = (old.patches or [ ]);
|
||||
cmakeFlags = (old.cmakeFlags or [ ]) ++ [
|
||||
(lib.cmakeBool "SHADERC_SKIP_EXAMPLES" true)
|
||||
(lib.cmakeBool "SHADERC_SKIP_TESTS" true)
|
||||
];
|
||||
outputs = [
|
||||
"out"
|
||||
"lib"
|
||||
"dev"
|
||||
];
|
||||
postFixup = '''';
|
||||
}
|
||||
);
|
||||
spirv-cross-patched = spirv-cross.overrideAttrs (
|
||||
old:
|
||||
let
|
||||
version = "1.3.290.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "SPIRV-Cross";
|
||||
rev = "vulkan-sdk-${version}";
|
||||
hash = "sha256-h5My9PbPq1l03xpXQQFolNy7G1RhExtTH6qPg7vVF/8=";
|
||||
};
|
||||
in
|
||||
{
|
||||
pname = "spirv-cross-patched-for-duckstation";
|
||||
inherit version src;
|
||||
patches = (old.patches or [ ]);
|
||||
cmakeFlags = (old.cmakeFlags or [ ]) ++ [
|
||||
(lib.cmakeBool "SPIRV_CROSS_CLI" false)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_CPP" false)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_C_API" true)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_GLSL" true)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_HLSL" false)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_MSL" false)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_REFLECT" false)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_TESTS" false)
|
||||
(lib.cmakeBool "SPIRV_CROSS_ENABLE_UTIL" true)
|
||||
(lib.cmakeBool "SPIRV_CROSS_SHARED" true)
|
||||
(lib.cmakeBool "SPIRV_CROSS_STATIC" false)
|
||||
];
|
||||
}
|
||||
);
|
||||
discord-rpc-patched = discord-rpc.overrideAttrs (old: {
|
||||
pname = "discord-rpc-patched-for-duckstation";
|
||||
version = "3.4.0-unstable-2024-08-02";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stenzek";
|
||||
repo = "discord-rpc";
|
||||
rev = "144f3a3f1209994d8d9e8a87964a989cb9911c1e";
|
||||
hash = "sha256-VyL8bEjY001eHWcEoUPIAFDAmaAbwcNb1hqlV2a3cWs=";
|
||||
};
|
||||
patches = (old.patches or [ ]);
|
||||
});
|
||||
|
||||
soundtouch-patched = stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "soundtouch-patched-for-duckstation";
|
||||
version = "2.2.3-unstable-2024-08-02";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stenzek";
|
||||
repo = "soundtouch";
|
||||
rev = "463ade388f3a51da078dc9ed062bf28e4ba29da7";
|
||||
hash = "sha256-hvBW/z+fmh/itNsJnlDBtiI1DZmUMO9TpHEztjo2pA0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/stenzek/soundtouch";
|
||||
description = "SoundTouch Audio Processing Library (forked from https://codeberg.org/soundtouch/soundtouch)";
|
||||
license = lib.licenses.lgpl21;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
lunasvg = stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lunasvg-patched-for-duckstation";
|
||||
version = "2.4.1-unstable-2024-08-24";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stenzek";
|
||||
repo = "lunasvg";
|
||||
rev = "9af1ac7b90658a279b372add52d6f77a4ebb482c";
|
||||
hash = "sha256-ZzOe84ZF5JRrJ9Lev2lwYOccqtEGcf76dyCDBDTvI2o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/stenzek/lunasvg";
|
||||
description = "Standalone SVG rendering library in C++";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
});
|
||||
}
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ethercat";
|
||||
version = "1.6.6";
|
||||
version = "1.6.7";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "etherlab.org";
|
||||
repo = "ethercat";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-11Y4qGJlbZYnFZ3pI18kjE2aIht30ZtN4eTsYhWqg+g=";
|
||||
hash = "sha256-UNd8PLdudI5TMdKKNH6BQP2VQ0LSPvsA/sEYnIuZRRA=";
|
||||
};
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
@@ -1,54 +1,55 @@
|
||||
{
|
||||
python3Packages,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
gettext,
|
||||
pdfSupport ? true,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "linkchecker";
|
||||
version = "10.2.1";
|
||||
version = "10.6.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linkchecker";
|
||||
repo = "linkchecker";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-z7Qp74cai8GfsxB4n9dSCWQepp0/4PimFiRJQBaVSoo=";
|
||||
hash = "sha256-CzDShtqcGO2TP5qNVf2zkI3Yyh80I+pSVIFzmi3AaGQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
build-system = with python3Packages; [
|
||||
hatchling
|
||||
hatch-vcs
|
||||
polib # translations
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
argcomplete
|
||||
beautifulsoup4
|
||||
dnspython
|
||||
requests
|
||||
];
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
[
|
||||
argcomplete
|
||||
beautifulsoup4
|
||||
dnspython
|
||||
requests
|
||||
]
|
||||
++ lib.optional pdfSupport pdfminer-six;
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
pyopenssl
|
||||
parameterized
|
||||
pytestCheckHook
|
||||
pyftpdlib
|
||||
];
|
||||
|
||||
# Needed for tests to be able to create a ~/.local/share/linkchecker/plugins directory
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
"TestLoginUrl"
|
||||
"test_timeit2" # flakey, and depends sleep being precise to the milisecond
|
||||
"test_internet" # uses network, fails on Darwin (not sure why it doesn't fail on linux)
|
||||
"test_markdown" # uses sys.version_info for conditional testing
|
||||
"test_itms_services" # uses sys.version_info for conditional testing
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
"tests/checker/telnetserver.py"
|
||||
"tests/checker/test_telnet.py"
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mantra";
|
||||
version = "2.0";
|
||||
version = "3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MrEmpy";
|
||||
repo = "Mantra";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-fBcoKoTBGCyJS8+mzKXLGxcxmRsCcZFZEyMTnA5Rkbw=";
|
||||
hash = "sha256-DnErXuMbCRK3WxhdyPj0dOUtGnCcmynPk/hYmOsOKVU=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mitra";
|
||||
version = "4.6.0";
|
||||
version = "4.7.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "silverpill";
|
||||
repo = "mitra";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FSgB2h52dpfO3GdBoCKlb8jl8eR2pQ1vWuQZdXoS0jo=";
|
||||
hash = "sha256-xSgwCKjYuF6nUo4P7NrGocyhqBbBV/sx2BGKjWCEtB0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-GFrhTbW+o18VmB+wyokpPXIV9XlcjSdHwckZEHNX+KY=";
|
||||
cargoHash = "sha256-dwaW69Mxn4GVFqOI+UUGkJG9yc3SWob0FcC1oMGsHg8=";
|
||||
|
||||
# require running database
|
||||
doCheck = false;
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "11.22";
|
||||
version = "11.30";
|
||||
pname = "monkeys-audio";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
|
||||
hash = "sha256-O60fNcz3/CsinL7NbEprtMhEcFK0NNZIuIG3hfqOW3Y=";
|
||||
hash = "sha256-GnC2w1hhQlvpxa254M15xOVsqKUuIjXfgUxwgA7zcxc=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "monophony";
|
||||
version = "3.3.3";
|
||||
version = "3.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "zehkira";
|
||||
repo = "monophony";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ET0cygX/r/YXGWpPU01FnBoLRtjo1ddXEiVIva71aE8=";
|
||||
hash = "sha256-EchbebFSSOBrgk9nilDgzp5jAeEa0tHlJZ5l4wYpw0g=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/source";
|
||||
|
||||
@@ -17,7 +17,7 @@ buildGoModule (
|
||||
ui = buildNpmPackage {
|
||||
inherit (finalAttrs) src version;
|
||||
pname = "ntfy-sh-ui";
|
||||
npmDepsHash = "sha256-oiOv4d+Gxk43gUAZXrTpcsfuEEpGyJMYS19ZRHf9oF8=";
|
||||
npmDepsHash = "sha256-LmEJ7JuaAdjB816VspVXAQC+I46lpNAjwfLTxeNeLPc=";
|
||||
|
||||
prePatch = ''
|
||||
cd web/
|
||||
@@ -37,16 +37,16 @@ buildGoModule (
|
||||
in
|
||||
{
|
||||
pname = "ntfy-sh";
|
||||
version = "2.13.0";
|
||||
version = "2.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "binwiederhier";
|
||||
repo = "ntfy";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-D4wLIGVItH5lZlfmgd2+QsqB4PHlyX4ORpwT1NGdV60=";
|
||||
hash = "sha256-8BqJ2/u+g5P68ekYu/ztzjdQ91c8dIazeNdLRFpqVy0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7+nvkyLcdQZ/B4Lly4ygcOGxSLkXXqCqu7xvCB4+8Wo=";
|
||||
vendorHash = "sha256-3adQNZ2G0wKW3aV+gsGo/il6NsrIhGPbI7P4elWrKZQ=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
pname = "phel";
|
||||
version = "0.18.1";
|
||||
version = "0.19.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phel-lang";
|
||||
repo = "phel-lang";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-YwmDTj1uc71rpp5Iq/7cDq0gLLy8Bh96bu0RaYqi5J0=";
|
||||
hash = "sha256-uJnxCReo/GR/zAwQEV1Gp9Hv6ydGbf4EiVNL7q0cRRw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-zZK4v9IncoOurf2yUeFqwmAkqsMBlLfuZTUm9cWQBCA=";
|
||||
vendorHash = "sha256-/7A71XQdMfirqfN9VIKFZxJ1HNBva5c2NOsbo6NMRzQ=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "protoc-gen-entgrpc";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ent";
|
||||
repo = "contrib";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8BQXjoVTasCReAc3XWBgeoYmL9zLj+uvf9TRKBYaAr4=";
|
||||
sha256 = "sha256-kI+/qbWvOxcHKee7jEFBs5Bb+5MPGunAsB6d1j9fhp8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-jdjcnDfEAP33oQSn5nqgFqE+uwKBXp3gJWTNiiH/6iw=";
|
||||
vendorHash = "sha256-tOt6Uxo4Z2zJrTjyTPoqHGfUgxFmtB+xP+kB+S6ez84=";
|
||||
|
||||
subPackages = [ "entproto/cmd/protoc-gen-entgrpc" ];
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pulumi-esc";
|
||||
version = "0.15.0";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pulumi";
|
||||
repo = "esc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mBFxR3Sl89TVE+G/+pr5KlMl2oWUmQr41VfZpOyNU6k=";
|
||||
hash = "sha256-rdoq+Zx+NVJZrVon/OfJIAvEyCWEawSHRLxLBUFR9uY=";
|
||||
};
|
||||
|
||||
subPackages = "cmd/esc";
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
renode.overrideAttrs (
|
||||
finalAttrs: _: {
|
||||
pname = "renode-unstable";
|
||||
version = "1.15.3+20250801git3f8169b88";
|
||||
version = "1.16.0+20250805git769469683";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-dotnet.tar.gz";
|
||||
hash = "sha256-1GtLD69h0oYLXqs5n+0Vzc00WtK6mdPR9BkP4tjOmW8=";
|
||||
hash = "sha256-UZSfdJ14igoqaFCwCZmy29MfKZcxr7j8RtI/epHs2WI=";
|
||||
};
|
||||
|
||||
passthru.updateScript =
|
||||
|
||||
@@ -51,11 +51,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "renode";
|
||||
version = "1.15.3";
|
||||
version = "1.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/renode/renode/releases/download/v${finalAttrs.version}/renode-${finalAttrs.version}.linux-dotnet.tar.gz";
|
||||
hash = "sha256-0CZWIwIG85nT7uSHhmBkH21S5mTx2womYWV0HG+g8Mk=";
|
||||
hash = "sha256-oNlTz5LBggPkjKM4TJO2UDKQdt2Ga7rBTdgyGjN8/zA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -102,7 +102,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Virtual development framework for complex embedded systems";
|
||||
homepage = "https://renode.io";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ otavio ];
|
||||
maintainers = with lib.maintainers; [
|
||||
otavio
|
||||
znaniye
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
sqlite,
|
||||
libtensorflow,
|
||||
withTensorflow ? false,
|
||||
nixosTests,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "snips-sh";
|
||||
@@ -22,6 +23,8 @@ buildGoModule rec {
|
||||
|
||||
buildInputs = [ sqlite ] ++ (lib.optional withTensorflow libtensorflow);
|
||||
|
||||
passthru.tests = nixosTests.snips-sh;
|
||||
|
||||
meta = {
|
||||
description = "Passwordless, anonymous SSH-powered pastebin with a human-friendly TUI and web UI";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
libsForQt5,
|
||||
sqlcipher,
|
||||
}:
|
||||
|
||||
let
|
||||
qt' = libsForQt5; # upstream has adopted qt6, but no released version supports it
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sqlitebrowser";
|
||||
version = "3.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sqlitebrowser";
|
||||
repo = "sqlitebrowser";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-bpZnO8i8MDgOm0f93pBmpy1sZLJQ9R4o4ZLnGfT0JRg=";
|
||||
};
|
||||
|
||||
patches = lib.optional stdenv.hostPlatform.isDarwin ./macos.patch;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail '"Unknown"' '"${finalAttrs.src.rev}"'
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
qt'.qtbase
|
||||
qt'.qcustomplot
|
||||
qt'.qscintilla
|
||||
sqlcipher
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin qt'.qtmacextras;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
qt'.qttools
|
||||
qt'.wrapQtAppsHook
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-Wno-dev"
|
||||
(lib.cmakeBool "sqlcipher" true)
|
||||
(lib.cmakeBool "ENABLE_TESTING" (finalAttrs.finalPackage.doCheck or false))
|
||||
(lib.cmakeBool "FORCE_INTERNAL_QSCINTILLA" false)
|
||||
(lib.cmakeBool "FORCE_INTERNAL_QCUSTOMPLOT" false)
|
||||
(lib.cmakeBool "FORCE_INTERNAL_QHEXEDIT" true) # TODO: package qhexedit
|
||||
(lib.cmakeFeature "QSCINTILLA_INCLUDE_DIR" "${lib.getDev qt'.qscintilla}/include")
|
||||
];
|
||||
|
||||
env.LANG = "C.UTF-8";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "DB Browser for SQLite";
|
||||
mainProgram = "sqlitebrowser";
|
||||
homepage = "https://sqlitebrowser.org/";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ peterhoeg ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
Generated
+1818
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "sunsetr";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "psi4j";
|
||||
repo = "sunsetr";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-kFIfNVA1UJrle/5udi8+9uDgq9fArUdudM/v8QpGuaM=";
|
||||
};
|
||||
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
checkFlags = [
|
||||
"--skip=config::tests::test_geo_toml_exists_before_config_creation"
|
||||
];
|
||||
|
||||
meta = {
|
||||
mainProgram = "sunsetr";
|
||||
description = "Automatic blue light filter for Hyprland, Niri, and everything Wayland";
|
||||
homepage = "https://github.com/psi4j/sunsetr";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.DoctorDalek1963 ];
|
||||
};
|
||||
})
|
||||
@@ -27,6 +27,7 @@
|
||||
enableUsrp1 ? true,
|
||||
enableUsrp2 ? true,
|
||||
enableX300 ? true,
|
||||
enableX400 ? true,
|
||||
enableN300 ? true,
|
||||
enableN320 ? true,
|
||||
enableE300 ? true,
|
||||
@@ -138,6 +139,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(cmakeBool "ENABLE_USRP1" enableUsrp1)
|
||||
(cmakeBool "ENABLE_USRP2" enableUsrp2)
|
||||
(cmakeBool "ENABLE_X300" enableX300)
|
||||
(cmakeBool "ENABLE_X400" enableX400)
|
||||
(cmakeBool "ENABLE_N300" enableN300)
|
||||
(cmakeBool "ENABLE_N320" enableN320)
|
||||
(cmakeBool "ENABLE_E300" enableE300)
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"aarch64-darwin": {
|
||||
"version": "1.11.2",
|
||||
"version": "1.11.3",
|
||||
"vscodeVersion": "1.99.3",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/a2714d538be16de1c91a0bc6fa1f52acdb0a07d2/Windsurf-darwin-arm64-1.11.2.zip",
|
||||
"sha256": "d0deea25454cef4fda962436980dcf9a7d374e30e681933e1b036258179e8cd1"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/b623f33d83cdc5b0d5eaf6ebc9e4d8193a0b5f50/Windsurf-darwin-arm64-1.11.3.zip",
|
||||
"sha256": "83df03ffe0ef8e03301355f101192e81734841e8c658b2bc2fb238e7a83679d4"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"version": "1.11.2",
|
||||
"version": "1.11.3",
|
||||
"vscodeVersion": "1.99.3",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/a2714d538be16de1c91a0bc6fa1f52acdb0a07d2/Windsurf-darwin-x64-1.11.2.zip",
|
||||
"sha256": "e874198d263dbbfcc46283151d50a20187460d7c42c1988b6165016b17a33351"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/b623f33d83cdc5b0d5eaf6ebc9e4d8193a0b5f50/Windsurf-darwin-x64-1.11.3.zip",
|
||||
"sha256": "e5bda964d69f52bf49d92bd0f2e0a824c2c45dc708f2dcfd93b9797d5fecb80c"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"version": "1.11.2",
|
||||
"version": "1.11.3",
|
||||
"vscodeVersion": "1.99.3",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/a2714d538be16de1c91a0bc6fa1f52acdb0a07d2/Windsurf-linux-x64-1.11.2.tar.gz",
|
||||
"sha256": "b0b5439245ca9c05ac4a600da2835757641820005c219c971a294acb91f3f114"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/b623f33d83cdc5b0d5eaf6ebc9e4d8193a0b5f50/Windsurf-linux-x64-1.11.3.tar.gz",
|
||||
"sha256": "d4f5848f152c5c185c9aa7c89a34700455d41d7388592fa90e05c0329f1943bd"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "yaralyzer";
|
||||
version = "1.0.0";
|
||||
version = "1.0.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michelcrypt4d4mus";
|
||||
repo = "yaralyzer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-HrYO7Fz9aLabx7nsilo/b/xe6OOzIq0P2PzVFtAPNEU=";
|
||||
hash = "sha256-zaC33dlwjMNvvXnxqrEJvk3Umh+4hYsbDWoW6n6KmCk=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -27,11 +27,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "go";
|
||||
version = "1.23.11";
|
||||
version = "1.23.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
|
||||
hash = "sha256-KWOBYHpIOoqGZ9dpUzF1L5Sh8jHCBOJSfS8i4ePRJH0=";
|
||||
hash = "sha256-4czpN5ok6JVxSkEsfd0VfSYU2e2+g6hESbbhhAtPEiY=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -28,11 +28,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "go";
|
||||
version = "1.25rc2";
|
||||
version = "1.25rc3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
|
||||
hash = "sha256-5jFKMjTEwDuNAGvNHRRZTZKBcNGES23/3V+lojM0SeE=";
|
||||
hash = "sha256-Rw4LjnCmjyhV59AJ8TXsgLPRgIXSxOU323Xmrkliv3Q=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
|
||||
python,
|
||||
makeWrapper,
|
||||
# dependencies
|
||||
R,
|
||||
biopython,
|
||||
matplotlib,
|
||||
numpy,
|
||||
@@ -13,15 +13,15 @@
|
||||
pomegranate,
|
||||
pyfaidx,
|
||||
pysam,
|
||||
rPackages,
|
||||
reportlab,
|
||||
rPackages,
|
||||
scikit-learn,
|
||||
scipy,
|
||||
|
||||
R,
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "cnvkit";
|
||||
version = "0.9.12";
|
||||
@@ -47,11 +47,38 @@ buildPythonPackage rec {
|
||||
"pomegranate"
|
||||
];
|
||||
|
||||
# Numpy 2 compatibility
|
||||
postPatch = ''
|
||||
substituteInPlace skgenome/intersect.py \
|
||||
--replace-fail "np.string_" "np.bytes_"
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
R
|
||||
];
|
||||
|
||||
postPatch =
|
||||
let
|
||||
rscript = lib.getExe' R "Rscript";
|
||||
in
|
||||
# Numpy 2 compatibility
|
||||
''
|
||||
substituteInPlace skgenome/intersect.py \
|
||||
--replace-fail "np.string_" "np.bytes_"
|
||||
''
|
||||
# Patch shebang lines in R scripts
|
||||
+ ''
|
||||
substituteInPlace cnvlib/segmentation/flasso.py \
|
||||
--replace-fail "#!/usr/bin/env Rscript" "#!${rscript}"
|
||||
|
||||
substituteInPlace cnvlib/segmentation/cbs.py \
|
||||
--replace-fail "#!/usr/bin/env Rscript" "#!${rscript}"
|
||||
|
||||
substituteInPlace cnvlib/segmentation/__init__.py \
|
||||
--replace-fail 'rscript_path="Rscript"' 'rscript_path="${rscript}"'
|
||||
|
||||
substituteInPlace cnvlib/commands.py \
|
||||
--replace-fail 'default="Rscript"' 'default="${rscript}"'
|
||||
|
||||
'';
|
||||
|
||||
dependencies = [
|
||||
biopython
|
||||
@@ -61,12 +88,42 @@ buildPythonPackage rec {
|
||||
pomegranate
|
||||
pyfaidx
|
||||
pysam
|
||||
rPackages.DNAcopy
|
||||
reportlab
|
||||
rPackages.DNAcopy
|
||||
scikit-learn
|
||||
scipy
|
||||
];
|
||||
|
||||
# Make sure R can find the DNAcopy package
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/cnvkit.py \
|
||||
--set R_LIBS_SITE "${rPackages.DNAcopy}/library" \
|
||||
--set MPLCONFIGDIR "/tmp/matplotlib-config"
|
||||
'';
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
${python.executable} -m pytest --deselect=test/test_commands.py::CommandTests::test_batch \
|
||||
--deselect=test/test_commands.py::CommandTests::test_segment_hmm
|
||||
|
||||
cd test
|
||||
# Set matplotlib config directory for the tests
|
||||
export MPLCONFIGDIR="/tmp/matplotlib-config"
|
||||
export HOME="/tmp"
|
||||
mkdir -p "$MPLCONFIGDIR"
|
||||
|
||||
# Use the installed binary - it's already wrapped with R_LIBS_SITE
|
||||
make cnvkit="$out/bin/cnvkit.py" || {
|
||||
echo "Make tests failed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
pythonImportsCheck = [ "cnvlib" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
@@ -74,13 +131,6 @@ buildPythonPackage rec {
|
||||
R
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# AttributeError: module 'pomegranate' has no attribute 'NormalDistribution'
|
||||
# https://github.com/etal/cnvkit/issues/815
|
||||
"test_batch"
|
||||
"test_segment_hmm"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://cnvkit.readthedocs.io";
|
||||
description = "Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data";
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "deebot-client";
|
||||
version = "13.5.0";
|
||||
version = "13.6.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.13";
|
||||
@@ -29,12 +29,12 @@ buildPythonPackage rec {
|
||||
owner = "DeebotUniverse";
|
||||
repo = "client.py";
|
||||
tag = version;
|
||||
hash = "sha256-sQCUxctFTa3olNxXdSbFh/xo5ISOAivQ6XvvOmLysB4=";
|
||||
hash = "sha256-/8IBXPqDHgAa7v5+c1co9cABXXaZJZhZy5N2TzVKG7Q=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit pname version src;
|
||||
hash = "sha256-Uk9JIrN1w+bwFSG04I3EQGbBV5SArb7G7jcKpVA+ME4=";
|
||||
hash = "sha256-pJSbNgDLq+c3KLVXXZGr7jc7crrbZLcyO//sXJK/bA4=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "inkbird-ble";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = "inkbird-ble";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-J3BT4KZ5Kzoc8vwbsXbhZJ+qkeggYomGE0JedxNTPaQ=";
|
||||
hash = "sha256-Dwp65FKtqJbgux+T3Ql09sDy6m8CCeK26aDKM3I3eJo=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -42,14 +42,17 @@ buildPythonPackage rec {
|
||||
"test_hashandlers"
|
||||
];
|
||||
|
||||
disabledTestPaths =
|
||||
lib.optionals (stdenv.hostPlatform.isDarwin) [
|
||||
# Exception: unable to connect to Redis server
|
||||
"tests/test_redis.py"
|
||||
]
|
||||
++ lib.optionals (pythonAtLeast "3.13") [
|
||||
"tests/test_dictconfig.py"
|
||||
];
|
||||
disabledTestPaths = [
|
||||
# Disable redis tests on all systems for now
|
||||
"tests/test_redis.py"
|
||||
]
|
||||
# lib.optionals (stdenv.hostPlatform.isDarwin) [
|
||||
# # Exception: unable to connect to Redis server
|
||||
# "tests/test_redis.py"
|
||||
# ]
|
||||
++ lib.optionals (pythonAtLeast "3.13") [
|
||||
"tests/test_dictconfig.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "logutils" ];
|
||||
|
||||
|
||||
@@ -3,20 +3,15 @@
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
fetchpatch,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
apricot-select,
|
||||
networkx,
|
||||
numpy,
|
||||
scikit-learn,
|
||||
scipy,
|
||||
torch,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -27,34 +22,10 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
repo = "pomegranate";
|
||||
owner = "jmschrei";
|
||||
# tag = "v${version}";
|
||||
# No tag for 1.1.2
|
||||
rev = "e9162731f4f109b7b17ecffde768734cacdb839b";
|
||||
hash = "sha256-vVoAoZ+mph11ZfINT+yxRyk9rXv6FBDgxBz56P2K95Y=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-p2Gn0FXnsAHvRUeAqx4M1KH0+XvDl3fmUZZ7MiMvPSs=";
|
||||
};
|
||||
|
||||
# _pickle.UnpicklingError: Weights only load failed.
|
||||
# https://pytorch.org/docs/stable/generated/torch.load.html
|
||||
postPatch = ''
|
||||
substituteInPlace \
|
||||
tests/distributions/test_bernoulli.py \
|
||||
tests/distributions/test_categorical.py \
|
||||
tests/distributions/test_exponential.py \
|
||||
tests/distributions/test_gamma.py \
|
||||
tests/distributions/test_independent_component.py \
|
||||
tests/distributions/test_normal_diagonal.py \
|
||||
tests/distributions/test_normal_full.py \
|
||||
tests/distributions/test_poisson.py \
|
||||
tests/distributions/test_student_t.py \
|
||||
tests/distributions/test_uniform.py \
|
||||
tests/test_bayes_classifier.py \
|
||||
tests/test_gmm.py \
|
||||
tests/test_kmeans.py \
|
||||
--replace-fail \
|
||||
'torch.load(".pytest.torch")' \
|
||||
'torch.load(".pytest.torch", weights_only=False)'
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
@@ -72,11 +43,20 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTestPaths = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
patches = [
|
||||
# Fix tests for pytorch 2.6
|
||||
(fetchpatch {
|
||||
name = "python-2.6.patch";
|
||||
url = "https://github.com/jmschrei/pomegranate/pull/1142/commits/9ff5d5e2c959b44e569937e777b26184d1752a7b.patch";
|
||||
hash = "sha256-BXsVhkuL27QqK/n6Fa9oJCzrzNcL3EF6FblBeKXXSts=";
|
||||
})
|
||||
];
|
||||
|
||||
pytestFlagsArray = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
# AssertionError: Arrays are not almost equal to 6 decimals
|
||||
"=tests/distributions/test_normal_full.py::test_fit"
|
||||
"=tests/distributions/test_normal_full.py::test_from_summaries"
|
||||
"=tests/distributions/test_normal_full.py::test_serialization"
|
||||
"--deselect=tests/distributions/test_normal_full.py::test_fit"
|
||||
"--deselect=tests/distributions/test_normal_full.py::test_from_summaries"
|
||||
"--deselect=tests/distributions/test_normal_full.py::test_serialization"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "reolink-aio";
|
||||
version = "0.14.5";
|
||||
version = "0.14.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "starkillerOG";
|
||||
repo = "reolink_aio";
|
||||
tag = version;
|
||||
hash = "sha256-i1/1Z8JngoGQ/VwjMAHJ7RJhS3dfpXApE1DdfTfIz8E=";
|
||||
hash = "sha256-7RCE1E1pWUdb7hW9N7nX9+e5dXX49nn+rTnkoS+ghJE=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sentence-transformers";
|
||||
version = "5.0.0";
|
||||
version = "5.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "UKPLab";
|
||||
repo = "sentence-transformers";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-7HdeNyB3hMJEwHenN2hUEGG2MdQ++nF3nyAYJv7jhyA=";
|
||||
hash = "sha256-snowpTdHelcFjo1+hvqpoVt5ROB0f91yt0GsIvA5cso=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
@@ -122,6 +122,7 @@ buildPythonPackage rec {
|
||||
"tests/test_pretrained_stsb.py"
|
||||
"tests/test_sentence_transformer.py"
|
||||
"tests/test_train_stsb.py"
|
||||
"tests/util/test_hard_negatives.py"
|
||||
];
|
||||
|
||||
# Sentence-transformer needs a writable hf_home cache
|
||||
|
||||
@@ -7,81 +7,81 @@
|
||||
|
||||
version:
|
||||
builtins.getAttr version {
|
||||
"2.7.1" = {
|
||||
"2.8.0" = {
|
||||
x86_64-linux-39 = {
|
||||
name = "torch-2.7.1-cp39-cp39-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.7.1%2Bcu128-cp39-cp39-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-c4rJs6155iohJW49JQzuhY3pVfk/ifqxFNqNGRk0fQY=";
|
||||
name = "torch-2.8.0-cp39-cp39-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp39-cp39-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-uTV6h1laPXsqVlumArlzkqN8VvC4VpjwzPCixY++9ew=";
|
||||
};
|
||||
x86_64-linux-310 = {
|
||||
name = "torch-2.7.1-cp310-cp310-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.7.1%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-1sPLoZjck/k0IqhUX0imaXiQNm5LlwH1Q1H8J+IwS9M=";
|
||||
name = "torch-2.8.0-cp310-cp310-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-DJaZnRXPHxPdfJE+CyGpo1VTjmz8EIYaFxWDICkvWVQ=";
|
||||
};
|
||||
x86_64-linux-311 = {
|
||||
name = "torch-2.7.1-cp311-cp311-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.7.1%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-wwHcKARYr9lUUK95SSTJj+B1It0Uj/OEc5uBDj4xefI=";
|
||||
name = "torch-2.8.0-cp311-cp311-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-A5udzda9uqEKilzWviLEyz41iaNB5fkEy7Vxyij1W+0=";
|
||||
};
|
||||
x86_64-linux-312 = {
|
||||
name = "torch-2.7.1-cp312-cp312-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.7.1%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-C2T30KbypzntBSupWfe2fGdwKMlWbOUZl/n5D+Vz3ao=";
|
||||
name = "torch-2.8.0-cp312-cp312-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-Q1T8Bbt5sgjWmVoEyhzu9qlUexxDNENVdDU9OBxVCHw=";
|
||||
};
|
||||
x86_64-linux-313 = {
|
||||
name = "torch-2.7.1-cp313-cp313-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.7.1%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-lWBCX56hrxeRUH6Mpw1bns9i/tfKImqV/NWNDrLMp48=";
|
||||
name = "torch-2.8.0-cp313-cp313-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-OoUjaaON7DQ9RezQvDZg95uIoj4Mh40YcH98E79JU48=";
|
||||
};
|
||||
aarch64-darwin-39 = {
|
||||
name = "torch-2.7.1-cp39-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1-cp39-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-NRvpBdG6aT8xe+YDRB5O2VgO2ajX7hez2uYPov9Jv/c=";
|
||||
name = "torch-2.8.0-cp39-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp39-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-a+wfJAlodJ4ju7fqj2YXoI/D2xtMdmtczq34ootBl9k=";
|
||||
};
|
||||
aarch64-darwin-310 = {
|
||||
name = "torch-2.7.1-cp310-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1-cp310-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-+MO+4mGwyOCQ9jR0kNxu4q6/1mHrDz9q6uBtmS2O1W8=";
|
||||
name = "torch-2.8.0-cp310-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp310-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-pGe0n+iTpqbM6J467lVu39xkpyLXGV/f3XXOyd6hN3k=";
|
||||
};
|
||||
aarch64-darwin-311 = {
|
||||
name = "torch-2.7.1-cp311-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1-cp311-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-aKNSx/Q1q7XLR+LAMtzRASdyriustvyLg7DBsRh0qzo=";
|
||||
name = "torch-2.8.0-cp311-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp311-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-PQUBfRm8mXQSiORYiIKDpEsO6IHVPwX3L4sc/qiZgSI=";
|
||||
};
|
||||
aarch64-darwin-312 = {
|
||||
name = "torch-2.7.1-cp312-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1-cp312-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-e0+LK4O9CPfTmQJamnsyO9u1PSBWbx4NWEaJu5LYL5o=";
|
||||
name = "torch-2.8.0-cp312-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-pHt5hr7j9hrSF9ioziRgWAmrQluvNJ+X3nWIFe3S71Q=";
|
||||
};
|
||||
aarch64-darwin-313 = {
|
||||
name = "torch-2.7.1-cp313-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1-cp313-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-fs2GighkaOG890uR20JcHClRqc/NBZLExzN3t+Qkha4=";
|
||||
name = "torch-2.8.0-cp313-none-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-BX79MKZ3jS7l4jdM1jpj9jMRqm8zMh5ifGVd9gq905A=";
|
||||
};
|
||||
aarch64-linux-39 = {
|
||||
name = "torch-2.7.1-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-pFUcuXuD31+T/A11ODMlNYKFgeHbLxea/ChwJ6+91ug=";
|
||||
name = "torch-2.8.0-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-6si371x8oQba7F6CnfqMpWykdgHbE7QC0mCIYa06uSY=";
|
||||
};
|
||||
aarch64-linux-310 = {
|
||||
name = "torch-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-wN8Xzul2U9CaToRIijPSEhf5skIIWDxVzyjwBFqrB2Y=";
|
||||
name = "torch-2.8.0-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-shSYWLg0Cu6x8wVuC/9bgrluQ7WW/kmp26MYRSImEhM=";
|
||||
};
|
||||
aarch64-linux-311 = {
|
||||
name = "torch-2.7.1-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-X+YEW49Ca/LQQm5P4AnxZnqVTsKuuC8b0L9gxteoVEU=";
|
||||
name = "torch-2.8.0-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-aAEp797uw9tdo/iO5dKMGx4QO3dK70D51jjizOj42Ng=";
|
||||
};
|
||||
aarch64-linux-312 = {
|
||||
name = "torch-2.7.1-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-O/LbWt93tDOETwgIh63gScRwXd+f4aMgI/+E/3Napa0=";
|
||||
name = "torch-2.8.0-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-YQ9gDBAjhuWBMn1e/BjA1u3suYILQUDSYWM1SpnNgA0=";
|
||||
};
|
||||
aarch64-linux-313 = {
|
||||
name = "torch-2.7.1-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-6xdkZ5KsQ3T/yH5CNp9F0h7/F8eQholjuQSD7wtttO8=";
|
||||
name = "torch-2.8.0-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-pQZLXiN3LI0WQGjMfBLgGnX697lI7NlaDUAH10h+XyU=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ let
|
||||
pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
|
||||
srcs = import ./binary-hashes.nix version;
|
||||
unsupported = throw "Unsupported system";
|
||||
version = "2.7.1";
|
||||
version = "2.8.0";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit version;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "torchaudio";
|
||||
version = "2.7.1";
|
||||
version = "2.8.0";
|
||||
format = "wheel";
|
||||
|
||||
src =
|
||||
|
||||
@@ -7,81 +7,81 @@
|
||||
|
||||
version:
|
||||
builtins.getAttr version {
|
||||
"2.7.1" = {
|
||||
"2.8.0" = {
|
||||
x86_64-linux-39 = {
|
||||
name = "torchaudio-2.7.1-cp39-cp39-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.7.1%2Bcu128-cp39-cp39-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-DBRNX/tO7IbHn/ETar2RvT+DfzBCcTeV4QdYrtxC3Og=";
|
||||
name = "torchaudio-2.8.0-cp39-cp39-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.8.0%2Bcu128-cp39-cp39-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-2QZsae7B8pPC/wqAW/UEc3OQzL9rd8jmfa+DTbhv2kU=";
|
||||
};
|
||||
x86_64-linux-310 = {
|
||||
name = "torchaudio-2.7.1-cp310-cp310-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.7.1%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-K6CBbu5lnjQ4UanF3GDI4euBmjlpspJo+rJ9MUMnPXg=";
|
||||
name = "torchaudio-2.8.0-cp310-cp310-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.8.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-oBYelShaC3Ft4hD+4DkhUdYB59o8yGWVAI2Car/0iow=";
|
||||
};
|
||||
x86_64-linux-311 = {
|
||||
name = "torchaudio-2.7.1-cp311-cp311-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.7.1%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-hOxyfx/a/fhd0cAYptO/q+tWZbEOC18nOmdetzD1nOU=";
|
||||
name = "torchaudio-2.8.0-cp311-cp311-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.8.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-9ECd9WfQcjp6OonTLHVSoX4P9vE36iag0mjGZSWbKZU=";
|
||||
};
|
||||
x86_64-linux-312 = {
|
||||
name = "torchaudio-2.7.1-cp312-cp312-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.7.1%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-DB1Af5NNRPh5NbE5mR2IcvgfiPimvpt70lkYv3ROK+Y=";
|
||||
name = "torchaudio-2.8.0-cp312-cp312-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.8.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-FFuKDCHPyqFwXGcXPF1DkIfg4SDV2pvDRHRvk3kB0kM=";
|
||||
};
|
||||
x86_64-linux-313 = {
|
||||
name = "torchaudio-2.7.1-cp313-cp313-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.7.1%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-fpfqil1eVhCNHAcUFmE7xhoONTHC5rpqm2RiMtbkEIg=";
|
||||
name = "torchaudio-2.8.0-cp313-cp313-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchaudio-2.8.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-QQu46kYiXv5ljl0no4AsGBoiVZEwA2IaXSWlGsqAGNk=";
|
||||
};
|
||||
aarch64-darwin-39 = {
|
||||
name = "torchaudio-2.7.1-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-oHEA/iz3r0+mnYywRqK3QEZhJiGhpUivpa8caeAur4E=";
|
||||
name = "torchaudio-2.8.0-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-UiKJ4s1X55QB/VzK6bG8D/LkfzUpCSrfWs9XQn6gxqk=";
|
||||
};
|
||||
aarch64-darwin-310 = {
|
||||
name = "torchaudio-2.7.1-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-RzmvV9DrlDR9HGobVmi+eKc4Ov6Cbd4YoEiDufnyY7E=";
|
||||
name = "torchaudio-2.8.0-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-wvRM8nn2c8/N2PV2w0nu6L7fjKqzUaXdeLMpcMw0ohI=";
|
||||
};
|
||||
aarch64-darwin-311 = {
|
||||
name = "torchaudio-2.7.1-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-1aYviMYpA1kT9QbfA/cQxI/Iu5Y3GRkz8nxnCI1coTY=";
|
||||
name = "torchaudio-2.8.0-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-ySdoV9JBxt4levdlwPUfwBGvOMtyVAFJUSGygJEwB88=";
|
||||
};
|
||||
aarch64-darwin-312 = {
|
||||
name = "torchaudio-2.7.1-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-kwbc/EWGzr12R6k/6aRI55HE+Dk02mFrlDO3VZeh+Xg=";
|
||||
name = "torchaudio-2.8.0-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-3e+UvxgeZEfLsF84vqyo9sW7jSud3O0ao0UgJbn8cNM=";
|
||||
};
|
||||
aarch64-darwin-313 = {
|
||||
name = "torchaudio-2.7.1-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-5fBZmlB/RoNUaHjtlmfhsy18o8ipV+TBXGswI3jvTe4=";
|
||||
name = "torchaudio-2.8.0-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-+FHTLpTKBeRw8MYOJXJuweDrccsspaAga3/QMnLMw8g=";
|
||||
};
|
||||
aarch64-linux-39 = {
|
||||
name = "torchaudio-2.7.1-cp39-cp39-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-6LLaEaf3eCsAuCPJnoEusA7os0Va1HT4/UKg2gvE9Go=";
|
||||
name = "torchaudio-2.8.0-cp39-cp39-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-739/+oKLjYul06VpuCX8BGlojh6JYr9ld9U4vYrxOH0=";
|
||||
};
|
||||
aarch64-linux-310 = {
|
||||
name = "torchaudio-2.7.1-cp310-cp310-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-wInb/BTF9HCRt78/a/K7rJO4ZhkpnQTZwQL0rVN1iZA=";
|
||||
name = "torchaudio-2.8.0-cp310-cp310-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-08G4WyagmDLROfbW2mtmyutR0uFuCPhYdmXESp4aqPk=";
|
||||
};
|
||||
aarch64-linux-311 = {
|
||||
name = "torchaudio-2.7.1-cp311-cp311-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-U7xLoS50aL40p8ou6DfuXIvVdVslwS9mWvkznK434mU=";
|
||||
name = "torchaudio-2.8.0-cp311-cp311-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-RXPGBClQwgJ442CKmjgFC6C8cuAEnhu/0knK+FmoAps=";
|
||||
};
|
||||
aarch64-linux-312 = {
|
||||
name = "torchaudio-2.7.1-cp312-cp312-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-1mvXayJv3UE1yXZQ4bfrY/t2WbTtDjp3iJjkHbuiG2E=";
|
||||
name = "torchaudio-2.8.0-cp312-cp312-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-hi4uQL8J2GXl3wgKhMGjm7zvQOQxQPSxc36zo4nTs48=";
|
||||
};
|
||||
aarch64-linux-313 = {
|
||||
name = "torchaudio-2.7.1-cp313-cp313-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.7.1-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-Jx9xeETlx/ngXIMo3oF7+Q9G2DKBx5HpT1TU7eovWBc=";
|
||||
name = "torchaudio-2.8.0-cp313-cp313-manylinux2014_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchaudio-2.8.0-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-CVNam3J8B5PNB8Gs6Z8/NTYmKBvMPjDC8jFOPrydP5Y=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ let
|
||||
pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
|
||||
srcs = import ./binary-hashes.nix version;
|
||||
unsupported = throw "Unsupported system";
|
||||
version = "0.22.1";
|
||||
version = "0.23.0";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit version;
|
||||
|
||||
@@ -7,81 +7,81 @@
|
||||
|
||||
version:
|
||||
builtins.getAttr version {
|
||||
"0.22.1" = {
|
||||
"0.23.0" = {
|
||||
x86_64-linux-39 = {
|
||||
name = "torchvision-0.22.1-cp39-cp39-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.22.1%2Bcu128-cp39-cp39-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-UfJbwdKLA32YoUFckXRBcmJE2KAJcZB+bfsA7MwxNl8=";
|
||||
name = "torchvision-0.23.0-cp39-cp39-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.23.0%2Bcu128-cp39-cp39-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-eE/JDLlw5aKbJLZEHkYfW/YWhGMFuXk/o4cKnyltTA4=";
|
||||
};
|
||||
x86_64-linux-310 = {
|
||||
name = "torchvision-0.22.1-cp310-cp310-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.22.1%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-U49NtmcobZObTu4KZtMe0htRGGZoAGsOD/4gM47MfgA=";
|
||||
name = "torchvision-0.23.0-cp310-cp310-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.23.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-RgvI1w9jvbQzpzUd7MLBrhkD9/N45KdhT8joyXpcNqo=";
|
||||
};
|
||||
x86_64-linux-311 = {
|
||||
name = "torchvision-0.22.1-cp311-cp311-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.22.1%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-klaKxGsTqMiLYViYALG5xGKb4JHqfOCA/G/GIuEeCRU=";
|
||||
name = "torchvision-0.23.0-cp311-cp311-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.23.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-k/G19WsgzWhpvKQJQ95P08qczFbhtX9HxnHeHNqznNs=";
|
||||
};
|
||||
x86_64-linux-312 = {
|
||||
name = "torchvision-0.22.1-cp312-cp312-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.22.1%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-9k75u5HXGrNdg4SRKhn3QZ41koaFvGdUTVj0UUgzQ3M=";
|
||||
name = "torchvision-0.23.0-cp312-cp312-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.23.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-nLPBOZevy0QFfKENlDxsTLowaK/eDzcJZavOnIn8/6k=";
|
||||
};
|
||||
x86_64-linux-313 = {
|
||||
name = "torchvision-0.22.1-cp313-cp313-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.22.1%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-vE/vGTkXtR22tAms0//eyShth3uqwK7l3Pu3JZLQC/w=";
|
||||
name = "torchvision-0.23.0-cp313-cp313-linux_x86_64.whl";
|
||||
url = "https://download.pytorch.org/whl/cu128/torchvision-0.23.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl";
|
||||
hash = "sha256-xjmC8Zc7pnezfmZj3w4Hy1OBRZtvBXLCypXuvY3+t0I=";
|
||||
};
|
||||
aarch64-darwin-39 = {
|
||||
name = "torchvision-0.22.1-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-i+lBtNNcCrqBm+cP27vtjOtgQBzmmWuM+quhMAzmImM=";
|
||||
name = "torchvision-0.23.0-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp39-cp39-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-sZDbIF+QIGwjD8L5HL39VzMzS6vA4NGb3bkKQLjPJsI=";
|
||||
};
|
||||
aarch64-darwin-310 = {
|
||||
name = "torchvision-0.22.1-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-O0fYNp7laMBneVwNoLQHjzmp3+pvO8HzrIdTDf2h3VY=";
|
||||
name = "torchvision-0.23.0-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp310-cp310-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-cmaHHaygCtRtHAc+VdlyF50SpY+lya3smj25u+1xKEo=";
|
||||
};
|
||||
aarch64-darwin-311 = {
|
||||
name = "torchvision-0.22.1-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-St32JuK1f8Iv1tMpzxNG1HRJdnLmr4ODt7W2NvupSlM=";
|
||||
name = "torchvision-0.23.0-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp311-cp311-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-Saog4h8MK9RYxx17RJd2y9XxZpPdWAcZWoIGEriiKbc=";
|
||||
};
|
||||
aarch64-darwin-312 = {
|
||||
name = "torchvision-0.22.1-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-FT8XkOUFvW2hI+Ie7m6D4uFV3wXA/n1WNHMDBn2FQ8U=";
|
||||
name = "torchvision-0.23.0-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp312-cp312-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-4OLASpFAPo3Tr5dWxqAkodnA7ZwNWSqDFN7Y9P4w1EA=";
|
||||
};
|
||||
aarch64-darwin-313 = {
|
||||
name = "torchvision-0.22.1-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-nDrjMZYkxDzIEnAg9GwUqoeEBngfCJm7YoOuR0r+r78=";
|
||||
name = "torchvision-0.23.0-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp313-cp313-macosx_11_0_arm64.whl";
|
||||
hash = "sha256-HDfjJeCaGEtzDD71FCTzg+xXRTeNwOyiRFIKyilyJgA=";
|
||||
};
|
||||
aarch64-linux-39 = {
|
||||
name = "torchvision-0.22.1-cp39-cp39-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-FUor3DehYSLCAk8vd+ZfWYYCC0DAE1FcaUtdNX+smaE=";
|
||||
name = "torchvision-0.23.0-cp39-cp39-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp39-cp39-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-bHTLwcvuJt1PNfmJzYDczEBBHyWN7kdrKYcd7ktIOvA=";
|
||||
};
|
||||
aarch64-linux-310 = {
|
||||
name = "torchvision-0.22.1-cp310-cp310-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-mQ3k1lekHtcWgM2L4umOvKtVNx8wmT3JvS5nZEH3GA4=";
|
||||
name = "torchvision-0.23.0-cp310-cp310-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp310-cp310-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-McWDuidCajoE7KjAVFBSQQXBVk20G+ZjL3U270BabeI=";
|
||||
};
|
||||
aarch64-linux-311 = {
|
||||
name = "torchvision-0.22.1-cp311-cp311-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-i0pTpgZ9Y626DFLyuN0ikNtknWQgIWdO5DwMki8Mamk=";
|
||||
name = "torchvision-0.23.0-cp311-cp311-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp311-cp311-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-Adwz7iTHkUiu582880roo8naFnSlkeeBV3txbSM7H6Y=";
|
||||
};
|
||||
aarch64-linux-312 = {
|
||||
name = "torchvision-0.22.1-cp312-cp312-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-lkQU7vGUWdVaEOiG4vylBndVDiQ1htFnj2Xj9va6xHo=";
|
||||
name = "torchvision-0.23.0-cp312-cp312-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp312-cp312-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-bdfE0ymg4DFXgDAxvIViIMYVXvCMJtT1u6yTis7PCUg=";
|
||||
};
|
||||
aarch64-linux-313 = {
|
||||
name = "torchvision-0.22.1-cp313-cp313-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.22.1-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-SmFKakCNLtdCCNDqbCii+7aCkOmn3yBsX+8/C2hl0wc=";
|
||||
name = "torchvision-0.23.0-cp313-cp313-linux_aarch64.whl";
|
||||
url = "https://download.pytorch.org/whl/cpu/torchvision-0.23.0-cp313-cp313-manylinux_2_28_aarch64.whl";
|
||||
hash = "sha256-L3/WwV82l+gGJ7d5NPd3BfO8Dpgni5ibJlXeAfaQPh0=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "types-html5lib";
|
||||
version = "1.1.11.20250516";
|
||||
version = "1.1.11.20250708";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "types_html5lib";
|
||||
inherit version;
|
||||
hash = "sha256-ZQQ6ZxjJf31SVnzAzfQe+/wzsfksbAxeGfYKfsaa5yA=";
|
||||
hash = "sha256-JDIXIP26xxzuUNWkvsm3RISVtyF5dM/+P88e3k7vev4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "wavinsentio";
|
||||
version = "0.5.0";
|
||||
version = "0.5.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-YSofEjDehuNlenkAsQzLkX67Um4pkMSeZmVZgNA06vw=";
|
||||
hash = "sha256-FlxeOaqQkJBWQtEUudbwlCzkK6HWmWTIxjgaI80BlxQ=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "whodap";
|
||||
version = "0.1.12";
|
||||
version = "0.1.13";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -18,8 +18,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "pogzyb";
|
||||
repo = "whodap";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kw7bmkpDNb/PK/Q2tSbG+ju0G+6tdSy3RaNDaNOVYnE=";
|
||||
tag = version;
|
||||
hash = "sha256-VSFtHjdG9pJAryGUgwI0NxxaW0JiXEHU7aVvXYxymtc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ httpx ];
|
||||
@@ -39,7 +39,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Python RDAP utility for querying and parsing information about domain names";
|
||||
homepage = "https://github.com/pogzyb/whodap";
|
||||
changelog = "https://github.com/pogzyb/whodap/releases/tag/v${version}";
|
||||
changelog = "https://github.com/pogzyb/whodap/releases/tag/${src.tag}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ytmusicapi";
|
||||
version = "1.10.3";
|
||||
version = "1.11.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "sigma67";
|
||||
repo = "ytmusicapi";
|
||||
tag = version;
|
||||
hash = "sha256-0JTuTGHAWG4lMKMvvtuNTRiYlfPsbhCNoGS0TJBZdCc=";
|
||||
hash = "sha256-7GaxWLGmyxy5RlLoqXXmTM67eoIDf9IB3qjohZcNupU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
qtbase,
|
||||
qttools,
|
||||
sqlcipher,
|
||||
wrapQtAppsHook,
|
||||
qtmacextras,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sqlitebrowser";
|
||||
version = "3.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sqlitebrowser";
|
||||
repo = "sqlitebrowser";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-bpZnO8i8MDgOm0f93pBmpy1sZLJQ9R4o4ZLnGfT0JRg=";
|
||||
};
|
||||
|
||||
patches = lib.optional stdenv.hostPlatform.isDarwin ./macos.patch;
|
||||
|
||||
# We should be using qscintilla from nixpkgs instead of the vendored version,
|
||||
# but qscintilla is currently in a bit of a mess as some consumers expect a
|
||||
# -qt4 or -qt5 prefix while others do not.
|
||||
# We *really* should get that cleaned up.
|
||||
buildInputs = [
|
||||
qtbase
|
||||
sqlcipher
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin qtmacextras;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-Dsqlcipher=1"
|
||||
(lib.cmakeBool "ENABLE_TESTING" (finalAttrs.finalPackage.doCheck or false))
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "DB Browser for SQLite";
|
||||
mainProgram = "sqlitebrowser";
|
||||
homepage = "https://sqlitebrowser.org/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
})
|
||||
@@ -202,17 +202,15 @@ let
|
||||
# to be built eventually, we would still like to get the error early and without
|
||||
# having to wait while nix builds a derivation that might not be used.
|
||||
# See also https://github.com/NixOS/nix/issues/4629
|
||||
optionalAttrs (attrs ? disallowedReferences) {
|
||||
disallowedReferences = map unsafeDerivationToUntrackedOutpath attrs.disallowedReferences;
|
||||
}
|
||||
// optionalAttrs (attrs ? disallowedRequisites) {
|
||||
disallowedRequisites = map unsafeDerivationToUntrackedOutpath attrs.disallowedRequisites;
|
||||
}
|
||||
// optionalAttrs (attrs ? allowedReferences) {
|
||||
allowedReferences = mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedReferences;
|
||||
}
|
||||
// optionalAttrs (attrs ? allowedRequisites) {
|
||||
allowedRequisites = mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedRequisites;
|
||||
{
|
||||
${if (attrs ? disallowedReferences) then "disallowedReferences" else null} =
|
||||
map unsafeDerivationToUntrackedOutpath attrs.disallowedReferences;
|
||||
${if (attrs ? disallowedRequisites) then "disallowedRequisites" else null} =
|
||||
map unsafeDerivationToUntrackedOutpath attrs.disallowedRequisites;
|
||||
${if (attrs ? allowedReferences) then "allowedReferences" else null} =
|
||||
mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedReferences;
|
||||
${if (attrs ? allowedRequisites) then "allowedRequisites" else null} =
|
||||
mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedRequisites;
|
||||
};
|
||||
|
||||
makeDerivationArgument =
|
||||
@@ -478,8 +476,8 @@ let
|
||||
|
||||
derivationArg =
|
||||
removeAttrs attrs removedOrReplacedAttrNames
|
||||
// (optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
|
||||
name =
|
||||
// {
|
||||
${if (attrs ? name || (attrs ? pname && attrs ? version)) then "name" else null} =
|
||||
let
|
||||
# Indicate the host platform of the derivation if cross compiling.
|
||||
# Fixed-output derivations like source tarballs shouldn't get a host
|
||||
@@ -507,8 +505,7 @@ let
|
||||
) "The `version` attribute cannot be null.";
|
||||
"${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}"
|
||||
);
|
||||
})
|
||||
// {
|
||||
|
||||
builder = attrs.realBuilder or stdenv.shell;
|
||||
args =
|
||||
attrs.args or [
|
||||
@@ -556,28 +553,33 @@ let
|
||||
inherit doCheck doInstallCheck;
|
||||
|
||||
inherit outputs;
|
||||
}
|
||||
// optionalAttrs (__contentAddressed) {
|
||||
inherit __contentAddressed;
|
||||
# Provide default values for outputHashMode and outputHashAlgo because
|
||||
# most people won't care about these anyways
|
||||
outputHashAlgo = attrs.outputHashAlgo or "sha256";
|
||||
outputHashMode = attrs.outputHashMode or "recursive";
|
||||
}
|
||||
// optionalAttrs (enableParallelBuilding) {
|
||||
inherit enableParallelBuilding;
|
||||
enableParallelChecking = attrs.enableParallelChecking or true;
|
||||
enableParallelInstalling = attrs.enableParallelInstalling or true;
|
||||
}
|
||||
// optionalAttrs (hardeningDisable != [ ] || hardeningEnable != [ ] || stdenv.hostPlatform.isMusl) {
|
||||
NIX_HARDENING_ENABLE = builtins.concatStringsSep " " enabledHardeningOptions;
|
||||
}
|
||||
//
|
||||
|
||||
# When the derivations is content addressed provide default values
|
||||
# for outputHashMode and outputHashAlgo because most people won't
|
||||
# care about these anyways
|
||||
${if __contentAddressed then "__contentAddressed" else null} = __contentAddressed;
|
||||
${if __contentAddressed then "outputHashAlgo" else null} = attrs.outputHashAlgo or "sha256";
|
||||
${if __contentAddressed then "outputHashMode" else null} = attrs.outputHashMode or "recursive";
|
||||
|
||||
${if enableParallelBuilding then "enableParallelBuilding" else null} = enableParallelBuilding;
|
||||
${if enableParallelBuilding then "enableParallelChecking" else null} =
|
||||
attrs.enableParallelChecking or true;
|
||||
${if enableParallelBuilding then "enableParallelInstalling" else null} =
|
||||
attrs.enableParallelInstalling or true;
|
||||
|
||||
${
|
||||
if (hardeningDisable != [ ] || hardeningEnable != [ ] || stdenv.hostPlatform.isMusl) then
|
||||
"NIX_HARDENING_ENABLE"
|
||||
else
|
||||
null
|
||||
} =
|
||||
builtins.concatStringsSep " " enabledHardeningOptions;
|
||||
|
||||
# TODO: remove platform condition
|
||||
# Enabling this check could be a breaking change as it requires to edit nix.conf
|
||||
# NixOS module already sets gccarch, unsure of nix installers and other distributions
|
||||
optionalAttrs
|
||||
(
|
||||
${
|
||||
if
|
||||
stdenv.buildPlatform ? gcc.arch
|
||||
&& !(
|
||||
stdenv.buildPlatform.isAarch64
|
||||
@@ -589,12 +591,15 @@ let
|
||||
stdenv.buildPlatform.gcc.arch == "armv8-a"
|
||||
)
|
||||
)
|
||||
)
|
||||
{
|
||||
requiredSystemFeatures = attrs.requiredSystemFeatures or [ ] ++ [
|
||||
"gccarch-${stdenv.buildPlatform.gcc.arch}"
|
||||
];
|
||||
}
|
||||
then
|
||||
"requiredSystemFeatures"
|
||||
else
|
||||
null
|
||||
} =
|
||||
attrs.requiredSystemFeatures or [ ] ++ [
|
||||
"gccarch-${stdenv.buildPlatform.gcc.arch}"
|
||||
];
|
||||
}
|
||||
// optionalAttrs (stdenv.buildPlatform.isDarwin) (
|
||||
let
|
||||
allDependencies = concatLists (concatLists dependencies);
|
||||
|
||||
@@ -588,6 +588,8 @@ mapAliases {
|
||||
dtv-scan-tables_linuxtv = dtv-scan-tables; # Added 2023-03-03
|
||||
dtv-scan-tables_tvheadend = dtv-scan-tables; # Added 2023-03-03
|
||||
du-dust = dust; # Added 2024-01-19
|
||||
duckstation = throw "'duckstation' has been removed due to being unmaintained"; # Added 2025-08-03
|
||||
duckstation-bin = throw "'duckstation-bin' has been removed due to being unmaintained"; # Added 2025-08-03
|
||||
dump1090 = dump1090-fa; # Added 2024-02-12
|
||||
dwfv = throw "'dwfv' has been removed due to lack of upstream maintenance";
|
||||
dylibbundler = throw "'dylibbundler' has been renamed to/replaced by 'macdylibbundler'"; # Converted to throw 2024-10-17
|
||||
|
||||
@@ -7486,8 +7486,6 @@ with pkgs;
|
||||
protobuf = protobuf_21;
|
||||
};
|
||||
|
||||
sqlitebrowser = libsForQt5.callPackage ../development/tools/database/sqlitebrowser { };
|
||||
|
||||
sqlite-utils = with python3Packages; toPythonApplication sqlite-utils;
|
||||
|
||||
sqlmap = with python3Packages; toPythonApplication sqlmap;
|
||||
|
||||
Reference in New Issue
Block a user