Merge e6e45d9aa6 into haskell-updates
This commit is contained in:
@@ -723,6 +723,12 @@
|
||||
githubId = 10677343;
|
||||
name = "Eugene";
|
||||
};
|
||||
afermg = {
|
||||
email = "afer.mg@gmail.com";
|
||||
github = "afermg";
|
||||
githubId = 14353896;
|
||||
name = "Alan Munoz";
|
||||
};
|
||||
afh = {
|
||||
email = "surryhill+nix@gmail.com";
|
||||
github = "afh";
|
||||
@@ -1939,6 +1945,13 @@
|
||||
githubId = 76066109;
|
||||
name = "Mario Liguori";
|
||||
};
|
||||
archercatneo = {
|
||||
name = "ArchercatNEO";
|
||||
email = "tururu.pompella@gmail.com";
|
||||
matrix = "@archercatneo:matrix.org";
|
||||
github = "ArchercatNEO";
|
||||
githubId = 108980279;
|
||||
};
|
||||
archseer = {
|
||||
email = "blaz@mxxn.io";
|
||||
github = "archseer";
|
||||
@@ -15055,6 +15068,12 @@
|
||||
github = "m00wl";
|
||||
githubId = 46034439;
|
||||
};
|
||||
m0nsterrr = {
|
||||
name = "Ludovic Ortega";
|
||||
email = "nix@mail.adminafk.fr";
|
||||
github = "M0NsTeRRR";
|
||||
githubId = 37785089;
|
||||
};
|
||||
m1cr0man = {
|
||||
email = "lucas+nix@m1cr0man.com";
|
||||
github = "m1cr0man";
|
||||
|
||||
@@ -72,6 +72,8 @@
|
||||
|
||||
- []{#sec-release-25.11-incompatibilities-sourcehut-removed} The `services.sourcehut` module and corresponding `sourcehut` packages were removed due to being broken and unmaintained.
|
||||
|
||||
- The `dovecot` systemd service was renamed from `dovecot2` to `dovecot`. The former is now just an alias. Update any overrides on the systemd unit to the new name.
|
||||
|
||||
- The `yeahwm` package and `services.xserver.windowManager.yeahwm` module were removed due to the package being broken and unmaintained upstream.
|
||||
|
||||
- The `services.postgresql` module now sets up a systemd unit `postgresql.target`. Depending on `postgresql.target` guarantees that postgres is in read-write mode and initial/ensure scripts were executed. Depending on `postgresql.service` only guarantees a read-only connection.
|
||||
@@ -118,3 +120,5 @@
|
||||
This allows for fine-grained control over the GPU's performance and maybe required by overclocking softwares like Corectrl and Lact. These new options replace old options such as {option}`programs.corectrl.gpuOverclock.enable` and {option}`programs.tuxclocker.enableAMD`.
|
||||
|
||||
- [](#opt-services.gnome.gnome-keyring.enable) does not ship with an SSH agent anymore, as this is now handled by the `gcr_4` package instead of `gnome-keyring`. A new module has been added to support this, under [](#opt-services.gnome.gcr-ssh-agent.enable) (its default value has been set to [](#opt-services.gnome.gnome-keyring.enable) to ensure a smooth transition). See the [relevant upstream PR](https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67) for more details.
|
||||
|
||||
- The `nettools` package (ifconfig, arp, mii-tool, netstat, route) is not installed by default anymore. The suite is unmaintained and users should migrate to `iproute2` and `ethtool` instead.
|
||||
|
||||
@@ -68,12 +68,13 @@
|
||||
ProtectControlGroups = true;
|
||||
LockPersonality = true;
|
||||
RestrictRealtime = true;
|
||||
RuntimeDirectory = "clash-verge-rev";
|
||||
ProtectClock = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RestrictNamespaces = [ "~user cgroup ipc mnt uts" ];
|
||||
RestrictNamespaces = [ "~user cgroup mnt uts" ];
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET AF_INET6 AF_NETLINK AF_PACKET AF_RAW"
|
||||
"AF_INET AF_INET6 AF_NETLINK AF_PACKET AF_UNIX"
|
||||
];
|
||||
CapabilityBoundingSet = [
|
||||
"CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SETUID CAP_SETGID CAP_CHOWN CAP_MKNOD"
|
||||
|
||||
@@ -525,7 +525,7 @@ in
|
||||
[
|
||||
# Needed for the mysql_install_db command in the preStart script
|
||||
# which calls the hostname command.
|
||||
pkgs.nettools
|
||||
pkgs.hostname-debian
|
||||
]
|
||||
# tools 'wsrep_sst_rsync' needs
|
||||
++ lib.optionals cfg.galeraCluster.enable [
|
||||
|
||||
@@ -296,6 +296,20 @@ in
|
||||
|
||||
enableLmtp = mkEnableOption "starting the LMTP listener (when Dovecot is enabled)";
|
||||
|
||||
hasNewUnitName = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
readOnly = true;
|
||||
internal = true;
|
||||
description = ''
|
||||
Inspectable option to confirm that the dovecot module uses the new
|
||||
`dovecot.service` name, instead of `dovecot2.service`.
|
||||
|
||||
This is a helper added for the nixos-mailserver project and can be
|
||||
removed after branching off nixos-25.11.
|
||||
'';
|
||||
};
|
||||
|
||||
protocols = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
@@ -692,23 +706,69 @@ in
|
||||
|
||||
environment.etc."dovecot/dovecot.conf".source = cfg.configFile;
|
||||
|
||||
systemd.services.dovecot2 = {
|
||||
systemd.services.dovecot = {
|
||||
aliases = [ "dovecot2.service" ];
|
||||
description = "Dovecot IMAP/POP3 server";
|
||||
documentation = [
|
||||
"man:dovecot(1)"
|
||||
"https://doc.dovecot.org"
|
||||
];
|
||||
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
restartTriggers = [
|
||||
cfg.configFile
|
||||
];
|
||||
restartTriggers = [ cfg.configFile ];
|
||||
|
||||
startLimitIntervalSec = 60; # 1 min
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
ExecStart = "${dovecotPkg}/sbin/dovecot -F";
|
||||
ExecReload = "${dovecotPkg}/sbin/doveadm reload";
|
||||
|
||||
CapabilityBoundingSet = [
|
||||
"CAP_CHOWN"
|
||||
"CAP_DAC_OVERRIDE"
|
||||
"CAP_FOWNER"
|
||||
"CAP_KILL" # Required for child process management
|
||||
"CAP_NET_BIND_SERVICE"
|
||||
"CAP_SETGID"
|
||||
"CAP_SETUID"
|
||||
"CAP_SYS_CHROOT"
|
||||
"CAP_SYS_RESOURCE"
|
||||
];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = false; # e.g for sendmail
|
||||
OOMPolicy = "continue";
|
||||
PrivateTmp = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = lib.mkDefault false;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "full";
|
||||
PrivateDevices = true;
|
||||
Restart = "on-failure";
|
||||
RestartSec = "1s";
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_NETLINK" # e.g. getifaddrs in sieve handling
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = false; # sets sgid on maildirs
|
||||
RuntimeDirectory = [ "dovecot2" ];
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service @resources"
|
||||
"~@privileged"
|
||||
"@chown @setuid capset chroot"
|
||||
];
|
||||
};
|
||||
|
||||
# When copying sieve scripts preserve the original time stamp
|
||||
@@ -773,6 +833,12 @@ in
|
||||
assertion = cfg.sieve.scripts != { } -> (cfg.mailUser != null && cfg.mailGroup != null);
|
||||
message = "dovecot requires mailUser and mailGroup to be set when `sieve.scripts` is set";
|
||||
}
|
||||
{
|
||||
assertion = config.systemd.services ? dovecot2 == false;
|
||||
message = ''
|
||||
Your configuration sets options on the `dovecot2` systemd service. These have no effect until they're migrated to the `dovecot` service.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
@@ -105,9 +105,7 @@ in
|
||||
serviceDependencies = lib.mkOption {
|
||||
type = with lib.types; listOf str;
|
||||
default = lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit;
|
||||
defaultText = lib.literalExpression ''
|
||||
optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnits
|
||||
'';
|
||||
defaultText = lib.literalExpression "lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnits";
|
||||
description = ''
|
||||
List of Systemd services to require and wait for when starting the application service.
|
||||
'';
|
||||
|
||||
@@ -88,6 +88,16 @@ in
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "tandoor-recipes" { };
|
||||
|
||||
database = {
|
||||
createLocally = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Configure local PostgreSQL database server for Tandoor Recipes.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -105,6 +115,9 @@ in
|
||||
systemd.services.tandoor-recipes = {
|
||||
description = "Tandoor Recipes server";
|
||||
|
||||
requires = lib.optional cfg.database.createLocally "postgresql.target";
|
||||
after = lib.optional cfg.database.createLocally "postgresql.target";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkg.python.pkgs.gunicorn}/bin/gunicorn recipes.wsgi
|
||||
@@ -170,5 +183,23 @@ in
|
||||
PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/tandoor-recipes";
|
||||
};
|
||||
};
|
||||
|
||||
services.paperless.settings = lib.mkIf cfg.database.createLocally {
|
||||
DB_ENGINE = "django.db.backends.postgresql";
|
||||
POSTGRES_HOST = "/run/postgresql";
|
||||
POSTGRES_USER = "tandoor_recipes";
|
||||
POSTGRES_DB = "tandoor_recipes";
|
||||
};
|
||||
|
||||
services.postgresql = lib.mkIf cfg.database.createLocally {
|
||||
enable = true;
|
||||
ensureDatabases = [ "tandoor_recipes" ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "tandoor_recipes";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -211,6 +211,16 @@ release notes when upgrading.
|
||||
services.nextcloud.phpOptions."realpath_cache_size" = "0";
|
||||
```
|
||||
|
||||
- **Empty Files on chunked uploads**
|
||||
|
||||
Due to a limitation of PHP-FPM, Nextcloud is unable to handle chunked
|
||||
uploads. See upstream issue
|
||||
[nextcloud/server#7995](https://github.com/nextcloud/server/issues/7995)
|
||||
for details.
|
||||
|
||||
A workaround is to disable chunked uploads with
|
||||
{option}`nextcloud.nginx.enableFastcgiRequestBuffering`.
|
||||
|
||||
## Using an alternative webserver as reverse-proxy (e.g. `httpd`) {#module-services-nextcloud-httpd}
|
||||
|
||||
By default, `nginx` is used as reverse-proxy for `nextcloud`.
|
||||
|
||||
@@ -986,6 +986,23 @@ in
|
||||
directive and header.
|
||||
'';
|
||||
};
|
||||
enableFastcgiRequestBuffering = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to buffer requests against fastcgi requests. This is a workaround
|
||||
for `PUT` requests with the `Transfer-Encoding: chunked` header set and
|
||||
an unspecified `Content-Length`. Without request buffering for these requests,
|
||||
Nextcloud will create files with zero bytes length as described in
|
||||
[nextcloud/server#7995](https://github.com/nextcloud/server/issues/7995).
|
||||
|
||||
::: {.note}
|
||||
Please keep in mind that upstream suggests to not enable this as it might
|
||||
lead to timeouts on large files being uploaded as described in the
|
||||
[administrator manual](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#nginx).
|
||||
:::
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
cli.memoryLimit = mkOption {
|
||||
@@ -1476,7 +1493,7 @@ in
|
||||
fastcgi_param front_controller_active true;
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
fastcgi_request_buffering ${if cfg.nginx.enableFastcgiRequestBuffering then "on" else "off"};
|
||||
fastcgi_read_timeout ${builtins.toString cfg.fastcgiTimeout}s;
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -90,7 +90,6 @@ let
|
||||
getent
|
||||
stdenv.cc.libc # nscd in update-users-groups.pl
|
||||
shadow
|
||||
nettools # needed for hostname
|
||||
util-linux # needed for mount and mountpoint
|
||||
];
|
||||
|
||||
|
||||
@@ -832,7 +832,7 @@ in
|
||||
pkgs.gawk
|
||||
pkgs.gnugrep
|
||||
pkgs.gnused
|
||||
pkgs.nettools
|
||||
pkgs.hostname-debian
|
||||
pkgs.util-linux
|
||||
];
|
||||
};
|
||||
|
||||
@@ -707,7 +707,9 @@ in
|
||||
];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
The list of search paths used when resolving domain names.
|
||||
The list of domain search paths that are considered for resolving
|
||||
hostnames with fewer dots than configured in the `ndots` option,
|
||||
which defaults to 1 if unset.
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -716,7 +718,11 @@ in
|
||||
example = "home.arpa";
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
The domain. It can be left empty if it is auto-detected through DHCP.
|
||||
The system domain name. Used to populate the {option}`fqdn` value.
|
||||
|
||||
::: {.warning}
|
||||
The domain name is not configured for DNS resolution purposes, see {option}`search` instead.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -1617,18 +1623,6 @@ in
|
||||
)
|
||||
);
|
||||
|
||||
systemd.services.domainname = lib.mkIf (cfg.domain != null) {
|
||||
wantedBy = [ "sysinit.target" ];
|
||||
before = [
|
||||
"sysinit.target"
|
||||
"shutdown.target"
|
||||
];
|
||||
conflicts = [ "shutdown.target" ];
|
||||
unitConfig.DefaultDependencies = false;
|
||||
serviceConfig.ExecStart = ''${pkgs.nettools}/bin/domainname "${cfg.domain}"'';
|
||||
serviceConfig.Type = "oneshot";
|
||||
};
|
||||
|
||||
environment.etc.hostid = mkIf (cfg.hostId != null) { source = hostidFile; };
|
||||
boot.initrd.systemd.contents."/etc/hostid" = mkIf (cfg.hostId != null) { source = hostidFile; };
|
||||
|
||||
@@ -1641,9 +1635,9 @@ in
|
||||
environment.systemPackages =
|
||||
[
|
||||
pkgs.host
|
||||
pkgs.hostname-debian
|
||||
pkgs.iproute2
|
||||
pkgs.iputils
|
||||
pkgs.nettools
|
||||
]
|
||||
++ optionals config.networking.wireless.enable [
|
||||
pkgs.wirelesstools # FIXME: obsolete?
|
||||
|
||||
@@ -34,7 +34,7 @@ with lib;
|
||||
${optionalString (config.networking.hostName == "") ''
|
||||
echo "setting host name..."
|
||||
if [ -s /etc/ec2-metadata/hostname ]; then
|
||||
${pkgs.nettools}/bin/hostname $(cat /etc/ec2-metadata/hostname)
|
||||
${lib.getExe hostname-debian} -F /etc/ec2-metadata/hostname
|
||||
fi
|
||||
''}
|
||||
|
||||
|
||||
@@ -113,6 +113,11 @@ let
|
||||
|
||||
cp --remove-destination /etc/resolv.conf "$root/etc/resolv.conf"
|
||||
|
||||
if [ -n "$FLAKE" ] && [ ! -e "/nix/var/nix/profiles/per-container/$INSTANCE/system" ]; then
|
||||
# we create the etc/nixos-container config file, then if we utilize the update function, we can then build all the necessary system files for the container
|
||||
${lib.getExe nixos-container} update "$INSTANCE"
|
||||
fi
|
||||
|
||||
declare -a extraFlags
|
||||
|
||||
if [ "$PRIVATE_NETWORK" = 1 ]; then
|
||||
@@ -844,6 +849,16 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
flake = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
example = "github:NixOS/nixpkgs/master";
|
||||
description = ''
|
||||
The Flake URI of the NixOS configuration to use for the container.
|
||||
Replaces the option {option}`containers.<name>.path`.
|
||||
'';
|
||||
};
|
||||
|
||||
# Removed option. See `checkAssertion` below for the accompanying error message.
|
||||
pkgs = mkOption { visible = false; };
|
||||
} // networkOptions;
|
||||
@@ -867,13 +882,18 @@ in
|
||||
- containers.${name}.config.nixpkgs.pkgs
|
||||
This only sets the `pkgs` argument used inside the container modules.
|
||||
''
|
||||
else if options.config.isDefined && (options.flake.value != null) then
|
||||
throw ''
|
||||
The options 'containers.${name}.path' and 'containers.${name}.flake' cannot both be set.
|
||||
''
|
||||
else
|
||||
null;
|
||||
in
|
||||
{
|
||||
path =
|
||||
builtins.seq checkAssertion mkIf options.config.isDefined
|
||||
config.config.system.build.toplevel;
|
||||
path = builtins.seq checkAssertion mkMerge [
|
||||
(mkIf options.config.isDefined config.config.system.build.toplevel)
|
||||
(mkIf (config.flake != null) "/nix/var/nix/profiles/per-container/${name}")
|
||||
];
|
||||
};
|
||||
}
|
||||
)
|
||||
@@ -929,7 +949,10 @@ in
|
||||
|
||||
unitConfig.RequiresMountsFor = "${stateDirectory}/%i";
|
||||
|
||||
path = [ pkgs.iproute2 ];
|
||||
path = [
|
||||
pkgs.iproute2
|
||||
config.nix.package
|
||||
];
|
||||
|
||||
environment = {
|
||||
root = "${stateDirectory}/%i";
|
||||
@@ -1044,7 +1067,12 @@ in
|
||||
name: cfg:
|
||||
nameValuePair "${configurationDirectoryName}/${name}.conf" {
|
||||
text = ''
|
||||
SYSTEM_PATH=${cfg.path}
|
||||
${optionalString (cfg.flake == null) ''
|
||||
SYSTEM_PATH=${cfg.path}
|
||||
''}
|
||||
${optionalString (cfg.flake != null) ''
|
||||
FLAKE=${cfg.flake}
|
||||
''}
|
||||
${optionalString cfg.privateNetwork ''
|
||||
PRIVATE_NETWORK=1
|
||||
${optionalString (cfg.hostBridge != null) ''
|
||||
|
||||
@@ -84,11 +84,13 @@
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("postfix.service")
|
||||
machine.wait_for_unit("dovecot2.service")
|
||||
machine.wait_for_unit("dovecot.service")
|
||||
machine.succeed("send-testmail")
|
||||
machine.succeed("send-lda")
|
||||
machine.wait_until_fails('[ "$(postqueue -p)" != "Mail queue is empty" ]')
|
||||
machine.succeed("test-imap")
|
||||
machine.succeed("test-pop")
|
||||
|
||||
machine.log(machine.succeed("systemd-analyze security dovecot.service | grep -v ✓"))
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -21,11 +21,7 @@
|
||||
{
|
||||
virtualisation.vlans = [ ];
|
||||
environment.systemPackages = [ pkgs.hello ];
|
||||
imports = [
|
||||
"${modulesPath}/installer/netboot/netboot-minimal.nix"
|
||||
"${modulesPath}/testing/test-instrumentation.nix"
|
||||
"${modulesPath}/profiles/qemu-guest.nix"
|
||||
];
|
||||
imports = [ "${modulesPath}/installer/netboot/netboot.nix" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ runTest (
|
||||
startAt = "20:00";
|
||||
};
|
||||
phpExtraExtensions = all: [ all.bz2 ];
|
||||
nginx.enableFastcgiRequestBuffering = true;
|
||||
};
|
||||
|
||||
specialisation.withoutMagick.configuration = {
|
||||
@@ -90,6 +91,7 @@ runTest (
|
||||
nexcloudWithImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
|
||||
nextcloudWithoutImagick = findInClosure "imagick" nodes.nextcloud.specialisation.withoutMagick.configuration.system.build.vm;
|
||||
in
|
||||
# python
|
||||
''
|
||||
with subtest("File is in proper nextcloud home"):
|
||||
nextcloud.succeed("test -f ${nodes.nextcloud.services.nextcloud.datadir}/data/root/files/test-shared-file")
|
||||
@@ -103,6 +105,17 @@ runTest (
|
||||
|
||||
with subtest("Ensure SSE is disabled by default"):
|
||||
nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file")
|
||||
|
||||
with subtest("Create non-empty files with Transfer-Encoding: chunked"):
|
||||
client.succeed(
|
||||
'dd if=/dev/urandom of=testfile.bin bs=1M count=10',
|
||||
'curl --fail -v -X PUT --header "Transfer-Encoding: chunked" --data-binary @testfile.bin "http://nextcloud/remote.php/webdav/testfile.bin" -u ${config.adminuser}:${config.adminpass}',
|
||||
)
|
||||
|
||||
# Verify the local and remote copies of the file are identical.
|
||||
client_hash = client.succeed("nix-hash testfile.bin").strip()
|
||||
nextcloud_hash = nextcloud.succeed("nix-hash /var/lib/nextcloud-data/data/root/files/testfile.bin").strip()
|
||||
t.assertEqual(client_hash, nextcloud_hash)
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
||||
@@ -25,6 +25,8 @@ let
|
||||
"/".device = rootFsDevice;
|
||||
};
|
||||
|
||||
system.switch.enable = true;
|
||||
|
||||
system.build.diskImage = import ../lib/make-disk-image.nix {
|
||||
inherit config lib pkgs;
|
||||
label = rootFslabel;
|
||||
|
||||
@@ -8,29 +8,7 @@
|
||||
{
|
||||
services.tandoor-recipes = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
DB_ENGINE = "django.db.backends.postgresql";
|
||||
POSTGRES_HOST = "/run/postgresql";
|
||||
POSTGRES_USER = "tandoor_recipes";
|
||||
POSTGRES_DB = "tandoor_recipes";
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "tandoor_recipes" ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "tandoor_recipes";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
tandoor-recipes = {
|
||||
after = [ "postgresql.target" ];
|
||||
};
|
||||
database.createLocally = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
alsa-lib,
|
||||
file,
|
||||
fluidsynth,
|
||||
@@ -36,6 +37,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-FM/6TtNhDml1V9C5VisjLcZ3CzXsuwCZrsoz4yP3kI8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
# https://github.com/falkTX/Carla/pull/1933
|
||||
name = "prefer-pyliblo3-over-pyliblo.patch";
|
||||
url = "https://github.com/falkTX/Carla/commit/a81a2a545d2529233a6e0faa776fbd2d851442fb.patch?full_index=1";
|
||||
hash = "sha256-CHK3Aq/W9PdfMGsJunLN/WAxOmWJHc0jr/3TdEaIcMM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.wrapPython
|
||||
pkg-config
|
||||
@@ -47,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
with python3Packages;
|
||||
[
|
||||
rdflib
|
||||
pyliblo
|
||||
pyliblo3
|
||||
]
|
||||
++ lib.optional withFrontend pyqt5;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
fetchurl,
|
||||
buildPythonApplication,
|
||||
libjack2,
|
||||
pyliblo,
|
||||
pyliblo3,
|
||||
pyqt5,
|
||||
which,
|
||||
bash,
|
||||
@@ -39,8 +39,8 @@ buildPythonApplication rec {
|
||||
libjack2
|
||||
bash
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
pyliblo
|
||||
dependencies = [
|
||||
pyliblo3
|
||||
pyqt5
|
||||
];
|
||||
|
||||
|
||||
@@ -38,17 +38,17 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "reaper";
|
||||
version = "7.40";
|
||||
version = "7.41";
|
||||
|
||||
src = fetchurl {
|
||||
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
||||
hash =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
"sha256-tTLuNflyj4tV8Avq0doinir+6oifaxw7C3yIkyPvAaY="
|
||||
"sha256-A4MM+hcpyhw6zE18fSSHBu38A0cYiXzjmM5wqj0Cgzk="
|
||||
else
|
||||
{
|
||||
x86_64-linux = "sha256-RqhlD6DKi1+M2FhkEM5SSximiwdD7eadkCEaOdCxBwE=";
|
||||
aarch64-linux = "sha256-Iq5oQuKXebW/jUZEgEx09G6FlCuxmgrRJUMBwHAVaxI=";
|
||||
x86_64-linux = "sha256-9M3WZijLTeKt2Asg3cE1OgS6tm1T4V0Cer9J4GPfTh4=";
|
||||
aarch64-linux = "sha256-/Ir1UFUOZOEZPkTG3ykHy6PcOuDf/rbvxOeRt5iJzls=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system};
|
||||
};
|
||||
|
||||
@@ -3268,6 +3268,8 @@ let
|
||||
|
||||
ms-azuretools.vscode-bicep = callPackage ./ms-azuretools.vscode-bicep { };
|
||||
|
||||
ms-azuretools.vscode-containers = callPackage ./ms-azuretools.vscode-containers { };
|
||||
|
||||
ms-azuretools.vscode-docker = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "ms-azuretools";
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
{
|
||||
lib,
|
||||
vscode-utils,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "ms-azuretools";
|
||||
name = "vscode-containers";
|
||||
version = "2.0.3";
|
||||
hash = "sha256-MAeE99XmjIjYbr72UymnkrDKsNRSjNiB1jdffKTosHQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/microsoft/vscode-containers/releases";
|
||||
description = "Container Tools Extension for Visual Studio Code ";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-containers";
|
||||
homepage = "https://github.com/microsoft/vscode-containers";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.m0nsterrr ];
|
||||
};
|
||||
}
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "claude-dev";
|
||||
publisher = "saoudrizwan";
|
||||
version = "3.18.0";
|
||||
hash = "sha256-h4A3tYCY3o89bF++YqOCUlahJsRE0XTdK7+NN/LbhgM=";
|
||||
version = "3.18.3";
|
||||
hash = "sha256-k4H7fXo6XA4sT3yb+4fjTa7mYnntGPaBJ6A+0F43Bbs=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -82,14 +82,14 @@ let
|
||||
];
|
||||
in
|
||||
mkDerivation rec {
|
||||
version = "3.42.3";
|
||||
version = "3.44.0";
|
||||
pname = "qgis-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
hash = "sha256-NZLtifHcJAe0Q08i3nTu4H1fWO9gALCcqjaPwb0t8QM=";
|
||||
hash = "sha256-9TJNqHvYgCoMTChL3CrOJ7Qr/okSuvj09uzdHuNMZUw=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
makeWrapper,
|
||||
ninja,
|
||||
mpi,
|
||||
python3,
|
||||
python312,
|
||||
tbb,
|
||||
libGLU,
|
||||
libGL,
|
||||
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
(python3.withPackages (
|
||||
(python312.withPackages (
|
||||
ps: with ps; [
|
||||
numpy
|
||||
matplotlib
|
||||
|
||||
@@ -30,7 +30,7 @@ mkDerivation rec {
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
version = "15.66.5";
|
||||
version = "15.67.4";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -39,11 +39,11 @@ mkDerivation rec {
|
||||
{
|
||||
x86_64-linux = fetchurl {
|
||||
url = "${base_url}/teamviewer_${version}_amd64.deb";
|
||||
hash = "sha256-yQD2iFFFHlR6vX/5vEtBqmIOtGXa4eHbE7v7MdXgBds=";
|
||||
hash = "sha256-ibKRYgsvBmh18LfG29ve/yrDEFTdgsNZ3kJu8YkMbsw=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "${base_url}/teamviewer_${version}_arm64.deb";
|
||||
hash = "sha256-WqC4/5egq3pHgb4v8EPevJDDNmashuQr+VBQuFLdr7Q=";
|
||||
hash = "sha256-MDNxqmu4dJA6dWKy8EFNOy2V253+UgsYwmZ3RidQqFE=";
|
||||
};
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
@@ -246,7 +246,10 @@ in
|
||||
IFS="$_OLDIFS"
|
||||
|
||||
CRATENAME=$(echo ${crateName} | sed -e "s/\(.*\)-sys$/\U\1/" -e "s/-/_/g")
|
||||
CRATEVERSION=$(echo ${crateVersion} | sed -e "s/[\.\+]/_/g")
|
||||
# SemVer allows version numbers to contain alphanumeric characters and `.+-`
|
||||
# which aren't legal bash identifiers.
|
||||
# https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions
|
||||
CRATEVERSION=$(echo ${crateVersion} | sed -e "s/[\.\+-]/_/g")
|
||||
grep -P "^cargo:(?!:?(rustc-|warning=|rerun-if-changed=|rerun-if-env-changed))" target/build/${crateName}.opt \
|
||||
| awk -F= "/^cargo::metadata=/ { gsub(/-/, \"_\", \$2); print \"export \" toupper(\"DEP_$(echo $CRATENAME)_\" \$2) \"=\" \"\\\"\"\$3\"\\\"\"; next }
|
||||
/^cargo:/ { sub(/^cargo::?/, \"\", \$1); gsub(/-/, \"_\", \$1); print \"export \" toupper(\"DEP_$(echo $CRATENAME)_\" \$1) \"=\" \"\\\"\"\$2\"\\\"\"; print \"export \" toupper(\"DEP_$(echo $CRATENAME)_$(echo $CRATEVERSION)_\" \$1) \"=\" \"\\\"\"\$2\"\\\"\"; next }" > target/env
|
||||
|
||||
@@ -14,14 +14,12 @@ OP_PGP_KEYID = "3FEF9748469ADBE15DA7CA80AC2D62742012EA22"
|
||||
|
||||
class Sources(OrderedDict):
|
||||
def __init__(self):
|
||||
self._jsonfp = open("sources.json", "r+")
|
||||
self.update(json.load(self._jsonfp))
|
||||
self._jsonfp.seek(0, os.SEEK_SET)
|
||||
with open("sources.json", "r") as fp:
|
||||
self.update(json.load(fp))
|
||||
|
||||
def persist(self):
|
||||
json.dump(self, self._jsonfp, indent=2)
|
||||
self._jsonfp.write("\n") # keep fmt.check happy
|
||||
|
||||
with open("sources.json", "w") as fp:
|
||||
print(json.dumps(self, indent=2), file=fp)
|
||||
|
||||
class GPG:
|
||||
def __new__(cls):
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "abctl";
|
||||
version = "0.26.0";
|
||||
version = "0.28.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "airbytehq";
|
||||
repo = "abctl";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-FbL9jfTg2wV203XwMTTDgkfjX4+J/aEagIHE/q4sYDs=";
|
||||
hash = "sha256-h2QojJH9pvFUv64hJimUhknurp3pStEZbZYrgqkfH68=";
|
||||
};
|
||||
|
||||
checkFlags =
|
||||
@@ -33,7 +33,7 @@ buildGoModule rec {
|
||||
in
|
||||
[ "-skip=^${lib.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
vendorHash = "sha256-9djIgVLPQmqEzDqUBipmXA8DlwYx9D4QlMna26vyJKI=";
|
||||
vendorHash = "sha256-CKku+zfU25LPQRuqsAQos3PX2bXUHEDQrD7sGeFnRKg=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aide";
|
||||
version = "0.19";
|
||||
version = "0.19.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/aide/aide/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-5/ugIUvgEpnXY1m/8pdSM+0kEzLkz8//Wc0baomrpeQ=";
|
||||
sha256 = "sha256-bfi/XwQD10r329uR6zyPYf4H6WRmnbjPoe5+TuPpC1I=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -2,23 +2,39 @@
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
dash,
|
||||
scdoc,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "app2unit";
|
||||
version = "0.9.2";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Vladimir-csp";
|
||||
repo = "app2unit";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-CwiB/Co75BbVXem2XD2i7kccgjcDk8a0lXCOoz0QVIc=";
|
||||
sha256 = "sha256-xHqPCA9ycPcImmyMrJZEfnfrFZ3sKfP/mhJ86CHLTQ8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ scdoc ];
|
||||
|
||||
buildPhase = ''
|
||||
scdoc < app2unit.1.scd > app2unit.1
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dt $out/bin app2unit
|
||||
ln -s $out/bin/app2unit $out/bin/app2unit-open
|
||||
ln -s $out/bin/app2unit $out/bin/app2unit-term
|
||||
|
||||
for link in \
|
||||
app2unit-open \
|
||||
app2unit-open-scope \
|
||||
app2unit-open-service \
|
||||
app2unit-term \
|
||||
app2unit-term-scope \
|
||||
app2unit-term-service
|
||||
do
|
||||
ln -s $out/bin/app2unit $out/bin/$link
|
||||
done
|
||||
'';
|
||||
|
||||
dontPatchShebangs = true;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From f4c599a48d153d15ccb1879ff511617c8e310515 Mon Sep 17 00:00:00 2001
|
||||
From 8682dcc3fd46658a9d11b4370ca76881efc69c07 Mon Sep 17 00:00:00 2001
|
||||
From: David McFarland <corngood@gmail.com>
|
||||
Date: Sat, 10 Aug 2024 23:14:12 -0300
|
||||
Subject: [PATCH 1/2] use files for unicode character database
|
||||
@@ -8,13 +8,13 @@ Subject: [PATCH 1/2] use files for unicode character database
|
||||
.../TextFormatting/BiDiTestDataGenerator.cs | 1 -
|
||||
.../GraphemeBreakClassTrieGenerator.cs | 1 -
|
||||
.../GraphemeBreakTestDataGenerator.cs | 1 -
|
||||
.../LineBreakEnumuratorTests.cs | 1 -
|
||||
.../LineBreakEnumeratorTests.cs | 1 -
|
||||
.../TextFormatting/UnicodeDataGenerator.cs | 28 +++++++++++++++++--
|
||||
.../TextFormatting/UnicodeEnumsGenerator.cs | 1 -
|
||||
7 files changed, 26 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
|
||||
index f6b01d737..bc7278ef8 100644
|
||||
index d944a6cf5..9ddf500c1 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
@@ -26,7 +26,7 @@ index f6b01d737..bc7278ef8 100644
|
||||
|
||||
namespace Avalonia.Visuals.UnitTests.Media.TextFormatting
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
|
||||
index 28d37130a..5e26edf49 100644
|
||||
index bdaa8274e..e41f0b08e 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
@@ -50,7 +50,7 @@ index 1a8d41caa..185b6ea62 100644
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
|
||||
index 029f8e236..44c2aaf6a 100644
|
||||
index 891c70b7d..a04eb8b41 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
@@ -58,26 +58,26 @@ index 029f8e236..44c2aaf6a 100644
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Avalonia.Base.UnitTests.Media.TextFormatting;
|
||||
|
||||
namespace Avalonia.Visuals.UnitTests.Media.TextFormatting
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs
|
||||
index 3db9a32b6..b8df1f446 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs
|
||||
index 38df949d1..cb050d5f4 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
using Avalonia.Media.TextFormatting;
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
|
||||
index f05a1e574..7e698ae0a 100644
|
||||
index 3a0255f56..557ff6ea8 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
|
||||
@@ -1,16 +1,40 @@
|
||||
@@ -1,15 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
@@ -85,7 +85,6 @@ index f05a1e574..7e698ae0a 100644
|
||||
using System.Text.RegularExpressions;
|
||||
+using System.Threading.Tasks;
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
using Xunit;
|
||||
|
||||
namespace Avalonia.Base.UnitTests.Media.TextFormatting
|
||||
{
|
||||
@@ -115,13 +114,13 @@ index f05a1e574..7e698ae0a 100644
|
||||
+
|
||||
internal static class UnicodeDataGenerator
|
||||
{
|
||||
- public const string Ucd = "https://www.unicode.org/Public/15.0.0/ucd/";
|
||||
- public const string Ucd = "https://www.unicode.org/Public/16.0.0/ucd/";
|
||||
+ public static readonly string Ucd = Environment.GetEnvironmentVariable("UNICODE_CHARACTER_DATABASE");
|
||||
|
||||
public static UnicodeTrie GenerateBiDiTrie(out BiDiDataEntries biDiDataEntries, out Dictionary<int, BiDiDataItem> biDiData)
|
||||
{
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
|
||||
index 110e57cbd..7073ea508 100644
|
||||
index 74fe70978..b82808ffc 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
|
||||
@@ -2,7 +2,6 @@
|
||||
@@ -133,5 +132,5 @@ index 110e57cbd..7073ea508 100644
|
||||
namespace Avalonia.Base.UnitTests.Media.TextFormatting
|
||||
{
|
||||
--
|
||||
2.42.2
|
||||
2.49.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 9ba51df4258d0dc2fe72d4f621d29073eeadc011 Mon Sep 17 00:00:00 2001
|
||||
From c26ab243c8ab9383d05e1be974090d462b12d3cb Mon Sep 17 00:00:00 2001
|
||||
From: David McFarland <corngood@gmail.com>
|
||||
Date: Sun, 11 Aug 2024 00:03:36 -0300
|
||||
Subject: [PATCH 2/2] disable parallel compile
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH 2/2] disable parallel compile
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs
|
||||
index e3d5139bf..ce50db574 100644
|
||||
index c6942e430..137f0710d 100644
|
||||
--- a/nukebuild/Build.cs
|
||||
+++ b/nukebuild/Build.cs
|
||||
@@ -136,12 +136,20 @@ DotNetConfigHelper ApplySettingCore(DotNetConfigHelper c)
|
||||
@@ -145,12 +145,20 @@ DotNetTestSettings ApplySetting(DotNetTestSettings c, Configure<DotNetTestSettin
|
||||
ProcessTasks.StartProcess("xcodebuild", args).AssertZeroExitCode();
|
||||
});
|
||||
|
||||
@@ -34,5 +34,5 @@ index e3d5139bf..ce50db574 100644
|
||||
);
|
||||
});
|
||||
--
|
||||
2.42.2
|
||||
2.49.0
|
||||
|
||||
|
||||
Generated
+639
-334
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,6 @@
|
||||
}
|
||||
{
|
||||
path = "src/Browser/Avalonia.Browser/webapp";
|
||||
hash = "sha256-LTQzT4ycLyGQs9T0sa2k/0wfG1GWCdeH9Wx2KeecOyU=";
|
||||
hash = "sha256-aHF2enlIpeBi3a7rN0nBI24eztxC4nZC+g+4sRc12b4=";
|
||||
}
|
||||
]
|
||||
|
||||
@@ -26,8 +26,7 @@ let
|
||||
dotnet-sdk =
|
||||
with dotnetCorePackages;
|
||||
combinePackages [
|
||||
sdk_7_0_1xx-bin
|
||||
runtime_6_0-bin
|
||||
sdk_8_0_4xx
|
||||
];
|
||||
|
||||
npmDepsFile = ./npm-deps.nix;
|
||||
@@ -47,14 +46,14 @@ stdenvNoCC.mkDerivation (
|
||||
}
|
||||
rec {
|
||||
pname = "Avalonia";
|
||||
version = "11.0.11";
|
||||
version = "11.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AvaloniaUI";
|
||||
repo = "Avalonia";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Du8DEsZKl7rnVH9YZKAWTCpEQ/5HrNlgacgK/46kx/o=";
|
||||
hash = "sha256-b7K8h2hqkLnXj3YIaRKUqlbWsDNhfWCEqH1W8K0lP6g=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -117,6 +116,12 @@ stdenvNoCC.mkDerivation (
|
||||
--replace-fail \
|
||||
'<IsPackable>$(PackAvaloniaNative)</IsPackable>' \
|
||||
'<IsPackable>true</IsPackable>'
|
||||
|
||||
# stop 'Clean' target from removing node_modules
|
||||
substituteInPlace nukebuild/Build.cs \
|
||||
--replace-fail \
|
||||
'Parameters.BuildDirs.ForEach(DeleteDirectory);' \
|
||||
""
|
||||
'';
|
||||
|
||||
makeCacheWritable = true;
|
||||
@@ -130,7 +135,7 @@ stdenvNoCC.mkDerivation (
|
||||
# ---> System.ArgumentException: Could not find package 'Microsoft.DotNet.ApiCompat.Tool' using:
|
||||
# - Project assets file '/build/source/nukebuild/obj/project.assets.json'
|
||||
# - NuGet packages config '/build/source/nukebuild/_build.csproj'
|
||||
makeEmptyNupkgInPackages = true;
|
||||
linkNuGetPackagesAndSources = true;
|
||||
|
||||
FONTCONFIG_FILE =
|
||||
let
|
||||
@@ -144,6 +149,11 @@ stdenvNoCC.mkDerivation (
|
||||
preConfigure = ''
|
||||
# closed source (telemetry?) https://github.com/AvaloniaUI/Avalonia/discussions/16878
|
||||
dotnet remove packages/Avalonia/Avalonia.csproj package Avalonia.BuildServices
|
||||
|
||||
# upgrade to fix dependency downgrade
|
||||
# https://github.com/AvaloniaUI/Avalonia/issues/9603
|
||||
dotnet add tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj \
|
||||
package Microsoft.NETCore.App --version 1.1.13 --no-restore
|
||||
'';
|
||||
|
||||
runtimeIds = [ (systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{ python3Packages }: with python3Packages; toPythonApplication badsecrets
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "bartender";
|
||||
version = "5.2.7";
|
||||
version = "5.3.7";
|
||||
|
||||
src = fetchurl {
|
||||
name = "Bartender ${lib.versions.major finalAttrs.version}.dmg";
|
||||
url = "https://www.macbartender.com/B2/updates/${
|
||||
builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version
|
||||
}/Bartender%20${lib.versions.major finalAttrs.version}.dmg";
|
||||
hash = "sha256-TY6ioG80W8q6LC0FCMRQMJh4DiEKiM6htVf+irvmpnI=";
|
||||
hash = "sha256-8hOe8MTDGyxEZTv0QndjkD3BEJ6kOHcbeU0uhat/N1s=";
|
||||
};
|
||||
|
||||
dontPatch = true;
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "blueprint-compiler";
|
||||
version = "0.16.0";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "jwestman";
|
||||
repo = "blueprint-compiler";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-FnMQtqy+uejWn3tDeaj92h2x9TzyiK5KdlRm55ObgPg=";
|
||||
hash = "sha256-3vAFkP/psM/IsFtzVOIVSU77Z+RV4d3N70U7ggrDqfo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "capnproto-rust";
|
||||
version = "0.21.0";
|
||||
version = "0.21.1";
|
||||
|
||||
src = fetchCrate {
|
||||
crateName = "capnpc";
|
||||
inherit version;
|
||||
hash = "sha256-QI38Xy0zgL+sgH1WaOL2eMcQdOPPHE9Dcucs42eaL2o=";
|
||||
hash = "sha256-WqzcUnAx/qD50/ZlWlWS4bguTxW+qFj0uFzwsbxHBaw=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-Oljyv9qCfZF2/CoHNqs9bvCAEfGpmfvNzTvvyaVMH2U=";
|
||||
cargoHash = "sha256-FtJvm6uUFSHn8lQxEFoWpSZgqomfHYkR3E0kKsV/II4=";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/include/capnp
|
||||
|
||||
+727
@@ -0,0 +1,727 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
|
||||
|
||||
[[package]]
|
||||
name = "bstr"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "camino"
|
||||
version = "1.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab"
|
||||
|
||||
[[package]]
|
||||
name = "cargo-config2"
|
||||
version = "0.1.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a82de3b1a1dd72252c6d456247864ffe52110d109da949f579eeb16349e0eb5d"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"toml_edit",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cargo-llvm-cov"
|
||||
version = "0.6.17"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"camino",
|
||||
"cargo-config2",
|
||||
"duct",
|
||||
"fs-err",
|
||||
"glob",
|
||||
"lcov2cobertura",
|
||||
"lexopt",
|
||||
"opener",
|
||||
"regex",
|
||||
"rustc-demangle",
|
||||
"rustversion",
|
||||
"ruzstd",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"shell-escape",
|
||||
"tar",
|
||||
"tempfile",
|
||||
"termcolor",
|
||||
"test-helper",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
|
||||
|
||||
[[package]]
|
||||
name = "duct"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6ce170a0e8454fa0f9b0e5ca38a6ba17ed76a50916839d217eb5357e05cdfde"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"os_pipe",
|
||||
"shared_child",
|
||||
"shared_thread",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "equivalent"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
||||
|
||||
[[package]]
|
||||
name = "filetime"
|
||||
version = "0.2.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"libredox",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fs-err"
|
||||
version = "3.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88d7be93788013f265201256d58f04936a8079ad5dc898743aa20525f503b683"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glob"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.15.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "lcov2cobertura"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aaa0cf456e88a45378a5737f228c0800175d94be6856908dc4718b3a91c7c9f8"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"quick-xml",
|
||||
"regex",
|
||||
"rustc-demangle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lexopt"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9fa0e2a1fcbe2f6be6c42e342259976206b383122fc152e872795338b5a3f3a7"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.174"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.9.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
||||
|
||||
[[package]]
|
||||
name = "normpath"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
||||
|
||||
[[package]]
|
||||
name = "opener"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "771b9704f8cd8b424ec747a320b30b47517a6966ba2c7da90047c16f4a962223"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"normpath",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "os_pipe"
|
||||
version = "1.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db335f4760b14ead6290116f2427bf33a14d4f0617d49f78a246de10c1831224"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quick-xml"
|
||||
version = "0.37.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.5.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
|
||||
|
||||
[[package]]
|
||||
name = "ruzstd"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3640bec8aad418d7d03c72ea2de10d5c646a598f9883c7babc160d91e3c1b26c"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
||||
|
||||
[[package]]
|
||||
name = "same-file"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.140"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_spanned"
|
||||
version = "0.6.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shared_child"
|
||||
version = "1.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"sigchld",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shared_thread"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7a6f98357c6bb0ebace19b22220e5543801d9de90ffe77f8abb27c056bac064"
|
||||
|
||||
[[package]]
|
||||
name = "shell-escape"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
|
||||
|
||||
[[package]]
|
||||
name = "sigchld"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"os_pipe",
|
||||
"signal-hook",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook"
|
||||
version = "0.3.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"signal-hook-registry",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
version = "1.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.104"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tar"
|
||||
version = "0.4.44"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a"
|
||||
dependencies = [
|
||||
"filetime",
|
||||
"libc",
|
||||
"xattr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
|
||||
dependencies = [
|
||||
"fastrand",
|
||||
"once_cell",
|
||||
"rustix",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "1.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "test-helper"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/taiki-e/test-helper.git?rev=f38a7f5#f38a7f5895cb5f562195c6116cffc139d712acf5"
|
||||
dependencies = [
|
||||
"fs-err",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_datetime"
|
||||
version = "0.6.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.22.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
|
||||
dependencies = [
|
||||
"same-file",
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-util"
|
||||
version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.60.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
|
||||
dependencies = [
|
||||
"windows-targets 0.53.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.52.6",
|
||||
"windows_aarch64_msvc 0.52.6",
|
||||
"windows_i686_gnu 0.52.6",
|
||||
"windows_i686_gnullvm 0.52.6",
|
||||
"windows_i686_msvc 0.52.6",
|
||||
"windows_x86_64_gnu 0.52.6",
|
||||
"windows_x86_64_gnullvm 0.52.6",
|
||||
"windows_x86_64_msvc 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.53.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.53.0",
|
||||
"windows_aarch64_msvc 0.53.0",
|
||||
"windows_i686_gnu 0.53.0",
|
||||
"windows_i686_gnullvm 0.53.0",
|
||||
"windows_i686_msvc 0.53.0",
|
||||
"windows_x86_64_gnu 0.53.0",
|
||||
"windows_x86_64_gnullvm 0.53.0",
|
||||
"windows_x86_64_msvc 0.53.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.7.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "xattr"
|
||||
version = "1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"rustix",
|
||||
]
|
||||
@@ -16,7 +16,6 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
llvmPackages_19,
|
||||
@@ -25,24 +24,12 @@
|
||||
|
||||
let
|
||||
pname = "cargo-llvm-cov";
|
||||
version = "0.6.14";
|
||||
version = "0.6.17";
|
||||
|
||||
owner = "taiki-e";
|
||||
homepage = "https://github.com/${owner}/${pname}";
|
||||
|
||||
inherit (llvmPackages_19) llvm;
|
||||
|
||||
# Download `Cargo.lock` from crates.io so we don't clutter up Nixpkgs
|
||||
cargoLock = fetchurl {
|
||||
name = "Cargo.lock";
|
||||
url = "https://crates.io/api/v1/crates/${pname}/${version}/download";
|
||||
sha256 = "sha256-f0xO+UxB9f6q6q8QyjtP+z+U146+8GLmLKgGmAs/YYA=";
|
||||
downloadToTemp = true;
|
||||
postFetch = ''
|
||||
tar xzf $downloadedFile ${pname}-${version}/Cargo.lock
|
||||
mv ${pname}-${version}/Cargo.lock $out
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -54,16 +41,21 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
inherit owner;
|
||||
repo = "cargo-llvm-cov";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iJrnNDSMich5OzEbPgnQWLVz6Zj/MUIzEsaBzqVdoDg=";
|
||||
sha256 = "sha256-0Dgcl1r+j86WVhkyJNJxUnk85vrtD1fBBxfJkV0mcAI=";
|
||||
};
|
||||
|
||||
# Upstream doesn't include the lockfile so we need to add it back
|
||||
postUnpack = ''
|
||||
cp ${cargoLock} ${finalAttrs.src.name}/Cargo.lock
|
||||
postPatch = ''
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-Sr56iu51WjVi8qCqSRjix/e6NNvRmqIvAOlgSArF48I=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"test-helper-0.0.0" = "sha256-MjylM9agdGIGMp1Iip/jolHCzErST2XiEl5PIqt+ykg=";
|
||||
};
|
||||
};
|
||||
|
||||
# `cargo-llvm-cov` reads these environment variables to find these binaries,
|
||||
# which are needed to run the tests
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cdncheck";
|
||||
version = "1.1.24";
|
||||
version = "1.1.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "projectdiscovery";
|
||||
repo = "cdncheck";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ecfYbqHUZnE6Ot4ekrbkow6iKoa0I3WtD17kj08vEw4=";
|
||||
hash = "sha256-mqCQ8CxV9N2lml/zPX/Ksf1kKmXWhjWth3KviTcxiRA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/1REkZ5+sz/H4T4lXhloz7fu5cLv1GoaD3dlttN+Qd4=";
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cedar";
|
||||
version = "4.4.1";
|
||||
version = "4.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cedar-policy";
|
||||
repo = "cedar";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-9lR1k8XoQDAbaknAGg5kFENX5cJY4l6JgGNyl1dbUXM=";
|
||||
hash = "sha256-CkrrpaAS7CZk2eboGXXDPtpfil5d+4Cg4Ldkw/Zwr8c=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-XFQo7/NRgRcxhzgdiXJ4iINU22s58Vp/kHLt7Jdr5/s=";
|
||||
cargoHash = "sha256-OLTKAFTqjgw5Dix2B0bPzRYjP2EQLgCXjfiB3Reirok=";
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion { package = cedar; };
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
aws-eventstream (1.3.2)
|
||||
aws-partitions (1.1106.0)
|
||||
aws-sdk-core (3.224.0)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1124.0)
|
||||
aws-sdk-core (3.226.2)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
logger
|
||||
aws-sdk-kms (1.101.0)
|
||||
aws-sdk-core (~> 3, >= 3.216.0)
|
||||
aws-sdk-kms (1.106.0)
|
||||
aws-sdk-core (~> 3, >= 3.225.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.186.1)
|
||||
aws-sdk-core (~> 3, >= 3.216.0)
|
||||
aws-sdk-s3 (1.191.0)
|
||||
aws-sdk-core (~> 3, >= 3.225.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.11.0)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
base64 (0.2.0)
|
||||
base64 (0.3.0)
|
||||
cfn-model (0.6.6)
|
||||
kwalify (= 0.7.2)
|
||||
psych (~> 3)
|
||||
@@ -42,7 +42,7 @@ GEM
|
||||
multi_json (1.15.0)
|
||||
netaddr (2.0.6)
|
||||
optimist (3.0.1)
|
||||
ostruct (0.6.1)
|
||||
ostruct (0.6.2)
|
||||
psych (3.3.4)
|
||||
rexml (3.4.1)
|
||||
syslog (0.3.0)
|
||||
@@ -58,4 +58,4 @@ DEPENDENCIES
|
||||
syslog
|
||||
|
||||
BUNDLED WITH
|
||||
2.6.6
|
||||
2.6.9
|
||||
|
||||
@@ -4,20 +4,20 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1mvjjn8vh1c3nhibmjj9qcwxagj6m9yy961wblfqdmvhr9aklb3y";
|
||||
sha256 = "0fqqdqg15rgwgz3mn4pj91agd20csk9gbrhi103d20328dfghsqi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.2";
|
||||
version = "1.4.0";
|
||||
};
|
||||
aws-partitions = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "12svi07s5hss8wq9xpaxwy1ibl64bd00hsn12v810wvz19fw823l";
|
||||
sha256 = "1m9bh8c78nc44xgq3sdcxabpg16hz7gx83cbffcxw31hq7im7g3a";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1106.0";
|
||||
version = "1.1124.0";
|
||||
};
|
||||
aws-sdk-core = {
|
||||
dependencies = [
|
||||
@@ -32,10 +32,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1b0pi1iibp644dn78g53s7hs7gcxghfa7h8rz3lvz8ivykisl5y6";
|
||||
sha256 = "1iy9qkwmv9bwfx7ywbp6v0hj2xc8fcmzvsn1b4yqlvpsrisbb1gg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.224.0";
|
||||
version = "3.226.2";
|
||||
};
|
||||
aws-sdk-kms = {
|
||||
dependencies = [
|
||||
@@ -46,10 +46,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1mv8jc8sbvim2m3y3zxm8z4i5sh4x9ds7y9h5z04qfg7kjvbbn24";
|
||||
sha256 = "01v0a2213fqrgajvafrpmi3n8pmbj1a2xkxfyv5fsvblakqy6dqp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.101.0";
|
||||
version = "1.106.0";
|
||||
};
|
||||
aws-sdk-s3 = {
|
||||
dependencies = [
|
||||
@@ -61,10 +61,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "00sq22mfibxq3rjy9c4vj1s8yjszv8988di7z7rs8v62my53nw2v";
|
||||
sha256 = "1lyz0i052hskibapsynvvf6pf3r7shy01li1kny5r4p2mvdl3db2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.186.1";
|
||||
version = "1.191.0";
|
||||
};
|
||||
aws-sigv4 = {
|
||||
dependencies = [ "aws-eventstream" ];
|
||||
@@ -72,20 +72,20 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1nx1il781qg58nwjkkdn9fw741cjjnixfsh389234qm8j5lpka2h";
|
||||
sha256 = "003ch8qzh3mppsxch83ns0jra8d222ahxs96p9cdrl0grfazywv9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.0";
|
||||
version = "1.12.1";
|
||||
};
|
||||
base64 = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
|
||||
sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
};
|
||||
cfn-model = {
|
||||
dependencies = [
|
||||
@@ -219,10 +219,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9";
|
||||
sha256 = "1h6gazp5837xbz1aqvq9x0a5ffpw32nhvknn931a4074k6i04wvd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
};
|
||||
psych = {
|
||||
groups = [ "default" ];
|
||||
|
||||
@@ -12,7 +12,7 @@ bundlerEnv rec {
|
||||
inherit ruby;
|
||||
gemdir = ./.;
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript pname;
|
||||
passthru.updateScript = bundlerUpdateScript "cfn-nag";
|
||||
|
||||
meta = {
|
||||
description = "Linting tool for CloudFormation templates";
|
||||
|
||||
@@ -19,12 +19,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "circt";
|
||||
version = "1.122.0";
|
||||
version = "1.124.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "llvm";
|
||||
repo = "circt";
|
||||
rev = "firtool-${version}";
|
||||
hash = "sha256-8q/oh/LjeOsfQSQBfnyhQjGIYtRLgyEENsyfgxyTnv0=";
|
||||
hash = "sha256-IoS7mhQLiaVlqyosqOOaoGKBkS5WuQHRJK9v+FonCxc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
From 75296a3059419b91f638ee45215e56781bfda256 Mon Sep 17 00:00:00 2001
|
||||
From: wxt <3264117476@qq.com>
|
||||
Date: Sat, 28 Jun 2025 14:30:23 +0800
|
||||
Subject: [PATCH] IPC: move path to /run/clash-verge-rev/service.sock
|
||||
|
||||
---
|
||||
src/service/ipc.rs | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/service/ipc.rs b/src/service/ipc.rs
|
||||
index df39787..f441cd2 100644
|
||||
--- a/src/service/ipc.rs
|
||||
+++ b/src/service/ipc.rs
|
||||
@@ -20,7 +20,7 @@ use std::ffi::OsStr;
|
||||
const IPC_SOCKET_NAME: &str = if cfg!(windows) {
|
||||
r"\\.\pipe\clash-verge-service"
|
||||
} else {
|
||||
- "/tmp/clash-verge-service.sock"
|
||||
+ "/run/clash-verge-rev/service.sock"
|
||||
};
|
||||
|
||||
/// 消息时间有效期(秒)
|
||||
@@ -660,4 +660,4 @@ fn handle_unix_connection_sync(mut stream: std::os::unix::net::UnixStream) -> Re
|
||||
.context("写入响应内容失败")?;
|
||||
|
||||
Ok(())
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -16,8 +16,7 @@ rustPlatform.buildRustPackage {
|
||||
sourceRoot = "${src-service.name}";
|
||||
|
||||
patches = [
|
||||
# FIXME: remove until upstream fix these
|
||||
# https://github.com/clash-verge-rev/clash-verge-rev/issues/3428
|
||||
# I want to keep these patches because it's not harmful.
|
||||
|
||||
# Patch: Restrict bin_path in spawn_process to be under the clash-verge-service directory.
|
||||
# This prevents arbitrary code execution by ensuring only trusted binaries from the Nix store are allowed to run.
|
||||
@@ -26,6 +25,10 @@ rustPlatform.buildRustPackage {
|
||||
# Patch: Add validation to prevent overwriting existing files.
|
||||
# This mitigates arbitrary file overwrite risks by ensuring a file does not already exist before writing.
|
||||
./0002-core-prevent-overwriting-existing-file-by-validating.patch
|
||||
|
||||
# Patch: move IPC directory from /tmp to /run/clash-verge-rev/service.lock
|
||||
# This allows we enable ProtectSystem="strict" and PrivateTmp
|
||||
./0003-IPC-move-path-to-run-clash-verge-rev-service.sock.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -49,6 +49,10 @@ rustPlatform.buildRustPackage {
|
||||
# If you need a newer version, you can override the mihomo input of the wrapped package
|
||||
sed -i -e '/Mihomo Alpha/d' ./src/components/setting/mods/clash-core-viewer.tsx
|
||||
|
||||
# See service.nix for reasons
|
||||
substituteInPlace src-tauri/src/core/service_ipc.rs \
|
||||
--replace-fail "/tmp/clash-verge-service.sock" "/run/clash-verge-rev/service.sock"
|
||||
|
||||
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
|
||||
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
|
||||
|
||||
|
||||
@@ -1,60 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "cloudsmith-cli";
|
||||
version = "1.2.5";
|
||||
format = "setuptools";
|
||||
version = "1.8.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudsmith-io";
|
||||
repo = "cloudsmith-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-UzyfOmjJzYEJYA6c4kn5XCvRVIMuiIpiq0kH9UhBwmo=";
|
||||
hash = "sha256-PYqOj6nHjJrG7Ndc5vm//E8mjk4xZFVQopFqiWtH5ZQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix compatibility with urllib3 2.0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/cloudsmith-io/cloudsmith-cli/commit/1a8d2d91c01320537b26778003735d6b694141c2.patch";
|
||||
revert = true;
|
||||
includes = [
|
||||
"cloudsmith_cli/core/rest.py"
|
||||
];
|
||||
hash = "sha256-Rf3MMJuLr8fzkRqSftIJ1eUbgNdfrng2V609jYvpogc=";
|
||||
})
|
||||
];
|
||||
postPatch = ''
|
||||
# Fix compatibility with urllib3 >= 2.0 - method_whitelist renamed to allowed_methods
|
||||
# https://github.com/cloudsmith-io/cloudsmith-cli/pull/148
|
||||
substituteInPlace cloudsmith_cli/core/rest.py \
|
||||
--replace-fail 'method_whitelist=False' 'allowed_methods=False'
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail 'urllib3<2.0' 'urllib3'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
pip
|
||||
];
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3Packages; [
|
||||
click
|
||||
click-configfile
|
||||
click-didyoumean
|
||||
click-spinner
|
||||
cloudsmith-api
|
||||
colorama
|
||||
future
|
||||
keyring
|
||||
requests
|
||||
requests-toolbelt
|
||||
semver
|
||||
simplejson
|
||||
six
|
||||
setuptools # needs pkg_resources
|
||||
urllib3
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
pytestCheckHook
|
||||
pytest-cov-stub
|
||||
];
|
||||
|
||||
checkInputs = with python3.pkgs; [
|
||||
freezegun
|
||||
httpretty
|
||||
];
|
||||
|
||||
@@ -62,21 +51,11 @@ python3.pkgs.buildPythonApplication rec {
|
||||
"cloudsmith_cli"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Permit urllib3 2.0
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail 'urllib3<2.0' 'urllib3'
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
# E _pytest.pathlib.ImportPathMismatchError: ('cloudsmith_cli.cli.tests.conftest', '/build/source/build/lib/cloudsmith_cli/cli/tests/conftest.py', PosixPath('/build/source/cloudsmith_cli/cli/tests/conftest.py'))
|
||||
# ___________ ERROR collecting cloudsmith_cli/core/tests/test_init.py ____________
|
||||
# import file mismatch:
|
||||
# imported module 'cloudsmith_cli.core.tests.test_init' has this __file__ attribute:
|
||||
# /build/source/build/lib/cloudsmith_cli/core/tests/test_init.py
|
||||
# which is not the same as the test file we want to collect:
|
||||
# /build/source/cloudsmith_cli/core/tests/test_init.py
|
||||
# HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
|
||||
# When test_implicit_retry_for_status_codes calls initialise_api(),
|
||||
# and no user strings like LOGNAME or USER is set, getpass will call
|
||||
# getpwuid() which will then fail when we enable auto-allocate-uids.
|
||||
export USER=nixbld
|
||||
# https://github.com/NixOS/nixpkgs/issues/255262
|
||||
cd "$out"
|
||||
'';
|
||||
@@ -86,8 +65,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||
description = "Cloudsmith Command Line Interface";
|
||||
mainProgram = "cloudsmith";
|
||||
changelog = "https://github.com/cloudsmith-io/cloudsmith-cli/blob/v${version}/CHANGELOG.md";
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
maintainers = with lib.maintainers; [ usertam ];
|
||||
license = lib.licenses.asl20;
|
||||
platforms = with lib.platforms; unix;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -45,11 +45,11 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "copilot-language-server";
|
||||
version = "1.337.0";
|
||||
version = "1.339.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-native-${finalAttrs.version}.zip";
|
||||
hash = "sha256-F8D45LrL4vzmAH6J4hVWvEIkwzSRaCeMluPFimJPiXk=";
|
||||
hash = "sha256-UgBe78MZla2FLfP10VfM4meMaiZWAyj2PUBiZ7M+OXU=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -12,20 +12,20 @@
|
||||
}:
|
||||
let
|
||||
pname = "dependabot-cli";
|
||||
version = "1.67.1";
|
||||
version = "1.68.0";
|
||||
|
||||
# `tag` is what `dependabot` uses to find the relevant docker images.
|
||||
tag = "nixpkgs-dependabot-cli-${version}";
|
||||
|
||||
# Get these hashes from
|
||||
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy --image-tag latest --final-image-name dependabot-update-job-proxy --final-image-tag ${tag}
|
||||
updateJobProxy.imageDigest = "sha256:0a7207bc265d7daaae61f2f105659d7c5947dc7e70395d6604cf114695d23578";
|
||||
updateJobProxy.hash = "sha256-tQFkP260Vl2j19vTk7kz6/UmbKVg0CtjLuZYe7wHKSA=";
|
||||
updateJobProxy.imageDigest = "sha256:83834c9a112c3e29c4bc357e17ee057c32232f443bc295130b024077acbcca4e";
|
||||
updateJobProxy.hash = "sha256-ej6AEvnp7n8O6eArrVAJgXzeco/Rz+tXg7gVxo0OsW8=";
|
||||
|
||||
# Get these hashes from
|
||||
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/dependabot/dependabot-updater-github-actions --image-tag latest --final-image-name dependabot-updater-github-actions --final-image-tag ${tag}
|
||||
updaterGitHubActions.imageDigest = "sha256:d0b91fa5fcfe306614f3c4307b4571cabe25405e06f3ce737a2b7b225530a71c";
|
||||
updaterGitHubActions.hash = "sha256-yisnwxqFOUUBSq0YPX0C89dNOYYJ/mfNFhyrQCV6yoc=";
|
||||
updaterGitHubActions.imageDigest = "sha256:90a65d2c98f8fc8ac1fd6291ea0be02a911818d4fa8ec788ceb1c9227fa844f4";
|
||||
updaterGitHubActions.hash = "sha256-uc/yetek6XHTWQb1+DJiOWEHS2nea+/jd/lJdpI6m7E=";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@@ -34,10 +34,10 @@ buildGoModule {
|
||||
owner = "dependabot";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-K3ZHLauAtG1pSZsiLwWj9sMWL1epPILLUvc22/+oj+g=";
|
||||
hash = "sha256-Pd9Q5ipwcj7KQ+Nr7Tyga3xwGKLPFJIPc23fob0EQeA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-4737CHJCeq7qn8dGz3bYsauCLipKqItltpI5u6uBvuo=";
|
||||
vendorHash = "sha256-vitkSAvc7TAXcqXQPbnIE0z4tYlSvdx072hzAB50O3I=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
buildPackages,
|
||||
installShellFiles,
|
||||
writableTmpDirAsHomeHook,
|
||||
versionCheckHook,
|
||||
@@ -26,9 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-OnrsuVK1gEDweldq+P8lDkkrHjklsG8MRpM0wqWsdlM=";
|
||||
|
||||
nativeBuildInputs = lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
installShellFiles
|
||||
];
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--package=dprint"
|
||||
@@ -51,15 +50,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
dprint =
|
||||
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
|
||||
"$out/bin/dprint"
|
||||
else
|
||||
lib.getExe buildPackages.dprint;
|
||||
in
|
||||
''
|
||||
rm "$out/bin/test-process-plugin"
|
||||
''
|
||||
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
export DPRINT_CACHE_DIR="$(mktemp -d)"
|
||||
installShellCompletion --cmd dprint \
|
||||
--bash <($out/bin/dprint completions bash) \
|
||||
--zsh <($out/bin/dprint completions zsh) \
|
||||
--fish <($out/bin/dprint completions fish)
|
||||
--bash <(${dprint} completions bash) \
|
||||
--zsh <(${dprint} completions zsh) \
|
||||
--fish <(${dprint} completions fish)
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
|
||||
@@ -12,13 +12,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
# Since then, `dust` has been freed up, allowing this package to take that attribute.
|
||||
# However in order for tools like `nix-env` to detect package updates, keep `du-dust` for pname.
|
||||
pname = "du-dust";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bootandy";
|
||||
repo = "dust";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-3Mk2gPlnm2kTRbn74T1YDH/DnjAyhFZQFK83OQaDNeo=";
|
||||
hash = "sha256-tj+prO7KZrw0lrZahbw0c8TcfNrIc1Z08Tm1MHpOFLM=";
|
||||
# Remove unicode file names which leads to different checksums on HFS+
|
||||
# vs. other filesystems because of unicode normalisation.
|
||||
postFetch = ''
|
||||
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-IZv4XQmBvxUp5k5bn5B4qTJAVBrRO0OZaUlqCni6NpI=";
|
||||
cargoHash = "sha256-1pKk41dQlcrPzJ01uvo87G9iTDiBq9XHGOoZ0OH4Mls=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "espflash";
|
||||
version = "4.0.0";
|
||||
version = "4.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "esp-rs";
|
||||
repo = "espflash";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ZC5TL56lWopfFuKQp0GatyTXDRYHMb0t/6/15hyBxXg=";
|
||||
hash = "sha256-5G5oThlOmd3XG6JwdjYV6p7To51bdFpjlNMR2XJicHw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-O/rZU0fflF0Sa44mO2dUFOeW7uQdNzzGaMeyaYHaFiI=";
|
||||
cargoHash = "sha256-dLX5FC5A3+Dr3Dex+YEAnDgNNOQYd2JgGujXWpnSNUo=";
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd espflash \
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "feedbackd";
|
||||
version = "0.8.2";
|
||||
version = "0.8.3";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "agx";
|
||||
repo = "feedbackd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Hd+kHLr+d1+mg9BbD1pCfVZuwmf7Hk02xmDTmR3foh4=";
|
||||
hash = "sha256-ypKD9n9dC+0J+HFtL43mCky/ZXu4bgejYzw7nHHPAm4=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "firezone-gateway";
|
||||
version = "1.4.11";
|
||||
version = "1.4.12";
|
||||
src = fetchFromGitHub {
|
||||
owner = "firezone";
|
||||
repo = "firezone";
|
||||
tag = "gateway-${version}";
|
||||
hash = "sha256-tKkp9EHcwAEGHImEjfXrxIhdNyDYe/0w5wXb31EIHjc=";
|
||||
hash = "sha256-isWtx9DwJqPwlbA7MTW1r+VFpy7+xzVx86XvKlsQ+SY=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-NCKT6GS6V/5W1BaNl6uQ4hiNTj6ExQTRPR8T7pxMopc=";
|
||||
cargoHash = "sha256-w/FHN3EQBqM32O1zHEFXvg8c5JBeM14MUbq29APCrVI=";
|
||||
sourceRoot = "${src.name}/rust";
|
||||
buildAndTestSubdir = "gateway";
|
||||
RUSTFLAGS = "--cfg system_certs";
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{ python3Packages }: with python3Packages; toPythonApplication flask-unsign
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.16.9";
|
||||
version = "3.16.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-LXlv/nZhZtkyUYg7UknXIyYsjqtYEeHVSzfwgNnwgwY=";
|
||||
hash = "sha256-0JXJrW/3RKisrasxI1ina43GYwHcpqjbhb/OpaoIVyg=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
@@ -31,13 +31,13 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "frankenphp";
|
||||
version = "1.7.0";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dunglas";
|
||||
repo = "frankenphp";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-FukxXuZwF7P5tUao0nTT7bELGIYivtoOBQQkHA7ZE3s=";
|
||||
hash = "sha256-mwS4Y0XBIlAI2UogvlI6DK+oIrqSx8sqnyN+rb0kLjQ=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/caddy";
|
||||
@@ -45,7 +45,7 @@ buildGoModule rec {
|
||||
# frankenphp requires C code that would be removed with `go mod tidy`
|
||||
# https://github.com/golang/go/issues/26366
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-likIETO/eq1kATNbbYHxXxvIPH7q5tp3WHjz+zvNOws=";
|
||||
vendorHash = "sha256-N5/ytcXhHJlVzV6cyweCRG3HYHeQl3VXlM/9u4L+ThU=";
|
||||
|
||||
buildInputs = [
|
||||
phpUnwrapped
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fzf";
|
||||
version = "0.63.0";
|
||||
version = "0.64.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "junegunn";
|
||||
repo = "fzf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-XfqqvWlwv8L0FiWbGSim3W6g/hn7Lh+YMKqrTAOwC+w=";
|
||||
hash = "sha256-OqA4eMwVtOR8nBg8kyVZQzaAh/7eeMG9SGrqTT7j2vw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-1wxi+wfTSSgJQLNbCdoFTz9G4XLgEX7PpzqpuVjEYL8=";
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "giada";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "monocasual";
|
||||
repo = "giada";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-EKDqdv4/xsdT0X42n4HdH1fUYpJ79MfHaNpoO2c5VG8=";
|
||||
hash = "sha256-mp+6MFwUqV6aa1ACdIlel5VhjWDXf5QzfFu1I6If4aU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
openssl,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "git-statuses";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bircni";
|
||||
repo = "git-statuses";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-pnqg32FH26NTtt7N5db/JGjjR3MbPOFPtMA2iZNFiSI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# This commit requires Rust 1.88, which is not yet in Nixpkgs.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/bircni/git-statuses/commit/8bc32d1bd47d2a9e48f1408a9137213bae925912.patch";
|
||||
hash = "sha256-JNWsv0DjwrSbMu/j2+XMoZKgvB1OgUA3b2BNuZTM/cA=";
|
||||
revert = true;
|
||||
})
|
||||
];
|
||||
|
||||
# fix tests, ref. https://github.com/bircni/git-statuses/pull/8
|
||||
postPatch = ''
|
||||
substituteInPlace src/tests/gitinfo_test.rs --replace-fail \
|
||||
'let repo = git2::Repository::init(tmp_dir.path()).unwrap();' \
|
||||
'let repo = git2::Repository::init(tmp_dir.path()).unwrap();
|
||||
let mut config = repo.config().unwrap();
|
||||
config.set_str("user.name", "Test User").unwrap();
|
||||
config.set_str("user.email", "test@example.com").unwrap();'
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-thLyIxuAACtexqCddKWuUE8Vl0CeUEBP7XxDPYT23lg=";
|
||||
|
||||
# Needed to get openssl-sys to use pkg-config.
|
||||
env.OPENSSL_NO_VENDOR = 1;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Command-line tool to display the status of multiple Git repositories in a clear, tabular format";
|
||||
homepage = "https://github.com/bircni/git-statuses";
|
||||
changelog = "https://github.com/bircni/git-statuses/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ nim65s ];
|
||||
mainProgram = "git-statuses";
|
||||
};
|
||||
})
|
||||
@@ -27,16 +27,22 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
cargoHash = "sha256-TJqylGjXdkunE5mHkpFnvv3SENBFwtQehV0q2k3hNMY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
git
|
||||
pkg-config
|
||||
erlang_27
|
||||
];
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
# used by several tests
|
||||
git
|
||||
|
||||
# js runtimes used for integration tests
|
||||
nodejs
|
||||
bun
|
||||
deno
|
||||
];
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
checkFlags = [
|
||||
# Makes a network request
|
||||
"--skip=tests::echo::echo_dict"
|
||||
|
||||
@@ -15,13 +15,13 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "go-ethereum";
|
||||
version = "1.16.0";
|
||||
version = "1.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ethereum";
|
||||
repo = "go-ethereum";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-eu6VeG/vMdCOk15HWnKbtKRZbbYhH3y6SJrwEGxJs8w=";
|
||||
hash = "sha256-lsjs/bZhCwfp8OfTES1GDXayjDcg0R8+L0Z3pZ9/Mvs=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
@@ -27,17 +27,17 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "goose-cli";
|
||||
version = "1.0.29";
|
||||
version = "1.0.30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "block";
|
||||
repo = "goose";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-R4hMGW9YKsvWEvSzZKkq5JTzBXGK2rXyOPB6vzMKbs0=";
|
||||
hash = "sha256-Mhscs7yv3/FmJ/v1W0xcHya82ztrYGVULrtMyq4W4BY=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-EEivL+6XQyC9FkGnXwOYviwpY8lk7iaEJ1vbQMk2Rao=";
|
||||
cargoHash = "sha256-TNmeu0nQHTFnbe7CY5b58ysN6+iMD6yFTktr4gjKNY0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gtfocli";
|
||||
version = "0.0.5";
|
||||
version = "0.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cmd-tools";
|
||||
repo = "gtfocli";
|
||||
tag = version;
|
||||
hash = "sha256-yvL9H9yOiYTaWtm5cj9A8y+kKXLQgLqUMu9JMnm1llI=";
|
||||
hash = "sha256-w3x01ZoJHeze0eGyx5jLqWHSd4taS+P+MdVlq2BcI2o=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-M1/XTY4ihkPNDiCv87I+kPgsTPU+sCqdnRoP09iVFu4=";
|
||||
vendorHash = "sha256-FyClL+3fOe56+Y7CSNJtGoJaYnMeo2hoxYNPpg5FQJ8=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hmcl";
|
||||
version = "3.6.12";
|
||||
version = "3.6.13";
|
||||
|
||||
src = fetchurl {
|
||||
# HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key.
|
||||
# See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28
|
||||
url = "https://github.com/HMCL-dev/HMCL/releases/download/release-${finalAttrs.version}/HMCL-${finalAttrs.version}.jar";
|
||||
hash = "sha256-ofrG7CVZIODJoHE6owR9P7viBlChamYF5PEpFeeOH4E=";
|
||||
hash = "sha256-rqfesqt3yYDU6koDLFbE9FJpA6iNzDTNG6lWGA2bBYo=";
|
||||
};
|
||||
|
||||
icon = fetchurl {
|
||||
|
||||
@@ -1,27 +1,32 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchFromGitLab,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hostname-debian";
|
||||
version = "3.23";
|
||||
version = "3.25";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://deb.debian.org/debian/pool/main/h/hostname/hostname_${version}.tar.gz";
|
||||
sha256 = "sha256-vG0ZVLIoSYaf+LKmAuOfCLFwL2htS1jdeSfN61tIdu8=";
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "salsa.debian.org";
|
||||
owner = "meskes";
|
||||
repo = "hostname";
|
||||
tag = "debian/${version}";
|
||||
hash = "sha256-Yq8P5bF/RRZnWuFW0y2u08oZrydAKfopOtbrwbeIu3w=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace 'install -o root -g root' 'install'
|
||||
'';
|
||||
makeFlags = [
|
||||
"BINDIR=$(out)/bin"
|
||||
"MANDIR=$(out)/share/man"
|
||||
"prefix=${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://salsa.debian.org/meskes/hostname/-/blob/${src.tag}/debian/changelog";
|
||||
description = "Utility to set/show the host name or domain name";
|
||||
longDescription = ''
|
||||
This package provides commands which can be used to display the system's
|
||||
@@ -29,6 +34,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://tracker.debian.org/pkg/hostname";
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "hostname";
|
||||
maintainers = with maintainers; [ posch ];
|
||||
platforms = platforms.gnu;
|
||||
};
|
||||
|
||||
@@ -9,18 +9,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hyprspace";
|
||||
version = "0.10.2";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprspace";
|
||||
repo = "hyprspace";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zWajCfHFqPa3Z72DHcxBUq4bmcCu1lpEKUbZZewpYOE=";
|
||||
hash = "sha256-Lv/Mb7vj1bUj5TajIdM6bu8299y+B3sZfE6xlA6sXcM=";
|
||||
};
|
||||
|
||||
env.CGO_ENABLED = "0";
|
||||
|
||||
vendorHash = "sha256-LJpgGeD47Bs+Cq9Z7WWFa49F8/n3exOyxRcd6EkkL2g=";
|
||||
vendorHash = "sha256-97uIl3b3hs3BCLH7UZX8NU3kLloVQOCN9ygsdxsfass=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "icloudpd";
|
||||
version = "1.28.1";
|
||||
version = "1.28.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "icloud-photos-downloader";
|
||||
repo = "icloud_photos_downloader";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-e3bv5IVVXKiAnxZAbx8JniGJaPJuT+FYAH1PwhU8q60=";
|
||||
hash = "sha256-5zuV32AOorkRqt3wiUt2ndo+4j1FQ9JBSc8wY+v01OA=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "inferno";
|
||||
version = "0.12.2";
|
||||
version = "0.12.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonhoo";
|
||||
repo = "inferno";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-NDxgWHTMyntNtUb/+7bvrR64PNRPcovQd/IIgcLo5JQ=";
|
||||
hash = "sha256-D72rkTnUgLJRHFEDoUwQDLQJAPGyqmxhf6hmNJGUl+U=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-xtWNIbWvYSSuvmq+IYADnpnBHuVeXBolRqc9JrIoiis=";
|
||||
cargoHash = "sha256-Gc31yyspU7RYDQDpVvq+UhMnE7t4HQ65fSGu9eDN6C0=";
|
||||
|
||||
# skip flaky tests
|
||||
checkFlags = [
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "inputplumber";
|
||||
version = "0.59.1";
|
||||
version = "0.59.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ShadowBlip";
|
||||
repo = "InputPlumber";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-haNlVKO8wZ5SvWllQv/d8qBW4bZrzPnxIe+dolBDqjg=";
|
||||
hash = "sha256-IAopZnGU0NOfpViLLetAm5BycTXyYL1fJ5WJW8qVnwA=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-MaB8GyFMeKzE+Q2vfhA9fn1fxXA+/9OcX6aTc3+GobY=";
|
||||
cargoHash = "sha256-m/U9fYio39hkjcVDO3VlK5yJF9nWL9Y5B8D0FgD7LKk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
}:
|
||||
|
||||
let
|
||||
py = python3.override {
|
||||
self = py;
|
||||
packageOverrides = self: super: {
|
||||
emoji = super.emoji.overridePythonAttrs rec {
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carpedm20";
|
||||
repo = "emoji";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vKQ51RP7uy57vP3dOnHZRSp/Wz+YDzeLUR8JnIELE/I=";
|
||||
};
|
||||
};
|
||||
|
||||
# Support for later tweepy releases is missing
|
||||
# https://github.com/ranguli/ioccheck/issues/70
|
||||
tweepy = super.tweepy.overridePythonAttrs rec {
|
||||
version = "3.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tweepy";
|
||||
repo = "tweepy";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3BbQeCaAhlz9h5GnhficNubJHu4kTpnCDM4oKzlti0w=";
|
||||
};
|
||||
doCheck = false;
|
||||
dependencies =
|
||||
with self;
|
||||
[
|
||||
requests
|
||||
requests-oauthlib
|
||||
six
|
||||
]
|
||||
++ requests.optional-dependencies.socks;
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
py.pkgs.buildPythonApplication {
|
||||
pname = "ioccheck";
|
||||
version = "unstable-2021-09-29";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ranguli";
|
||||
repo = "ioccheck";
|
||||
rev = "db02d921e2519b77523a200ca2d78417802463db";
|
||||
hash = "sha256-qf5tHIpbj/BfrzUST+EzohKh1hUg09KwF+vT0tj1+FE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with py.pkgs; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"backoff"
|
||||
"pyfiglet"
|
||||
"tabulate"
|
||||
"termcolor"
|
||||
"vt-py"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with py.pkgs; [
|
||||
backoff
|
||||
click
|
||||
emoji
|
||||
jinja2
|
||||
pyfiglet
|
||||
ratelimit
|
||||
requests
|
||||
shodan
|
||||
tabulate
|
||||
termcolor
|
||||
tweepy
|
||||
vt-py
|
||||
];
|
||||
|
||||
nativeCheckInputs = with py.pkgs; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Can be removed with the next release
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace '"hurry.filesize" = "^0.9"' ""
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ioccheck"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for researching IOCs";
|
||||
mainProgram = "ioccheck";
|
||||
homepage = "https://github.com/ranguli/ioccheck";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "iw4x-launcher";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iw4x";
|
||||
repo = "launcher";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/7c1RlBq1BrHIGeykkAPWhPTsYRo4KtcNrY2lTtccCw=";
|
||||
hash = "sha256-4Qj2P4vb3XtCyK/Op52uV9SgUvL12Zg1cDvG0vtq4Cg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-IqtWFsZckeN0r+mF5dw1cxKiJHUuXTDqBB1hu52lE+w=";
|
||||
cargoHash = "sha256-fz474N8p5YvfzkS1wTJNhagNMKhtaf0KAPpEFz+R8bQ=";
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -6,19 +6,19 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "jaq";
|
||||
version = "2.2.0";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "01mf02";
|
||||
repo = "jaq";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-mVC2aggfcEpCtriuz/s4JL8mYkrlyAQLnaN5vyfcW3s=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ZVTDbJ5RPgQeB4ntnNQcbbWquPFL7q4WYyQ5ihCVB64=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-ZZLp3Vwq013MPxKy9gTZ1yMi2O0QcDPgFw5YnrYt90I=";
|
||||
cargoHash = "sha256-hEILrjIJK/8CrQv5QcHu+AtPV7KcPdmw6422MyNoPwo=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
@@ -31,12 +31,13 @@ rustPlatform.buildRustPackage rec {
|
||||
meta = {
|
||||
description = "Jq clone focused on correctness, speed and simplicity";
|
||||
homepage = "https://github.com/01mf02/jaq";
|
||||
changelog = "https://github.com/01mf02/jaq/releases/tag/v${version}";
|
||||
changelog = "https://github.com/01mf02/jaq/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
teams = [ lib.teams.ngi ];
|
||||
maintainers = with lib.maintainers; [
|
||||
figsoda
|
||||
siraben
|
||||
];
|
||||
mainProgram = "jaq";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -24,11 +24,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "keycloak";
|
||||
version = "26.1.4";
|
||||
version = "26.2.5";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
|
||||
hash = "sha256-pYUiTVJRoUTXfFv7B2Oi+0xofMf5yjhNsqTnV8ehAlU=";
|
||||
hash = "sha256-yXbHdznZlrz4T2+154cM+eAmPO/TR5kRCVVi26H66ok=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -52,9 +52,9 @@ stdenv.mkDerivation rec {
|
||||
+ ''
|
||||
install_plugin() {
|
||||
if [ -d "$1" ]; then
|
||||
find "$1" -type f \( -iname \*.ear -o -iname \*.jar \) -exec install -m 0500 "{}" "providers/" \;
|
||||
find "$1" -type f \( -iname \*.ear -o -iname \*.jar \) -exec install -p -m 0500 "{}" "providers/" \;
|
||||
else
|
||||
install -m 0500 "$1" "providers/"
|
||||
install -p -m 0500 "$1" "providers/"
|
||||
fi
|
||||
}
|
||||
${lib.concatMapStringsSep "\n" (pl: "install_plugin ${lib.escapeShellArg pl}") plugins}
|
||||
@@ -101,6 +101,7 @@ stdenv.mkDerivation rec {
|
||||
ngerstle
|
||||
talyz
|
||||
nickcao
|
||||
leona
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kubetui";
|
||||
version = "1.8.1";
|
||||
version = "1.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sarub0b0";
|
||||
repo = "kubetui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-L4/PqlVECVKMNSCFdaCxLxLAqmkzAdAvh/amQPZddts=";
|
||||
hash = "sha256-3n4XxbdCA9TrtFdOQWsp3f/JIUlepzMRpo9J4eNcsvA=";
|
||||
};
|
||||
|
||||
checkFlags = [
|
||||
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
|
||||
];
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-Mmz7p7bz6EQDl7/xSVP+7kLHNCYlBIkQGiCeuH7qpWY=";
|
||||
cargoHash = "sha256-RdwDojQodlT7iq75WvFXgh1avpLogybZhYnVRfcC7SI=";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/sarub0b0/kubetui";
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
lcrq,
|
||||
lib,
|
||||
libsodium,
|
||||
nix-update-script,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "librecast";
|
||||
@@ -13,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
domain = "codeberg.org";
|
||||
owner = "librecast";
|
||||
repo = "librecast";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FFumVHTobvcty3x26IAMHP8M3fYrnfLtxt/RJ/4vKBg=";
|
||||
};
|
||||
buildInputs = [
|
||||
@@ -22,13 +23,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
changelog = "https://codeberg.org/librecast/librecast/src/tag/v${finalAttrs.version}/CHANGELOG.md";
|
||||
description = "IPv6 multicast library";
|
||||
homepage = "https://librecast.net/librecast.html";
|
||||
license = [
|
||||
lib.licenses.gpl2
|
||||
lib.licenses.gpl3
|
||||
license = with lib.licenses; [
|
||||
gpl2Only
|
||||
gpl3Only
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
albertchae
|
||||
@@ -37,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
jasonodoom
|
||||
jleightcap
|
||||
];
|
||||
teams = with lib.teams; [ ngi ];
|
||||
platforms = lib.platforms.gnu;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -133,7 +133,6 @@ stdenv.mkDerivation rec {
|
||||
mpl20
|
||||
];
|
||||
maintainers = with maintainers; [
|
||||
afranchuk
|
||||
rnhmjoj
|
||||
];
|
||||
mainProgram = "ipsec";
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "libretro-shaders-slang";
|
||||
version = "0-unstable-2025-06-14";
|
||||
version = "0-unstable-2025-07-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "slang-shaders";
|
||||
rev = "536b12633d56ae38cdc440a9804e9f245728bec1";
|
||||
hash = "sha256-rf8wul91X9My9RPAr1iPdV/eTuTQzF3R60TjR+NcUNE=";
|
||||
rev = "5c2c28f79716968381f71b3470ee0064762d7c6f";
|
||||
hash = "sha256-L+jTTZA2qg/PlZtI0G0rzLk5is6cUFiTfy2RTcry5vA=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -13,18 +13,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "listenbrainz-mpd";
|
||||
version = "2.3.8";
|
||||
version = "2.3.9";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "elomatreb";
|
||||
repo = "listenbrainz-mpd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QBc0avci232UIxzTKlS0pjL7cCuvwAFgw6dSwdtYAtU=";
|
||||
hash = "sha256-j9MlvE2upocwC5xxroms3am6tqJX30sSw7PFNw8Ofog=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-NQXXR6b1XZDihVoRNFJLXtMNjlzOIzkc4rthwx0A7AE=";
|
||||
cargoHash = "sha256-1x3F2TqNlqwfPUvLwU8ac4aEeEwpIy5gEyxRBC0Q5YM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "lux-cli";
|
||||
|
||||
version = "0.7.4";
|
||||
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-neorocks";
|
||||
repo = "lux";
|
||||
tag = "v0.7.4";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-m8GSs2gBw+WzDOBciOQHi7n4923XCd7z1TbfTnfJzUA=";
|
||||
};
|
||||
|
||||
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/${meta.mainProgram}";
|
||||
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -78,7 +78,7 @@ rustPlatform.buildRustPackage rec {
|
||||
with first-class support for Nix and Neovim.
|
||||
'';
|
||||
homepage = "https://nvim-neorocks.github.io/";
|
||||
changelog = "https://github.com/nvim-neorocks/lux/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/nvim-neorocks/lux/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.lgpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
mrcjkb
|
||||
@@ -86,4 +86,4 @@ rustPlatform.buildRustPackage rec {
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "lx";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "mcphost";
|
||||
version = "0.18.1";
|
||||
version = "0.19.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mark3labs";
|
||||
repo = "mcphost";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5w42N2RJeZXyM7XiKuwYlGxwH6KIJajGnJ9HCHnBNZ8=";
|
||||
hash = "sha256-BDG4df7YG5cKjL8zsbvK4xFJMwyjSPx4jnDKwPVm+zw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-U/XtO4OhcioaSU2iGTNmvEilp9+Yu3TVafzNEaFcWEg=";
|
||||
|
||||
@@ -4,29 +4,20 @@
|
||||
buildGoModule,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "minio-warp";
|
||||
version = "1.1.4";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "minio";
|
||||
repo = "warp";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KOhBSxR9P3Q6DpC8QCRaiw6Y51OyHLRlhr0WmXE74PI=";
|
||||
hash = "sha256-WdzvbJKxJmU6C7IGkVjp/0rfPZB37hMmVkpJHTUnvyw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# upstream ships a broken go.sum file in the release and fixes it one commit later ..
|
||||
(fetchpatch {
|
||||
url = "https://github.com/minio/warp/commit/c830e94367efce6e6d70c337d490a3b6eba5e558.patch";
|
||||
hash = "sha256-LXkgwpTPe4WvU+nAsYfjs38uXiBoeoavnxliw8nweRQ=";
|
||||
})
|
||||
];
|
||||
|
||||
vendorHash = "sha256-duEd5uss6mS2aTOTsI3dzZV2TEDHyKN5QKWb4Tt5+7s=";
|
||||
vendorHash = "sha256-u87ekur9iThUxufJ9jJHlHu8t5lvlnfVZqsf5Ag1+r8=";
|
||||
|
||||
# See .goreleaser.yml
|
||||
ldflags = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "moar";
|
||||
version = "1.32.1";
|
||||
version = "1.32.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "walles";
|
||||
repo = "moar";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8fnvy2yEbJc3sHj/X54WFV/gFEQMcQc3irHUomw+LUQ=";
|
||||
hash = "sha256-iv5rvIf/4bRgaFUNnXvANEynNUVQv4twK21ZJhpxLXU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eKL6R2Xmj6JOwXGuJJdSGwobEzDzZ0FUD8deO2d1unc=";
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mongodb-atlas-cli";
|
||||
version = "1.44.0";
|
||||
version = "1.45.1";
|
||||
|
||||
vendorHash = "sha256-FSf+JbIbM7EumkVmQ/ASRCIu7X6tyerhRx01/Rn0+LM=";
|
||||
vendorHash = "sha256-4qkB2PdMiMtyxdHodwR+w9Lbt1JaT1/wUS+h23ajDD4=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mongodb";
|
||||
repo = "mongodb-atlas-cli";
|
||||
rev = "refs/tags/atlascli/v${version}";
|
||||
sha256 = "sha256-1XSIXLI0ItQPOcFXhswnnrKN5LqWRs/th4EdfvdS/G8=";
|
||||
sha256 = "sha256-Pk7C8CzhRB1XRkqHPECIeaFSwWEWZqJ4sTONTEiqZvg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "museum";
|
||||
version = "1.1.0";
|
||||
version = "1.1.53";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ente-io";
|
||||
repo = "ente";
|
||||
sparseCheckout = [ "server" ];
|
||||
rev = "photos-v${version}";
|
||||
hash = "sha256-1LG8JcZxG4zWSQ9qQCRQwuXfL5HY9rOQKK2n5erq/kU=";
|
||||
hash = "sha256-lgxgtxRV4jRnOwlgX1jY6CrgVF0pSvoW5fVEU3L0jMY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-px4pMqeH73Fe06va4+n6hklIUDMbPmAQNKKRIhwv6ec=";
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mydumper";
|
||||
version = "0.19.3-1";
|
||||
version = "0.19.3-2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mydumper";
|
||||
repo = "mydumper";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-96AFq6wEALRRqD6+n/XMOAus3v9GX/eZOVZQdgUtf+w=";
|
||||
hash = "sha256-Vm2WOx35QmiGBHnOckNw0mMS95aHrcNO4c1ptCYF7c4=";
|
||||
# as of mydumper v0.16.5-1, mydumper extracted its docs into a submodule
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
+2627
-1342
File diff suppressed because it is too large
Load Diff
@@ -22,7 +22,7 @@ buildNpmPackage rec {
|
||||
cp ${./package-lock.json} ./package-lock.json
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-nKxskNW8YFDloA9Nxs/Rfjew8nX+l9xKB8/8313KoYo=";
|
||||
npmDepsHash = "sha256-Vs0RLj6ySkM5oQsBGv4MmgiIBMhiDhINpwuCBJH9L8s=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "newcomputermodern";
|
||||
version = "7.0.3";
|
||||
version = "7.0.4";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.gnu.org.ua/newcm.git";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-sMjzM0nRcMxgJax3ecJ/a5YB3mH7+7RWbNkdhU+V7dU=";
|
||||
hash = "sha256-KPuU0O5Lbh/guDv+HRgWbp712bdfx8mZaPDolaDFlws=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ fontforge ];
|
||||
|
||||
@@ -190,9 +190,9 @@ It must be one of the following:
|
||||
trusted user in the Nix daemon. This can be achieved by using the
|
||||
_nix.settings.trusted-users_ NixOS option. Examples values for that
|
||||
option are described in the “Remote builds” chapter in the Nix manual,
|
||||
(i.e. ‘--builders "ssh://bigbrother x86_64-linux"‘). By specifying an
|
||||
(i.e. ‘--builders "ssh://bigbrother x86_64-linux"’). By specifying an
|
||||
empty string existing builders specified in /etc/nix/machines can be
|
||||
ignored: ‘--builders ""‘ for example when they are not reachable due to
|
||||
ignored: ‘--builders ""’ for example when they are not reachable due to
|
||||
network connectivity.
|
||||
|
||||
*--profile-name* _name_, *-p* _name_
|
||||
@@ -200,7 +200,7 @@ It must be one of the following:
|
||||
track of the current and previous system configurations, use
|
||||
_/nix/var/nix/profiles/system-profiles/name_. When you use GRUB 2, for
|
||||
every system profile created with this flag, NixOS will create a submenu
|
||||
named “NixOS - Profile _name_“ in GRUB's boot menu, containing the
|
||||
named “NixOS - Profile _name_” in GRUB's boot menu, containing the
|
||||
current and previous configurations of this profile.
|
||||
|
||||
For instance, if you want to test a configuration file named _test.nix_
|
||||
@@ -209,7 +209,7 @@ It must be one of the following:
|
||||
$ nixos-rebuild switch -p test -I nixos-config=./test.nix
|
||||
|
||||
The new configuration will appear in the GRUB 2 submenu “NixOS - Profile
|
||||
‘test’“.
|
||||
‘test’”.
|
||||
|
||||
*--specialisation* _name_, *-c* _name_
|
||||
Activates given specialisation; when not specified, switching and testing
|
||||
@@ -306,7 +306,7 @@ Builder options:
|
||||
|
||||
*--verbose,* *-v*, *--quiet*, *--log-format*, *--no-build-output*, *-Q*,
|
||||
*--max-jobs*, *-j*, *--cores*, *--keep-going*, *-k*, *--keep-failed*, *-K*,
|
||||
*--fallback*, *--incllude*, *-I*, *--option*, *--repair*, *--builders*,
|
||||
*--fallback*, *--include*, *-I*, *--option*, *--repair*, *--builders*,
|
||||
*--print-build-logs*, *-L*, *--show-trace*
|
||||
|
||||
See the Nix manual, *nix flake lock --help* or *nix-build --help* for details.
|
||||
|
||||
@@ -61,46 +61,7 @@ class BuildAttr:
|
||||
return cls(Path(file or "default.nix"), attr)
|
||||
|
||||
|
||||
def discover_git(location: Path) -> Path | None:
|
||||
"""
|
||||
Discover the current git repository in the given location.
|
||||
"""
|
||||
current = location.resolve()
|
||||
previous = None
|
||||
|
||||
while current.is_dir() and current != previous:
|
||||
dotgit = current / ".git"
|
||||
if dotgit.is_dir():
|
||||
return current
|
||||
elif dotgit.is_file(): # this is a worktree
|
||||
with dotgit.open() as f:
|
||||
dotgit_content = f.read().strip()
|
||||
if dotgit_content.startswith("gitdir: "):
|
||||
return Path(dotgit_content.split("gitdir: ")[1])
|
||||
previous = current
|
||||
current = current.parent
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def discover_closest_flake(location: Path) -> Path | None:
|
||||
"""
|
||||
Discover the closest flake.nix file starting from the given location upwards.
|
||||
"""
|
||||
current = location.resolve()
|
||||
previous = None
|
||||
|
||||
while current.is_dir() and current != previous:
|
||||
flake_file = current / "flake.nix"
|
||||
if flake_file.is_file():
|
||||
return current
|
||||
previous = current
|
||||
current = current.parent
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def get_hostname(target_host: Remote | None) -> str | None:
|
||||
def _get_hostname(target_host: Remote | None) -> str | None:
|
||||
if target_host:
|
||||
try:
|
||||
return run_wrapper(
|
||||
@@ -133,25 +94,13 @@ class Flake:
|
||||
assert m is not None, f"got no matches for {flake_str}"
|
||||
attr = m.group("attr")
|
||||
nixos_attr = (
|
||||
f'nixosConfigurations."{attr or get_hostname(target_host) or "default"}"'
|
||||
f'nixosConfigurations."{attr or _get_hostname(target_host) or "default"}"'
|
||||
)
|
||||
path_str = m.group("path")
|
||||
if ":" in path_str:
|
||||
return cls(path_str, nixos_attr)
|
||||
else:
|
||||
path = Path(path_str)
|
||||
git_repo = discover_git(path)
|
||||
if git_repo is not None:
|
||||
url = f"git+file://{git_repo}"
|
||||
flake_path = discover_closest_flake(path)
|
||||
if (
|
||||
flake_path is not None
|
||||
and flake_path != git_repo
|
||||
and flake_path.is_relative_to(git_repo)
|
||||
):
|
||||
url += f"?dir={flake_path.relative_to(git_repo)}"
|
||||
return cls(url, nixos_attr)
|
||||
path = m.group("path")
|
||||
if ":" in path:
|
||||
return cls(path, nixos_attr)
|
||||
else:
|
||||
return cls(Path(path), nixos_attr)
|
||||
|
||||
@classmethod
|
||||
def from_arg(cls, flake_arg: Any, target_host: Remote | None) -> Self | None: # noqa: ANN401
|
||||
|
||||
@@ -30,13 +30,13 @@ def test_build_attr_to_attr() -> None:
|
||||
)
|
||||
|
||||
|
||||
@patch("platform.node", autospec=True, return_value="hostname")
|
||||
@patch("platform.node", autospec=True, return_value=None)
|
||||
def test_flake_parse(mock_node: Mock, tmpdir: Path, monkeypatch: MonkeyPatch) -> None:
|
||||
assert m.Flake.parse("/path/to/flake#attr") == m.Flake(
|
||||
Path("/path/to/flake"), 'nixosConfigurations."attr"'
|
||||
)
|
||||
assert m.Flake.parse("/path/ to /flake") == m.Flake(
|
||||
Path("/path/ to /flake"), 'nixosConfigurations."hostname"'
|
||||
Path("/path/ to /flake"), 'nixosConfigurations."default"'
|
||||
)
|
||||
with patch(
|
||||
get_qualified_name(m.run_wrapper, m),
|
||||
@@ -47,40 +47,18 @@ def test_flake_parse(mock_node: Mock, tmpdir: Path, monkeypatch: MonkeyPatch) ->
|
||||
assert m.Flake.parse("/path/to/flake", target_host) == m.Flake(
|
||||
Path("/path/to/flake"), 'nixosConfigurations."remote"'
|
||||
)
|
||||
# change directory to tmpdir
|
||||
with monkeypatch.context() as patch_context:
|
||||
patch_context.chdir(tmpdir)
|
||||
assert m.Flake.parse(".#attr") == m.Flake(
|
||||
Path("."), 'nixosConfigurations."attr"'
|
||||
)
|
||||
assert m.Flake.parse("#attr") == m.Flake(
|
||||
Path("."), 'nixosConfigurations."attr"'
|
||||
)
|
||||
assert m.Flake.parse(".") == m.Flake(
|
||||
Path("."), 'nixosConfigurations."hostname"'
|
||||
)
|
||||
assert m.Flake.parse(".#attr") == m.Flake(Path("."), 'nixosConfigurations."attr"')
|
||||
assert m.Flake.parse("#attr") == m.Flake(Path("."), 'nixosConfigurations."attr"')
|
||||
assert m.Flake.parse(".") == m.Flake(Path("."), 'nixosConfigurations."default"')
|
||||
assert m.Flake.parse("path:/to/flake#attr") == m.Flake(
|
||||
"path:/to/flake", 'nixosConfigurations."attr"'
|
||||
)
|
||||
|
||||
# from here on we should return "default"
|
||||
mock_node.return_value = None
|
||||
# from here on we should return "hostname"
|
||||
mock_node.return_value = "hostname"
|
||||
|
||||
assert m.Flake.parse("github:user/repo/branch") == m.Flake(
|
||||
"github:user/repo/branch", 'nixosConfigurations."default"'
|
||||
)
|
||||
git_root = tmpdir / "git_root"
|
||||
git_root.mkdir()
|
||||
(git_root / ".git").mkdir()
|
||||
assert m.Flake.parse(str(git_root)) == m.Flake(
|
||||
f"git+file://{git_root}", 'nixosConfigurations."default"'
|
||||
)
|
||||
|
||||
work_tree = tmpdir / "work_tree"
|
||||
work_tree.mkdir()
|
||||
(work_tree / ".git").write_text("gitdir: /path/to/git", "utf-8")
|
||||
assert m.Flake.parse(str(work_tree)) == m.Flake(
|
||||
"git+file:///path/to/git", 'nixosConfigurations."default"'
|
||||
"github:user/repo/branch", 'nixosConfigurations."hostname"'
|
||||
)
|
||||
|
||||
|
||||
@@ -134,14 +112,9 @@ def test_flake_from_arg(
|
||||
autospec=True,
|
||||
return_value=False,
|
||||
),
|
||||
patch(
|
||||
get_qualified_name(m.discover_git),
|
||||
autospec=True,
|
||||
return_value="/etc/nixos",
|
||||
),
|
||||
):
|
||||
assert m.Flake.from_arg(None, None) == m.Flake(
|
||||
"git+file:///etc/nixos", 'nixosConfigurations."hostname"'
|
||||
Path("/etc/nixos"), 'nixosConfigurations."hostname"'
|
||||
)
|
||||
|
||||
with (
|
||||
|
||||
@@ -307,8 +307,8 @@ def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
|
||||
|
||||
|
||||
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
|
||||
def test_editd_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
|
||||
flake = m.Flake.parse(f"{tmpdir}#attr")
|
||||
def test_edit_flake(mock_run: Mock) -> None:
|
||||
flake = m.Flake.parse(".#attr")
|
||||
n.edit_flake(flake, {"commit_lock_file": True})
|
||||
mock_run.assert_called_with(
|
||||
[
|
||||
@@ -318,7 +318,7 @@ def test_editd_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) ->
|
||||
"edit",
|
||||
"--commit-lock-file",
|
||||
"--",
|
||||
f'{tmpdir}#nixosConfigurations."attr"',
|
||||
'.#nixosConfigurations."attr"',
|
||||
],
|
||||
check=False,
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user