Merge staging-next into staging
This commit is contained in:
@@ -14589,6 +14589,12 @@
|
||||
githubId = 2943605;
|
||||
name = "Evgeny Kurnevsky";
|
||||
};
|
||||
kurogeek = {
|
||||
email = "kurogeek@lmvhaus.com";
|
||||
github = "kurogeek";
|
||||
githubId = 7752934;
|
||||
name = "kurogeek";
|
||||
};
|
||||
kuwii = {
|
||||
name = "kuwii";
|
||||
email = "kuwii.someone@gmail.com";
|
||||
|
||||
@@ -235,6 +235,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
|
||||
|
||||
- `services.openssh` now supports generating host SSH keys by setting `services.openssh.generateHostKeys = true` while leaving `services.openssh.enable` disabled. This is particularly useful for systems that have no need of an SSH daemon but want SSH host keys for other purposes such as using agenix or sops-nix.
|
||||
|
||||
- IPVLAN interfaces can now be configured through the `networking.ipvlans` option in the networking module.
|
||||
|
||||
- `services.caddy` now supports setting `httpPort` and `httpsPort` and opening them in the firewall via `openFirewall`.
|
||||
|
||||
- `boot.initrd.secrets` is now deprecated in favour of `boot.initrd.secretPaths` and `boot.initrd.extraSecretsHook`.
|
||||
|
||||
@@ -153,6 +153,9 @@ in
|
||||
+ optionalString (def.macvlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "MACVLAN=${s}") def.macvlan)}
|
||||
''
|
||||
+ optionalString (def.ipvlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "IPVLAN=${s}") def.ipvlan)}
|
||||
''
|
||||
+ optionalString (def.macvtap != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "MACVTAP=${s}") def.macvtap)}
|
||||
''
|
||||
|
||||
@@ -878,6 +878,7 @@
|
||||
./services/misc/ihaskell.nix
|
||||
./services/misc/iio-niri.nix
|
||||
./services/misc/input-remapper.nix
|
||||
./services/misc/inventree.nix
|
||||
./services/misc/invidious-router.nix
|
||||
./services/misc/irkerd.nix
|
||||
./services/misc/jackett.nix
|
||||
|
||||
@@ -0,0 +1,446 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.inventree;
|
||||
pkg = cfg.package;
|
||||
|
||||
mysqlLocal = cfg.database.createLocally && cfg.database.dbtype == "mysql";
|
||||
pgsqlLocal = cfg.database.createLocally && cfg.database.dbtype == "postgresql";
|
||||
|
||||
manage = pkgs.writeShellScriptBin "inventree-manage" ''
|
||||
set -a
|
||||
${lib.toShellVars cfg.settings}
|
||||
${lib.optionalString (
|
||||
cfg.database.passwordFile != null
|
||||
) ''INVENTREE_DB_PASSWORD="$(<"${cfg.database.passwordFile}")"''}
|
||||
set +a
|
||||
|
||||
pushd "${cfg.dataDir}"
|
||||
sudo=exec
|
||||
if [[ "$USER" != ${cfg.user} ]]; then
|
||||
${
|
||||
if config.security.sudo.enable then
|
||||
"sudo='exec ${config.security.wrapperDir}/sudo -u ${cfg.user} -E'"
|
||||
else
|
||||
">&2 echo 'Aborting, inventree-manage must be run as user `${cfg.user}`!'; exit 2"
|
||||
}
|
||||
fi
|
||||
$sudo ${cfg.package}/bin/inventree "$@"
|
||||
popd
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
meta.buildDocsInSandbox = false;
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
kurogeek
|
||||
];
|
||||
|
||||
options.services.inventree = with lib; {
|
||||
enable = lib.mkEnableOption "inventree";
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/inventree";
|
||||
description = "Inventree's data storage path. Will be `/var/lib/inventree` by default.";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
description = "Which package to use for the InvenTree instance.";
|
||||
default = pkgs.inventree;
|
||||
defaultText = literalExpression "pkgs.inventree";
|
||||
};
|
||||
|
||||
adminPasswordFile = mkOption {
|
||||
type = types.nullOr lib.types.path;
|
||||
default = null;
|
||||
example = "/run/keys/inventree-password";
|
||||
description = "Path to a file containing admin password";
|
||||
};
|
||||
|
||||
secretKeyFile = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.dataDir}/secret_key.txt";
|
||||
defaultText = lib.literalExpression ''"''${cfg.dataDir}/secret_key.txt"'';
|
||||
example = "/run/keys/inventree-secret-key";
|
||||
description = ''
|
||||
Path to a file containing the secret key
|
||||
'';
|
||||
};
|
||||
|
||||
database = {
|
||||
dbtype = mkOption {
|
||||
type = lib.types.nullOr (
|
||||
lib.types.enum [
|
||||
"postgresql"
|
||||
"mysql"
|
||||
]
|
||||
);
|
||||
default = "postgresql";
|
||||
description = "Database type.";
|
||||
};
|
||||
dbhost = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default =
|
||||
if pgsqlLocal then
|
||||
"/run/postgresql"
|
||||
else if mysqlLocal then
|
||||
"/run/mysqld/mysqld.sock"
|
||||
else
|
||||
"localhost";
|
||||
defaultText = "localhost";
|
||||
example = "localhost";
|
||||
description = ''
|
||||
Database host or socket path.
|
||||
If [](#opt-services.inventree.database.createLocally) is true and
|
||||
[](#opt-services.inventree.database.dbtype) is either `postgresql` or `mysql`,
|
||||
defaults to the correct Unix socket instead.
|
||||
'';
|
||||
};
|
||||
dbport = mkOption {
|
||||
type = types.port;
|
||||
default = 5432;
|
||||
description = "Database host port.";
|
||||
};
|
||||
dbname = mkOption {
|
||||
type = types.str;
|
||||
default = "inventree";
|
||||
description = "Database name.";
|
||||
};
|
||||
dbuser = mkOption {
|
||||
type = types.str;
|
||||
default = "inventree";
|
||||
description = "Database username.";
|
||||
};
|
||||
passwordFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
example = "/run/keys/inventree-dbpassword";
|
||||
description = ''
|
||||
A file containing the password corresponding to
|
||||
<option>database.dbuser</option>.
|
||||
'';
|
||||
};
|
||||
createLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Create the database and database user locally.";
|
||||
};
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
example = "inventree.example.com";
|
||||
description = ''
|
||||
The INVENTREE_SITE_URL option defines the base URL for the
|
||||
InvenTree server. This is a critical setting, and it is required
|
||||
for correct operation of the server. If not specified, the
|
||||
server will attempt to determine the site URL automatically -
|
||||
but this may not always be correct!
|
||||
|
||||
The site URL is the URL that users will use to access the
|
||||
InvenTree server. For example, if the server is accessible at
|
||||
`https://inventree.example.com`, the site URL should be set to
|
||||
`https://inventree.example.com`. Note that this is not
|
||||
necessarily the same as the internal URL that the server is
|
||||
running on - the internal URL will depend entirely on your
|
||||
server configuration and may be obscured by a reverse proxy or
|
||||
other such setup.
|
||||
'';
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "inventree";
|
||||
description = "User under which InvenTree runs.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "inventree";
|
||||
description = "Group under which InvenTree runs.";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type =
|
||||
with lib.types;
|
||||
attrsOf (
|
||||
nullOr (oneOf [
|
||||
path
|
||||
str
|
||||
])
|
||||
);
|
||||
default = { };
|
||||
description = ''
|
||||
InvenTree config options.
|
||||
|
||||
See [the documentation](https://docs.inventree.org/en/stable/start/config/) for available options.
|
||||
'';
|
||||
example = {
|
||||
INVENTREE_CACHE_ENABLED = true;
|
||||
INVENTREE_CACHE_HOST = "localhost";
|
||||
|
||||
INVENTREE_EMAIL_HOST = "smtp.example.com";
|
||||
INVENTREE_EMAIL_PORT = 25;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (
|
||||
lib.mkMerge [
|
||||
{
|
||||
services.inventree.settings = {
|
||||
INVENTREE_DB_ENGINE = cfg.database.dbtype;
|
||||
INVENTREE_DB_NAME = cfg.database.dbname;
|
||||
INVENTREE_DB_HOST = cfg.database.dbhost;
|
||||
INVENTREE_DB_USER = cfg.database.dbuser;
|
||||
INVENTREE_DB_PORT = toString cfg.database.dbport;
|
||||
|
||||
INVENTREE_CONFIG_FILE = lib.mkDefault "${cfg.dataDir}/config/config.yaml";
|
||||
INVENTREE_OIDC_PRIVATE_KEY_FILE = lib.mkDefault "${cfg.dataDir}/config/oidc_private_key.txt";
|
||||
INVENTREE_STATIC_ROOT = lib.mkDefault "${cfg.dataDir}/data/static_root";
|
||||
INVENTREE_MEDIA_ROOT = lib.mkDefault "${cfg.dataDir}/data/media";
|
||||
INVENTREE_BACKUP_DIR = lib.mkDefault "${cfg.dataDir}/data/backups";
|
||||
INVENTREE_SITE_URL = lib.mkDefault "http://${cfg.domain}";
|
||||
INVENTREE_PLUGIN_FILE = lib.mkDefault "${cfg.dataDir}/data/plugins/plugins.txt";
|
||||
INVENTREE_PLUGIN_DIR = lib.mkDefault "${cfg.dataDir}/data/plugins";
|
||||
INVENTREE_ADMIN_PASSWORD_FILE = lib.mkDefault cfg.adminPasswordFile;
|
||||
INVENTREE_SECRET_KEY_FILE = lib.mkDefault cfg.secretKeyFile;
|
||||
INVENTREE_AUTO_UPDATE = lib.mkDefault "false";
|
||||
};
|
||||
environment.systemPackages = [ manage ];
|
||||
systemd.tmpfiles.rules = (
|
||||
map (dir: "d ${dir} 0755 inventree inventree") [
|
||||
"${cfg.dataDir}"
|
||||
"${cfg.dataDir}/config"
|
||||
"${cfg.dataDir}/data"
|
||||
"${cfg.dataDir}/data/static_root"
|
||||
"${cfg.dataDir}/data/media"
|
||||
"${cfg.dataDir}/data/backups"
|
||||
"${cfg.dataDir}/data/plugins"
|
||||
]
|
||||
);
|
||||
|
||||
services.postgresql = lib.mkIf pgsqlLocal {
|
||||
enable = true;
|
||||
ensureDatabases = [ cfg.database.dbname ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = cfg.database.dbuser;
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.mysql = lib.mkIf mysqlLocal {
|
||||
enable = true;
|
||||
package = lib.mkDefault pkgs.mariadb;
|
||||
ensureDatabases = [ cfg.database.dbname ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = cfg.database.dbuser;
|
||||
ensurePermissions = {
|
||||
"${cfg.database.dbname}.*" = "ALL PRIVILEGES";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.nginx.enable = true;
|
||||
services.nginx.virtualHosts.${cfg.domain} = {
|
||||
locations =
|
||||
let
|
||||
unixPath = config.systemd.sockets.inventree-server.socketConfig.ListenStream;
|
||||
in
|
||||
{
|
||||
"/" = {
|
||||
extraConfig = ''
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-By $server_addr:$server_port;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header CLIENT_IP $remote_addr;
|
||||
|
||||
proxy_pass_request_headers on;
|
||||
|
||||
proxy_redirect off;
|
||||
|
||||
client_max_body_size 100M;
|
||||
|
||||
proxy_buffering off;
|
||||
proxy_request_buffering off;
|
||||
'';
|
||||
proxyPass = "http://unix:${unixPath}";
|
||||
};
|
||||
"/auth" = {
|
||||
extraConfig = ''
|
||||
internal;
|
||||
proxy_pass_request_body off;
|
||||
proxy_set_header Content-Length "";
|
||||
proxy_set_header X-Original-URI $request_uri;
|
||||
'';
|
||||
proxyPass = "http://unix:${unixPath}:/auth/";
|
||||
};
|
||||
"/static/" = {
|
||||
alias = "${cfg.settings.INVENTREE_STATIC_ROOT}/";
|
||||
extraConfig = ''
|
||||
autoindex on;
|
||||
|
||||
# Caching settings
|
||||
expires 30d;
|
||||
add_header Pragma public;
|
||||
add_header Cache-Control "public";
|
||||
'';
|
||||
};
|
||||
"/media/" = {
|
||||
alias = "${cfg.settings.INVENTREE_MEDIA_ROOT}/";
|
||||
extraConfig = ''
|
||||
auth_request /auth;
|
||||
add_header Content-disposition "attachment";
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.inventree-setup = {
|
||||
description = "Inventree setup";
|
||||
wantedBy = [ "inventree.target" ];
|
||||
partOf = [ "inventree.target" ];
|
||||
after = lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.target";
|
||||
requires = lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.target";
|
||||
before = [
|
||||
"inventree-static.service"
|
||||
"inventree-server.service"
|
||||
"inventree-qcluster.service"
|
||||
];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
RemainAfterExit = true;
|
||||
PrivateTmp = true;
|
||||
}
|
||||
// lib.optionalAttrs (cfg.database.passwordFile != null) {
|
||||
LoadCredential = "db_password:${cfg.database.passwordFile}";
|
||||
};
|
||||
environment = cfg.settings;
|
||||
script = ''
|
||||
set -euo pipefail
|
||||
umask u=rwx,g=,o=
|
||||
|
||||
${
|
||||
lib.optionalString (cfg.database.passwordFile != null) ''
|
||||
INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
|
||||
''
|
||||
} \
|
||||
exec ${pkg}/bin/inventree migrate
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.inventree-static = {
|
||||
description = "Inventree static migration";
|
||||
wantedBy = [ "inventree.target" ];
|
||||
partOf = [ "inventree.target" ];
|
||||
before = [ "inventree-server.service" ];
|
||||
environment = cfg.settings;
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "inventree";
|
||||
PrivateTmp = true;
|
||||
}
|
||||
// lib.optionalAttrs (cfg.database.passwordFile != null) {
|
||||
LoadCredential = "db_password:${cfg.database.passwordFile}";
|
||||
};
|
||||
script = ''
|
||||
${
|
||||
lib.optionalString (cfg.database.passwordFile != null) ''
|
||||
INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
|
||||
''
|
||||
} \
|
||||
exec ${pkg}/bin/inventree collectstatic --no-input
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.inventree-server = {
|
||||
description = "Inventree Gunicorn service";
|
||||
requiredBy = [ "inventree.target" ];
|
||||
partOf = [ "inventree.target" ];
|
||||
environment = cfg.settings;
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "inventree";
|
||||
PrivateTmp = true;
|
||||
}
|
||||
// lib.optionalAttrs (cfg.database.passwordFile != null) {
|
||||
LoadCredential = "db_password:${cfg.database.passwordFile}";
|
||||
};
|
||||
script = ''
|
||||
${
|
||||
lib.optionalString (cfg.database.passwordFile != null) ''
|
||||
INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
|
||||
''
|
||||
} \
|
||||
exec ${pkg}/bin/gunicorn InvenTree.wsgi
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.sockets.inventree-server = {
|
||||
wantedBy = [ "sockets.target" ];
|
||||
partOf = [ "inventree.target" ];
|
||||
socketConfig.ListenStream = "/run/inventree/gunicorn.socket";
|
||||
};
|
||||
|
||||
systemd.services.inventree-qcluster = {
|
||||
description = "InvenTree qcluster server";
|
||||
requiredBy = [ "inventree.target" ];
|
||||
wantedBy = [ "inventree.target" ];
|
||||
partOf = [ "inventree.target" ];
|
||||
environment = cfg.settings;
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "inventree";
|
||||
PrivateTmp = true;
|
||||
}
|
||||
// lib.optionalAttrs (cfg.database.passwordFile != null) {
|
||||
LoadCredential = "db_password:${cfg.database.passwordFile}";
|
||||
};
|
||||
script = ''
|
||||
${
|
||||
lib.optionalString (cfg.database.passwordFile != null) ''
|
||||
INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
|
||||
''
|
||||
} \
|
||||
exec ${pkg}/bin/inventree qcluster
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.targets.inventree = {
|
||||
description = "Target for all InvenTree services";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
};
|
||||
|
||||
users = lib.optionalAttrs (cfg.user == cfg.user) {
|
||||
users.${cfg.user} = {
|
||||
group = cfg.group;
|
||||
isSystemUser = true;
|
||||
home = cfg.dataDir;
|
||||
};
|
||||
groups.${cfg.group}.members = [ cfg.user ];
|
||||
};
|
||||
}
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -3037,6 +3037,15 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
ipvlan = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
A list of ipvlan interfaces to be added to the network section of the
|
||||
unit. See {manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
|
||||
macvtap = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
|
||||
@@ -21,6 +21,7 @@ let
|
||||
attrValues cfg.vswitches
|
||||
)
|
||||
++ concatMap (i: [ i.interface ]) (attrValues cfg.macvlans)
|
||||
++ concatMap (i: [ i.interface ]) (attrValues cfg.ipvlans)
|
||||
++ concatMap (i: [ i.interface ]) (attrValues cfg.vlans);
|
||||
|
||||
# We must escape interfaces due to the systemd interpretation
|
||||
@@ -106,6 +107,7 @@ let
|
||||
|| (hasAttr dev cfg.bridges)
|
||||
|| (hasAttr dev cfg.bonds)
|
||||
|| (hasAttr dev cfg.macvlans)
|
||||
|| (hasAttr dev cfg.ipvlans)
|
||||
|| (hasAttr dev cfg.sits)
|
||||
|| (hasAttr dev cfg.ipips)
|
||||
|| (hasAttr dev cfg.vlans)
|
||||
@@ -590,6 +592,39 @@ let
|
||||
}
|
||||
);
|
||||
|
||||
createIpvlanDevice =
|
||||
n: v:
|
||||
nameValuePair "${n}-netdev" (
|
||||
let
|
||||
deps = deviceDependency v.interface;
|
||||
in
|
||||
{
|
||||
description = "IPVLAN Interface ${n}";
|
||||
wantedBy = [
|
||||
"network.target"
|
||||
"network-setup.service"
|
||||
(subsystemDevice n)
|
||||
];
|
||||
bindsTo = deps;
|
||||
after = [ "network-pre.target" ] ++ deps;
|
||||
before = [ "network-setup.service" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute2 ];
|
||||
script = ''
|
||||
# Remove Dead Interfaces
|
||||
ip link show dev "${n}" >/dev/null 2>&1 && ip link delete dev "${n}"
|
||||
ip link add link "${v.interface}" name "${n}" type ipvlan \
|
||||
${optionalString (v.mode != null) "mode ${v.mode}"} \
|
||||
${optionalString (v.flags != null) "${v.flags}"}
|
||||
ip link set dev "${n}" up
|
||||
'';
|
||||
postStop = ''
|
||||
ip link delete dev "${n}" || true
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
createFouEncapsulation =
|
||||
n: v:
|
||||
nameValuePair "${n}-fou-encap" (
|
||||
@@ -803,6 +838,7 @@ let
|
||||
// mapAttrs' createVswitchDevice cfg.vswitches
|
||||
// mapAttrs' createBondDevice cfg.bonds
|
||||
// mapAttrs' createMacvlanDevice cfg.macvlans
|
||||
// mapAttrs' createIpvlanDevice cfg.ipvlans
|
||||
// mapAttrs' createFouEncapsulation cfg.fooOverUDP
|
||||
// mapAttrs' createSitDevice cfg.sits
|
||||
// mapAttrs' createIpipDevice cfg.ipips
|
||||
|
||||
@@ -396,6 +396,24 @@ in
|
||||
}
|
||||
)
|
||||
))
|
||||
(mkMerge (
|
||||
flip mapAttrsToList cfg.ipvlans (
|
||||
name: ipvlan: {
|
||||
netdevs."40-${name}" = {
|
||||
netdevConfig = {
|
||||
Name = name;
|
||||
Kind = "ipvlan";
|
||||
};
|
||||
ipvlanConfig =
|
||||
optionalAttrs (ipvlan.mode != null) { Mode = lib.toUpper ipvlan.mode; }
|
||||
// optionalAttrs (ipvlan.flags != null) { Flags = ipvlan.flags; };
|
||||
};
|
||||
networks."40-${ipvlan.interface}" = {
|
||||
ipvlan = [ name ];
|
||||
};
|
||||
}
|
||||
)
|
||||
))
|
||||
(mkMerge (
|
||||
flip mapAttrsToList cfg.fooOverUDP (
|
||||
name: fou: {
|
||||
|
||||
@@ -1069,6 +1069,54 @@ in
|
||||
});
|
||||
};
|
||||
|
||||
networking.ipvlans = mkOption {
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
wan = {
|
||||
interface = "enp2s0";
|
||||
mode = "l2";
|
||||
flags = "vepa";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
This option allows you to define ipvlan interfaces which should
|
||||
be automatically created.
|
||||
'';
|
||||
type =
|
||||
with types;
|
||||
attrsOf (submodule {
|
||||
options = {
|
||||
|
||||
interface = mkOption {
|
||||
example = "enp4s0";
|
||||
type = types.str;
|
||||
description = "The interface the ipvlan will transmit packets through.";
|
||||
};
|
||||
|
||||
mode = mkOption {
|
||||
default = "l2";
|
||||
type = types.enum [
|
||||
"l2"
|
||||
"l3"
|
||||
"l3s"
|
||||
];
|
||||
description = "The mode of the interface.";
|
||||
};
|
||||
|
||||
flags = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
example = "vepa";
|
||||
description = "The flags of the ipvlan device.";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
networking.fooOverUDP = mkOption {
|
||||
default = { };
|
||||
example = {
|
||||
|
||||
@@ -790,6 +790,7 @@ in
|
||||
installer = handleTest ./installer.nix { };
|
||||
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix { };
|
||||
intune = runTest ./intune.nix;
|
||||
inventree = runTest ./inventree.nix;
|
||||
invidious = runTest ./invidious.nix;
|
||||
invoiceplane = runTest ./invoiceplane.nix;
|
||||
iodine = runTest ./iodine.nix;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
name = "inventree";
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
kurogeek
|
||||
];
|
||||
|
||||
nodes = {
|
||||
psqlTest = {
|
||||
services.inventree = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
mysqlTest = {
|
||||
services.inventree = {
|
||||
enable = true;
|
||||
database.dbtype = "mysql";
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
start_all()
|
||||
psqlTest.wait_for_unit("inventree.target")
|
||||
psqlTest.wait_for_unit("inventree-server.service")
|
||||
psqlTest.wait_for_open_unix_socket("/run/inventree/gunicorn.socket")
|
||||
psqlTest.wait_until_succeeds("curl -sf http://localhost/web")
|
||||
|
||||
mysqlTest.wait_for_unit("inventree.target")
|
||||
mysqlTest.wait_for_unit("inventree-server.service")
|
||||
mysqlTest.wait_for_open_unix_socket("/run/inventree/gunicorn.socket")
|
||||
mysqlTest.wait_until_succeeds("curl -sf http://localhost/web")
|
||||
'';
|
||||
}
|
||||
@@ -436,6 +436,38 @@ let
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.3")
|
||||
'';
|
||||
};
|
||||
ipvlan = {
|
||||
name = "IPVLAN";
|
||||
nodes.client = {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
ipvlans = {
|
||||
ipvlan1.interface = "enp1s0";
|
||||
ipvlan2.interface = "enp1s0";
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
with subtest("Wait for networking to come up"):
|
||||
client.wait_for_unit("network.target")
|
||||
|
||||
with subtest("Can move IPVLANs to separate network namespaces"):
|
||||
client.succeed("ip netns add ns1 && ip link set dev ipvlan1 netns ns1")
|
||||
client.succeed("ip netns add ns2 && ip link set dev ipvlan2 netns ns2")
|
||||
|
||||
with subtest("Can configure the IPVLAN interfaces"):
|
||||
client.succeed("ip netns exec ns1 ip addr add 192.168.1.1/24 dev ipvlan1")
|
||||
client.succeed("ip netns exec ns2 ip addr add 192.168.1.2/24 dev ipvlan2")
|
||||
client.succeed("ip netns exec ns1 ip link set dev ipvlan1 up")
|
||||
client.succeed("ip netns exec ns2 ip link set dev ipvlan2 up")
|
||||
|
||||
with subtest("IPVLAN interfaces can ping each other"):
|
||||
client.succeed("ip netns exec ns1 ping -c 1 192.168.1.2")
|
||||
client.succeed("ip netns exec ns2 ping -c 1 192.168.1.1")
|
||||
'';
|
||||
};
|
||||
fou = {
|
||||
name = "foo-over-udp";
|
||||
nodes.machine = clientConfig {
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
/*
|
||||
transform all plugins into an attrset
|
||||
{ optional = bool; plugin = package; }
|
||||
*/
|
||||
normalizePlugins =
|
||||
plugins:
|
||||
let
|
||||
defaultPlugin = {
|
||||
plugin = null;
|
||||
config = null;
|
||||
optional = false;
|
||||
};
|
||||
in
|
||||
map (x: defaultPlugin // (if (x ? plugin) then x else { plugin = x; })) plugins;
|
||||
|
||||
pluginWithConfigType =
|
||||
with lib;
|
||||
types.submodule {
|
||||
options = {
|
||||
config = mkOption {
|
||||
type = types.nullOr types.lines;
|
||||
description = "viml configuration associated with this plugin.";
|
||||
default = null;
|
||||
example = "set title";
|
||||
};
|
||||
|
||||
optional = mkEnableOption "optional" // {
|
||||
description = "Don't load automatically on startup (load with :packadd)";
|
||||
};
|
||||
|
||||
plugin = mkOption {
|
||||
type = types.package;
|
||||
example = lib.literalExpression "vimPlugins.vim-fugitive";
|
||||
description = "vim plugin";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
options = {
|
||||
plugins = lib.mkOption {
|
||||
type = with lib.types; listOf (either package pluginWithConfigType);
|
||||
default = [ ];
|
||||
apply = normalizePlugins;
|
||||
example = lib.literalExpression ''
|
||||
with pkgs.vimPlugins; [
|
||||
yankring
|
||||
vim-nix
|
||||
{ plugin = vim-startify;
|
||||
config = "let g:startify_change_to_vcs_root = 0";
|
||||
}
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
List of vim plugins to install optionally associated with
|
||||
configuration to be placed in init.vim.
|
||||
'';
|
||||
};
|
||||
|
||||
runtimeDeps = lib.mkOption {
|
||||
readOnly = true;
|
||||
type = with lib.types; listOf package;
|
||||
description = ''
|
||||
List of derivations required at runtime
|
||||
'';
|
||||
};
|
||||
|
||||
pluginAdvisedLua = lib.mkOption {
|
||||
readOnly = true;
|
||||
type = lib.types.listOf lib.types.lines;
|
||||
description = ''
|
||||
Recommended configuration set in vim plugins via ".passthru.initLua".
|
||||
'';
|
||||
};
|
||||
|
||||
userPluginViml = lib.mkOption {
|
||||
readOnly = true;
|
||||
type = lib.types.listOf (lib.types.lines);
|
||||
description = ''
|
||||
The viml config set by the user.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
pluginsNormalized = normalizePlugins config.plugins;
|
||||
in
|
||||
{
|
||||
pluginAdvisedLua =
|
||||
let
|
||||
op =
|
||||
acc: normalizedPlugin:
|
||||
acc
|
||||
++ lib.optional (
|
||||
normalizedPlugin.plugin.passthru ? initLua
|
||||
) normalizedPlugin.plugin.passthru.initLua;
|
||||
in
|
||||
lib.foldl' op [ ] pluginsNormalized;
|
||||
|
||||
runtimeDeps =
|
||||
let
|
||||
op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [ ];
|
||||
in
|
||||
lib.foldl' op [ ] pluginsNormalized;
|
||||
|
||||
userPluginViml = lib.foldl (
|
||||
acc: p: if p.config != null then acc ++ [ p.config ] else acc
|
||||
) [ ] pluginsNormalized;
|
||||
};
|
||||
}
|
||||
@@ -79,25 +79,30 @@ let
|
||||
plugins:
|
||||
|
||||
let
|
||||
neovimConfig =
|
||||
structuredConfigure:
|
||||
let
|
||||
module = import ./module.nix;
|
||||
# Generate init.vim configuration
|
||||
cfg = (
|
||||
lib.evalModules {
|
||||
modules = [
|
||||
module
|
||||
structuredConfigure
|
||||
];
|
||||
}
|
||||
);
|
||||
in
|
||||
cfg.config;
|
||||
|
||||
checked_cfg = neovimConfig {
|
||||
inherit plugins;
|
||||
};
|
||||
|
||||
pluginsNormalized = normalizePlugins plugins;
|
||||
|
||||
vimPackage = normalizedPluginsToVimPackage pluginsNormalized;
|
||||
|
||||
userPluginViml = lib.foldl (
|
||||
acc: p: if p.config != null then acc ++ [ p.config ] else acc
|
||||
) [ ] pluginsNormalized;
|
||||
|
||||
pluginAdvisedLua =
|
||||
let
|
||||
op =
|
||||
acc: normalizedPlugin:
|
||||
acc
|
||||
++ lib.optional (
|
||||
normalizedPlugin.plugin.passthru ? initLua
|
||||
) normalizedPlugin.plugin.passthru.initLua;
|
||||
in
|
||||
lib.foldl' op [ ] pluginsNormalized;
|
||||
|
||||
getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ]));
|
||||
|
||||
requiredPlugins = vimUtils.requiredPluginsForPackage vimPackage;
|
||||
@@ -108,10 +113,11 @@ let
|
||||
inherit pluginPython3Packages;
|
||||
|
||||
# viml config set by the user along with the plugin
|
||||
inherit userPluginViml;
|
||||
|
||||
# recommended configuration set in vim plugins ".passthru.initLua"
|
||||
inherit pluginAdvisedLua;
|
||||
inherit (checked_cfg)
|
||||
userPluginViml
|
||||
runtimeDeps
|
||||
pluginAdvisedLua
|
||||
;
|
||||
|
||||
# A Vim "package", see ':h packages'
|
||||
# You most likely want to use vimPackage as follows:
|
||||
@@ -119,12 +125,6 @@ let
|
||||
# finalPackdir = neovimUtils.packDir packpathDirs;
|
||||
inherit vimPackage;
|
||||
|
||||
runtimeDeps =
|
||||
let
|
||||
op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [ ];
|
||||
in
|
||||
lib.foldl' op [ ] pluginsNormalized;
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -27,12 +27,12 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-ZtujuSjRzps2f7BchVAW4x8keCnHK5QHGNveCLRE+QQ=";
|
||||
x86_64-darwin = "sha256-Xe+tWx3LJe65DFCk9pmXBghnSLnol3HA098WdRjs6vo=";
|
||||
aarch64-linux = "sha256-AjWIfQWrLtGE4V3r6GACA916cwXl9yT/iobfwfLrCBE=";
|
||||
aarch64-darwin = "sha256-zFRvn9BT5xx+HMWhnI5APKUDekOvZjzbN3SlqtdMBOE=";
|
||||
armv7l-linux = "sha256-ikFIKd06N1Y1CYHd6RRSJUd9PqxSH2Po7QgDD15EZ5I=";
|
||||
loongarch64-linux = "sha256-1mpodid9/Vz4OAXhE35UqqC99PuqCg7lRQJy20RL/Zs=";
|
||||
x86_64-linux = "sha256-x2Un085IBlTTu98fv1Z+INu8UDRttbbNJMZJ3ReHPNE=";
|
||||
x86_64-darwin = "sha256-3CzZlPCNHy9XtfTSh18Up/iJL0+X16O047UelMkpl10=";
|
||||
aarch64-linux = "sha256-5prZ9RO8sPv4PunAqwo5Wjc7+ApfGF5FfWEai0Biaqw=";
|
||||
aarch64-darwin = "sha256-jnAqT3KmQ590eTP4EHEIu03TeRcYDU+bLc/yuJ+Qx/s=";
|
||||
armv7l-linux = "sha256-PVQ3UVmp8QQL1702kSRSSdh3QYNrD81/3ldFEPMwMKM=";
|
||||
loongarch64-linux = "sha256-J+YIZbGjMJnHVrOmlML1wpGiwBbwcPJkMdtjxfAgT8w=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
@@ -43,7 +43,7 @@ buildVscode rec {
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.109.51242";
|
||||
version = "1.110.11631";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
||||
@@ -230,6 +230,7 @@ let
|
||||
|
||||
isElectron = packageName == "electron";
|
||||
rustcVersion = buildPackages.rustc.version;
|
||||
llvmVersion = buildPackages.rustc.llvmPackages.llvm.version;
|
||||
# libpng has been replaced by the png rust crate
|
||||
# https://github.com/image-rs/image-png/discussions/562
|
||||
needsLibpng = !chromiumVersionAtLeast "143";
|
||||
@@ -555,7 +556,7 @@ let
|
||||
hash = "sha256-0ueOCHYheSFHRFzEat3TDhnU3Avf0TcNBBBpTkz+saw=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "144") [
|
||||
++ lib.optionals (versionRange "144" "146") [
|
||||
# Patch rustc_nightly_capability to eval to false instead of true.
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7022369
|
||||
./patches/chromium-144-rustc_nightly_capability.patch
|
||||
@@ -576,27 +577,50 @@ let
|
||||
hash = "sha256-k+xCfhDuHxtuGhY7LVE8HvbDJt8SEFkslBcJe7t5CAg=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "145" && !ungoogled) [
|
||||
# Non-backported variant of the patch above for M145
|
||||
++ lib.optionals (chromiumVersionAtLeast "146" && !ungoogled) [
|
||||
# Same as the patch above, but from ungoogled-chromium and much
|
||||
# cleaner (and smaller) than reverting an endless chain of CLs.
|
||||
(fetchpatch {
|
||||
name = "revert-devtools-frontend-esbuild-instead-of-rollup.patch";
|
||||
# https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7485622
|
||||
url = "https://chromium.googlesource.com/devtools/devtools-frontend/+/72846d78927b90a77b51b12d13009320a74067e0^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
stripLen = 1;
|
||||
extraPrefix = "third_party/devtools-frontend/src/";
|
||||
revert = true;
|
||||
hash = "sha256-vu60z6PuWavNoEoxW0thSy89WxztOEG50V1ZSfJRRug=";
|
||||
name = "ungoogled-chromium-145-build-with-wasm-rollup.patch";
|
||||
# https://github.com/ungoogled-software/ungoogled-chromium/blob/145.0.7632.159-1/patches/core/ungoogled-chromium/build-with-wasm-rollup.patch
|
||||
url = "https://github.com/ungoogled-software/ungoogled-chromium/raw/refs/tags/145.0.7632.159-1/patches/core/ungoogled-chromium/build-with-wasm-rollup.patch";
|
||||
hash = "sha256-Ho5I33FOgtYHvKSZlWXWuBaqnSHqy4+f6EZdiL+/rRQ=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "146") [
|
||||
# Revert CL 7457194 to fix the following error:
|
||||
# ERROR at //chrome/test/BUILD.gn:6355:9: Unable to load "/build/src/components/variations/test_data/cipd/BUILD.gn".
|
||||
# "//components/variations/test_data/cipd:single_group_per_study_prefer_existing_behavior_seed",
|
||||
(fetchpatch {
|
||||
name = "revert-devtools-frontend-reland-use-native-rollup.patch";
|
||||
# https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7368549
|
||||
url = "https://chromium.googlesource.com/devtools/devtools-frontend/+/7c2d912b52f18fff4a9ef7bd64608f2feefc0d83^!?format=TEXT";
|
||||
name = "chromium-146-revert-Add-finch-seeds-to-desktop-perf-builds.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7457194
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/d2e8a550eece6051372da94a475a8661da203106^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
stripLen = 1;
|
||||
extraPrefix = "third_party/devtools-frontend/src/";
|
||||
revert = true;
|
||||
hash = "sha256-Qa4GvamZ//0WTAZmDXOQJVz9dnYNzBkD8lYcWOHdVIY=";
|
||||
hash = "sha256-tJ//HE7o9R8nSQDGhi+MKXdNUwnkCZI++CzpAmFn2YY=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "146" && lib.versionOlder llvmVersion "23") [
|
||||
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds'
|
||||
(fetchpatch {
|
||||
name = "chromium-146-revert-Update-fsanitizer=array-bounds-config.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7539408
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/acb47d9a6b56c4889a2ed4216e9968cfc740086c^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
revert = true;
|
||||
hash = "sha256-WZsN2qm6lX121bDf7SoN75flXtCTmPPpwtHK0ayjkPc=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (versionRange "146" "147") [
|
||||
# Backport CL 7594600 from M147 to fix the following error:
|
||||
# error[E0277]: the trait bound `LaneCount<N>: SupportedLaneCount` is not satisfied
|
||||
# --> ../../third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs:152:40
|
||||
(fetchpatch {
|
||||
name = "chromium-146-backport-Remove-now-obsolete-invalid-patch-on-bytemuck-v1.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7594600
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/90b77efcecb262823fadb67b0ce218846cd9e756^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
hash = "sha256-iDhDdVscy0tinQCRKXOghrn4ZRwlc8YjPZ0xPv0UMEU=";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -697,20 +721,6 @@ let
|
||||
'${glibc}/share/locale/'
|
||||
|
||||
''
|
||||
# Workaround (crimes) for our rollup/esbuild revert in M145.
|
||||
# https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7414812
|
||||
# We cannot use fetchpatch{,2} because it silently drops blobs and messes up symlinks.
|
||||
# We cannot use GNU patch (patchPhase) because it does not support git binary diffs.
|
||||
# We cannot use Gerrit/Gitiles because the git sha lengths may change as the repo grows.
|
||||
+ lib.optionalString (chromiumVersionAtLeast "145" && !ungoogled) ''
|
||||
${lib.getExe buildPackages.git} apply --reverse --directory=third_party/devtools-frontend/src/ ${
|
||||
fetchurl {
|
||||
name = "revert-devtools-frontend-remove-rollup-wasm.patch";
|
||||
url = "https://github.com/ChromeDevTools/devtools-frontend/commit/a377a8c570a370e1bfccaf82f128e3b977dbf866.patch?full_index=1";
|
||||
hash = "sha256-83T37ts54iotGYQAAyVv5CF8fMVrh/tfVRhfWaOlUkI=";
|
||||
}
|
||||
}
|
||||
''
|
||||
+ ''
|
||||
# Allow to put extensions into the system-path.
|
||||
sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc
|
||||
@@ -872,12 +882,20 @@ let
|
||||
// (extraAttrs.gnFlags or { })
|
||||
);
|
||||
|
||||
preConfigure = lib.optionalString (!isElectron) ''
|
||||
(
|
||||
cd third_party/node
|
||||
grep patch update_npm_deps | sh
|
||||
)
|
||||
'';
|
||||
preConfigure =
|
||||
lib.optionalString (!isElectron) ''
|
||||
(
|
||||
cd third_party/node
|
||||
grep patch update_npm_deps | sh
|
||||
)
|
||||
''
|
||||
# Our node_modules, unlike the tarball from chromium, includes @lit/reactive-element/development,
|
||||
# which causes a "error: TS2403: Subsequent variable declarations must have the same type" later in the build.
|
||||
# TypeScript is parsing both @lit/reactive-element/reactive-element.d.ts and @lit/reactive-element/development/reactive-element.d.ts,
|
||||
# but lit_reactive_element.patch only patches the former.
|
||||
+ lib.optionalString (chromiumVersionAtLeast "146") ''
|
||||
rm -r third_party/node/node_modules/@lit/reactive-element/development
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
{
|
||||
"chromium": {
|
||||
"version": "145.0.7632.159",
|
||||
"version": "146.0.7680.71",
|
||||
"chromedriver": {
|
||||
"version": "145.0.7632.160",
|
||||
"hash_darwin": "sha256-JQpTpNyI50HuUFtM70JUqm/JVCZeXxojp54kJqjrrYg=",
|
||||
"hash_darwin_aarch64": "sha256-eXip9I36nZw8PvzrA3+0/yMt+XmX5TNvVgQ2XaSlYzY="
|
||||
"version": "146.0.7680.72",
|
||||
"hash_darwin": "sha256-pm7HJA+yr7gQFYHpYC1ELD8zDFzrzcRDpkjbqmjWcbs=",
|
||||
"hash_darwin_aarch64": "sha256-ffgeYa2Rvrg9LUTpKJ4tkBysVkMMUkrBkju6ULHU/dI="
|
||||
},
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "fb0b652edba70f5c4ac867f3beca9e535f905b4c",
|
||||
"hash": "sha256-feguZuDeGytydebRiIK2FqxNStXFdXv191IDEuhag+o="
|
||||
"rev": "42786f6e46c25c30dd58f69283ab6fcd0c959f58",
|
||||
"hash": "sha256-wI3L6w3G9QCWzvSSUXeLJFHZ+7iv01hs+ig12EXJFHk="
|
||||
},
|
||||
"gn": {
|
||||
"version": "0-unstable-2026-01-07",
|
||||
"rev": "5550ba0f4053c3cbb0bff3d60ded9d867b6fa371",
|
||||
"hash": "sha256-SoXVnpCuNee80N4YdsTEHQd3jZNoHOwKVP6O8a67Ym0="
|
||||
"version": "0-unstable-2026-02-05",
|
||||
"rev": "304bbef6c7e9a86630c12986b99c8654eb7fe648",
|
||||
"hash": "sha256-wFCuu4GR0N7QZCwT8UAhqH5moicYQjZ4ZLI58AM4pJ0="
|
||||
},
|
||||
"npmHash": "sha256-13sgV/5BD7QvDLBAEmoLN5vongw+S5v5znvZcctxhWc="
|
||||
"npmHash": "sha256-ByB1Ea5tduIJZXyydeBWsoS8OPABOgwHe+dNXRssdvc="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "838c69b2e5b8cd00a916e35097249bc20eb25a0a",
|
||||
"hash": "sha256-lWw909vzUiAo0yzx3sZqEEWf9fpZkIxArP6G7+6ImXM=",
|
||||
"rev": "e00a64ead1abef9447943efede7bc26362ac3797",
|
||||
"hash": "sha256-hZPRH4Q2PQqXDhMXHHcav+37US+7vuN176rhpcoOeq8=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -32,8 +32,8 @@
|
||||
},
|
||||
"src/third_party/compiler-rt/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
|
||||
"rev": "c3c996fabde14dbbbb92d1a5cdd9d6592e1dd038",
|
||||
"hash": "sha256-HCE+p1lYX7EhdkEzhr+8g2P5pSHUx/5pweAtWiQsgDI="
|
||||
"rev": "86587046105639b66fe40059bf8fdb8a33522f97",
|
||||
"hash": "sha256-Ah/ErOAoKo49VYXHg7MRRdwpjf1azOLp/k5RSf6LJbI="
|
||||
},
|
||||
"src/third_party/libc++/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
|
||||
@@ -47,13 +47,13 @@
|
||||
},
|
||||
"src/third_party/libunwind/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
|
||||
"rev": "a726f5347e1e423d59f5c2d434b6a29265c43051",
|
||||
"hash": "sha256-aZCJlwWr+XxwzVFBqMRziFfMu1l2jM8Nf8/GdZIGt4Y="
|
||||
"rev": "ba19d93d6d4f467fba11ff20fe2fc7c056f79345",
|
||||
"hash": "sha256-iRfpzVN+QEpN6okwVs5oEtZqIJYzFGxsUO/IJY1c/W8="
|
||||
},
|
||||
"src/third_party/llvm-libc/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
|
||||
"rev": "e9f0fd9932428fc109b848892050daadc2d91cc9",
|
||||
"hash": "sha256-engzBRJGh2N3bemb/Q3bLnhFrpJNuIpVd4105Ny+1O0="
|
||||
"rev": "5705ee75b1fafbf96ff11534a9976f10d6c47dfd",
|
||||
"hash": "sha256-f4Xfk3SN+miTE6Fc3hqe8dlxBPblOPghTLYdnUmPDus="
|
||||
},
|
||||
"src/chrome/test/data/perf/canvas_bench": {
|
||||
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
|
||||
@@ -72,8 +72,8 @@
|
||||
},
|
||||
"src/docs/website": {
|
||||
"url": "https://chromium.googlesource.com/website.git",
|
||||
"rev": "cb33846322e88ba1acc3188c1daa4b00b94be767",
|
||||
"hash": "sha256-zjzyJ9glyV1tvETWS+TOByUOZ/OFCAzG30Bxf4ehT3Q="
|
||||
"rev": "5522b25f3da74caafdcd3f1bcf33380f9f023a1c",
|
||||
"hash": "sha256-NmU/u3gWFkjVhZeEaESGn013mnsPmIDUK79lsVc/JzE="
|
||||
},
|
||||
"src/media/cdm/api": {
|
||||
"url": "https://chromium.googlesource.com/chromium/cdm.git",
|
||||
@@ -82,8 +82,8 @@
|
||||
},
|
||||
"src/net/third_party/quiche/src": {
|
||||
"url": "https://quiche.googlesource.com/quiche.git",
|
||||
"rev": "022c607b07590ba1cf36ba3d0b24878ff3c03a77",
|
||||
"hash": "sha256-CTujkLFcWNrHlhvFsXEZeB3fk66zK/3JmsGcwhpq4yM="
|
||||
"rev": "24430cb4103438f3cd1680f8f89d7c9e4288d5ca",
|
||||
"hash": "sha256-QEmVSKg1qbJ2aKrCq3AOgDQ3yMPx1dcvSJcGEjAffDg="
|
||||
},
|
||||
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
|
||||
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
|
||||
@@ -92,8 +92,8 @@
|
||||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "2d051d9cef02bca69a97749a995b138e3dec0e1f",
|
||||
"hash": "sha256-m/9vp7BAhRvVVOyRT6jCoNKP5PbiAZlCpqUHvFu1byA="
|
||||
"rev": "1d3190bf5633327395d694d621258978d989dffd",
|
||||
"hash": "sha256-QVtTxBBox8fiqTj0gjqvYx6HoBSlvuWIe5ki4iCQl08="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
@@ -107,8 +107,8 @@
|
||||
},
|
||||
"src/third_party/angle/third_party/VK-GL-CTS/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
|
||||
"rev": "70cfd2061d441aaa600b3dc740220f231bd09d93",
|
||||
"hash": "sha256-cB4zWtcDgsJcLDn2hzGdFp5Xs8KSOszVzk11CgvMxWg="
|
||||
"rev": "1698899cb078aacfb11d6b8eb5c4753d86bd2661",
|
||||
"hash": "sha256-oifCX+zx63p5eB7nnfE+FM895Ino3gmS39N5twBIAKg="
|
||||
},
|
||||
"src/third_party/anonymous_tokens/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
|
||||
@@ -132,8 +132,8 @@
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "3df397b5b33f950da92787d9a6ac655e0601bca2",
|
||||
"hash": "sha256-UAKnxnEScteAj+14i56K6VA34JM+J4KCpG4HbY2bT4s="
|
||||
"rev": "c46c81b25577c40de6e7e510743ae0454e0c8351",
|
||||
"hash": "sha256-Duv3kNulPtVxCLPa3bFIev64O9Y4ObJP/IZz31oPJ0E="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
@@ -142,8 +142,8 @@
|
||||
},
|
||||
"src/third_party/dawn/third_party/dxc": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
|
||||
"rev": "496974907e2ac7666f8bc889287d174755703016",
|
||||
"hash": "sha256-/snH1gbxf1ghSNp371y6o8QIxLXz6pHwIZmbc9k4JAw="
|
||||
"rev": "907ddace203afad066242f3c1b1b59e86dbb34ee",
|
||||
"hash": "sha256-0bIw1sVkVqNinAqt9u1Zeyltrnd02TWSRTOT4TcT3OY="
|
||||
},
|
||||
"src/third_party/dawn/third_party/dxheaders": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
|
||||
@@ -162,8 +162,8 @@
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-cts": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
|
||||
"rev": "cf6c5cd8e96d97754daa78b9e63976f8f9d84624",
|
||||
"hash": "sha256-kP/sWmijWt+fDEHdN6CuXBu5qGYV7nGW4gvU2nS4M8Y="
|
||||
"rev": "f1db17e4ab8b6a5a7d2709a67927d8a769a741a4",
|
||||
"hash": "sha256-5Fdl72VNfNnofPMG/ZWO0MJ2N7Dmcn+6sOLNqw5+IF4="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
|
||||
@@ -187,13 +187,13 @@
|
||||
},
|
||||
"src/third_party/boringssl/src": {
|
||||
"url": "https://boringssl.googlesource.com/boringssl.git",
|
||||
"rev": "c88440cb71fa8bd7d758f6bd4fe14541acc81bdd",
|
||||
"hash": "sha256-xx3ETtXon0vNuWMDuOdZIwEOPkf9SDvqjWwAfbG8WMU="
|
||||
"rev": "2a7ca5404e136341b63a2c7608bd1f6924f09294",
|
||||
"hash": "sha256-WglRBVPuUMskW0+bwV0sJiuHmXeWy1Nis0ln3KJlyKQ="
|
||||
},
|
||||
"src/third_party/breakpad/breakpad": {
|
||||
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
|
||||
"rev": "bcf7b6f1596e52a8ff0bbd0c9e32a321380b3954",
|
||||
"hash": "sha256-zvGySunmbqmX+0GG4fR+ZiH6P26Ez380OT7ok3hHcfo="
|
||||
"rev": "79099fdf668ae097c9eca7052fd5c4c5de6c9098",
|
||||
"hash": "sha256-dtuBGcYwwaqSKiW7ASFveAeJqcdnFLeU97ip8D786/Q="
|
||||
},
|
||||
"src/third_party/cast_core/public/src": {
|
||||
"url": "https://chromium.googlesource.com/cast_core/public",
|
||||
@@ -202,8 +202,8 @@
|
||||
},
|
||||
"src/third_party/catapult": {
|
||||
"url": "https://chromium.googlesource.com/catapult.git",
|
||||
"rev": "6a01cf2195fd7b356ee5fc505bd72d988ae873ec",
|
||||
"hash": "sha256-2rcl1/Ez7G47bKn+e+eU/rBx4BxxfPnMuGgXSSmyVAc="
|
||||
"rev": "a476f554f8865b7d162ec9f1ad8aae1eab38e048",
|
||||
"hash": "sha256-fdmcMUvK8h8q109tcwlOAD31lchNyTxkATfh1uRVDEA="
|
||||
},
|
||||
"src/third_party/ced/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
|
||||
@@ -227,8 +227,8 @@
|
||||
},
|
||||
"src/third_party/cpuinfo/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
|
||||
"rev": "0fea7f5f88243ee354df0e0082b5f27d13fc9551",
|
||||
"hash": "sha256-WDerJmNMy2Rjs/Xxx/quYX8Youq1BTzaDeHw/8BihrQ="
|
||||
"rev": "84818a41e074779dbb00521a4731d3e14160ff15",
|
||||
"hash": "sha256-eXrfeFK0ADKAYoy/vESv7nQnH0oGpeZKlX8XEqPQspo="
|
||||
},
|
||||
"src/third_party/crc32c/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
|
||||
@@ -237,28 +237,28 @@
|
||||
},
|
||||
"src/third_party/cros_system_api": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
|
||||
"rev": "3757fb80b4ba36fa44ce2d1e192d1164dc8627f2",
|
||||
"hash": "sha256-F1+8NJkpuocpLIpbcHJ2cRbP0Xwpiaj430GozrMGcwM="
|
||||
"rev": "9cd08527738f3684f5f74053f4b6db6cb1a3b165",
|
||||
"hash": "sha256-nmwwvdgVGzg4tiYPHYAPCdU/49Cw61+7oythtpuejHM="
|
||||
},
|
||||
"src/third_party/crossbench": {
|
||||
"url": "https://chromium.googlesource.com/crossbench.git",
|
||||
"rev": "8f7c9b39f4c14b7a6a4b3b3006189bc81d9385b7",
|
||||
"hash": "sha256-+1OQi7V1Z0f7J1fHkuj3Eg2DjTw8kEytm4YtEFHk4N8="
|
||||
"rev": "274eec196c5343b2059a29558396a8a54b3f0695",
|
||||
"hash": "sha256-fwD0OMubN3MY1xAYrIfOSq75Os8Ct6+Ev6ld8j/tkZg="
|
||||
},
|
||||
"src/third_party/crossbench-web-tests": {
|
||||
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
|
||||
"rev": "3c76c8201f0732fe9781742229ab8ac43bf90cbf",
|
||||
"hash": "sha256-yJmi1IpUiKhdoHAXyazkpm+Ezuc4Hp8pOIBntG5hN+U="
|
||||
"rev": "d2424bbd8125374af35f0b9fe9f70ec2e1277548",
|
||||
"hash": "sha256-mowr2K6jMn5tOR1McTIYHPmL7Mhn0k4SXE+RVjTn/XU="
|
||||
},
|
||||
"src/third_party/depot_tools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
|
||||
"rev": "fb0b652edba70f5c4ac867f3beca9e535f905b4c",
|
||||
"hash": "sha256-feguZuDeGytydebRiIK2FqxNStXFdXv191IDEuhag+o="
|
||||
"rev": "42786f6e46c25c30dd58f69283ab6fcd0c959f58",
|
||||
"hash": "sha256-wI3L6w3G9QCWzvSSUXeLJFHZ+7iv01hs+ig12EXJFHk="
|
||||
},
|
||||
"src/third_party/devtools-frontend/src": {
|
||||
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
|
||||
"rev": "b1eec47965f0f0bed968133496c5c097fb41cc0e",
|
||||
"hash": "sha256-Ol7VWhAxk95jQE8umtvZxhJNtYIQDNj9DHSoEWs765I="
|
||||
"rev": "890a74027b0fdeaee6bbf0a0b9b108bbda7af5b9",
|
||||
"hash": "sha256-k4k7r5wcgl6t13TsDTPCrYhgG44To+yvmvNsx0FPWZE="
|
||||
},
|
||||
"src/third_party/dom_distiller_js/dist": {
|
||||
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
|
||||
@@ -272,8 +272,8 @@
|
||||
},
|
||||
"src/third_party/eigen3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
|
||||
"rev": "251bff28859af2ed2d5bdf14034175f03cafffc7",
|
||||
"hash": "sha256-TPFCtsAO19suDfjJQmoJkVQllPK0Spz6ynQ/mvuDl2E="
|
||||
"rev": "afb43805349cf1cbec0083d94256bb8f72cbc53b",
|
||||
"hash": "sha256-GpuSoq887Z1qGKsc4+Vz8X+Sx40P6UnWhaQgrmigkdQ="
|
||||
},
|
||||
"src/third_party/farmhash/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
|
||||
@@ -292,8 +292,8 @@
|
||||
},
|
||||
"src/third_party/ffmpeg": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
|
||||
"rev": "fd8d327732d4c4a3ef831f4de49635e9528cb73e",
|
||||
"hash": "sha256-yVhFttQOnuQAoOHt4crImcoFYmMvDz5b7Z6npqOKA/k="
|
||||
"rev": "ae11d2ba5c835b822a61d6a99eeb853ca30d41d8",
|
||||
"hash": "sha256-j8d6N+qmBHvWiQNaXtdYRaRkEYVMAMU7J2CZVc+0hG0="
|
||||
},
|
||||
"src/third_party/flac": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
|
||||
@@ -322,8 +322,8 @@
|
||||
},
|
||||
"src/third_party/freetype/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
|
||||
"rev": "341049a95bacfc5debf6c9daf537b7acec27f3dd",
|
||||
"hash": "sha256-8xzdxVv0pFCuW6tKgfsKkW1Rm5mZ1UZnB89LWiidCUU="
|
||||
"rev": "e3a0652b6d706ee1ce77d4dda606b6597dd8b5c4",
|
||||
"hash": "sha256-CorCyTiS2fumIF0jhqQgw7VjGkjGXNVD8efdmfZ2wUo="
|
||||
},
|
||||
"src/third_party/fxdiv/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
|
||||
@@ -342,8 +342,8 @@
|
||||
},
|
||||
"src/third_party/ink_stroke_modeler/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git",
|
||||
"rev": "2cd45e8683025c28fa2efcf672ad46607e8af869",
|
||||
"hash": "sha256-h/xI/TPV2yiRLqrBgaDAkr8Nfg3RLkjHVuYX+nH99CQ="
|
||||
"rev": "278aacc769cd42e09e4d0cd4ac4dcff87fe32c20",
|
||||
"hash": "sha256-z5heZU5X6CITxOTu92GwZjmsi30xcV93CUltCYnTL0o="
|
||||
},
|
||||
"src/third_party/instrumented_libs": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git",
|
||||
@@ -407,8 +407,8 @@
|
||||
},
|
||||
"src/third_party/fuzztest/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
|
||||
"rev": "a72f099a943c257afe8d4d87c10a22b23e17786d",
|
||||
"hash": "sha256-yanwxROo2cE8CntKWh4bcu1aNAlKVRqkowEc7nQlnYc="
|
||||
"rev": "54dfec04d5c9ad1f22b08002ab6a5e2d0de77671",
|
||||
"hash": "sha256-CqJJ1hj9nQkGONB+5tJgafg1xvrPgTuE3tM8RjO2RY0="
|
||||
},
|
||||
"src/third_party/domato/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
|
||||
@@ -422,8 +422,8 @@
|
||||
},
|
||||
"src/third_party/libaom/source/libaom": {
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"rev": "e3d6ba6e5e9888a7ca69eb114c6eb913275f253c",
|
||||
"hash": "sha256-XlTfcHKrT1kOF108WlBIIViM/5I2m1FWyaI+oSwz+aw="
|
||||
"rev": "4018d3b63456eb657475e66c352bfa86f321e0f5",
|
||||
"hash": "sha256-RuCmzPIR6hW8znjQH4kQqSJmIIJWtMkUQjYEVn3B9AE="
|
||||
},
|
||||
"src/third_party/crabbyavif/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
|
||||
@@ -442,8 +442,8 @@
|
||||
},
|
||||
"src/third_party/jetstream/main": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git",
|
||||
"rev": "181f3cc3eded22f2b6c0f086c334b27e91b58146",
|
||||
"hash": "sha256-2raIaeYpN/2vgOjBYvw+N8vq9SZYyPwAGN6PS0PM5X0="
|
||||
"rev": "ad5e39771904b63750ae410fb00b71c9d2992b03",
|
||||
"hash": "sha256-y3JKkY2tQ9rC9piFlWaUVmsSOfeWkyKFx2Qv9Lo6nrI="
|
||||
},
|
||||
"src/third_party/jetstream/v2.2": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git",
|
||||
@@ -487,8 +487,8 @@
|
||||
},
|
||||
"src/third_party/libdrm/src": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
|
||||
"rev": "ad78bb591d02162d3b90890aa4d0a238b2a37cde",
|
||||
"hash": "sha256-woSYEDUfcEBpYOYnli13wLMt754A7KnUbmTEcFQdFGw="
|
||||
"rev": "369990d9660a387f618d0eedc341eb285016243b",
|
||||
"hash": "sha256-kOaTjBeo4IsfWEk/JBTNId5ikrnpoc9DEjIl7DUd2yE="
|
||||
},
|
||||
"src/third_party/expat/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
||||
@@ -537,8 +537,8 @@
|
||||
},
|
||||
"src/third_party/libvpx/source/libvpx": {
|
||||
"url": "https://chromium.googlesource.com/webm/libvpx.git",
|
||||
"rev": "d5f35ac8d93cba7f7a3f7ddb8f9dc8bd28f785e1",
|
||||
"hash": "sha256-98VKR36hEmGJtI7B5u2RBoFVUINETRSVwzldVRGJge0="
|
||||
"rev": "e83e25f791932202256479052f18bdd03a091147",
|
||||
"hash": "sha256-/FtYzbcOgOlaaWCoJfYns5oye7DoRZx1/xew3lN7tAM="
|
||||
},
|
||||
"src/third_party/libwebm/source": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebm.git",
|
||||
@@ -552,8 +552,8 @@
|
||||
},
|
||||
"src/third_party/libyuv": {
|
||||
"url": "https://chromium.googlesource.com/libyuv/libyuv.git",
|
||||
"rev": "022efdb0b771f7353741dbe360b8bef4e0a874eb",
|
||||
"hash": "sha256-Em/B9HMHFHGSMpvh/Nn96FCFIf9fQe0INfkzC/8o+cM="
|
||||
"rev": "917276084a49be726c90292ff0a6b0a3d571a6af",
|
||||
"hash": "sha256-2lnobd22L9u+h6JGWJoWT/0gjhI5JImDsEjn+RRYzJg="
|
||||
},
|
||||
"src/third_party/lss": {
|
||||
"url": "https://chromium.googlesource.com/linux-syscall-support.git",
|
||||
@@ -587,8 +587,8 @@
|
||||
},
|
||||
"src/third_party/openscreen/src": {
|
||||
"url": "https://chromium.googlesource.com/openscreen",
|
||||
"rev": "8fc39671507f53d4c81fee9f7880b55ce21d9b10",
|
||||
"hash": "sha256-pRUcOu+HM1KUYAzcP8x8RVQevB3OWNxpjOozTQZFpvQ="
|
||||
"rev": "67cac118873cb41fd19e3fc8b1b4010b3eecf683",
|
||||
"hash": "sha256-X2U179s+ZFUeazygFcCyu0/kskz0gORENXG/9NleCfQ="
|
||||
},
|
||||
"src/third_party/openscreen/src/buildtools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
|
||||
@@ -602,13 +602,13 @@
|
||||
},
|
||||
"src/third_party/pdfium": {
|
||||
"url": "https://pdfium.googlesource.com/pdfium.git",
|
||||
"rev": "004b47619573a582c076679764e07725ace3e497",
|
||||
"hash": "sha256-PHu3v/ZeEa11/CTGJh8aJjV/lTIVSJ6W7uH2njsHj1w="
|
||||
"rev": "67cf48602b0c8aaa9807cd185212ee078eb30b21",
|
||||
"hash": "sha256-jMoYwf63C0IHx/QcOT+LKCCYN3dJVUhC5COukkhwqx0="
|
||||
},
|
||||
"src/third_party/perfetto": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
|
||||
"rev": "698c3b289159cf14ac110e21d5ed424c8a9f35b4",
|
||||
"hash": "sha256-EV2b1B7oSUlzleQOna+e0m+i6h2dfnEqiyLrXiWZekQ="
|
||||
"rev": "436a00fb3edbec1ca5a12ea678a7ee81cf2b6f31",
|
||||
"hash": "sha256-F3MmIOhwDGJnruz8nZNzbyElDZcpz6wEzLmoyehnvsU="
|
||||
},
|
||||
"src/third_party/protobuf-javascript/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
|
||||
@@ -617,8 +617,8 @@
|
||||
},
|
||||
"src/third_party/pthreadpool/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git",
|
||||
"rev": "d90cd6f1493e09d12c407243f7f331a8cda55efb",
|
||||
"hash": "sha256-VdgC6LMzcfhH2Y65Gu+Osi6BXxIq01Fmw5AehsBlX70="
|
||||
"rev": "9003ee6c137cea3b94161bd5c614fb43be523ee1",
|
||||
"hash": "sha256-Es9QNblzo5b+x4K7myQJwIiUKvqyP16QExWPhGqqDO8="
|
||||
},
|
||||
"src/third_party/pyelftools": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
|
||||
@@ -637,23 +637,23 @@
|
||||
},
|
||||
"src/third_party/re2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
|
||||
"rev": "e7aec5985072c1dbe735add802653ef4b36c231a",
|
||||
"hash": "sha256-WOwDr0VEjvJyEmvrpw0YmlAnHJP0+0q28fUVpl4E7Eg="
|
||||
"rev": "972a15cedd008d846f1a39b2e88ce48d7f166cbd",
|
||||
"hash": "sha256-oEU+dz8ax1S36+f9OysjB0GnQj8mjZx1VsZ/UgckdDI="
|
||||
},
|
||||
"src/third_party/ruy/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
|
||||
"rev": "576e020f06334118994496b45f9796ed7fda3280",
|
||||
"hash": "sha256-zJ7EYxIoZvN2uOfPscKzWycBO057g4bMnTys2sUrp2M="
|
||||
"rev": "de9b160a51ab3a06ce8505b96f7548fa09837a10",
|
||||
"hash": "sha256-qa9x2n+2R4C9DhMY3ued4IWWY3lnE03/dZ6wYjeQsQk="
|
||||
},
|
||||
"src/third_party/search_engines_data/resources": {
|
||||
"url": "https://chromium.googlesource.com/external/search_engines_data.git",
|
||||
"rev": "de5efa2da62237b03fad0775853b990f6b1ba307",
|
||||
"hash": "sha256-1Usj0nS6pjFTpF1QDl+xsYsfogzUY8WK1Mto17kwzOM="
|
||||
"rev": "9be56ed146f8334c39cd70ab7434fdf726a4f4a4",
|
||||
"hash": "sha256-PFALT2hhIUrDB1YS2tMq29z1xG9aXLZzJnGOk6RthxM="
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "fba326b8829e469ac02e5a68a0d36982ef1975bc",
|
||||
"hash": "sha256-nh7zr1piXYNMyVcqswRqhepF89TF0rKASYM0QuJIof0="
|
||||
"rev": "50841da4a7b7064b3cea8a851e60ef921c87a103",
|
||||
"hash": "sha256-RoLgaE5mj9UqePhnfH+BOTit04TyiAvgF7/2PLuBG4Y="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -672,8 +672,8 @@
|
||||
},
|
||||
"src/third_party/swiftshader": {
|
||||
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
|
||||
"rev": "76b5d96a9287a0ba62eaf407dc3e6bb3ba4781ca",
|
||||
"hash": "sha256-JJNZvsL3UBWsWUTkZvtN5FigeztGHk71J0IkKkydaKU="
|
||||
"rev": "b7b7fd22e5f28079b92412f47f6da4df43e4cd37",
|
||||
"hash": "sha256-ARFgIJvRzKWin1DJBr7xoeWCuLjuTEu/U0Fqbq8/ono="
|
||||
},
|
||||
"src/third_party/text-fragments-polyfill/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
|
||||
@@ -682,23 +682,23 @@
|
||||
},
|
||||
"src/third_party/tflite/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
|
||||
"rev": "48401a9c25ddb7cb882074d48c79f91d1f6a89e0",
|
||||
"hash": "sha256-O9ozY6eT5vMiLyt87/WP5MHtDEE338vVHUlYMakQMQU="
|
||||
"rev": "01e030d23d3b904d98cbf908da74d63b3c186949",
|
||||
"hash": "sha256-pIhOSb9eLzel5oDPCpxCvI2XJ2jGLdLURCRkd1BbMkk="
|
||||
},
|
||||
"src/third_party/litert/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
|
||||
"rev": "ba80d53cf2e97763b48ebbd03120871b57820f99",
|
||||
"hash": "sha256-RpJr48gUifdE4PxDcOYR7jh4iD5KeGK1X3Tf9Gs+/5g="
|
||||
"rev": "320c13c17b995e7ccd7b8d6560db255d2f994199",
|
||||
"hash": "sha256-pttQPrsptpnLmycmburH3Zh4pvIFgRDudZa9qLC3vjc="
|
||||
},
|
||||
"src/third_party/vulkan-deps": {
|
||||
"url": "https://chromium.googlesource.com/vulkan-deps",
|
||||
"rev": "6288ed7195cec9ae0fc04e2ffd81b642fa4afecf",
|
||||
"hash": "sha256-fBYBYtfw8io7zghPJjBlqovNfIxKx8kt7e7OEMc1wRk="
|
||||
"rev": "2cb91a73a9fb82fb967b9432286e7882d791ae91",
|
||||
"hash": "sha256-duQjSjwS8T6q+l5VEr8MT+LEQNJPROOhBt93myD+3II="
|
||||
},
|
||||
"src/third_party/glslang/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
|
||||
"rev": "b937eae5e2ae1e29efe8f8775feaa434239806d2",
|
||||
"hash": "sha256-PpVXGRzxmsfUpYCtqx31GPToUI64sHZNc558YGqWNjk="
|
||||
"rev": "e9c2cb495285706c6980932483e7fa9566107ac1",
|
||||
"hash": "sha256-8sMsiLwOoEdgUsxwyZ6AoT7TAeC2/oApsQg8no1iNmQ="
|
||||
},
|
||||
"src/third_party/spirv-cross/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
|
||||
@@ -707,38 +707,38 @@
|
||||
},
|
||||
"src/third_party/spirv-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
|
||||
"rev": "babee77020ff82b571d723ce2c0262e2ec0ee3f1",
|
||||
"hash": "sha256-GWcNNw08XoKaZs/BTW9nPAEMHL8wqbhbUm56PUtEan4="
|
||||
"rev": "f31ca173eff866369e54d35e53375fadbabd58f4",
|
||||
"hash": "sha256-gND9ef2irqv3v79FSZcFElhiBC6jcKC4XSG6KP2mrFg="
|
||||
},
|
||||
"src/third_party/spirv-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
|
||||
"rev": "65b2ace21293057714b7fa1e87bd764d3dcef305",
|
||||
"hash": "sha256-C+ftOmQgHBdDnaIvhJmsFBSxxUoGLTDKzF7ViC0mtrU="
|
||||
"rev": "f139c64525c7c449c83d299a9fda4e1657bf37ab",
|
||||
"hash": "sha256-yDcOY2t8n9sUOLo03KGHN95SNfsctOfou1dJ/2R/njQ="
|
||||
},
|
||||
"src/third_party/vulkan-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
|
||||
"rev": "0777a3ad88bad5f4b11cfd509458bbc0ddadc773",
|
||||
"hash": "sha256-F/dPxVemqinpd6P+XlEvM/B+nJtTbT3bVzyRf6pBCxg="
|
||||
"rev": "49f1a381e2aec33ef32adf4a377b5a39ec016ec4",
|
||||
"hash": "sha256-K/8X9D7B0o6+osOzScplwea+OsfM3srAtDKCgfZpcJU="
|
||||
},
|
||||
"src/third_party/vulkan-loader/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
|
||||
"rev": "255cef037950894f88f6e2b2f83a04c188661a95",
|
||||
"hash": "sha256-Te8d4jrRZQ0EalxyIL8Rm0VcfHzPbOXwuz9yc2hkYYQ="
|
||||
"rev": "ab275e43c69f273185a72afa031c7e881b587a42",
|
||||
"hash": "sha256-nQqF0ff9IoBWnrauMQ/9BoI3aWh5syyvzqTvH/3vTfw="
|
||||
},
|
||||
"src/third_party/vulkan-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
|
||||
"rev": "e8a4ce73f3244d814ccc84e723bb0442fab4dcf7",
|
||||
"hash": "sha256-jdOQb0uJ630k4IsmJizALd20Pr2nMj1NaJDP2wr25VE="
|
||||
"rev": "39a19dccf79d28951516c3c7c9f1ee4a606fb733",
|
||||
"hash": "sha256-TGgU9IIsuQKs7XKmnoOaD870aR8+txsRZu8nj//K+ks="
|
||||
},
|
||||
"src/third_party/vulkan-utility-libraries/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
|
||||
"rev": "b4e9ebbfc779cba85f1efbe2f69fdfc5744ed5e5",
|
||||
"hash": "sha256-aWbgeG7X498ctWCzzGw3HHQvkKjS6TxAooQVt+MpU1Y="
|
||||
"rev": "50af38b6cd43afb1462f9ad26b8d015382d11a3d",
|
||||
"hash": "sha256-4i9+7BXmJHkDRzUE+gbwCNBcW2h0xDP7hcHH/DH2QZg="
|
||||
},
|
||||
"src/third_party/vulkan-validation-layers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
|
||||
"rev": "50d1012d9ce7f7b7d6c801f01e55e0373b1401bc",
|
||||
"hash": "sha256-4S0AK6URyRzOGphrkoaClXda+WB9AsJD1ZVKXBHK53g="
|
||||
"rev": "cee14167434e805deb7010e1bbc1866a5f013d58",
|
||||
"hash": "sha256-rCBqqcjGNjD8vIN/WSkxVLRRTxHnH+cAZTr87tuG2uU="
|
||||
},
|
||||
"src/third_party/vulkan_memory_allocator": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
|
||||
@@ -777,18 +777,18 @@
|
||||
},
|
||||
"src/third_party/webgpu-cts/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
|
||||
"rev": "cf6c5cd8e96d97754daa78b9e63976f8f9d84624",
|
||||
"hash": "sha256-kP/sWmijWt+fDEHdN6CuXBu5qGYV7nGW4gvU2nS4M8Y="
|
||||
"rev": "eb9091d141e126fd9479a62aeceb927b73b6af47",
|
||||
"hash": "sha256-BJuBJGsP+rEzLDREo8pARqyX/DOQS9BcZ4KWnris/EM="
|
||||
},
|
||||
"src/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "2bfcbbe006bc877b35fe6bf5eb2fea96a0b0e33f",
|
||||
"hash": "sha256-AzohiIs4Nu9rcxYJ+l+lnScgGU6xQ7HGE5lT6v8tv1E="
|
||||
"rev": "50c853586c642039992d9b0215f87072a0967bd8",
|
||||
"hash": "sha256-yR5+CafUHiJAZC7940dBboOrUPoAId8FjcxB1nwPbHw="
|
||||
},
|
||||
"src/third_party/webrtc": {
|
||||
"url": "https://webrtc.googlesource.com/src.git",
|
||||
"rev": "b47e68e6966d5a5a0e4bc861ff364221600f31c3",
|
||||
"hash": "sha256-3pm524E7V9sOza8yOFEzIHUclJoY8ONhO3nTNVwrxUc="
|
||||
"rev": "d1972add2a63b2a528a6471d447f82e0010b5215",
|
||||
"hash": "sha256-evtOzxwWgKUaJl9zwpQDqPp1wM7w3DzjRcLg29z9ELQ="
|
||||
},
|
||||
"src/third_party/wuffs/src": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
@@ -797,8 +797,8 @@
|
||||
},
|
||||
"src/third_party/weston/src": {
|
||||
"url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
|
||||
"rev": "bdba2f9adaca673fd58339d8140bc04727ee279d",
|
||||
"hash": "sha256-o49a3sp+D9FycxeB+uMcKouVvlKWoWpfws7FLEGJ/V8="
|
||||
"rev": "b65be9e699847c975440108a42f05412cc7fddac",
|
||||
"hash": "sha256-PySen9syu0OshtlHAZw666FeSQXdnsV8nlW9RmxgapM="
|
||||
},
|
||||
"src/third_party/xdg-utils": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
|
||||
@@ -807,18 +807,18 @@
|
||||
},
|
||||
"src/third_party/xnnpack/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
|
||||
"rev": "4574c4d9b00703c15f2218634ddf101597b22b18",
|
||||
"hash": "sha256-OdrwYAazY0E3han/fpFjlAiguY4M/xnCMJjL3KAIhvw="
|
||||
"rev": "1154ae8178f0efc634cd1e8a681646dc22973255",
|
||||
"hash": "sha256-chWb8gVyjdjJaXIbJzPLH9Bt9P7qkUNk4f0EeFePlSo="
|
||||
},
|
||||
"src/third_party/zstd/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
|
||||
"rev": "ae9f20ca2716f2605822ca375995b7d876389b64",
|
||||
"hash": "sha256-W39zzEag5ZdtQmFOeof3ROaonMoDhJWbGA/W8eDTPPc="
|
||||
"rev": "1168da0e567960d50cba1b58c9b0ba047ece4733",
|
||||
"hash": "sha256-T2CwRpL/XT/OsBrRfxC8kNIm43U4qPMBju8Ug13Qebo="
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "1e1e0c88c55414e3ab7f98629a0233d3dc77fca0",
|
||||
"hash": "sha256-iIrMXGer1CBX4MxOi56fKdzohiyv4bGKKnKOE3GZC1Y="
|
||||
"rev": "bc343986bd4cb17e49ef15b70c4bdac710e27167",
|
||||
"hash": "sha256-dsjddO/LCNAYLJ1XyDkJLJ9TToiy7pENlBryF1VcmtY="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -73,13 +73,13 @@
|
||||
"vendorHash": "sha256-CO09y7rdbY27VFX85pV2ocnO0rvhGJg3hXfLWaF+HTI="
|
||||
},
|
||||
"auth0_auth0": {
|
||||
"hash": "sha256-7xAQGsDkw0JYP1Q+cEMHezNmQzccRyiwtUXKgJfnI6k=",
|
||||
"hash": "sha256-JQC8532P5+PXCzqzxl9YUjhuEbd07WzJv7tfhJWyk3c=",
|
||||
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
|
||||
"owner": "auth0",
|
||||
"repo": "terraform-provider-auth0",
|
||||
"rev": "v1.40.0",
|
||||
"rev": "v1.41.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-57To9XMBDp6VQKXEU7TzkRHebCUUzlHWHV8+QU9PoI8="
|
||||
"vendorHash": "sha256-JPgRr5DcAOkzUy24aUAjqhW6VhpITKxDA+55dNKrGu4="
|
||||
},
|
||||
"aviatrixsystems_aviatrix": {
|
||||
"hash": "sha256-46djOfAj/5kfeoKLQHbeKefzdGbmlBATR+uN/IaAn8I=",
|
||||
@@ -310,11 +310,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"digitalocean_digitalocean": {
|
||||
"hash": "sha256-lXPCwwGlGgddoCxTS5IgcZe26uSluNk+PZjopDY1jbc=",
|
||||
"hash": "sha256-CNHGuChMDqSFz8YXETfQzgyQw8p8Ua6u3gevFFr69RI=",
|
||||
"homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
|
||||
"owner": "digitalocean",
|
||||
"repo": "terraform-provider-digitalocean",
|
||||
"rev": "v2.78.0",
|
||||
"rev": "v2.79.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -472,13 +472,13 @@
|
||||
"vendorHash": "sha256-mzDFyk2oImRXt72kFV5Ln++ScgoecpJEJtzUKjvCaws="
|
||||
},
|
||||
"grafana_grafana": {
|
||||
"hash": "sha256-ski6B1mZCILcMM6JBWHx0IelYmx0UdDwPYi13PSgIAo=",
|
||||
"hash": "sha256-ifE5W6sUo/BTxO+noss+nqw+LDPlkxdpySlJ08n7Kd4=",
|
||||
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
|
||||
"owner": "grafana",
|
||||
"repo": "terraform-provider-grafana",
|
||||
"rev": "v4.26.0",
|
||||
"rev": "v4.27.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-64XspOrtBa97fj9DXUQb6siecDfBQETqKvfwckjzU3c="
|
||||
"vendorHash": "sha256-OCdknvuL/+khhFdopVLKEYKBwLbyPnziKamHDUEX+Zk="
|
||||
},
|
||||
"gridscale_gridscale": {
|
||||
"hash": "sha256-FAKvQ/MEod5Ck0PG4ffQ+gQp6zZ0JDRXPOrOiDpWMls=",
|
||||
@@ -508,13 +508,13 @@
|
||||
"vendorHash": "sha256-LAte9NffWqGiIimDRyuQCfOoTpThWWHjFc72HhssDC0="
|
||||
},
|
||||
"hashicorp_awscc": {
|
||||
"hash": "sha256-nyHKE0bpu7vbOE8uDwqaFjeAdXeMf324FjPb6stRiFU=",
|
||||
"hash": "sha256-DXjGZCaDFLnp2cNoexi3eL3c13PYe4uiUNr4wxwG+GY=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/awscc",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-awscc",
|
||||
"rev": "v1.73.0",
|
||||
"rev": "v1.74.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-NKuuX63rVjUk/+cqR4o/nWIsyNS2uUrAu/9fG3aWBwc="
|
||||
"vendorHash": "sha256-/lITCpxw41IbRbyBj0OaeAo5Ldb2I6j2MUlaZ9OcG0U="
|
||||
},
|
||||
"hashicorp_azuread": {
|
||||
"hash": "sha256-BkQwLkGu8Xmb4laoXOLDbSPyya5v8HBBNIya5hUBlV8=",
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
mkHyprlandPlugin (finalAttrs: {
|
||||
pluginName = "hy3";
|
||||
version = "0.53.0.1";
|
||||
version = "0.54.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outfoxxed";
|
||||
repo = "hy3";
|
||||
tag = "hl${finalAttrs.version}";
|
||||
hash = "sha256-0gUgUk8XFtu8HWZySFgb4bzvn+MHK9ZEZ1trVU8YfPw=";
|
||||
hash = "sha256-ceT6njnsCLefWhn5C6FYdp68Te9UfcQLAaYIHGjt8bk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
{
|
||||
"stable": {
|
||||
"linux": {
|
||||
"version": "8.12.5",
|
||||
"version": "8.12.6",
|
||||
"sources": {
|
||||
"x86_64": {
|
||||
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.5.x64.tar.gz",
|
||||
"hash": "sha256-oa94KXgl4R/HElxSs8CLI5mvpT/4AYHfvODkGr3itJU="
|
||||
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.6.x64.tar.gz",
|
||||
"hash": "sha256-OLAPOgt5xgHudTUbu+XjpiN1lACWHZ86rYPZeX2idaw="
|
||||
},
|
||||
"aarch64": {
|
||||
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.5.arm64.tar.gz",
|
||||
"hash": "sha256-/y8pU8iXLgKGq2tcIMIiRnO4hiXR6rTPp8jTI43St5g="
|
||||
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.6.arm64.tar.gz",
|
||||
"hash": "sha256-dhSn/wPzny7eO2/5huEqBfus/TIkVAei7eqJVY0HdPI="
|
||||
}
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"version": "8.12.5",
|
||||
"version": "8.12.6",
|
||||
"sources": {
|
||||
"x86_64": {
|
||||
"url": "https://downloads.1password.com/mac/1Password-8.12.5-x86_64.zip",
|
||||
"hash": "sha256-jAaCSPpm3T7uC6y0A5BF821Q050f/P00kWlvYa0Hn5s="
|
||||
"url": "https://downloads.1password.com/mac/1Password-8.12.6-x86_64.zip",
|
||||
"hash": "sha256-fL0KXi4+4fZfLX0sChWz7T//AdW9SCQF3mZvd92brIE="
|
||||
},
|
||||
"aarch64": {
|
||||
"url": "https://downloads.1password.com/mac/1Password-8.12.5-aarch64.zip",
|
||||
"hash": "sha256-G4IOVxfaEyzhe74e/IbNt2TSPAgNcF1wri/Pbi4Xr7I="
|
||||
"url": "https://downloads.1password.com/mac/1Password-8.12.6-aarch64.zip",
|
||||
"hash": "sha256-1N5bKMFSuyZ5KHXhmLevewsCLZvjunWTObBw5QMfbcY="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"version": "1.3.13-stable",
|
||||
"version": "1.3.14-stable",
|
||||
"sources": {
|
||||
"aarch64-darwin": {
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.13-stable/acli_1.3.13-stable_darwin_arm64.tar.gz",
|
||||
"sha256": "043c5422327610e82fd83ac79ca3ddf0c917611386f7527564db4c8bc99388b1"
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.14-stable/acli_1.3.14-stable_darwin_arm64.tar.gz",
|
||||
"sha256": "1400b04908d4b099783dba261ba79ab6e09da67cf78d2ca35fb2456e99211634"
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"url": "https://acli.atlassian.com/linux/1.3.13-stable/acli_1.3.13-stable_linux_arm64.tar.gz",
|
||||
"sha256": "522da066d9a4bc357eaf8fcca763a0be3048fd0e5595aa433d6904065472dd56"
|
||||
"url": "https://acli.atlassian.com/linux/1.3.14-stable/acli_1.3.14-stable_linux_arm64.tar.gz",
|
||||
"sha256": "b8742f5c3d4f5e1d5f531c1e50bcc775f272b2909e481c43ddd615808c77f156"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.13-stable/acli_1.3.13-stable_darwin_amd64.tar.gz",
|
||||
"sha256": "8cd7231e951222c0b75728359844a9c76238dcad31542d66226f08498b1da9aa"
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.14-stable/acli_1.3.14-stable_darwin_amd64.tar.gz",
|
||||
"sha256": "0c66ff14f0db7a27a1d7e70ff03b8cbfde9bc019450539c0f6707de2dc908dd9"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://acli.atlassian.com/linux/1.3.13-stable/acli_1.3.13-stable_linux_amd64.tar.gz",
|
||||
"sha256": "1873a8b53123aec8a9c015707c89a49f7dbd8ac995113146841f29ea06259f9a"
|
||||
"url": "https://acli.atlassian.com/linux/1.3.14-stable/acli_1.3.14-stable_linux_amd64.tar.gz",
|
||||
"sha256": "2c76293e9ba9ce6a233756b13e9c3eea1fc3fce992fc0ccefe8c32f6dbf36f29"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
# Use only versions specified in anytype-ts middleware.version file:
|
||||
# https://github.com/anyproto/anytype-ts/blob/v<anytype-ts-version>/middleware.version
|
||||
version = "0.48.1";
|
||||
version = "0.48.4";
|
||||
|
||||
# Update only together with 'anytype' package.
|
||||
# nixpkgs-update: no auto update
|
||||
@@ -34,7 +34,7 @@ buildGoModule (finalAttrs: {
|
||||
owner = "anyproto";
|
||||
repo = "anytype-heart";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-xhEqSOpNtJcysVQGiqwCb3Eh+uvirGaBZka7Mo2MLgU=";
|
||||
hash = "sha256-EUv/kJcAftqGqerrDhdnAl9YXPt5wWwviZD/uQ5pWmI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-4DiIU1ztmBCgI6axNKSeLSGQ5BuRLpSXl8RJAm1r2Eg=";
|
||||
|
||||
@@ -17,23 +17,23 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "anytype";
|
||||
version = "0.54.2";
|
||||
version = "0.54.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anyproto";
|
||||
repo = "anytype-ts";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-MzEgG//wptk0G9kn1c491qyqn62do9Z2nt8I6HtOaJQ=";
|
||||
hash = "sha256-TLmmItt5ASlfQA/e1RtcGF/Gf9AU97pf4tpv3B7J9kE=";
|
||||
};
|
||||
|
||||
locales = fetchFromGitHub {
|
||||
owner = "anyproto";
|
||||
repo = "l10n-anytype-ts";
|
||||
rev = "d8c621ecfde8eab1123a4338fe50823cba047be1";
|
||||
hash = "sha256-IUr9VJqPduW9gHdFZSwIyFAEycc6nfS/Rfz2vXO0iCY=";
|
||||
rev = "d744bf573b72c6e8d11e093c8f6702acec263009";
|
||||
hash = "sha256-UnqHXqtBTRmDR/qvS7bktMzDzk9gq+onvvLJgdzqJ7A=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-fGn1L32bcyDI72Qlt9lf84zJDqlvSwbI4Vubj4DL388=";
|
||||
npmDepsHash = "sha256-vvnUzzryW5nbAv9OEU+6xwP7lf8+K/mS0mcDswNRTxU=";
|
||||
|
||||
# npm dependency install fails with nodejs_24: https://github.com/NixOS/nixpkgs/issues/474535
|
||||
nodejs = nodejs_22;
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "avml";
|
||||
version = "0.15.0";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "avml";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-QN9GLrs0wjlEdkNnN7Q4Uqu1yJlxD7Dx0SnHJnfV/so=";
|
||||
hash = "sha256-G+0Q4V+7K6GuMc7c1s7DYSrV9l+deu0+KYAWZYdxNU0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-u9oYchTvSvlth/Kn6SYuuP2VDVWQDNqueUsKumPooFU=";
|
||||
cargoHash = "sha256-a6mCdhi2pBc+YE3iJnjjog37lZh/a2TQRihZc0X0M8g=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "awakened-poe-trade";
|
||||
version = "3.27.106";
|
||||
version = "3.28.102";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/SnosMe/awakened-poe-trade/releases/download/v${finalAttrs.version}/Awakened-PoE-Trade-${finalAttrs.version}.AppImage";
|
||||
hash = "sha256-8L5Szn0KYfUMaTe+yyhJV1YZspmJCSlXSHXLPoiRhjE=";
|
||||
hash = "sha256-tej1rjkrpAXmQ8ZzvlAuxHkMGAuRpPqg1TlBoWhorIE=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
bluez-tools,
|
||||
gnome-bluetooth_1_0,
|
||||
gobject-introspection,
|
||||
libnotify,
|
||||
pavucontrol,
|
||||
python3Packages,
|
||||
util-linux,
|
||||
wrapGAppsHook3,
|
||||
xapp,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "blueberry";
|
||||
version = "1.4.8";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "blueberry";
|
||||
tag = version;
|
||||
sha256 = "sha256-MyIjcTyKn1aC2th6fCOw4cIqrRKatk2s4QD5R9cm83A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bluez-tools
|
||||
gnome-bluetooth_1_0
|
||||
libnotify
|
||||
util-linux
|
||||
xapp
|
||||
];
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
dbus-python
|
||||
pygobject3
|
||||
setproctitle
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -a etc usr/* $out
|
||||
|
||||
# Fix paths
|
||||
substituteInPlace $out/bin/blueberry \
|
||||
--replace-fail /usr/lib/blueberry $out/lib/blueberry
|
||||
substituteInPlace $out/bin/blueberry-tray \
|
||||
--replace-fail /usr/lib/blueberry $out/lib/blueberry
|
||||
substituteInPlace $out/etc/xdg/autostart/blueberry-obex-agent.desktop \
|
||||
--replace-fail /usr/lib/blueberry $out/lib/blueberry
|
||||
substituteInPlace $out/etc/xdg/autostart/blueberry-tray.desktop \
|
||||
--replace-fail Exec=blueberry-tray Exec=$out/bin/blueberry-tray
|
||||
substituteInPlace $out/lib/blueberry/blueberry-obex-agent.py \
|
||||
--replace-fail /usr/share $out/share
|
||||
substituteInPlace $out/lib/blueberry/blueberry-tray.py \
|
||||
--replace-fail /usr/share $out/share
|
||||
substituteInPlace $out/lib/blueberry/blueberry.py \
|
||||
--replace-fail '"bt-adapter"' '"${bluez-tools}/bin/bt-adapter"' \
|
||||
--replace-fail /usr/bin/pavucontrol ${pavucontrol}/bin/pavucontrol \
|
||||
--replace-fail /usr/lib/blueberry $out/lib/blueberry \
|
||||
--replace-fail /usr/share $out/share
|
||||
substituteInPlace $out/lib/blueberry/rfkillMagic.py \
|
||||
--replace-fail /usr/bin/rfkill ${util-linux}/bin/rfkill \
|
||||
--replace-fail /usr/sbin/rfkill ${util-linux}/bin/rfkill \
|
||||
--replace-fail /usr/lib/blueberry $out/lib/blueberry
|
||||
substituteInPlace $out/share/applications/blueberry.desktop \
|
||||
--replace-fail Exec=blueberry Exec=$out/bin/blueberry
|
||||
|
||||
glib-compile-schemas --strict $out/share/glib-2.0/schemas
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
postFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
wrapPythonProgramsIn $out/lib "$out ''${pythonPath[*]}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Bluetooth configuration tool";
|
||||
homepage = "https://github.com/linuxmint/blueberry";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [
|
||||
bobby285271
|
||||
romildo
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -21,11 +21,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "briar-desktop";
|
||||
version = "0.6.4-beta";
|
||||
version = "0.6.5-beta";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://desktop.briarproject.org/jars/linux/${finalAttrs.version}/briar-desktop-linux-${finalAttrs.version}.jar";
|
||||
hash = "sha256-S7O625SWbgi4iby76Qe377NGiw4r9+VqgQh8kclKwMo=";
|
||||
hash = "sha256-YDFvM6EicHe6s7SDTiKRySCTO9IUwDrEtO373bavfmw=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "buildstream";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "apache";
|
||||
repo = "buildstream";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-2Z+s0dQB85MBO06llhIEO3jwWfL53n74S28ENHcbe/Q=";
|
||||
hash = "sha256-eHZmimuwOo3ZHZw5QF94B6wkso1+QbZIcgpDgsw1hiM=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-arc";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "seflue";
|
||||
repo = "cargo-arc";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-b6l9KIDM0V0DDXM5Q79w2ZAHg0nWnlphUdnJyzv3M4Q=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-NNI1H96sMbGzxkXtvFIXxtPB6XNoPB2Ns4czmG+NGiE=";
|
||||
|
||||
checkFlags = [
|
||||
# Tries to create temp dir
|
||||
"--skip=test_analyze_not_git_repo"
|
||||
# Tries to read from dir $CARGO_MANIFEST_DIR
|
||||
"--skip=test_analyze_empty_history"
|
||||
"--skip=test_analyze_real_repo"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Generate a collapsible arc diagram of your Cargo workspace as SVG";
|
||||
homepage = "https://github.com/seflue/cargo-arc";
|
||||
changelog = "https://github.com/seflue/cargo-arc/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
kpbaks
|
||||
matthiasbeyer
|
||||
];
|
||||
mainProgram = "cargo-arc";
|
||||
};
|
||||
})
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "codebook";
|
||||
version = "0.3.31";
|
||||
version = "0.3.32";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "blopker";
|
||||
repo = "codebook";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-pe+u4scmoVgKJupqXejwq1mDpaq5QrTozVcbGfUkXJk=";
|
||||
hash = "sha256-UkE1ND1ditGIlplHG6EslK2uDvRWz7jmn2UmUhlYbdE=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "crates/codebook-lsp";
|
||||
cargoHash = "sha256-T6MCQZ8mWMMsI7+LoHTHZZyMaEq8taME3vWtrfKlzAY=";
|
||||
cargoHash = "sha256-27+9vjTHBxJ3WM2e3xmTO2CmJvsmqN4nhqD0Sf0YtEw=";
|
||||
|
||||
env = {
|
||||
CARGO_PROFILE_RELEASE_LTO = "fat";
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cook-cli";
|
||||
version = "0.24.0";
|
||||
version = "0.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cooklang";
|
||||
repo = "cookcli";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ZRUnbhHXOl1FTvaMKzDxP7f7AkqTDfWjhVbBOdNsCvg=";
|
||||
hash = "sha256-UIhecZu2iHOwuHSwoWpMKQ1LrEH5ryZZTZV5hMp+UHo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9FgCYHqcTyroTCDHhYXm9w+BBu8Hr8bWlvcqMU0O5TU=";
|
||||
cargoHash = "sha256-UcrrFYst6E31bgjknRBugBWBm/4w96u8Yl0UPCyfRX8=";
|
||||
|
||||
# Build without the self-updating feature
|
||||
buildNoDefaultFeatures = true;
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
inherit hamlibSupport gpsdSupport extraScripts;
|
||||
}).overrideAttrs
|
||||
(oldAttrs: {
|
||||
version = "1.8.1-unstable-2026-01-08";
|
||||
version = "1.8.1-unstable-2026-03-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wb2osz";
|
||||
repo = "direwolf";
|
||||
rev = "041f396de0ab2111b9ccc07960f8f083a81f9ad0";
|
||||
hash = "sha256-W0MTS4UgbtIybhEHXm2ie50TnkvRLc23WB0FR0FGT2s=";
|
||||
rev = "3b20d8210a1d6f77073fd3452bbe87a21ee35a79";
|
||||
hash = "sha256-w/D5RO5dfcTh3nCOxe/GaHTSbzCYm+J1cJCt1K9lAaw=";
|
||||
};
|
||||
|
||||
dontVersionCheck = true;
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "dnsproxy";
|
||||
version = "0.79.0";
|
||||
version = "0.80.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AdguardTeam";
|
||||
repo = "dnsproxy";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-R/TBsge+Jd11EvDEx3B9FD/bHdi2BQZTpXLNlvEyERk=";
|
||||
hash = "sha256-acgNACztAOudrtzh1MeSzJza+lH9V8s5AmHkyETpy0E=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NS7MsK7QXg8tcAytYd9FGvaYZcReYkO5ESPpLbzL0IQ=";
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
versionCheckHook,
|
||||
}:
|
||||
let
|
||||
version = "1.37.0";
|
||||
version = "1.37.1";
|
||||
inherit (stdenvNoCC.hostPlatform) system;
|
||||
throwSystem = throw "envoy-bin is not available for ${system}.";
|
||||
|
||||
@@ -20,8 +20,8 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
aarch64-linux = "sha256-9KEqySEbwO53yN2oaXIrbSih6dm2LNuX7I8g3oIA+ig=";
|
||||
x86_64-linux = "sha256-Clcp7k6YDTRuvO6A8Y5+/lIyuRFBu0x3bsOtzKeG5gw=";
|
||||
aarch64-linux = "sha256-ZYEeEq6PedT09kGNJ6LTL+vEzIpSM9Wuik2g4+Dz/nU=";
|
||||
x86_64-linux = "sha256-jbkO4KoIWuaHPb8hISgW0p9sRV1HYMSuz01lk3Y9sYw=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
in
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fast-float";
|
||||
version = "8.2.3";
|
||||
version = "8.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfloat";
|
||||
repo = "fast_float";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-cQxIzfVNMG0UPEUw/4GYcRzmfAcBJLcswO+gqQ8t6lw=";
|
||||
hash = "sha256-VuiOuslq9BpATlMgcoIJSDC1Y4unF0GAs1ypnMMfrQU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
|
||||
hash = "sha256-3C++qdbngBdIVyyFV7VaOzH+rQBDEYp9wDcBVBjsrSc=";
|
||||
hash = "sha256-kTqFfLk3TWITM5DVa8rMZoezq/Yct9wkyofZbUl2SBQ=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -13,7 +13,7 @@ let
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}.AppImage";
|
||||
hash = "sha256-9apZXwVF8MV0ZK7/FsoQf+30lTg4P42aTtqedBCnSls=";
|
||||
hash = "sha256-Vg1uovP3gY3EQ0GNg/2dx8Uwj080Gf6YTHyu6OnZGNg=";
|
||||
}
|
||||
else
|
||||
throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
callPackage,
|
||||
}:
|
||||
let
|
||||
version = "5.6.258";
|
||||
version = "5.6.260";
|
||||
pname = "gdevelop";
|
||||
meta = {
|
||||
description = "Graphical Game Development Studio";
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "18.9.1";
|
||||
version = "18.9.2";
|
||||
package_version = "v${lib.versions.major version}";
|
||||
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
||||
|
||||
@@ -21,7 +21,7 @@ let
|
||||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-H5zAd5/sHrRuEp1v/gMDY/9DyCMWmzpb3Ws6aTfX2k8=";
|
||||
hash = "sha256-qCOcy7JOR7OeY5uPZE6xo6NRi5OhVKdl5Q4n36S5XyI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lK0fNBhDGFOZ+sCm1VuvN4CpAb0nAkUl4yL/30tZKBY=";
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitlab-pages";
|
||||
version = "18.9.1";
|
||||
version = "18.9.2";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-pages";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-DYifmE0vuJFTCCJiEDcOHOKJA3suEAJ89Ecy/fkcwf4=";
|
||||
hash = "sha256-sOJNwCcIAuLywL9r9c0RUqqtLbNmaaJ6ZMVBLQgus8k=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-AZIv/CU01OAbn5faE4EkSuDCakYzDjRprB5ox5tIlck=";
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"version": "18.9.1",
|
||||
"repo_hash": "sha256-Yq8G1gRA+p3Na3smPsMARj4w+cR2kvKjjffEwrR42vY=",
|
||||
"version": "18.9.2",
|
||||
"repo_hash": "sha256-0ax0wYOEiL9Vl/cw9DaoyhROehZjrtv7KIKmOWrrJY8=",
|
||||
"yarn_hash": "sha256-uXyUJS4+YIRB3pPezVbj5u1fytOo+/bNR18Kq6FAKSQ=",
|
||||
"frontend_islands_yarn_hash": "sha256-OkCoiyL9FFJcWcNUbeRSBGGSauYIm7l+yxNfA0CsNEQ=",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v18.9.1-ee",
|
||||
"rev": "v18.9.2-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "18.9.1",
|
||||
"GITLAB_KAS_VERSION": "18.9.1",
|
||||
"GITLAB_PAGES_VERSION": "18.9.1",
|
||||
"GITALY_SERVER_VERSION": "18.9.2",
|
||||
"GITLAB_KAS_VERSION": "18.9.2",
|
||||
"GITLAB_PAGES_VERSION": "18.9.2",
|
||||
"GITLAB_SHELL_VERSION": "14.45.6",
|
||||
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.13.3",
|
||||
"GITLAB_WORKHORSE_VERSION": "18.9.1"
|
||||
"GITLAB_WORKHORSE_VERSION": "18.9.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "18.9.1";
|
||||
version = "18.9.2";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitLab {
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
gnome,
|
||||
adwaita-icon-theme,
|
||||
meson,
|
||||
mesonEmulatorHook,
|
||||
ninja,
|
||||
pkg-config,
|
||||
gtk3,
|
||||
gettext,
|
||||
glib,
|
||||
udev,
|
||||
itstool,
|
||||
libxml2,
|
||||
wrapGAppsHook3,
|
||||
libnotify,
|
||||
libcanberra-gtk3,
|
||||
gobject-introspection,
|
||||
gtk-doc,
|
||||
docbook-xsl-nons,
|
||||
docbook_xml_dtd_43,
|
||||
python3,
|
||||
gsettings-desktop-schemas,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-bluetooth";
|
||||
version = "3.34.5";
|
||||
|
||||
# TODO: split out "lib"
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
"devdoc"
|
||||
"man"
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-bluetooth/${lib.versions.majorMinor finalAttrs.version}/gnome-bluetooth-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-bJSeUsi+zCBU2qzWBJAfZs5c9wml+pHEu3ysyTm1Pqk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with meson 0.61.
|
||||
# sendto/meson.build:24:5: ERROR: Function does not take positional arguments.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/commit/755fd758f866d3a3f7ca482942beee749f13a91e.patch";
|
||||
hash = "sha256-N0MJ0pYO411o2CTNZHWmEoG2m5TGUjR6YW6HSXHTR/A=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
itstool
|
||||
pkg-config
|
||||
libxml2
|
||||
wrapGAppsHook3
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
docbook-xsl-nons
|
||||
docbook_xml_dtd_43
|
||||
python3
|
||||
]
|
||||
++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
mesonEmulatorHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
udev
|
||||
libnotify
|
||||
libcanberra-gtk3
|
||||
adwaita-icon-theme
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dicon_update=false"
|
||||
"-Dgtk_doc=true"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py # patchShebangs requires executable file
|
||||
patchShebangs meson_post_install.py
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "gnome-bluetooth";
|
||||
attrPath = "gnome-bluetooth_1_0";
|
||||
freeze = true;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en";
|
||||
description = "Application that let you manage Bluetooth in the GNOME destkop";
|
||||
mainProgram = "bluetooth-sendto";
|
||||
maintainers = [ ];
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 447 B |
@@ -1,64 +0,0 @@
|
||||
/* XPM */
|
||||
static char *gnujump[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 26 1 ",
|
||||
" c black",
|
||||
". c #D10000",
|
||||
"X c #E80000",
|
||||
"o c #E90000",
|
||||
"O c #F90000",
|
||||
"+ c red",
|
||||
"@ c #00C500",
|
||||
"# c #00DC00",
|
||||
"$ c #00DD00",
|
||||
"% c #00EF00",
|
||||
"& c #00FA00",
|
||||
"* c #00FB00",
|
||||
"= c green",
|
||||
"- c #FFC882",
|
||||
"; c #FFC982",
|
||||
": c #FFD298",
|
||||
"> c #FFD299",
|
||||
", c #FFD399",
|
||||
"< c #FFDAAB",
|
||||
"1 c #FFDBAB",
|
||||
"2 c #FFDBAC",
|
||||
"3 c #FFE1BA",
|
||||
"4 c #FFE5C3",
|
||||
"5 c #FFE5C4",
|
||||
"6 c #FFE7C7",
|
||||
"7 c None",
|
||||
/* pixels */
|
||||
"77777777777777777777777777777777",
|
||||
"77777777777777777777777777777777",
|
||||
"7777777777777 77777777777777",
|
||||
"77777777777 777777777777",
|
||||
"7777777777 77777777777",
|
||||
"777777777 7777777777",
|
||||
"777777777 ;;;-- 7777777777",
|
||||
"77777777 ::>>,>1: 777777777",
|
||||
"77777777 :<1<1:>2: 777777777",
|
||||
"77777777 :1331: :: 7777 7777",
|
||||
"77777777 :<3431: :, 777 o 777",
|
||||
"777 777 ->236531>:2: 77 oo 777",
|
||||
"77 .o 77 -,145443<1, 77 oOo 777",
|
||||
"77 .ooo 7 -:13333312: 7 oOo 7777",
|
||||
"777 oOOo :,11<<<:: oOOo 7777",
|
||||
"7777 XOOooo :::>: XooO+Oo 7777",
|
||||
"77777 oOOOOoo ooOOO+Oo 77777",
|
||||
"777777 oOO+OOoooooOO++OOo 777777",
|
||||
"7777777 XoOOOOOOOOOOOOoo 7777777",
|
||||
"77777777 oooooooooooo 77777777",
|
||||
"7777777777 7777777777",
|
||||
"777777777 @@@@@@@@@@@@ 7777777",
|
||||
"77777777 #######$$##$#### 777777",
|
||||
"7777777 #%%%%%%%%%%%%%%%%# 77777",
|
||||
"7777777 #%*&*&*%%%%%%*&*%# 77777",
|
||||
"777777 #%*=**%%#####$%%&*%# 7777",
|
||||
"777777 #%&*%%## ##%&%# 7777",
|
||||
"77777 #%*%%## 777777 #%%# 7777",
|
||||
"77777 #%%#$ 777777777 #%%# 777",
|
||||
"7777 @%## 777777777777 #%# 777",
|
||||
"7777 ## 7777777777777777 $# 777",
|
||||
"77777 7777777777777777777 7777"
|
||||
};
|
||||
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 ${./gnujump.xpm} $out/share/pixmaps/gnujump.xpm
|
||||
install -Dm644 ${./gnujump.png} $out/share/icons/hicolor/32x32/apps/gnujump.png
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,291 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
lib,
|
||||
nodejs,
|
||||
python312,
|
||||
stdenv,
|
||||
yarnBuildHook,
|
||||
yarnConfigHook,
|
||||
yarnInstallHook,
|
||||
}:
|
||||
let
|
||||
python3 = python312.override {
|
||||
self = python3;
|
||||
packageOverrides = self: super: {
|
||||
django = super.django_4;
|
||||
};
|
||||
};
|
||||
|
||||
version = "1.1.10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "inventree";
|
||||
repo = "inventree";
|
||||
tag = "${version}";
|
||||
hash = "sha256-TPB/3pFIU+ui4c+CbqIKTyAfJ/Xepm/RIhZeYhTrgI4=";
|
||||
};
|
||||
|
||||
frontend =
|
||||
let
|
||||
frontendSource = src + "/src/frontend";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pname = "inventree-frontend";
|
||||
inherit version;
|
||||
|
||||
src = frontendSource;
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||
hash = "sha256-Ijbkx+INZgsvMhkzo8h/FUY75W3UHnKAdUjQRD8kJZw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
yarnConfigHook
|
||||
yarnBuildHook
|
||||
yarnInstallHook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p $out
|
||||
|
||||
export PATH=$PATH:$TMP/frontend/node_modules/.bin
|
||||
substituteInPlace $TMP/frontend/vite.config.ts --replace-warn "../../src/backend/InvenTree/web/static/web" "$out/static/web"
|
||||
|
||||
npm run extract
|
||||
npm run compile
|
||||
npm run build
|
||||
'';
|
||||
});
|
||||
in
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "inventree";
|
||||
pyproject = true;
|
||||
inherit version src;
|
||||
|
||||
dependencies =
|
||||
with python3.pkgs;
|
||||
[
|
||||
django
|
||||
dj-rest-auth
|
||||
django-allauth
|
||||
django-cleanup
|
||||
django-cors-headers
|
||||
django-crispy-forms
|
||||
django-dbbackup
|
||||
django-error-report-2
|
||||
django-filter
|
||||
django-flags
|
||||
django-formtools
|
||||
django-ical
|
||||
django-import-export
|
||||
django-maintenance-mode
|
||||
django-markdownify
|
||||
django-money
|
||||
django-mptt
|
||||
django-mailbox
|
||||
django-anymail
|
||||
django-q2
|
||||
django-redis
|
||||
django-sesame
|
||||
django-sql-utils
|
||||
django-sslserver
|
||||
django-stdimage
|
||||
django-storages
|
||||
django-structlog
|
||||
django-taggit
|
||||
django-oauth-toolkit
|
||||
django-otp
|
||||
django-user-sessions
|
||||
django-weasyprint
|
||||
standard-imghdr
|
||||
django-xforwardedfor-middleware
|
||||
djangorestframework-simplejwt
|
||||
djangorestframework
|
||||
drf-spectacular
|
||||
|
||||
bleach
|
||||
cryptography
|
||||
distutils
|
||||
dulwich
|
||||
feedparser
|
||||
gunicorn
|
||||
jinja2
|
||||
pdf2image
|
||||
pillow
|
||||
pint
|
||||
python-barcode
|
||||
python-dotenv
|
||||
qrcode
|
||||
pytz
|
||||
pyyaml
|
||||
rapidfuzz
|
||||
sentry-sdk
|
||||
structlog
|
||||
tablib
|
||||
tinycss2
|
||||
weasyprint
|
||||
whitenoise
|
||||
pypdf
|
||||
ppf-datamatrix
|
||||
psycopg2
|
||||
mysqlclient
|
||||
requests-mock
|
||||
|
||||
opentelemetry-api
|
||||
opentelemetry-sdk
|
||||
opentelemetry-exporter-otlp
|
||||
opentelemetry-instrumentation-django
|
||||
opentelemetry-instrumentation-requests
|
||||
opentelemetry-instrumentation-redis
|
||||
opentelemetry-instrumentation-sqlite3
|
||||
opentelemetry-instrumentation-system-metrics
|
||||
opentelemetry-instrumentation-wsgi
|
||||
]
|
||||
++ tablib.optional-dependencies.all
|
||||
++ tablib.optional-dependencies.xls
|
||||
++ tablib.optional-dependencies.xlsx
|
||||
++ djangorestframework-simplejwt.optional-dependencies.crypto
|
||||
++ django-anymail.optional-dependencies.amazon-ses
|
||||
++ django-allauth.optional-dependencies.socialaccount
|
||||
++ django-allauth.optional-dependencies.saml
|
||||
++ django-allauth.optional-dependencies.openid
|
||||
++ django-allauth.optional-dependencies.mfa;
|
||||
|
||||
build-system = [ python3.pkgs.setuptools ];
|
||||
|
||||
prePatch =
|
||||
let
|
||||
skippedCheckFunctions = [
|
||||
"test_task_check_for_updates"
|
||||
"test_download_image"
|
||||
"test_commit_info"
|
||||
"test_rates"
|
||||
"test_download_build_orders"
|
||||
"test_valid_url"
|
||||
"test_refresh_endpoint"
|
||||
"test_download_csv"
|
||||
"test_download_line_items"
|
||||
"test_export"
|
||||
"test_download_xlsx"
|
||||
"test_download_csv"
|
||||
"test_export"
|
||||
"test_part_label_translation"
|
||||
"test_part_download"
|
||||
"test_date_filters"
|
||||
"test_bom_export"
|
||||
"test_hash"
|
||||
"test_date"
|
||||
"test_api_call"
|
||||
"test_function_errors"
|
||||
"test_stocktake_exporter"
|
||||
"test_return"
|
||||
"test_plugin_install"
|
||||
"test_full_process"
|
||||
"test_package_loading"
|
||||
"test_export"
|
||||
"test_users_exist"
|
||||
"test_import_part"
|
||||
"test_model_names"
|
||||
];
|
||||
skippedFuncScripts = builtins.map (funcName: ''
|
||||
grep -rlZ ${funcName} . | while IFS= read -r -d "" file; do
|
||||
substituteInPlace "$file" --replace-fail "${funcName}" "skip_${funcName}"
|
||||
done
|
||||
'') skippedCheckFunctions;
|
||||
in
|
||||
''
|
||||
${lib.concatStringsSep "\n" skippedFuncScripts}
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
let
|
||||
pythonPath = python3.pkgs.makePythonPath dependencies;
|
||||
in
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
# Don't need to bother with a non-maintained library from ages ago
|
||||
substituteInPlace src/backend/InvenTree/InvenTree/settings.py --replace-fail "django_slowtests.testrunner.DiscoverSlowestTestsRunner" "django.test.runner.DiscoverRunner"
|
||||
|
||||
mkdir -p $out/lib/${pname}/src/backend/InvenTree/web/
|
||||
cp -r src $out/lib/${pname}
|
||||
ln -s ${frontend}/static $out/lib/${pname}/src/backend/InvenTree/web
|
||||
# cp -r ${frontend}/static $out/lib/${pname}/src/backend/InvenTree/web
|
||||
|
||||
chmod +x $out/lib/${pname}/src/backend/InvenTree/manage.py
|
||||
|
||||
makeWrapper $out/lib/${pname}/src/backend/InvenTree/manage.py $out/bin/${pname} \
|
||||
--prefix PYTHONPATH : "${pythonPath}:$out/lib/${pname}/src/backend/InvenTree"
|
||||
|
||||
makeWrapper ${lib.getExe python3.pkgs.gunicorn} $out/bin/gunicorn \
|
||||
--prefix PYTHONPATH : "${pythonPath}:$out/${python3.sitePackages}":"${pythonPath}:$out/lib/${pname}/src/backend/InvenTree"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
doCheck = true;
|
||||
env = {
|
||||
DJANGO_SETTINGS_MODULE = "InvenTree.settings";
|
||||
};
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
tmpDir=$(mktemp -d)
|
||||
mkdir -p $tmpDir/media
|
||||
mkdir -p $tmpDir/.cache/fontconfig
|
||||
export HOME=$tmpDir
|
||||
export INVENTREE_STATIC_ROOT=$tmpDir
|
||||
export INVENTREE_MEDIA_ROOT=$tmpDir/media
|
||||
export INVENTREE_BACKUP_DIR=$tmpDir
|
||||
export INVENTREE_DB_ENGINE=django.db.backends.sqlite3
|
||||
export INVENTREE_DB_NAME=inventree.db
|
||||
export INVENTREE_SITE_URL="http://localhost:8000"
|
||||
|
||||
export INVENTREE_PLUGINS_ENABLED=true
|
||||
export INVENTREE_PLUGIN_TESTING=true
|
||||
export INVENTREE_PLUGIN_TESTING_SETUP=true
|
||||
|
||||
pushd src/backend/InvenTree
|
||||
${python3.interpreter} ./manage.py check
|
||||
${python3.interpreter} ./manage.py migrate
|
||||
|
||||
${python3.interpreter} ./manage.py test --failfast
|
||||
popd
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
django-test-migrations
|
||||
pytest-django
|
||||
pytest-env
|
||||
pytestCheckHook
|
||||
invoke
|
||||
coverage
|
||||
pytest-cov
|
||||
pdfminer-six
|
||||
];
|
||||
passthru =
|
||||
let
|
||||
pythonPath = python3.pkgs.makePythonPath dependencies;
|
||||
in
|
||||
{
|
||||
inherit frontend;
|
||||
pythonPath = pythonPath;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Open Source Inventory Management System";
|
||||
homepage = "https://inventree.org/";
|
||||
changelog = "https://github.com/paperless-ngx/paperless-ngx/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "inventree";
|
||||
maintainers = with lib.maintainers; [
|
||||
kurogeek
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
nodejs_22,
|
||||
installShellFiles,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "lakefs";
|
||||
version = "1.79.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "treeverse";
|
||||
repo = "lakeFS";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UL9JvrNvtHADI0POguLXMDNNvO1oKHXXwfr8tOyvFYc=";
|
||||
};
|
||||
|
||||
webui = buildNpmPackage {
|
||||
pname = "lakefs-webui";
|
||||
|
||||
inherit (finalAttrs) version src;
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/webui";
|
||||
|
||||
nodejs = nodejs_22;
|
||||
|
||||
npmDepsHash = "sha256-Z9oOIKK6Hm/Bg3E37f4FqFFL1exMIf0KNEHQXIyox+Q=";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cp -r dist $out
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/lakefs" ];
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-6XOJBDdAERD6mcneQ7UFqAPGq+pXroNlzQGNvycpVBc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/treeverse/lakefs/pkg/version.Version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p webui/dist
|
||||
cp -r ${finalAttrs.webui}/* webui/dist/
|
||||
go generate ./pkg/api/apigen ./pkg/auth ./pkg/authentication
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd lakefs \
|
||||
--bash <($out/bin/lakefs completion bash) \
|
||||
--fish <($out/bin/lakefs completion fish) \
|
||||
--zsh <($out/bin/lakefs completion zsh)
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Data version control for object storage (Git for data)";
|
||||
homepage = "https://lakefs.io/";
|
||||
downloadPage = "https://github.com/treeverse/lakeFS";
|
||||
changelog = "https://github.com/treeverse/lakeFS/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ philocalyst ];
|
||||
mainProgram = "lakefs";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "lintspec";
|
||||
version = "0.15.0";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "beeb";
|
||||
repo = "lintspec";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-giCPigyLkWv2d8hdXT3ZmYjl7mYRlTxua0N0JpeC/kc=";
|
||||
hash = "sha256-hMBDOpmz8EMSWPKU16EleSxVZbLSbZPynqhrJifgt04=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-XsGkEy/uNmd2Em+ypDAAVKDeioaGafzFFHVL18Z0pdg=";
|
||||
cargoHash = "sha256-WaMuHTvadj1GoFyT0p4II6EFp7nmN5LJN3SOO2kYujM=";
|
||||
cargoBuildFlags = [
|
||||
"--package"
|
||||
"lintspec"
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "monophony";
|
||||
version = "4.4.1";
|
||||
version = "4.4.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "zehkira";
|
||||
repo = "monophony";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-punZetrvgnPwUT9Jgt3QySF2XxSz2Xbeq2tMxUS8FCU=";
|
||||
hash = "sha256-bQ1oGXkeuUEKof/mGvsaqwQQ30NFSed64j7ysb8K9tI=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/source";
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "nelm";
|
||||
version = "1.19.1";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "nelm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-iFr0IuIwZARGcU2xfavNuBu3Z6vKQjddwadU1PBE1/A=";
|
||||
hash = "sha256-64OAyuqV8qryVNH0Mxo9FiHnVjeshG45rtiU7jumb+w=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7KMSdfumDlAMfJFLFalH8WneQ+AFnTTnCZKYRTP9gX8=";
|
||||
vendorHash = "sha256-rMSEUKHyj/R+YTm2ADNHsrdeH4SbF6XQyrkjkgPvhx8=";
|
||||
|
||||
subPackages = [ "cmd/nelm" ];
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "nemorosa";
|
||||
version = "0.4.1";
|
||||
version = "0.4.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KyokoMiki";
|
||||
repo = "nemorosa";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-AqFjpEakEZ21iXmIIxhX+ez2aI/RMsLaUoECipQcaM4=";
|
||||
hash = "sha256-1mP+sdAScXAFp4wjPiSCez6BvzCDgOt/MtGWQv0PD0E=";
|
||||
};
|
||||
|
||||
# Upstream uses overly strict, fresh version specifiers
|
||||
@@ -29,24 +29,29 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
[
|
||||
aiohttp
|
||||
aiolimiter
|
||||
anyio
|
||||
apprise
|
||||
apscheduler
|
||||
asyncer
|
||||
beautifulsoup4
|
||||
defusedxml
|
||||
deluge-client
|
||||
fastapi
|
||||
httpx
|
||||
humanfriendly
|
||||
msgspec
|
||||
platformdirs
|
||||
qbittorrent-api
|
||||
reflink-copy
|
||||
sqlalchemy
|
||||
tenacity
|
||||
torf
|
||||
transmission-rpc
|
||||
uvicorn
|
||||
uvloop
|
||||
]
|
||||
++ aiohttp.optional-dependencies.speedups
|
||||
++ beautifulsoup4.optional-dependencies.lxml
|
||||
++ msgspec.optional-dependencies.yaml
|
||||
++ sqlalchemy.optional-dependencies.aiosqlite
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pt2-clone";
|
||||
version = "1.81";
|
||||
version = "1.83";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "8bitbubsy";
|
||||
repo = "pt2-clone";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-+Dm++OHrgrZmAaYJdCCQJ8Chc5y6KdHajH6gDOAg3Do=";
|
||||
sha256 = "sha256-jA3cFn5q7ceLIgu42Ir1HdXdSqgm8mcdR35CJdqQP+I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "pwdsphinx";
|
||||
version = "2.0.3";
|
||||
version = "2.0.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stef";
|
||||
repo = "pwdsphinx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-COSfA5QqIGWEnahmo5klFECK7XjyabGs1nG9vyhj/DM=";
|
||||
hash = "sha256-wAvcXSAoaottnsnvlD2QnLP3QIithI6xplo5tN8yjVg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -55,7 +55,10 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
|
||||
preCheck = ''
|
||||
mkdir -p ~/.config/sphinx
|
||||
cp ${finalAttrs.src}/configs/config ~/.config/sphinx/config
|
||||
cp ${finalAttrs.src}/sphinx.cfg_sample ~/.config/sphinx/config
|
||||
substituteInPlace ~/.config/sphinx/config \
|
||||
--replace-fail 'pinentry=/usr/bin/pinentry' 'pinentry="/usr/bin/pinentry"' \
|
||||
--replace-fail 'log=' 'log=""'
|
||||
# command fails without key but the command generates the key, so always pass
|
||||
$out/bin/sphinx init || true
|
||||
'';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
withUi ? true,
|
||||
buildFeatures ?
|
||||
# enable all features except self_update by default
|
||||
# https://github.com/dathere/qsv/blob/16.1.0/Cargo.toml#L370
|
||||
# https://github.com/dathere/qsv/blob/17.0.0/Cargo.toml#L370
|
||||
[
|
||||
"apply"
|
||||
"feature_capable"
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "qsv";
|
||||
version = "16.1.0";
|
||||
version = "17.0.0";
|
||||
|
||||
inherit buildFeatures;
|
||||
|
||||
@@ -41,10 +41,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "dathere";
|
||||
repo = "qsv";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-7v4I5UufODXgEBeM5+s6zBBPRlrihHrfCYOPjrny53I=";
|
||||
hash = "sha256-RIrphnw0opCvp0fhkvevNaOQJ8/25c34qYfg4IVNP9g=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-wD5LjdHhCVltHYWij+/b8j9ER4OnwecVlc/2nGjvClE=";
|
||||
cargoHash = "sha256-nTyxEX2jiFZxkao0/xFxGjpitc5K0BQSvvo3A+PFLEI=";
|
||||
|
||||
buildInputs = [
|
||||
file
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# nixpkgs-update: no auto update
|
||||
# updated via the parent 'qsv' derivation
|
||||
{ qsv }:
|
||||
qsv.override {
|
||||
buildFeatures = [ "lite" ];
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
}:
|
||||
let
|
||||
pname = "remnote";
|
||||
version = "1.23.10";
|
||||
version = "1.24.0";
|
||||
src = fetchurl {
|
||||
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
|
||||
hash = "sha256-EOmsV9tsp3fKH6Ktwx3O/Mk5XBq4byY19cCA7/JOWj8=";
|
||||
hash = "sha256-OV8o2AOoDXdz02tXbtelcIOVOT3PIiBYJf38mRuvWdM=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
in
|
||||
|
||||
@@ -11,23 +11,22 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "seaweedfs";
|
||||
version = "4.12";
|
||||
version = "4.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "seaweedfs";
|
||||
repo = "seaweedfs";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-AiNtGepaNZ/1cGWp3SFQ7l4+mjpag9MNZb2IXKar9Qo=";
|
||||
hash = "sha256-BRdI/50YxwdCdBj91w6OPgTcOb7JkshkVSD8b8bHcYA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-P2wbXslmHF2dwNoXemuOscKUHrPrypRR+Ehv89tlVUM=";
|
||||
vendorHash = "sha256-XbfKYftKfbJDkbp9DwVAs56w5lMvqdlW5cwhhivniBM=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libredirect.hook ];
|
||||
|
||||
subPackages = [ "weed" ];
|
||||
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-s"
|
||||
"-X github.com/seaweedfs/seaweedfs/weed/util.COMMIT=N/A"
|
||||
];
|
||||
@@ -48,7 +47,7 @@ buildGoModule (finalAttrs: {
|
||||
# Test all targets.
|
||||
unset subPackages
|
||||
# Remove unmaintained tests and those that require additional services.
|
||||
rm -rf unmaintained test/s3 test/fuse_integration test/kafka test/sftp
|
||||
rm -rf unmaintained test/s3 test/fuse_integration test/kafka test/sftp test/tus test/volume_server
|
||||
# TestECEncodingVolumeLocationTimingBug, TestECEncodingMasterTimingRaceCondition: weed binary not found
|
||||
export PATH=$PATH:$NIX_BUILD_TOP/go/bin
|
||||
''
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "serie";
|
||||
version = "0.6.1";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lusingander";
|
||||
repo = "serie";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-cnuQ6gAL0YRv0DIjuXstPmFRyfQh7c+MHZkc3lzRcRo=";
|
||||
hash = "sha256-J84xop9QGRa9pgHGF8ioLwmnXu1t5iO9ZLV2MoYRdEI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-SavJ6OsTxWUWFWxyfq3B/maqqTRIRiBmwIeXAH3+ZCw=";
|
||||
cargoHash = "sha256-B9Fn4okfS/OwhR34YwyjhPvpK6DLFuVY0BRubj4Y4MA=";
|
||||
|
||||
nativeCheckInputs = [ gitMinimal ];
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
callPackage ./generic.nix rec {
|
||||
pname = "shattered-pixel-dungeon";
|
||||
version = "3.3.5";
|
||||
version = "3.3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "00-Evan";
|
||||
repo = "shattered-pixel-dungeon";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-NxeDF0bfQJsJiWkAD8ynjtezPZZ5TaU0ih1t2uVtXVU=";
|
||||
hash = "sha256-nWsIaAj4IqQWmNOGFOFJ+oX0Nz6DlWEp/47/qrcZ8qs=";
|
||||
};
|
||||
|
||||
patches = [ ];
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "snowflake";
|
||||
version = "2.11.0";
|
||||
version = "2.12.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.torproject.org";
|
||||
@@ -14,10 +14,10 @@ buildGoModule (finalAttrs: {
|
||||
owner = "anti-censorship/pluggable-transports";
|
||||
repo = "snowflake";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-VfKiY5XCUnhsWoSfMeYQ5rxxXmAtWzD94o4EvhDCwDM=";
|
||||
sha256 = "sha256-3aXO6AvOHPX8QCXK5dFx3QVxQ7BNAi4DJAZ63BMOI1g=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vopRE4B4WhncUdBfmBTzRbZzCU20vsHoNCYcPG4BGc0=";
|
||||
vendorHash = "sha256-X7SfTTxUL/4f2OndF8gnhz5JVpqGzeGLctiOFx5pJPI=";
|
||||
|
||||
meta = {
|
||||
description = "System to defeat internet censorship";
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "vex-tui";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CodeOne45";
|
||||
repo = "vex-tui";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NHGqfdto2geJD9FUFMC/MEpGocNrRN8gtJ0J/6kSJkc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-PvaV0tJjIVppB36Cxg4aAKX0MBjgFC5S4GTs1zHxCCU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/{vex-tui,vex}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Beautiful, fast, and feature-rich terminal-based Excel and CSV viewer built with Go";
|
||||
homepage = "https://github.com/CodeOne45/vex-tui";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ Inarizxc ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "7.8.3925.74";
|
||||
version = "7.8.3925.76";
|
||||
|
||||
suffix =
|
||||
{
|
||||
@@ -79,8 +79,8 @@ stdenv.mkDerivation rec {
|
||||
url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb";
|
||||
hash =
|
||||
{
|
||||
aarch64-linux = "sha256-mjincXiugFWW4dnJEWC3AnBc7bk+pGmxS8w9kUJhTpM=";
|
||||
x86_64-linux = "sha256-v7fAE8iUVYJCHnURD/XLpMz83X0RDK0IYrKmSMUtmxA=";
|
||||
aarch64-linux = "sha256-gXbJyWY6demWPkOS+LIY87K4gbO2uOVM5JvPpW4YnSc=";
|
||||
x86_64-linux = "sha256-BIlOykKzEbCoNryziVGppcoreTGt9xgkOmJbVd5zwAM=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "watchlog";
|
||||
version = "1.254.0";
|
||||
version = "1.257.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "kevincox";
|
||||
repo = "watchlog";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-gXglNyeIrLCarHwn0shSAOEcoVOW9yaCuXA/KGB1pdo=";
|
||||
hash = "sha256-KesYMimT6GMo5HK7rsasgfylM0F98bZcqCEsJdNPgaM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-aw5WRBnQJqn9zUzXir4HNNywcwX3yZW5RKkPZBa5XD0=";
|
||||
cargoHash = "sha256-y0U+AQ8a7SEyUl6LtGzD61ArJUx3GU19dnk6KHVaXxM=";
|
||||
|
||||
meta = {
|
||||
description = "Easier monitoring of live logs";
|
||||
|
||||
@@ -43,13 +43,13 @@ assert (
|
||||
);
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "xremap${variant.suffix or ""}";
|
||||
version = "0.14.17";
|
||||
version = "0.14.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xremap";
|
||||
repo = "xremap";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4WRJqRxfQ2udOo/U/iVoY9IB1XbDKH9yaSeOQAGciRM=";
|
||||
hash = "sha256-bn5Qq3pcrxTKUBfMkoK1xtLl4c4tHafe74REMQS+cz8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
buildNoDefaultFeatures = true;
|
||||
buildFeatures = variant.features;
|
||||
|
||||
cargoHash = "sha256-8zVUA2tpFe0MKzhu188FdQ/uAqffbaXkNh9Sl7XlI1E=";
|
||||
cargoHash = "sha256-MJ41A8hUurevmy9MX1qB32T8J4KaZO/gDA96CmTuIBU=";
|
||||
|
||||
passthru = lib.mapAttrs (name: lib.const (xremap.override { withVariant = name; })) variants;
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "yewtube";
|
||||
version = "2.12.1";
|
||||
version = "2.13.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mps-youtube";
|
||||
repo = "yewtube";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+V9t71Z8PKioM7HWlzTB6X7EokAWgqC3fQJr5tkPdq8=";
|
||||
hash = "sha256-aRJQMm1Ykn6bs6OTSEGMTc5N8pinuRQQ+m54XpT45As=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
# Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
|
||||
let
|
||||
pname = "zettlr";
|
||||
version = "4.2.0";
|
||||
version = "4.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
|
||||
hash = "sha256-csGQcOhV/NaFgAqfH2ZFP7ZOYIHKBnvscZ4Sy6GJuvc=";
|
||||
hash = "sha256-/gRAfZhnYeHrZvpB/7bDuOxuwOphFLJOmn+HRBf0arQ=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
|
||||
@@ -27,19 +27,12 @@ let
|
||||
let
|
||||
prefix = "https://${domain}/${owner}/${repo}/";
|
||||
in
|
||||
if sha256 != null then
|
||||
if hash != null || sha256 != null then
|
||||
fetchurl {
|
||||
url = "${prefix}releases/download/${rev}/${
|
||||
lib.concatStringsSep "-" (namePrefix ++ [ pname ])
|
||||
}-${rev}.tbz";
|
||||
inherit sha256;
|
||||
}
|
||||
else if hash != null then
|
||||
fetchurl {
|
||||
url = "${prefix}releases/download/v${rev}/${
|
||||
lib.concatStringsSep "-" (namePrefix ++ [ pname ])
|
||||
}-${rev}.tbz";
|
||||
inherit hash;
|
||||
hash = if hash != null then hash else sha256;
|
||||
}
|
||||
else
|
||||
fetchTarball { url = "${prefix}archive/refs/heads/${rev}.tar.gz"; };
|
||||
@@ -51,9 +44,10 @@ mkCoqDerivation {
|
||||
repo = "coqword";
|
||||
useDune = true;
|
||||
|
||||
releaseRev = v: if lib.versionAtLeast v "3.3" then v else "v${v}";
|
||||
releaseRev = v: "v${v}";
|
||||
|
||||
release."3.3".hash = "sha256-z+2eerYZbaEytg3A00GQ12wpj4IjKLJYf6Ny5cARwog=";
|
||||
release."3.4".hash = "sha256-AnyiM5B7JJZI5LR0vSi6baVIx9SibYRiho7UBg1uV5w=";
|
||||
release."3.3".hash = "sha256-Zn9245fr0OhgaXjWlIO1QwSxrQYetj7qPHwZAXTdqNc=";
|
||||
release."3.2".sha256 = "sha256-4HOFFQzKbHIq+ktjJaS5b2Qr8WL1eQ26YxF4vt1FdWM=";
|
||||
release."3.1".sha256 = "sha256-qQHis6554sG7NpCpWhT2wvelnxsrbEPVNv3fpxwxHMU=";
|
||||
release."3.0".sha256 = "sha256-xEgx5HHDOimOJbNMtIVf/KG3XBemOS9XwoCoW6btyJ4=";
|
||||
@@ -78,7 +72,7 @@ mkCoqDerivation {
|
||||
lib.switch
|
||||
[ coq.coq-version mathcomp.version ]
|
||||
[
|
||||
(case (range "8.16" "9.1") (isGe "2.0") "3.3")
|
||||
(case (range "8.16" "9.1") (isGe "2.0") "3.4")
|
||||
(case (range "8.12" "8.20") (range "1.12" "1.19") "2.4")
|
||||
]
|
||||
null;
|
||||
|
||||
@@ -451,6 +451,12 @@ with haskellLib;
|
||||
"$0!=\"tests.buf.t_iter\""
|
||||
];
|
||||
}) super.attoparsec;
|
||||
attoparsec-isotropic = overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
"-p"
|
||||
"$0!=\"tests.leftToRight.buf.t_iter\""
|
||||
];
|
||||
}) super.attoparsec-isotropic;
|
||||
|
||||
# These packages (and their reverse deps) cannot be built with profiling enabled.
|
||||
ghc-heap-view = lib.pipe super.ghc-heap-view [
|
||||
|
||||
@@ -92,9 +92,9 @@
|
||||
major = "3";
|
||||
minor = "15";
|
||||
patch = "0";
|
||||
suffix = "a6";
|
||||
suffix = "a7";
|
||||
};
|
||||
hash = "sha256-jipOGyr7k6hNZZ1DGx84RUSz2gCkuP9b81gPB61P+Yk=";
|
||||
hash = "sha256-j1kMQot/DUBt+Si4Vzfno6+ijt3U0UGUEOqAloftHqc=";
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
coverage,
|
||||
django,
|
||||
django-storages,
|
||||
fetchFromGitHub,
|
||||
flake8,
|
||||
gnupg,
|
||||
lib,
|
||||
pep8,
|
||||
psycopg2,
|
||||
pylint,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
python-dotenv,
|
||||
python-gnupg,
|
||||
pytz,
|
||||
setuptools,
|
||||
testfixtures,
|
||||
tox,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-dbbackup";
|
||||
version = "4.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "django-dbbackup";
|
||||
repo = "django-dbbackup";
|
||||
tag = version;
|
||||
hash = "sha256-w+LfU5I7swnCJpwqBqoCTRUCZjKoIxK3OC+8CrihLEI=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
python-gnupg
|
||||
pytz
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
tempDir=$(mktemp -d)
|
||||
export HOME=$tempDir
|
||||
export DJANGO_SETTINGS_MODULE=dbbackup.tests.settings
|
||||
'';
|
||||
pythonImportsCheck = [ "dbbackup" ];
|
||||
disabledTestPaths = [
|
||||
# Specific gnupg version required, which aren't provided in upstream
|
||||
"dbbackup/tests/commands/test_dbrestore.py::DbrestoreCommandRestoreBackupTest::test_decrypt"
|
||||
"dbbackup/tests/test_connectors/test_base.py::BaseCommandDBConnectorTest::test_run_command_with_parent_env"
|
||||
"dbbackup/tests/test_utils.py::Encrypt_FileTest::test_func"
|
||||
"dbbackup/tests/test_utils.py::Compress_FileTest::test_func"
|
||||
];
|
||||
nativeCheckInputs = [
|
||||
coverage
|
||||
django-storages
|
||||
flake8
|
||||
gnupg
|
||||
pep8
|
||||
psycopg2
|
||||
pylint
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
python-dotenv
|
||||
testfixtures
|
||||
tox
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Management commands to help backup and restore your project database and media files";
|
||||
homepage = "https://github.com/Archmonger/django-dbbackup";
|
||||
changelog = "https://github.com/Archmonger/django-dbbackup/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
setuptools,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-error-report-2";
|
||||
version = "0.4.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matmair";
|
||||
repo = "django-error-report-2";
|
||||
tag = version;
|
||||
hash = "sha256-ZCaslqgruJxM8345/jSlZGruM+27H9hvwL0wtPkUzc0=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
# There is no tests on upstream
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "error_report" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Log/View Django server errors.";
|
||||
homepage = "https://github.com/matmair/django-error-report-2";
|
||||
changelog = "https://github.com/matmair/django-error-report-2/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
coverage,
|
||||
django,
|
||||
django-debug-toolbar,
|
||||
fetchFromGitHub,
|
||||
jinja2,
|
||||
lib,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
setuptools-scm,
|
||||
setuptools,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-flags";
|
||||
version = "5.0.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cfpb";
|
||||
repo = "django-flags";
|
||||
tag = version;
|
||||
hash = "sha256-0IOcpl8OamNlalqNqMvmx/bkuIkaNnLwCD7nFclR8S4=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
];
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export DJANGO_SETTINGS_MODULE=flags.tests.settings
|
||||
'';
|
||||
pythonImportsCheck = [ "flags" ];
|
||||
nativeCheckInputs = [
|
||||
coverage
|
||||
(django-debug-toolbar.overrideAttrs (old: rec {
|
||||
version = "5.2.0";
|
||||
src = old.src.override {
|
||||
tag = version;
|
||||
hash = "sha256-/oWirfJaiHVRI1m3N1QveutX2sag8fjYqJYCZ8BnMa0=";
|
||||
};
|
||||
}))
|
||||
jinja2
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Feature flags for Django projects";
|
||||
homepage = "https://github.com/cfpb/django-flags";
|
||||
changelog = "https://github.com/cfpb/django-flags/releases/tag/${version}";
|
||||
license = licenses.cc0;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
setuptools-scm,
|
||||
icalendar,
|
||||
django-recurrence,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-ical";
|
||||
version = "1.9.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jazzband";
|
||||
repo = "django-ical";
|
||||
tag = version;
|
||||
hash = "sha256-DUe0loayGcUS7MTyLn+g0KBxbIY7VsaoQNHGSMbMI3U=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
django-recurrence
|
||||
# Latest version didn't pass the test
|
||||
(icalendar.overrideAttrs (old: rec {
|
||||
version = "6.0.0";
|
||||
src = old.src.override {
|
||||
tag = "v${version}";
|
||||
hash = "sha256-eWFDY/pNVfcUk3PfB0vXqh9swuSGtflUw44IMDJI+yI=";
|
||||
};
|
||||
}))
|
||||
];
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export DJANGO_SETTINGS_MODULE=test_settings
|
||||
'';
|
||||
pythonImportsCheck = [
|
||||
"icalendar"
|
||||
"django_ical"
|
||||
];
|
||||
nativeCheckInputs = [
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "iCal feeds for Django based on Django's syndication feed framework.";
|
||||
homepage = "https://github.com/jazzband/django-ical";
|
||||
changelog = "https://github.com/jazzband/django-ical/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
six,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-mailbox";
|
||||
version = "4.10.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coddingtonbear";
|
||||
repo = "django-mailbox";
|
||||
tag = version;
|
||||
hash = "sha256-7CBUnqveTSfdc+8x8sZUqvwYW3vKjZKfOPVWFSo4es0=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
six
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
substituteInPlace setup.cfg --replace-fail "pytest" "tool:pytest"
|
||||
export DJANGO_SETTINGS_MODULE=django_mailbox.tests.settings
|
||||
'';
|
||||
pythonImportsCheck = [ "django_mailbox" ];
|
||||
nativeCheckInputs = [
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Import mail from POP3, IMAP, local email mailboxes or directly from Postfix or Exim4 into your Django application automatically.";
|
||||
homepage = "https://github.com/coddingtonbear/django-mailbox";
|
||||
changelog = "https://github.com/coddingtonbear/django-mailbox/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
markdown,
|
||||
bleach,
|
||||
tinycss2,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-markdownify";
|
||||
version = "0.9.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "erwinmatijsen";
|
||||
repo = "django-markdownify";
|
||||
tag = version;
|
||||
hash = "sha256-KYU8p8NRD4EIS/KhOk9nvmXCf0RWEc+IFZ57YtsDSWE=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
markdown
|
||||
bleach
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export DJANGO_SETTINGS_MODULE=markdownify.checks
|
||||
'';
|
||||
nativeCheckInputs = [
|
||||
tinycss2
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
pythonImportsCheck = [ "markdownify" ];
|
||||
disabledTests = [
|
||||
# Test settings didn't setup DjangoTemplates
|
||||
"test_markdownify_nodelist"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Markdown template filter for Django";
|
||||
homepage = "https://github.com/erwinmatijsen/django-markdownify";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
setuptools,
|
||||
lib,
|
||||
django,
|
||||
py-moneyed,
|
||||
certifi,
|
||||
pytestCheckHook,
|
||||
pytest-django,
|
||||
pytest-cov,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-money";
|
||||
version = "3.5.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "django-money";
|
||||
repo = "django-money";
|
||||
tag = version;
|
||||
hash = "sha256-JqAZaiJ2zCb7Jwvumqi16IrQ6clmcw71WpPzbhE2Fms=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
certifi
|
||||
py-moneyed
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
doCheck = true;
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-django
|
||||
pytest-cov
|
||||
];
|
||||
pythonImportsCheck = [ "djmoney" ];
|
||||
|
||||
# avoid tests which import mixer, an abandoned library
|
||||
disabledTests = [
|
||||
"test_mixer_blend"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Money fields for Django forms and models.";
|
||||
homepage = "https://github.com/django-money/django-money";
|
||||
changelog = "https://github.com/django-money/django-money/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
python-dateutil,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
pytest-cov,
|
||||
pytest-sugar,
|
||||
setuptools-scm,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-recurrence";
|
||||
version = "1.11.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jazzband";
|
||||
repo = "django-recurrence";
|
||||
tag = version;
|
||||
hash = "sha256-Ytf4fFTVFIQ+6IBhwRMtCkonP0POivv4TrYok37nghA=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
python-dateutil
|
||||
];
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
doCheck = true;
|
||||
pythonImportsCheck = [ "recurrence" ];
|
||||
nativeCheckInputs = [
|
||||
pytest-django
|
||||
pytest-cov
|
||||
pytest-sugar
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Utility for working with recurring dates in Django.";
|
||||
homepage = "https://github.com/jazzband/django-recurrence";
|
||||
changelog = "https://github.com/jazzband/django-recurrence/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
lib,
|
||||
fetchurl,
|
||||
setuptools-scm,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage {
|
||||
pname = "django-sslserver";
|
||||
version = "0.22";
|
||||
format = "wheel";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/6f/97/e4011f3944f83a7d2aaaf893c3689ad70e8d2ae46fb6e14fd0e3b0c6ce0b/django_sslserver-0.22-py3-none-any.whl";
|
||||
hash = "sha256-xZijY9LM3CQhwI3bPYsJc/gOjkejpbdOSiiW8hwpR8U=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.4";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
];
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A SSL-enabled development server for Django";
|
||||
homepage = "https://github.com/teddziuba/django-sslserver";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
setuptools-scm,
|
||||
pillow,
|
||||
pytest-cov,
|
||||
gettext,
|
||||
pythonOlder,
|
||||
pythonAtLeast,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-stdimage";
|
||||
version = "6.0.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "codingjoe";
|
||||
repo = "django-stdimage";
|
||||
tag = version;
|
||||
hash = "sha256-uwVU3Huc5fitAweShJjcMW//GBeIpJcxqKKLGo/EdIs=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.8" || pythonAtLeast "3.13";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
pillow
|
||||
];
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export DJANGO_SETTINGS_MODULE=tests.settings
|
||||
'';
|
||||
disabledTests = [
|
||||
# SuspiciousFileOperation: Detected path traversal attempt (Even appear in upstream)
|
||||
"test_variations_override"
|
||||
];
|
||||
pythonImportsCheck = [
|
||||
"stdimage"
|
||||
"stdimage.validators"
|
||||
"stdimage.models"
|
||||
];
|
||||
nativeCheckInputs = [
|
||||
pytest-django
|
||||
pytest-cov
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Django Standardized Image Field";
|
||||
homepage = "https://github.com/codingjoe/django-stdimage";
|
||||
changelog = "https://github.com/codingjoe/django-stdimage/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
setuptools,
|
||||
python,
|
||||
pkgs,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-structlog";
|
||||
version = "9.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jrobichaud";
|
||||
repo = "django-structlog";
|
||||
tag = version;
|
||||
hash = "sha256-SEigOdlXZtfLAgRgGkv/eDNDAiiHd7YthRJ/H6e1v5U=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
dependencies = with python.pkgs; [
|
||||
colorama
|
||||
django
|
||||
django-allauth
|
||||
crispy-bootstrap5
|
||||
django-crispy-forms
|
||||
django-environ
|
||||
django-extensions
|
||||
django-ipware
|
||||
django-model-utils
|
||||
django-ninja
|
||||
django-redis
|
||||
djangorestframework
|
||||
structlog
|
||||
];
|
||||
|
||||
optional-dependencies.celery = with python.pkgs; [ celery ];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
export DJANGO_SETTINGS_MODULE=config.settings.test_demo_app
|
||||
|
||||
${pkgs.valkey}/bin/redis-server &
|
||||
REDIS_PID=$!
|
||||
'';
|
||||
postCheck = ''
|
||||
kill $REDIS_PID
|
||||
'';
|
||||
|
||||
pytestFlags = [
|
||||
"-x"
|
||||
"--cov=./django_structlog_demo_project"
|
||||
"--cov-append django_structlog_demo_project"
|
||||
];
|
||||
pythonImportsCheck = [
|
||||
"structlog"
|
||||
"django_structlog"
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python.pkgs; [
|
||||
celery
|
||||
factory-boy
|
||||
pytest-asyncio
|
||||
pytest-cov
|
||||
pytest-django
|
||||
pytest-mock
|
||||
pytest-sugar
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Structured Logging for Django";
|
||||
homepage = "https://github.com/jrobichaud/django-structlog";
|
||||
changelog = "https://github.com/jrobichaud/django-structlog/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
setuptools-scm,
|
||||
lib,
|
||||
django,
|
||||
pythonOlder,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-user-sessions";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jazzband";
|
||||
repo = "django-user-sessions";
|
||||
tag = version;
|
||||
hash = "sha256-Wexy6G2pZ8LTnqtJkBZIePV7qhQW8gu/mKiQfZtgf/o=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
];
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extend Django sessions with a foreign key back to the user, allowing enumerating all user's sessions.";
|
||||
homepage = "https://github.com/jazzband/django-user-sessions";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
django,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
setuptools,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "django-xforwardedfor-middleware";
|
||||
version = "2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "allo-";
|
||||
repo = "django-xforwardedfor-middleware";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-dDXSb17kXOSeIgY6wid1QFHhUjrapasWgCEb/El51eA=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Use the X-Forwarded-For header to get the real ip of a request";
|
||||
homepage = "https://github.com/allo-/django-xforwardedfor-middleware";
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hueble";
|
||||
version = "2.1.0";
|
||||
version = "2.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flip-dots";
|
||||
repo = "HueBLE";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-1KDKfmP7fNe66ZMHbOsNvnikkm1/AGQPBKTh7h9ku6Y=";
|
||||
hash = "sha256-CMipY44tfuOQE2P77mH44stevg1IOd0MeF+cS6jkPnw=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "onedrive-personal-sdk";
|
||||
version = "0.1.5";
|
||||
version = "0.1.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zweckj";
|
||||
repo = "onedrive-personal-sdk";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-l4cfSxF0D/qJPtA2YYcRfxMFL3TumfJw0jMQPoeIKGA=";
|
||||
hash = "sha256-vNC7fXsTVCYizQnucyWOanYRoDCTfCfGD0zxGyigizk=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
hatchling,
|
||||
opentelemetry-instrumentation,
|
||||
opentelemetry-instrumentation-dbapi,
|
||||
opentelemetry-test-utils,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
inherit (opentelemetry-instrumentation) version src;
|
||||
pname = "opentelemetry-instrumentation-sqlite3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-sqlite3";
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
dependencies = [
|
||||
opentelemetry-instrumentation
|
||||
opentelemetry-instrumentation-dbapi
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
opentelemetry-test-utils
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "opentelemetry.instrumentation.sqlite3" ];
|
||||
|
||||
meta = opentelemetry-instrumentation.meta // {
|
||||
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-sqlite3";
|
||||
description = "OpenTelemetry Instrumentation for Django";
|
||||
};
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
hatchling,
|
||||
opentelemetry-instrumentation,
|
||||
opentelemetry-api,
|
||||
opentelemetry-test-utils,
|
||||
psutil,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
inherit (opentelemetry-instrumentation) version src;
|
||||
pname = "opentelemetry-instrumentation-system-metrics";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-system-metrics";
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
dependencies = [
|
||||
opentelemetry-instrumentation
|
||||
opentelemetry-api
|
||||
psutil
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
opentelemetry-test-utils
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "opentelemetry.instrumentation.system_metrics" ];
|
||||
|
||||
meta = opentelemetry-instrumentation.meta // {
|
||||
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-system-metrics";
|
||||
description = "OpenTelemetry Instrumentation for Django";
|
||||
};
|
||||
}
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pepit";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PerformanceEstimation";
|
||||
repo = "PEPit";
|
||||
tag = version;
|
||||
hash = "sha256-6HF/BkDFUvui7CaVfOeJUQhl3QLLyE7aabDWcZ4tgXc=";
|
||||
hash = "sha256-JwJGJhBC7fS10D6cUkQwhwoT932Pi4oPTtNLNwyM3Q4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
setuptools-scm,
|
||||
pythonOlder,
|
||||
fetchPypi,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ppf-datamatrix";
|
||||
version = "0.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-jwNNnJDkCPYPixCic7qrgQFMmoHJg9wevcMdTKWsVYI=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
pythonImportsCheck = [ "ppf.datamatrix" ];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
meta = {
|
||||
description = "Pure-python package to generate data matrix codes.";
|
||||
homepage = "https://github.com/adrianschlatter/ppf.datamatrix";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
babel,
|
||||
pythonOlder,
|
||||
typing-extensions,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "py-moneyed";
|
||||
version = "3.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-SQbw8CzyuR7bouFW8tTpp48iQFmrjI+i/yYjDHXYlOg=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
babel
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "moneyed" ];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
meta = {
|
||||
description = "Provides Currency and Money classes for use in your Python code.";
|
||||
homepage = "https://github.com/py-moneyed/py-moneyed";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ kurogeek ];
|
||||
};
|
||||
}
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyanglianwater";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pantherale0";
|
||||
repo = "pyanglianwater";
|
||||
tag = version;
|
||||
hash = "sha256-NlAntGrc42jMxjaimG4AVvpsmDZfju9tHt3pZ8rldV0=";
|
||||
hash = "sha256-iMUrX6tyPVf/L/kUymmrqUO4JOaQUhWdrkRPiOBIVGg=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -746,6 +746,8 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
|
||||
rocmSupport
|
||||
rocmPackages
|
||||
unroll-src
|
||||
gpuTargetString
|
||||
rocmtoolkit_joined
|
||||
;
|
||||
cudaCapabilities = if cudaSupport then supportedCudaCapabilities else [ ];
|
||||
# At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability.
|
||||
@@ -762,6 +764,7 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
|
||||
homepage = "https://pytorch.org/";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [
|
||||
caniko
|
||||
GaetanLepage
|
||||
LunNova # esp. for ROCm
|
||||
teh
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
symlinkJoin,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
@@ -19,62 +18,9 @@
|
||||
cudaPackages,
|
||||
rocmSupport ? torch.rocmSupport,
|
||||
rocmPackages,
|
||||
|
||||
gpuTargets ? [ ],
|
||||
}:
|
||||
|
||||
let
|
||||
# TODO: Reuse one defined in torch?
|
||||
# Some of those dependencies are probably not required,
|
||||
# but it breaks when the store path is different between torch and torchaudio
|
||||
rocmtoolkit_joined = symlinkJoin {
|
||||
name = "rocm-merged";
|
||||
|
||||
paths = with rocmPackages; [
|
||||
rocm-core
|
||||
clr
|
||||
rccl
|
||||
miopen
|
||||
rocrand
|
||||
rocblas
|
||||
rocsparse
|
||||
hipsparse
|
||||
rocthrust
|
||||
rocprim
|
||||
hipcub
|
||||
roctracer
|
||||
rocfft
|
||||
rocsolver
|
||||
hipfft
|
||||
hipsolver
|
||||
hipblas-common
|
||||
hipblas
|
||||
rocminfo
|
||||
rocm-comgr
|
||||
rocm-device-libs
|
||||
rocm-runtime
|
||||
clr.icd
|
||||
hipify
|
||||
];
|
||||
|
||||
# Fix `setuptools` not being found
|
||||
postBuild = ''
|
||||
rm -rf $out/nix-support
|
||||
'';
|
||||
};
|
||||
# Only used for ROCm
|
||||
gpuTargetString = lib.strings.concatStringsSep ";" (
|
||||
if gpuTargets != [ ] then
|
||||
# If gpuTargets is specified, it always takes priority.
|
||||
gpuTargets
|
||||
else if rocmSupport then
|
||||
rocmPackages.clr.gpuTargets
|
||||
else
|
||||
throw "No GPU targets specified"
|
||||
);
|
||||
stdenv = torch.stdenv;
|
||||
in
|
||||
buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
|
||||
buildPythonPackage.override { stdenv = torch.stdenv; } (finalAttrs: {
|
||||
pname = "torchaudio";
|
||||
version = "2.10.0";
|
||||
pyproject = true;
|
||||
@@ -124,13 +70,13 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
|
||||
sox
|
||||
torch.cxxdev
|
||||
]
|
||||
++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ];
|
||||
++ lib.optionals torch.stdenv.cc.isClang [ llvmPackages.openmp ];
|
||||
|
||||
dependencies = [ torch ];
|
||||
|
||||
preConfigure = lib.optionalString rocmSupport ''
|
||||
export ROCM_PATH=${rocmtoolkit_joined}
|
||||
export PYTORCH_ROCM_ARCH="${gpuTargetString}"
|
||||
export ROCM_PATH=${torch.rocmtoolkit_joined}
|
||||
export PYTORCH_ROCM_ARCH="${torch.gpuTargetString}"
|
||||
'';
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
@@ -148,6 +94,7 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: {
|
||||
lib.platforms.linux ++ lib.optionals (!cudaSupport && !rocmSupport) lib.platforms.darwin;
|
||||
maintainers = with lib.maintainers; [
|
||||
GaetanLepage
|
||||
caniko
|
||||
junjihashimoto
|
||||
];
|
||||
};
|
||||
|
||||
@@ -207,12 +207,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ln -s ${hipClang} $out/llvm
|
||||
'';
|
||||
|
||||
# libamdhip64.so dlopens its own bare name for hipGetProcAddress symbol resolution.
|
||||
# Add its own directory to its RPATH so it can find itself
|
||||
# libamdhip64.so dlopens its own bare name for hipGetProcAddress symbol resolution,
|
||||
# same pattern with libhiprtc.so, so add own lib directory to all .so's
|
||||
# RPATHs so they can find themselves and neighbouring libs
|
||||
# Must be in postFixup so it runs after patchelf --shrink-rpath which removes
|
||||
# the apparently useless rpath
|
||||
postFixup = ''
|
||||
patchelf --add-rpath "$out/lib" "$out/lib/libamdhip64.so"
|
||||
patchelf --add-rpath "$out/lib" "$out"/lib/*.so
|
||||
'';
|
||||
|
||||
disallowedRequisites = [
|
||||
@@ -266,9 +267,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit rocm-smi;
|
||||
clr = finalAttrs.finalPackage;
|
||||
};
|
||||
opencl-example = callPackage ./test-opencl-example.nix {
|
||||
clr = finalAttrs.finalPackage;
|
||||
};
|
||||
# TODO(@LunNova): add OpenCL test with opencl-cts
|
||||
generic-arch = callPackage ./test-isa-compat.nix {
|
||||
clr = finalAttrs.finalPackage;
|
||||
name = "generic-arch";
|
||||
@@ -296,6 +295,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"amdgcnspirv"
|
||||
];
|
||||
};
|
||||
hiprtc-type-traits = callPackage ./test-hiprtc-type-traits.nix {
|
||||
clr = finalAttrs.finalPackage;
|
||||
inherit rocm-smi;
|
||||
};
|
||||
};
|
||||
|
||||
selectGpuTargets =
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
#include <hip/hip_runtime.h>
|
||||
#include <hip/hiprtc.h>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
#define CHECK_HIP(expr) do { \
|
||||
if ((expr) != hipSuccess) { \
|
||||
std::cerr << #expr << " failed" << std::endl; \
|
||||
return 1; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define CHECK_HIPRTC(expr) do { \
|
||||
hiprtcResult _res = (expr); \
|
||||
if (_res != HIPRTC_SUCCESS) { \
|
||||
std::cerr << #expr << " failed: " << hiprtcGetErrorString(_res) << std::endl; \
|
||||
hiprtcGetProgramLogSize(prog, &log_size); \
|
||||
if (log_size > 0) { \
|
||||
std::string log(log_size, '\0'); \
|
||||
hiprtcGetProgramLog(prog, log.data()); \
|
||||
std::cerr << "Compile log:\n" << log << std::endl; \
|
||||
} \
|
||||
return 1; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
static const char* kernelSource = R"(
|
||||
#include <type_traits>
|
||||
|
||||
extern "C" __global__ void test_kernel(int* out) {
|
||||
static_assert(std::is_same<int, std::remove_const<const int>::type>::value,
|
||||
"type_traits not working");
|
||||
out[0] = 5;
|
||||
}
|
||||
)";
|
||||
|
||||
int main() {
|
||||
hiprtcProgram prog;
|
||||
size_t log_size = 0;
|
||||
CHECK_HIPRTC(hiprtcCreateProgram(&prog, kernelSource, "test.hip", 0, nullptr, nullptr));
|
||||
CHECK_HIPRTC(hiprtcCompileProgram(prog, 0, nullptr));
|
||||
|
||||
size_t code_size;
|
||||
CHECK_HIPRTC(hiprtcGetCodeSize(prog, &code_size));
|
||||
std::string code(code_size, '\0');
|
||||
CHECK_HIPRTC(hiprtcGetCode(prog, code.data()));
|
||||
hiprtcDestroyProgram(&prog);
|
||||
|
||||
hipModule_t module;
|
||||
hipFunction_t kernel;
|
||||
CHECK_HIP(hipModuleLoadData(&module, code.data()));
|
||||
CHECK_HIP(hipModuleGetFunction(&kernel, module, "test_kernel"));
|
||||
|
||||
int* d_out;
|
||||
int h_out = 0;
|
||||
CHECK_HIP(hipMalloc(&d_out, sizeof(int)));
|
||||
void* args[] = { &d_out };
|
||||
CHECK_HIP(hipModuleLaunchKernel(kernel, 1, 1, 1, 1, 1, 1, 0, nullptr, args, nullptr));
|
||||
CHECK_HIP(hipMemcpy(&h_out, d_out, sizeof(int), hipMemcpyDeviceToHost));
|
||||
|
||||
if (h_out != 5) {
|
||||
std::cerr << "Kernel output mismatch: expected 5, got " << h_out << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
std::cout << "HIPRTC type_traits test passed (output=" << h_out << ")" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
makeImpureTest,
|
||||
clr,
|
||||
rocm-smi,
|
||||
}:
|
||||
# minimal hiprtc test that compiles a kernel using <type_traits> at runtime
|
||||
# mirrors an migraphx workload, better test/iteration UX to be able to confirm
|
||||
# with just a build up to clr
|
||||
let
|
||||
hiprtc-test = stdenv.mkDerivation {
|
||||
pname = "hiprtc-type-traits-test";
|
||||
version = "0";
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
nativeBuildInputs = [ clr ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
hipcc -o hiprtc-test ${./test-hiprtc-type-traits.cpp} -lhiprtc
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp hiprtc-test $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
makeImpureTest {
|
||||
name = "hiprtc-type-traits";
|
||||
testedPackage = "rocmPackages.clr";
|
||||
|
||||
sandboxPaths = [
|
||||
"/sys"
|
||||
"/dev/dri"
|
||||
"/dev/kfd"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
hiprtc-test
|
||||
rocm-smi
|
||||
];
|
||||
|
||||
testScript = ''
|
||||
rocm-smi
|
||||
hiprtc-test
|
||||
'';
|
||||
|
||||
meta = {
|
||||
teams = [ lib.teams.rocm ];
|
||||
};
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
makeImpureTest,
|
||||
fetchFromGitHub,
|
||||
clr,
|
||||
cmake,
|
||||
pkg-config,
|
||||
glew,
|
||||
libglut,
|
||||
opencl-headers,
|
||||
ocl-icd,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
examples = stdenv.mkDerivation {
|
||||
pname = "amd-app-samples";
|
||||
version = "2018-06-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenCL";
|
||||
repo = "AMD_APP_samples";
|
||||
rev = "54da6ca465634e78fc51fc25edf5840467ee2411";
|
||||
hash = "sha256-qARQpUiYsamHbko/I1gPZE9pUGJ+3396Vk2n7ERSftA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glew
|
||||
libglut
|
||||
opencl-headers
|
||||
ocl-icd
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
# Example path is bin/x86_64/Release/cl/Reduction/Reduction
|
||||
cp -r bin/*/*/*/*/* $out/bin/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DBUILD_CPP_CL=OFF" ];
|
||||
|
||||
meta = {
|
||||
description = "Samples from the AMD APP SDK (with OpenCRun support)";
|
||||
homepage = "https://github.com/OpenCL/AMD_APP_samples";
|
||||
license = lib.licenses.bsd2;
|
||||
platforms = lib.platforms.linux;
|
||||
teams = [ lib.teams.rocm ];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
makeImpureTest {
|
||||
name = "opencl-example";
|
||||
testedPackage = "rocmPackages.clr";
|
||||
|
||||
sandboxPaths = [
|
||||
"/sys"
|
||||
"/dev/dri"
|
||||
"/dev/kfd"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ examples ];
|
||||
|
||||
OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";
|
||||
|
||||
testScript = ''
|
||||
# Examples load resources from current directory
|
||||
cd ${examples}/bin
|
||||
echo OCL_ICD_VENDORS=$OCL_ICD_VENDORS
|
||||
pwd
|
||||
|
||||
HelloWorld | grep HelloWorld
|
||||
'';
|
||||
|
||||
meta = {
|
||||
teams = [ lib.teams.rocm ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
callPackage,
|
||||
fetchFromGitHub,
|
||||
rocmUpdateScript,
|
||||
pkg-config,
|
||||
@@ -183,6 +184,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patchelf $test/bin/test_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE"
|
||||
'';
|
||||
|
||||
passthru.impureTests = {
|
||||
# NIXPKGS_ALLOW_UNFREE=1 bash $(nix-build -A rocmPackages.migraphx.impureTests.migraphx-driver)
|
||||
migraphx-driver = callPackage ./test-migraphx-driver.nix {
|
||||
migraphx = finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
passthru.updateScript = rocmUpdateScript {
|
||||
name = finalAttrs.pname;
|
||||
inherit (finalAttrs.src) owner;
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
makeImpureTest,
|
||||
writableTmpDirAsHomeHook,
|
||||
migraphx,
|
||||
clr,
|
||||
rocm-smi,
|
||||
}:
|
||||
|
||||
# Verify that a ≈50MiB resnet onnx can run with migraphx
|
||||
let
|
||||
resnet18 = fetchurl {
|
||||
url = "https://huggingface.co/onnxmodelzoo/resnet18_Opset18_timm/resolve/main/resnet18_Opset18_timm.onnx";
|
||||
hash = "sha256-u2Io20n72qoA9atRsFIWb0zHF1WdJYgHQdMWfJhJGHA=";
|
||||
meta.license = lib.licenses.unfree;
|
||||
};
|
||||
in
|
||||
makeImpureTest {
|
||||
name = "migraphx-driver";
|
||||
testedPackage = "rocmPackages.migraphx";
|
||||
|
||||
sandboxPaths = [
|
||||
"/sys"
|
||||
"/dev/dri"
|
||||
"/dev/kfd"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
migraphx
|
||||
clr
|
||||
rocm-smi
|
||||
];
|
||||
|
||||
# FIXME(@LunNova): tol values are set too high - was seeing high divergence on iGPU
|
||||
# want this test to be useful for verifying workloads run at all
|
||||
# and will investigate what's broken for accuracy
|
||||
testScript = ''
|
||||
rocm-smi
|
||||
migraphx-driver verify -O --rms-tol 0.03 --atol 1.0 --rtol 0.01 ${resnet18}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
teams = [ lib.teams.rocm ];
|
||||
};
|
||||
}
|
||||
@@ -235,6 +235,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
return()'
|
||||
|
||||
patchShebangs test src/composable_kernel fin utils install_deps.cmake
|
||||
|
||||
substituteInPlace src/comgr.cpp \
|
||||
--replace-fail '"/opt/rocm"' '"${clr}"'
|
||||
''
|
||||
+ linkKDBsTo "src/kernels"
|
||||
+ ''
|
||||
@@ -274,6 +277,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
passthru.impureTests = {
|
||||
# bash $(nix-build -A rocmPackages.miopen.passthru.impureTests.conv)
|
||||
conv = callPackage ./test-runtime-compilation.nix {
|
||||
miopen = finalAttrs.finalPackage;
|
||||
name = "conv";
|
||||
testScript = "MIOpenDriver conv -n 1 -c 1 -H 4 -W 4 -k 1 -y 3 -x 3 -p 0 -q 0 -V 0";
|
||||
};
|
||||
pool = callPackage ./test-runtime-compilation.nix {
|
||||
miopen = finalAttrs.finalPackage;
|
||||
name = "pool";
|
||||
testScript = "MIOpenDriver pool -W 1x1x4x4 -y 2 -x 2 -p 0 -q 0 -F 1 -V 0";
|
||||
};
|
||||
};
|
||||
passthru.tests = {
|
||||
# Ensure all .tn.model files can be loaded by whatever version of frugally-deep we have
|
||||
# This is otherwise hard to verify as MIOpen will only use these models on specific,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user