Merge master into staging-next
This commit is contained in:
commit
ac36665726
31 changed files with 818 additions and 507 deletions
|
@ -144,6 +144,17 @@
|
|||
updated manually.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
In <literal>mastodon</literal> it is now necessary to specify
|
||||
location of file with <literal>PostgreSQL</literal> database
|
||||
password. In
|
||||
<literal>services.mastodon.database.passwordFile</literal>
|
||||
parameter default value
|
||||
<literal>/var/lib/mastodon/secrets/db-password</literal> has
|
||||
been changed to <literal>null</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>nix.readOnlyStore</literal> option has been
|
||||
|
@ -208,6 +219,12 @@
|
|||
<literal>nixos/modules/profiles/minimal.nix</literal> profile.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>mastodon</literal> now supports connection to a
|
||||
remote <literal>PostgreSQL</literal> database.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A new <literal>virtualisation.rosetta</literal> module was
|
||||
|
|
|
@ -43,6 +43,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- Qt 5.12 and 5.14 have been removed, as the corresponding branches have been EOL upstream for a long time. This affected under 10 packages in nixpkgs, largely unmaintained upstream as well, however, out-of-tree package expressions may need to be updated manually.
|
||||
|
||||
- In `mastodon` it is now necessary to specify location of file with `PostgreSQL` database password. In `services.mastodon.database.passwordFile` parameter default value `/var/lib/mastodon/secrets/db-password` has been changed to `null`.
|
||||
|
||||
- The `nix.readOnlyStore` option has been renamed to `boot.readOnlyNixStore` to clarify that it configures the NixOS boot process, not the Nix daemon.
|
||||
|
||||
## Other Notable Changes {#sec-release-23.05-notable-changes}
|
||||
|
@ -64,6 +66,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- The minimal ISO image now uses the `nixos/modules/profiles/minimal.nix` profile.
|
||||
|
||||
- `mastodon` now supports connection to a remote `PostgreSQL` database.
|
||||
|
||||
- A new `virtualisation.rosetta` module was added to allow running `x86_64` binaries through [Rosetta](https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment) inside virtualised NixOS guests on Apple silicon. This feature works by default with the [UTM](https://docs.getutm.app/) virtualisation [package](https://search.nixos.org/packages?channel=unstable&show=utm&from=0&size=1&sort=relevance&type=packages&query=utm).
|
||||
|
||||
- Resilio sync secret keys can now be provided using a secrets file at runtime, preventing these secrets from ending up in the Nix store.
|
||||
|
|
|
@ -40,6 +40,7 @@ in {
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment.ROON_DATAROOT = "/var/lib/${name}";
|
||||
environment.ROON_ID_DIR = "/var/lib/${name}";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.roon-server}/bin/RoonServer";
|
||||
|
|
|
@ -258,7 +258,7 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
config = mkIf cfg.enable {
|
||||
systemd.targets =
|
||||
mapAttrs'
|
||||
(name: tunnel:
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{ lib, pkgs, config, options, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.mastodon;
|
||||
opt = options.services.mastodon;
|
||||
|
||||
# We only want to create a database if we're actually going to connect to it.
|
||||
databaseActuallyCreateLocally = cfg.database.createLocally && cfg.database.host == "/run/postgresql";
|
||||
|
||||
|
@ -23,7 +25,6 @@ let
|
|||
REDIS_HOST = cfg.redis.host;
|
||||
REDIS_PORT = toString(cfg.redis.port);
|
||||
DB_HOST = cfg.database.host;
|
||||
DB_PORT = toString(cfg.database.port);
|
||||
DB_NAME = cfg.database.name;
|
||||
LOCAL_DOMAIN = cfg.localDomain;
|
||||
SMTP_SERVER = cfg.smtp.host;
|
||||
|
@ -37,7 +38,8 @@ let
|
|||
|
||||
TRUSTED_PROXY_IP = cfg.trustedProxy;
|
||||
}
|
||||
// (if cfg.smtp.authenticate then { SMTP_LOGIN = cfg.smtp.user; } else {})
|
||||
// lib.optionalAttrs (cfg.database.host != "/run/postgresql" && cfg.database.port != null) { DB_PORT = toString cfg.database.port; }
|
||||
// lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; }
|
||||
// cfg.extraConfig;
|
||||
|
||||
systemCallsList = [ "@cpu-emulation" "@debug" "@keyring" "@ipc" "@mount" "@obsolete" "@privileged" "@setuid" ];
|
||||
|
@ -314,8 +316,13 @@ in {
|
|||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 5432;
|
||||
type = lib.types.nullOr lib.types.port;
|
||||
default = if cfg.database.createLocally then null else 5432;
|
||||
defaultText = lib.literalExpression ''
|
||||
if config.${opt.database.createLocally}
|
||||
then null
|
||||
else 5432
|
||||
'';
|
||||
description = lib.mdDoc "Database host port.";
|
||||
};
|
||||
|
||||
|
@ -333,8 +340,8 @@ in {
|
|||
|
||||
passwordFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = "/var/lib/mastodon/secrets/db-password";
|
||||
example = "/run/keys/mastodon-db-password";
|
||||
default = null;
|
||||
example = "/var/lib/mastodon/secrets/db-password";
|
||||
description = lib.mdDoc ''
|
||||
A file containing the password corresponding to
|
||||
{option}`database.user`.
|
||||
|
@ -468,7 +475,18 @@ in {
|
|||
assertions = [
|
||||
{
|
||||
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user);
|
||||
message = ''For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer authentication (services.mastodon.database.host == "/run/postgresql") to work services.mastodon.user and services.mastodon.database.user must be identical.'';
|
||||
message = ''
|
||||
For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer
|
||||
authentication (services.mastodon.database.host == "/run/postgresql") to work services.mastodon.user
|
||||
and services.mastodon.database.user must be identical.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = !databaseActuallyCreateLocally -> (cfg.database.host != "/run/postgresql");
|
||||
message = ''
|
||||
<option>services.mastodon.database.host</option> needs to be set if
|
||||
<option>services.mastodon.database.createLocally</option> is not enabled.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = cfg.smtp.authenticate -> (cfg.smtp.user != null);
|
||||
|
@ -512,10 +530,11 @@ in {
|
|||
OTP_SECRET="$(cat ${cfg.otpSecretFile})"
|
||||
VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})"
|
||||
VAPID_PUBLIC_KEY="$(cat ${cfg.vapidPublicKeyFile})"
|
||||
'' + lib.optionalString (cfg.database.passwordFile != null) ''
|
||||
DB_PASS="$(cat ${cfg.database.passwordFile})"
|
||||
'' + (if cfg.smtp.authenticate then ''
|
||||
'' + lib.optionalString cfg.smtp.authenticate ''
|
||||
SMTP_PASSWORD="$(cat ${cfg.smtp.passwordFile})"
|
||||
'' else "") + ''
|
||||
'' + ''
|
||||
EOF
|
||||
'';
|
||||
environment = env;
|
||||
|
@ -530,7 +549,16 @@ in {
|
|||
};
|
||||
|
||||
systemd.services.mastodon-init-db = lib.mkIf cfg.automaticMigrations {
|
||||
script = ''
|
||||
script = lib.optionalString (!databaseActuallyCreateLocally) ''
|
||||
umask 077
|
||||
|
||||
export PGPASSFILE
|
||||
PGPASSFILE=$(mktemp)
|
||||
cat > $PGPASSFILE <<EOF
|
||||
${cfg.database.host}:${toString cfg.database.port}:${cfg.database.name}:${cfg.database.user}:$(cat ${cfg.database.passwordFile})
|
||||
EOF
|
||||
|
||||
'' + ''
|
||||
if [ `psql ${cfg.database.name} -c \
|
||||
"select count(*) from pg_class c \
|
||||
join pg_namespace s on s.oid = c.relnamespace \
|
||||
|
@ -541,9 +569,15 @@ in {
|
|||
else
|
||||
rails db:migrate
|
||||
fi
|
||||
'' + lib.optionalString (!databaseActuallyCreateLocally) ''
|
||||
rm $PGPASSFILE
|
||||
unset PGPASSFILE
|
||||
'';
|
||||
path = [ cfg.package pkgs.postgresql ];
|
||||
environment = env;
|
||||
environment = env // lib.optionalAttrs (!databaseActuallyCreateLocally) {
|
||||
PGHOST = cfg.database.host;
|
||||
PGUSER = cfg.database.user;
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
EnvironmentFile = [ "/var/lib/mastodon/.secrets_env" ];
|
||||
|
|
|
@ -365,7 +365,7 @@ in {
|
|||
mailhog = handleTest ./mailhog.nix {};
|
||||
man = handleTest ./man.nix {};
|
||||
mariadb-galera = handleTest ./mysql/mariadb-galera.nix {};
|
||||
mastodon = handleTestOn ["x86_64-linux" "i686-linux" "aarch64-linux"] ./web-apps/mastodon.nix {};
|
||||
mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; });
|
||||
matomo = handleTest ./matomo.nix {};
|
||||
matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {};
|
||||
matrix-conduit = handleTest ./matrix/conduit.nix {};
|
||||
|
|
|
@ -1,130 +0,0 @@
|
|||
import ../make-test-python.nix ({pkgs, ...}:
|
||||
let
|
||||
cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
|
||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500
|
||||
mkdir -p $out
|
||||
cp key.pem cert.pem $out
|
||||
'';
|
||||
|
||||
hosts = ''
|
||||
192.168.2.101 mastodon.local
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
name = "mastodon";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin turion ];
|
||||
|
||||
nodes = {
|
||||
server = { pkgs, ... }: {
|
||||
|
||||
virtualisation.memorySize = 2048;
|
||||
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.101"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
firewall.allowedTCPPorts = [ 80 443 ];
|
||||
};
|
||||
|
||||
security = {
|
||||
pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
};
|
||||
|
||||
services.redis.servers.mastodon = {
|
||||
enable = true;
|
||||
bind = "127.0.0.1";
|
||||
port = 31637;
|
||||
};
|
||||
|
||||
services.mastodon = {
|
||||
enable = true;
|
||||
configureNginx = true;
|
||||
localDomain = "mastodon.local";
|
||||
enableUnixSocket = false;
|
||||
smtp = {
|
||||
createLocally = false;
|
||||
fromAddress = "mastodon@mastodon.local";
|
||||
};
|
||||
extraConfig = {
|
||||
EMAIL_DOMAIN_ALLOWLIST = "example.com";
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
virtualHosts."mastodon.local" = {
|
||||
enableACME = pkgs.lib.mkForce false;
|
||||
sslCertificate = "${cert pkgs}/cert.pem";
|
||||
sslCertificateKey = "${cert pkgs}/key.pem";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
client = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.102"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
};
|
||||
|
||||
security = {
|
||||
pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
server.wait_for_unit("nginx.service")
|
||||
server.wait_for_unit("redis-mastodon.service")
|
||||
server.wait_for_unit("postgresql.service")
|
||||
server.wait_for_unit("mastodon-sidekiq.service")
|
||||
server.wait_for_unit("mastodon-streaming.service")
|
||||
server.wait_for_unit("mastodon-web.service")
|
||||
server.wait_for_open_port(55000)
|
||||
server.wait_for_open_port(55001)
|
||||
|
||||
# Check that mastodon-media-auto-remove is scheduled
|
||||
server.succeed("systemctl status mastodon-media-auto-remove.timer")
|
||||
|
||||
# Check Mastodon version from remote client
|
||||
client.succeed("curl --fail https://mastodon.local/api/v1/instance | jq -r '.version' | grep '${pkgs.mastodon.version}'")
|
||||
|
||||
# Check access from remote client
|
||||
client.succeed("curl --fail https://mastodon.local/about | grep 'Mastodon hosted on mastodon.local'")
|
||||
client.succeed("curl --fail $(curl https://mastodon.local/api/v1/instance 2> /dev/null | jq -r .thumbnail) --output /dev/null")
|
||||
|
||||
# Simple check tootctl commands
|
||||
# Check Mastodon version
|
||||
server.succeed("mastodon-tootctl version | grep '${pkgs.mastodon.version}'")
|
||||
|
||||
# Manage accounts
|
||||
server.succeed("mastodon-tootctl email_domain_blocks add example.com")
|
||||
server.succeed("mastodon-tootctl email_domain_blocks list | grep example.com")
|
||||
server.fail("mastodon-tootctl email_domain_blocks list | grep mastodon.local")
|
||||
server.fail("mastodon-tootctl accounts create alice --email=alice@example.com")
|
||||
server.succeed("mastodon-tootctl email_domain_blocks remove example.com")
|
||||
server.succeed("mastodon-tootctl accounts create bob --email=bob@example.com")
|
||||
server.succeed("mastodon-tootctl accounts approve bob")
|
||||
server.succeed("mastodon-tootctl accounts delete bob")
|
||||
|
||||
# Manage IP access
|
||||
server.succeed("mastodon-tootctl ip_blocks add 192.168.0.0/16 --severity=no_access")
|
||||
server.succeed("mastodon-tootctl ip_blocks export | grep 192.168.0.0/16")
|
||||
server.fail("mastodon-tootctl ip_blocks export | grep 172.16.0.0/16")
|
||||
client.fail("curl --fail https://mastodon.local/about")
|
||||
server.succeed("mastodon-tootctl ip_blocks remove 192.168.0.0/16")
|
||||
client.succeed("curl --fail https://mastodon.local/about")
|
||||
|
||||
server.shutdown()
|
||||
client.shutdown()
|
||||
'';
|
||||
})
|
9
nixos/tests/web-apps/mastodon/default.nix
Normal file
9
nixos/tests/web-apps/mastodon/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ system ? builtins.currentSystem, handleTestOn }:
|
||||
let
|
||||
supportedSystems = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
|
||||
|
||||
in
|
||||
{
|
||||
standard = handleTestOn supportedSystems ./standard.nix { inherit system; };
|
||||
remote-postgresql = handleTestOn supportedSystems ./remote-postgresql.nix { inherit system; };
|
||||
}
|
160
nixos/tests/web-apps/mastodon/remote-postgresql.nix
Normal file
160
nixos/tests/web-apps/mastodon/remote-postgresql.nix
Normal file
|
@ -0,0 +1,160 @@
|
|||
import ../../make-test-python.nix ({pkgs, ...}:
|
||||
let
|
||||
cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
|
||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500
|
||||
mkdir -p $out
|
||||
cp key.pem cert.pem $out
|
||||
'';
|
||||
|
||||
hosts = ''
|
||||
192.168.2.103 mastodon.local
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
name = "mastodon-remote-postgresql";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin turion ];
|
||||
|
||||
nodes = {
|
||||
database = {
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.102"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
firewall.allowedTCPPorts = [ 5432 ];
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
enableTCPIP = true;
|
||||
authentication = ''
|
||||
hostnossl mastodon_local mastodon_test 192.168.2.201/32 md5
|
||||
'';
|
||||
initialScript = pkgs.writeText "postgresql_init.sql" ''
|
||||
CREATE ROLE mastodon_test LOGIN PASSWORD 'SoDTZcISc3f1M1LJsRLT';
|
||||
CREATE DATABASE mastodon_local TEMPLATE template0 ENCODING UTF8;
|
||||
GRANT ALL PRIVILEGES ON DATABASE mastodon_local TO mastodon_test;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
nginx = {
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.103"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
firewall.allowedTCPPorts = [ 80 443 ];
|
||||
};
|
||||
|
||||
security = {
|
||||
pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts."mastodon.local" = {
|
||||
root = "/var/empty";
|
||||
forceSSL = true;
|
||||
enableACME = pkgs.lib.mkForce false;
|
||||
sslCertificate = "${cert pkgs}/cert.pem";
|
||||
sslCertificateKey = "${cert pkgs}/key.pem";
|
||||
locations."/" = {
|
||||
tryFiles = "$uri @proxy";
|
||||
};
|
||||
locations."@proxy" = {
|
||||
proxyPass = "http://192.168.2.201:55001";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
locations."/api/v1/streaming/" = {
|
||||
proxyPass = "http://192.168.2.201:55002";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
server = { pkgs, ... }: {
|
||||
virtualisation.memorySize = 2048;
|
||||
|
||||
environment = {
|
||||
etc = {
|
||||
"mastodon/password-posgressql-db".text = ''
|
||||
SoDTZcISc3f1M1LJsRLT
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.201"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
firewall.allowedTCPPorts = [ 55001 55002 ];
|
||||
};
|
||||
|
||||
services.mastodon = {
|
||||
enable = true;
|
||||
configureNginx = false;
|
||||
localDomain = "mastodon.local";
|
||||
enableUnixSocket = false;
|
||||
database = {
|
||||
createLocally = false;
|
||||
host = "192.168.2.102";
|
||||
port = 5432;
|
||||
name = "mastodon_local";
|
||||
user = "mastodon_test";
|
||||
passwordFile = "/etc/mastodon/password-posgressql-db";
|
||||
};
|
||||
smtp = {
|
||||
createLocally = false;
|
||||
fromAddress = "mastodon@mastodon.local";
|
||||
};
|
||||
extraConfig = {
|
||||
BIND = "0.0.0.0";
|
||||
EMAIL_DOMAIN_ALLOWLIST = "example.com";
|
||||
RAILS_SERVE_STATIC_FILES = "true";
|
||||
TRUSTED_PROXY_IP = "192.168.2.103";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
client = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.202"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
};
|
||||
|
||||
security = {
|
||||
pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = import ./script.nix {
|
||||
inherit pkgs;
|
||||
extraInit = ''
|
||||
nginx.wait_for_unit("nginx.service")
|
||||
nginx.wait_for_open_port(443)
|
||||
database.wait_for_unit("postgresql.service")
|
||||
database.wait_for_open_port(5432)
|
||||
'';
|
||||
extraShutdown = ''
|
||||
nginx.shutdown()
|
||||
database.shutdown()
|
||||
'';
|
||||
};
|
||||
})
|
54
nixos/tests/web-apps/mastodon/script.nix
Normal file
54
nixos/tests/web-apps/mastodon/script.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ pkgs
|
||||
, extraInit ? ""
|
||||
, extraShutdown ? ""
|
||||
}:
|
||||
|
||||
''
|
||||
start_all()
|
||||
|
||||
${extraInit}
|
||||
|
||||
server.wait_for_unit("redis-mastodon.service")
|
||||
server.wait_for_unit("mastodon-sidekiq.service")
|
||||
server.wait_for_unit("mastodon-streaming.service")
|
||||
server.wait_for_unit("mastodon-web.service")
|
||||
server.wait_for_open_port(55000)
|
||||
server.wait_for_open_port(55001)
|
||||
|
||||
# Check that mastodon-media-auto-remove is scheduled
|
||||
server.succeed("systemctl status mastodon-media-auto-remove.timer")
|
||||
|
||||
# Check Mastodon version from remote client
|
||||
client.succeed("curl --fail https://mastodon.local/api/v1/instance | jq -r '.version' | grep '${pkgs.mastodon.version}'")
|
||||
|
||||
# Check access from remote client
|
||||
client.succeed("curl --fail https://mastodon.local/about | grep 'Mastodon hosted on mastodon.local'")
|
||||
client.succeed("curl --fail $(curl https://mastodon.local/api/v1/instance 2> /dev/null | jq -r .thumbnail) --output /dev/null")
|
||||
|
||||
# Simple check tootctl commands
|
||||
# Check Mastodon version
|
||||
server.succeed("mastodon-tootctl version | grep '${pkgs.mastodon.version}'")
|
||||
|
||||
# Manage accounts
|
||||
server.succeed("mastodon-tootctl email_domain_blocks add example.com")
|
||||
server.succeed("mastodon-tootctl email_domain_blocks list | grep example.com")
|
||||
server.fail("mastodon-tootctl email_domain_blocks list | grep mastodon.local")
|
||||
server.fail("mastodon-tootctl accounts create alice --email=alice@example.com")
|
||||
server.succeed("mastodon-tootctl email_domain_blocks remove example.com")
|
||||
server.succeed("mastodon-tootctl accounts create bob --email=bob@example.com")
|
||||
server.succeed("mastodon-tootctl accounts approve bob")
|
||||
server.succeed("mastodon-tootctl accounts delete bob")
|
||||
|
||||
# Manage IP access
|
||||
server.succeed("mastodon-tootctl ip_blocks add 192.168.0.0/16 --severity=no_access")
|
||||
server.succeed("mastodon-tootctl ip_blocks export | grep 192.168.0.0/16")
|
||||
server.fail("mastodon-tootctl ip_blocks export | grep 172.16.0.0/16")
|
||||
client.fail("curl --fail https://mastodon.local/about")
|
||||
server.succeed("mastodon-tootctl ip_blocks remove 192.168.0.0/16")
|
||||
client.succeed("curl --fail https://mastodon.local/about")
|
||||
|
||||
server.shutdown()
|
||||
client.shutdown()
|
||||
|
||||
${extraShutdown}
|
||||
''
|
92
nixos/tests/web-apps/mastodon/standard.nix
Normal file
92
nixos/tests/web-apps/mastodon/standard.nix
Normal file
|
@ -0,0 +1,92 @@
|
|||
import ../../make-test-python.nix ({pkgs, ...}:
|
||||
let
|
||||
cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
|
||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500
|
||||
mkdir -p $out
|
||||
cp key.pem cert.pem $out
|
||||
'';
|
||||
|
||||
hosts = ''
|
||||
192.168.2.101 mastodon.local
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
name = "mastodon-standard";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin turion ];
|
||||
|
||||
nodes = {
|
||||
server = { pkgs, ... }: {
|
||||
|
||||
virtualisation.memorySize = 2048;
|
||||
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.101"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
firewall.allowedTCPPorts = [ 80 443 ];
|
||||
};
|
||||
|
||||
security = {
|
||||
pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
};
|
||||
|
||||
services.redis.servers.mastodon = {
|
||||
enable = true;
|
||||
bind = "127.0.0.1";
|
||||
port = 31637;
|
||||
};
|
||||
|
||||
services.mastodon = {
|
||||
enable = true;
|
||||
configureNginx = true;
|
||||
localDomain = "mastodon.local";
|
||||
enableUnixSocket = false;
|
||||
smtp = {
|
||||
createLocally = false;
|
||||
fromAddress = "mastodon@mastodon.local";
|
||||
};
|
||||
extraConfig = {
|
||||
EMAIL_DOMAIN_ALLOWLIST = "example.com";
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
virtualHosts."mastodon.local" = {
|
||||
enableACME = pkgs.lib.mkForce false;
|
||||
sslCertificate = "${cert pkgs}/cert.pem";
|
||||
sslCertificateKey = "${cert pkgs}/key.pem";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
client = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.2.102"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = hosts;
|
||||
};
|
||||
|
||||
security = {
|
||||
pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = import ./script.nix {
|
||||
inherit pkgs;
|
||||
extraInit = ''
|
||||
server.wait_for_unit("nginx.service")
|
||||
server.wait_for_open_port(443)
|
||||
server.wait_for_unit("postgresql.service")
|
||||
server.wait_for_open_port(5432)
|
||||
'';
|
||||
};
|
||||
})
|
File diff suppressed because it is too large
Load diff
|
@ -104,12 +104,12 @@
|
|||
};
|
||||
c_sharp = buildGrammar {
|
||||
language = "c_sharp";
|
||||
version = "3ef3f7f";
|
||||
version = "8e4ec08";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-c-sharp";
|
||||
rev = "3ef3f7f99e16e528e6689eae44dff35150993307";
|
||||
hash = "sha256-xBRSwuodQTrKHjwx3JVgnwsAkp9EO+6su3hc2d+6DBQ=";
|
||||
rev = "8e4ec08f1dae1d72f082df0f7e1176772f553d47";
|
||||
hash = "sha256-BIqfaFFwco3aE65N9tRtawxFEXvaVwQvoMgM3cg10/k=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
|
||||
};
|
||||
|
@ -736,23 +736,23 @@
|
|||
};
|
||||
jsonnet = buildGrammar {
|
||||
language = "jsonnet";
|
||||
version = "0475a50";
|
||||
version = "768a384";
|
||||
source = fetchFromGitHub {
|
||||
owner = "sourcegraph";
|
||||
repo = "tree-sitter-jsonnet";
|
||||
rev = "0475a5017ad7dc84845d1d33187f2321abcb261d";
|
||||
hash = "sha256-7LdIA+tsFUIvAk9GoqJwSU5tJDNPtsziv0rbiiLmCLY=";
|
||||
rev = "768a384989391237c6d55ff3d878a0d1e0d2b4fa";
|
||||
hash = "sha256-kSG0YwtkzGVz8RIYBrE0ZyUMc6YTtQO8XvHHiwy5GL4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet";
|
||||
};
|
||||
julia = buildGrammar {
|
||||
language = "julia";
|
||||
version = "91ba1c3";
|
||||
version = "36b099e";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-julia";
|
||||
rev = "91ba1c3c9b50f388d4b67518c04bc9a003ed3475";
|
||||
hash = "sha256-NLUVDfZUjvTnbYwxwij+f9WL7qhduEGrfAUKvEZh/QU=";
|
||||
rev = "36b099e9ea577f64ba53323115028dadd2991d2c";
|
||||
hash = "sha256-sd6Ue7Ur6Juq2kZbuC/E/gK9JJPVG/5UTToQ+5hdTD0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
|
||||
};
|
||||
|
@ -892,12 +892,12 @@
|
|||
};
|
||||
meson = buildGrammar {
|
||||
language = "meson";
|
||||
version = "153d225";
|
||||
version = "6c5f7ef";
|
||||
source = fetchFromGitHub {
|
||||
owner = "Decodetalkers";
|
||||
repo = "tree-sitter-meson";
|
||||
rev = "153d22588fb5c1eee16a165a084f9ea30f29d941";
|
||||
hash = "sha256-q0qcRe94+zFvNzZV6vGGihL5xLl8Vr0lwDZAIYKPq2A=";
|
||||
rev = "6c5f7ef944f9c6ae8a0fc28b9071a4b493652238";
|
||||
hash = "sha256-r/H7v6a1blsendVBxx9Qy4f2i4V3LsxSwe+9/PRbfG8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
|
||||
};
|
||||
|
@ -947,24 +947,24 @@
|
|||
};
|
||||
ocaml = buildGrammar {
|
||||
language = "ocaml";
|
||||
version = "cc26b1e";
|
||||
version = "de07323";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-ocaml";
|
||||
rev = "cc26b1ef111100f26a137bcbcd39fd4e35be9a59";
|
||||
hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
|
||||
rev = "de07323343946c32759933cb3b7c78e821098cad";
|
||||
hash = "sha256-JhJSg6Ht3dy94hAP2yy0fg9U/IeYNGaHYoys/++yOwg=";
|
||||
};
|
||||
location = "ocaml";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
|
||||
};
|
||||
ocaml_interface = buildGrammar {
|
||||
language = "ocaml_interface";
|
||||
version = "cc26b1e";
|
||||
version = "de07323";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-ocaml";
|
||||
rev = "cc26b1ef111100f26a137bcbcd39fd4e35be9a59";
|
||||
hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
|
||||
rev = "de07323343946c32759933cb3b7c78e821098cad";
|
||||
hash = "sha256-JhJSg6Ht3dy94hAP2yy0fg9U/IeYNGaHYoys/++yOwg=";
|
||||
};
|
||||
location = "interface";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
|
||||
|
@ -1016,12 +1016,12 @@
|
|||
};
|
||||
php = buildGrammar {
|
||||
language = "php";
|
||||
version = "64a2abb";
|
||||
version = "47dd353";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "64a2abb98a0cbf2bce23e4af6c05c78f06068886";
|
||||
hash = "sha256-iAi+Cr7bW4mEbFHba+rv0afhY4v1suPGhsCK4IhcMLo=";
|
||||
rev = "47dd3532df8204a444dd6eb042135f1e7964f9cb";
|
||||
hash = "sha256-YU21aRugPfwlYuj+9xJAFD44Btopnln7QEoxANIlcLs=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
};
|
||||
|
@ -1236,12 +1236,12 @@
|
|||
};
|
||||
scheme = buildGrammar {
|
||||
language = "scheme";
|
||||
version = "bdcd2c8";
|
||||
version = "16bdcf0";
|
||||
source = fetchFromGitHub {
|
||||
owner = "6cdh";
|
||||
repo = "tree-sitter-scheme";
|
||||
rev = "bdcd2c8496701153506a9e3e1b76dfed852873ba";
|
||||
hash = "sha256-KfcWGE92nx9lrs3V/lKeE0pPqCqFC/mHamkyryrcdoo=";
|
||||
rev = "16bdcf0495865e17ae5b995257458e31e8b7f450";
|
||||
hash = "sha256-+K+T5IgcEdTZK4s60AmkPg7L6Aw0mj36FMsWaRxUT0I=";
|
||||
};
|
||||
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
|
||||
};
|
||||
|
@ -1291,12 +1291,12 @@
|
|||
};
|
||||
sql = buildGrammar {
|
||||
language = "sql";
|
||||
version = "a4dd131";
|
||||
version = "8dc7fa0";
|
||||
source = fetchFromGitHub {
|
||||
owner = "derekstride";
|
||||
repo = "tree-sitter-sql";
|
||||
rev = "a4dd131eeb9fe7f3c9c2ca0f506f6d58d9986a97";
|
||||
hash = "sha256-Z1x1XPecXt3a4mL40Fyt5+1wrD+0L3Hh9aWjI0vIhIc=";
|
||||
rev = "8dc7fa0e51145f0312eedbb5aff9945bd967fb8f";
|
||||
hash = "sha256-L6mur9BnDzA1mgtsWdyMC52IY9sKwt/xDkfPv2VKPPs=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
|
||||
|
@ -1336,12 +1336,12 @@
|
|||
};
|
||||
swift = buildGrammar {
|
||||
language = "swift";
|
||||
version = "4443b12";
|
||||
version = "693411c";
|
||||
source = fetchFromGitHub {
|
||||
owner = "alex-pinkus";
|
||||
repo = "tree-sitter-swift";
|
||||
rev = "4443b125240d7ae7e50d35d8415fae5be61bdaf2";
|
||||
hash = "sha256-Hym56WVG5QIic+pd6Hvae5ETM6UNaTo4Sr9mTUVFt0Q=";
|
||||
rev = "693411cb5a1167311ccd84708348281630562726";
|
||||
hash = "sha256-KNmRR2Od2uTOHiENeCXoTKAp2jvzSsEhzqf9WmiL3Vo=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
|
||||
|
@ -1382,12 +1382,12 @@
|
|||
};
|
||||
tlaplus = buildGrammar {
|
||||
language = "tlaplus";
|
||||
version = "deaf0e5";
|
||||
version = "27e6d23";
|
||||
source = fetchFromGitHub {
|
||||
owner = "tlaplus-community";
|
||||
repo = "tree-sitter-tlaplus";
|
||||
rev = "deaf0e5c573ad4e2bbfc9a29abb7b6dcb572556e";
|
||||
hash = "sha256-D4A2k14SpVR4iKCMwql403XjHGg7p17EYazvAUiJ2gY=";
|
||||
rev = "27e6d238a5708b0490f43351f6e0baeaab4c9c1f";
|
||||
hash = "sha256-4RwHJN1N2DupVIYqWk2sioiiTtEKBmuLT+t+THr71os=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
|
||||
};
|
||||
|
|
|
@ -446,6 +446,7 @@ https://github.com/fiatjaf/neuron.vim/,,
|
|||
https://github.com/chr4/nginx.vim/,,
|
||||
https://github.com/EdenEast/nightfox.nvim/,,
|
||||
https://github.com/zah/nim.vim/,,
|
||||
https://github.com/tamago324/nlsp-settings.nvim/,main,
|
||||
https://github.com/tjdevries/nlua.nvim/,,
|
||||
https://github.com/mcchrish/nnn.vim/,,
|
||||
https://github.com/folke/noice.nvim/,HEAD,
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "calibre";
|
||||
version = "6.9.0";
|
||||
version = "6.10.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-pAZy9YgAzEks5o4R5r46iGLTcitBrOHyltWg2ZyfzwA=";
|
||||
hash = "sha256-JE5AnaCMfe9mI+qLe1LdbbHAdC5X5wLo/zFhcJLLAhk=";
|
||||
};
|
||||
|
||||
# https://sources.debian.org/patches/calibre/${version}+dfsg-1
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20221130";
|
||||
version = "20221208";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-xz9HSqDrkPP+5L499cT7cF/S3JYpBirTUze1Apkw120=";
|
||||
sha256 = "sha256-GSZy2zW9Ek9nP9zoBfvq3wLghEsaGqmC1f4cs+OVaFE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "ffmpeg-normalize";
|
||||
version = "1.25.3";
|
||||
version = "1.26.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-sEA6faoxuFA355ftI5xL3AXZD+6UYSDxRdQXA9nH5wY=";
|
||||
sha256 = "sha256-+WpWcQnnAUiARLZBkv51AblZDz9g8bM5MQTkm2kYsPQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
|
||||
|
|
|
@ -63,12 +63,12 @@ fetchurl ((
|
|||
chmod -R +w "$unpackDir"
|
||||
''
|
||||
+ (if stripRoot then ''
|
||||
if [ $(ls "$unpackDir" | wc -l) != 1 ]; then
|
||||
if [ $(ls -A "$unpackDir" | wc -l) != 1 ]; then
|
||||
echo "error: zip file must contain a single file or directory."
|
||||
echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files."
|
||||
exit 1
|
||||
fi
|
||||
fn=$(cd "$unpackDir" && echo *)
|
||||
fn=$(cd "$unpackDir" && ls -A)
|
||||
if [ -f "$unpackDir/$fn" ]; then
|
||||
mkdir $out
|
||||
fi
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ testers, fetchzip, ... }:
|
||||
{ testers, fetchzip, runCommand, ... }:
|
||||
|
||||
let
|
||||
url = "https://gist.github.com/glandium/01d54cefdb70561b5f6675e08f2990f2/archive/2f430f0c136a69b0886281d0c76708997d8878af.zip";
|
||||
|
@ -12,6 +12,14 @@ in
|
|||
postFetch = testers.invalidateFetcherByDrvHash fetchzip {
|
||||
inherit url;
|
||||
sha256 = "sha256-7sAOzKa+9vYx5XyndHxeY2ffWAjOsgCkXC9anK6cuV0=";
|
||||
postFetch = ''touch $out/filee'';
|
||||
postFetch = "touch $out/filee";
|
||||
};
|
||||
|
||||
hiddenDir = testers.invalidateFetcherByDrvHash fetchzip {
|
||||
url = "file://${runCommand "hiddendir.tar" {} ''
|
||||
mkdir .foo
|
||||
tar -cf $out .foo
|
||||
''}";
|
||||
sha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,10 +6,14 @@
|
|||
, fftwSinglePrec
|
||||
, doxygen
|
||||
, swig
|
||||
, python3Packages, enablePython ? false
|
||||
, opencl-headers, ocl-icd, enableOpencl ? false
|
||||
, clang, enableClang ? true
|
||||
, cudatoolkit, enableCuda ? false
|
||||
, enablePython ? false
|
||||
, python3Packages
|
||||
, enableOpencl ? true
|
||||
, opencl-headers
|
||||
, ocl-icd
|
||||
, enableCuda ? false
|
||||
, cudaPackages
|
||||
, addOpenGLRunpath
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -31,11 +35,17 @@ stdenv.mkDerivation rec {
|
|||
serialization/tests/TestSerializeIntegrator.cpp
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake gfortran swig doxygen python3Packages.python ];
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gfortran
|
||||
swig
|
||||
doxygen
|
||||
python3Packages.python
|
||||
] ++ lib.optional enableCuda addOpenGLRunpath;
|
||||
|
||||
buildInputs = [ fftwSinglePrec ]
|
||||
++ lib.optionals enableOpencl [ ocl-icd opencl-headers ]
|
||||
++ lib.optional enableCuda cudatoolkit;
|
||||
++ lib.optional enableCuda cudaPackages.cudatoolkit;
|
||||
|
||||
propagatedBuildInputs = lib.optionals enablePython (with python3Packages; [
|
||||
python
|
||||
|
@ -54,32 +64,36 @@ stdenv.mkDerivation rec {
|
|||
"-DOPENMM_BUILD_SHARED_LIB=ON"
|
||||
] ++ lib.optionals enablePython [
|
||||
"-DOPENMM_BUILD_PYTHON_WRAPPERS=ON"
|
||||
] ++ lib.optionals enableClang [
|
||||
"-DCMAKE_C_COMPILER=${clang}/bin/clang"
|
||||
"-DCMAKE_CXX_COMPILER=${clang}/bin/clang++"
|
||||
] ++ lib.optionals enableOpencl [
|
||||
"-DOPENMM_BUILD_OPENCL_LIB=ON"
|
||||
"-DOPENMM_BUILD_AMOEBA_OPENCL_LIB=ON"
|
||||
"-DOPENMM_BUILD_DRUDE_OPENCL_LIB=ON"
|
||||
"-DOPENMM_BUILD_RPMD_OPENCL_LIB=ON"
|
||||
] ++ lib.optionals enableCuda [
|
||||
"-DCUDA_SDK_ROOT_DIR=${cudatoolkit}"
|
||||
"-DCUDA_SDK_ROOT_DIR=${cudaPackages.cudatoolkit}"
|
||||
"-DOPENMM_BUILD_AMOEBA_CUDA_LIB=ON"
|
||||
"-DOPENMM_BUILD_CUDA_LIB=ON"
|
||||
"-DOPENMM_BUILD_DRUDE_CUDA_LIB=ON"
|
||||
"-DOPENMM_BUILD_RPMD_CUDA_LIB=ON"
|
||||
"-DCMAKE_LIBRARY_PATH=${cudatoolkit}/lib64/stubs"
|
||||
"-DCMAKE_LIBRARY_PATH=${cudaPackages.cudatoolkit}/lib64/stubs"
|
||||
];
|
||||
|
||||
postInstall = lib.strings.optionalString enablePython ''
|
||||
export OPENMM_LIB_PATH=$out/lib
|
||||
export OPENMM_INCLUDE_PATH=$out/include
|
||||
cd python
|
||||
${python3Packages.python.interpreter} setup.py build
|
||||
${python3Packages.python.interpreter} setup.py install --prefix=$out
|
||||
export OPENMM_LIB_PATH=$out/lib
|
||||
export OPENMM_INCLUDE_PATH=$out/include
|
||||
cd python
|
||||
${python3Packages.python.interpreter} setup.py build
|
||||
${python3Packages.python.interpreter} setup.py install --prefix=$out
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for lib in $out/lib/plugins/*CUDA.so $out/lib/plugins/*Cuda*.so; do
|
||||
addOpenGLRunpath "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
# Couldn't get CUDA to run properly in the sandbox
|
||||
doCheck = !enableCuda && !enableOpencl;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Toolkit for molecular simulation using high performance GPU code";
|
||||
|
|
|
@ -23,7 +23,5 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://launchpad.net/subunit";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pikepdf";
|
||||
version = "6.2.5";
|
||||
version = "6.2.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -39,7 +39,7 @@ buildPythonPackage rec {
|
|||
postFetch = ''
|
||||
rm "$out/.git_archival.txt"
|
||||
'';
|
||||
hash = "sha256-5ADRKFGQ1k/O/r9CgEWCbOZLgasUJVXtPm+5ocRE4Fk=";
|
||||
hash = "sha256-SqGWXuRwz79ZoDFL6sU9hX3FG/VLwLhQYzZOtT3tqvE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ddosify";
|
||||
version = "0.9.1";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-CUCIY3tDkmNPnHFgfjWa5wVFvaSWV9DAyPFx3+dHxZQ=";
|
||||
sha256 = "sha256-90qC0oWUC2nHDbTZsoDeiKuoHVl3YGRyFm0qj42DnOA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-mq82KNa01gHvW+RUREra+ysaJ1YWIwX0v/uYMxmFN4M=";
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ruff";
|
||||
version = "0.0.182";
|
||||
version = "0.0.183";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charliermarsh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/ZivsD9PQPgF5Q/r6nYwth1MEyT5qOqy1HPvMibDZpI=";
|
||||
sha256 = "sha256-xZSPRSqtf62BSfNw3eJEvsxqGBpy/v5DKWz6mipjsAY=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-mijDys0Zmh+2+WwcMCq3Fouyhzqlr36ziB0vuSafT+o=";
|
||||
cargoSha256 = "sha256-s7IQtfcRvcLgvzep0Ya6i7+OfFlQwFNG67SQe5D0/Ec=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
CoreServices
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# DO NOT EDIT! This file is generated automatically by update.sh
|
||||
{ }:
|
||||
{
|
||||
version = "3.46.0";
|
||||
version = "3.49.0";
|
||||
pulumiPkgs = {
|
||||
x86_64-linux = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.46.0-linux-x64.tar.gz";
|
||||
sha256 = "1q80kp680ilvj9w51m90v6lzj11p3xvzvihf2g5c9lr5r0f4zkaz";
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.49.0-linux-x64.tar.gz";
|
||||
sha256 = "1wz24hhxjhyl0gsv166k0661gckc4xzpgxns99vsd2hgrj0ccsnr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v5.4.0-linux-amd64.tar.gz";
|
||||
|
@ -29,24 +29,24 @@
|
|||
sha256 = "1rp0kdsrljlyzp58zrzvs8ifygrlz3qz6wqi1cxmf482gn1ck3xg";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.19.0-linux-amd64.tar.gz";
|
||||
sha256 = "182281jvafg0ixd6k17y6zvnkfpfi57khf42jsdgn6q97xz9bvfs";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.23.0-linux-amd64.tar.gz";
|
||||
sha256 = "05w5ryi3wsqnnsswpjd2x0dsfaqcd7wx32q67p8p8gh49r3xayhb";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.23.0-linux-amd64.tar.gz";
|
||||
sha256 = "13xwgv9rbzm8n240qc5z6qm93wb662mmvvmvk0pk6c2ypmfsbyhg";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.27.0-linux-amd64.tar.gz";
|
||||
sha256 = "1n7i5y7baxb7wlr16z664ykd9v3rjm0c0ds5fa8zjqg198hi5lkm";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.30.0-linux-amd64.tar.gz";
|
||||
sha256 = "1gbjfcs35p6cc999p0hnzdgv6c7fzhd5ngg5qmrgc9f3q4f41bqp";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.32.0-linux-amd64.tar.gz";
|
||||
sha256 = "1fah3b9xp14qmwywnd08j1hmpcqjnyhzv9qwvsn5pxgdl9k6kk5c";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.5.0-linux-amd64.tar.gz";
|
||||
sha256 = "12sxvvjzf9761cag1kah7sdvjg98mi05jrfy0g06xf7lghlyxpcr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.12.1-linux-amd64.tar.gz";
|
||||
sha256 = "177s1vi6ci4v04gyck8c2p9r17w8538migw6d1n7yzyf74qjdwhl";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.13.0-linux-amd64.tar.gz";
|
||||
sha256 = "10ssqnd4njspvj9s8450hiiya9p6pkxpvhlzk6fws1mc3x6w8hdv";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.7.0-linux-amd64.tar.gz";
|
||||
|
@ -61,8 +61,8 @@
|
|||
sha256 = "0dwnrqng4w02wcmznksdxksak9kgfrj6pg2jny175a1lr6584blf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.5.0-linux-amd64.tar.gz";
|
||||
sha256 = "1wkz9lr1q668kf71gz38n6wd11rxc5np0akw91i5fln5z9wd2jcf";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.6.1-linux-amd64.tar.gz";
|
||||
sha256 = "1zbjvvza1ikh5ag50r2m08nqnzmylanwfrgxw75nm7r9phpi1i9n";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
|
||||
|
@ -73,12 +73,12 @@
|
|||
sha256 = "1w8sclkkzaj88kzx3g4lxg490v5hawv68j6y7a10a11v69qjv6lb";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.41.0-linux-amd64.tar.gz";
|
||||
sha256 = "0ic4irg658w5y24xisxj7707llx28p8rs2d351va2g21sqgzfnh2";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.45.0-linux-amd64.tar.gz";
|
||||
sha256 = "1p9jkanm30wvqhy19dl4qm89xyldks2a8dvxpbpm1nqn1ilppicy";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.0.0-linux-amd64.tar.gz";
|
||||
sha256 = "1n7hmbqc3a4z44wa8pzmfxqzg895pynqsjk0php9z052nkl034kz";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.1.0-linux-amd64.tar.gz";
|
||||
sha256 = "02qlpxndk8p5slpvn2cq7mkj8k8w5zwn5n66cbnb6rh5c43jcwx5";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.9.0-linux-amd64.tar.gz";
|
||||
|
@ -93,8 +93,8 @@
|
|||
sha256 = "09i6lh9wfsfpa5jkj2nb80f3gvmpg3m3flfgfcc794khlrikqmib";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.22.1-linux-amd64.tar.gz";
|
||||
sha256 = "1iiri83hvsvx9nz9whsjj9gswrs06ihywh8lf58rjzmr7bw141ln";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.23.0-linux-amd64.tar.gz";
|
||||
sha256 = "04akrli4cg21w3rhsj7vsgjhn5saal0ikk5jbdw58d4bc28vicji";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.10.1-linux-amd64.tar.gz";
|
||||
|
@ -141,8 +141,8 @@
|
|||
sha256 = "1yq72jgvarbh754a1ym9b8jk40jmk25ly78cw2wj31a96rxv1qp9";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.0-linux-amd64.tar.gz";
|
||||
sha256 = "1826nmjjqyf4yim4axni2qf7l6anyr62fdd81nw7qz52117kl8ig";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.2-linux-amd64.tar.gz";
|
||||
sha256 = "1y05aaj5nw5aqg7bv3sn4hkiq7d5grnsh4dw5v6yr3s564hl0lbl";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-linux-amd64.tar.gz";
|
||||
|
@ -153,8 +153,8 @@
|
|||
sha256 = "1rkn9l16mfr97h9hi5i0kfm4lh6xm5wwxj4mwz8rwwiwfr963zw9";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-amd64.tar.gz";
|
||||
sha256 = "0vwlpczrzpgh274r300ilmm0z3vhg1fdlbx8p5j91p3cp86sj2s1";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.2.0-linux-amd64.tar.gz";
|
||||
sha256 = "11yvdszdd35hz3cd7l2vs5m45pf4zv7lvbmrsfr3i00s3d5rmzj0";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
|
||||
|
@ -163,8 +163,8 @@
|
|||
];
|
||||
x86_64-darwin = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.46.0-darwin-x64.tar.gz";
|
||||
sha256 = "076bf9pj5k9n0gvyvms59x13dwdf9s0sqfmjrv3f3pq52676bycr";
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.49.0-darwin-x64.tar.gz";
|
||||
sha256 = "1sp4q9n2kfiw3sj30k6kcya6jvj52bjim6dy0bz7z23ibrn50psm";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v5.4.0-darwin-amd64.tar.gz";
|
||||
|
@ -187,24 +187,24 @@
|
|||
sha256 = "1ss0si046ikx60l94121vfd80h2axcbddiak3pnwq3cikabyw8r7";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.19.0-darwin-amd64.tar.gz";
|
||||
sha256 = "02jcdmmgm2v5abdqhi4l2w6nd76xh5r12sz7i27ifrq92y67hdwi";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.23.0-darwin-amd64.tar.gz";
|
||||
sha256 = "16vkcr4iilv4lz0sz9hsj9s6yp7lvkaivx8890xs3ckkhqpi778f";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.23.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1rr4hh1kr3cnd55mx2awzykz8m4a491lq1gxw6f01x7csxd7khwb";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.27.0-darwin-amd64.tar.gz";
|
||||
sha256 = "002f5gbjrmhkrvj73r7fv3ccfflfry143mp9rcf9rwhmsfgz5r2f";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.30.0-darwin-amd64.tar.gz";
|
||||
sha256 = "15cza4ak8vliyz615fwjmzis17xsjvbgk7ngv5bjgz627vw7jn9h";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.32.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0rymhyr4a16s0xsw07g45mslfsq2l1rav27vlp8b4k1kshja2g13";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.5.0-darwin-amd64.tar.gz";
|
||||
sha256 = "026i7hxa80b7mipw792anv1wplmz2w23irfy26bsh77an36hk46y";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.12.1-darwin-amd64.tar.gz";
|
||||
sha256 = "18k9gzsbx48q17y9p8i5wqbjcq9bq94ha96lxvljcyf0jmsklkj6";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.13.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1nhgf3qwvhxl2akl3y7spwirb34cbch7fvz5rjbb0f8680r59sd3";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.7.0-darwin-amd64.tar.gz";
|
||||
|
@ -219,8 +219,8 @@
|
|||
sha256 = "08v8s77plv9fv5bjx6g6wfq1fxknmmacws33zgl06vqdgdsfg1gx";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.5.0-darwin-amd64.tar.gz";
|
||||
sha256 = "07kxf42j2a4z1ph161mqll2vlzhgw1ibrvd69gzqwr4d4098s7sb";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.6.1-darwin-amd64.tar.gz";
|
||||
sha256 = "0jj56yy8sywkszsbznjbbydxdqra63n6igffd6c1nknrh7161pcd";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
|
||||
|
@ -231,12 +231,12 @@
|
|||
sha256 = "015wqmygcagx3abwwisf5iyi6xaakw2wxs2nc4clis9q0g6dnw3y";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.41.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0c04cc85qvpxk7yp10728rl5xjzx5lyl36r6fpkvip16si0frqzl";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.45.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0jdjfzc5abl01z8n07vcb3vk82x87rhpmkrk9ra7i57p8f5rhyfr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.0.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0kz7ah6a1lai12n0lq0lygvszs8fh7fnnz92na06p517bl5dbink";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.1.0-darwin-amd64.tar.gz";
|
||||
sha256 = "03a3lbmr737aql53wjavbh474g4cwxil6dvs47d71akp9mbn38f6";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.9.0-darwin-amd64.tar.gz";
|
||||
|
@ -251,8 +251,8 @@
|
|||
sha256 = "1jp9cfw8jj1wms73b5d1xhkmnylly061fxilxzvnpd49glam7da6";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.22.1-darwin-amd64.tar.gz";
|
||||
sha256 = "15dhf48k3vwg5ralcaljzg20vssvl4r615z3la852s9hlyr0rvzz";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.23.0-darwin-amd64.tar.gz";
|
||||
sha256 = "08a135hg0xkfcx9dvfgxxyl2gp87aybq3np53ni85rwbja297zqn";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.10.1-darwin-amd64.tar.gz";
|
||||
|
@ -299,8 +299,8 @@
|
|||
sha256 = "0g1kh5zkkr9m1k5qmmmkay089j0yqbz9qap6k7gii1k601mm09sf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0k39q57wwdcxgpmv6sfifkmcc1rplqabjxk8fg3bvna6zias81yn";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.2-darwin-amd64.tar.gz";
|
||||
sha256 = "1pxvsxk0w4q9fqrf3q4a93ah4plhwsdwy9sapwwmh2nld489y5ld";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-darwin-amd64.tar.gz";
|
||||
|
@ -311,8 +311,8 @@
|
|||
sha256 = "0bmdfvdh2smwpdmz8jhkn4cl4zrn7jqw8nmf7y7zkpwpiw8647ir";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-amd64.tar.gz";
|
||||
sha256 = "1ldksyxgwbg6fswfakgy3gdm5y50kc0bk74pxcza7w7ncirr9cvg";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.2.0-darwin-amd64.tar.gz";
|
||||
sha256 = "03wn8hm42xn6rnnfinckhfznz4i1mpb6h37kgchpv0s4akapv97r";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
|
||||
|
@ -321,8 +321,8 @@
|
|||
];
|
||||
aarch64-linux = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.46.0-linux-arm64.tar.gz";
|
||||
sha256 = "137ngy26ag04yw1k3hzhmadqphw7ipfz1dcg2aal0vq8rk0xrfnb";
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.49.0-linux-arm64.tar.gz";
|
||||
sha256 = "1jrn74dp61kv4dppf0aav4fwjc9nzyhn8xss1z5l6xklls4sm7gv";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v5.4.0-linux-arm64.tar.gz";
|
||||
|
@ -345,24 +345,24 @@
|
|||
sha256 = "1r8rq9m2rayylspz38x8wqj7d9nlks3ynr5ifdiqf10a5xchcw96";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.19.0-linux-arm64.tar.gz";
|
||||
sha256 = "13bkgsb8wqy9jcmmwignx7609m5qhmj2ghsprwmmbjnmcnsc21k7";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.23.0-linux-arm64.tar.gz";
|
||||
sha256 = "105dz76dx9zscmhsb02iykj98lrbjavlkl65a6885crjvr48dwg5";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.23.0-linux-arm64.tar.gz";
|
||||
sha256 = "0bgzqn0wwb823bwm3vkblwnqhfsha5rvq6ab5gnr8zk2phzfjq3a";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.27.0-linux-arm64.tar.gz";
|
||||
sha256 = "0jjvmsaa3g6mf905d6sv3rgl78vylvpmbb9pzx1ymyainx8pd1df";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.30.0-linux-arm64.tar.gz";
|
||||
sha256 = "1s5b0hjzvnmc1y6hl2zqi1m7a3gc6394d87valnqvxrix8jxlw5w";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.32.0-linux-arm64.tar.gz";
|
||||
sha256 = "1fyhmcmnzbghhj8q0p4zsfqh69g9arfwgipakq5qrcmcpw9kij6f";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.5.0-linux-arm64.tar.gz";
|
||||
sha256 = "1bxrh89hkw9b0g20d4apwhswl1dxb4v4nn5rkkkjd91ykin5idp2";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.12.1-linux-arm64.tar.gz";
|
||||
sha256 = "0gr30lgad0xf7f4acxj9v7r69gncfzh1x7rn7nvyibsfy7ggn80z";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.13.0-linux-arm64.tar.gz";
|
||||
sha256 = "0fzgwyqn55n4x6v36dzjvkw4xj4z27vpzm70bfnc5b0arq67hddl";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.7.0-linux-arm64.tar.gz";
|
||||
|
@ -377,8 +377,8 @@
|
|||
sha256 = "0bx2dczfm1zqpkclyf1pj0m0iv2w7c3dlqdajfgism3inyb6313c";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.5.0-linux-arm64.tar.gz";
|
||||
sha256 = "0600s9hyvxxqbbcaikmwqg0ib6ibjz9wxadlpd9ch50kvsmfi0w4";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.6.1-linux-arm64.tar.gz";
|
||||
sha256 = "1c53lw2hh2ppvz9nkhg1fdblnfbd5vbas6zm92iqz859gi6a23z1";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
|
||||
|
@ -389,12 +389,12 @@
|
|||
sha256 = "1j4qp9pf9iy7hzq5pvj2ysk149s5012bi03il2qz3qcz2ga983p7";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.41.0-linux-arm64.tar.gz";
|
||||
sha256 = "0i6v54m7xg8wss8733zdvghx5mfhqzryv1d1ybhpqvj7650kmw38";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.45.0-linux-arm64.tar.gz";
|
||||
sha256 = "1vrr17vc0n0f60w898c9s77car0yq39srhh0xb23lpi2v37ina8m";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.0.0-linux-arm64.tar.gz";
|
||||
sha256 = "0nf5s17x2k57rbmfi0b7lyicmsnm1gq1y5vfy5gpb0wxrcmnyadm";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.1.0-linux-arm64.tar.gz";
|
||||
sha256 = "1zpqpja1264w5gvr20g15vccdv44rc8mcair0w78gx32anxnxwfy";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.9.0-linux-arm64.tar.gz";
|
||||
|
@ -409,8 +409,8 @@
|
|||
sha256 = "0gis39k5kgdxl0i4afy78hkcmwpzm1shh4x713p7dg6h8w0afdmi";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.22.1-linux-arm64.tar.gz";
|
||||
sha256 = "16if0nrj433b7xclg2mv9lcq2p5phkj4lviyi5xb655mapyzkqg2";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.23.0-linux-arm64.tar.gz";
|
||||
sha256 = "1w43js5nxzwah046y54a1h72cqz6n701sns8zppssgzidr2cqvjv";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.10.1-linux-arm64.tar.gz";
|
||||
|
@ -457,8 +457,8 @@
|
|||
sha256 = "11n751m4z2gjslvf28xazhq123yfqyyhshni97ad5ki23i1v785l";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.0-linux-arm64.tar.gz";
|
||||
sha256 = "0x3xdqd623q83fr67byhnqbx7gz8p8j65myygmjr14p2rfh1jvvb";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.2-linux-arm64.tar.gz";
|
||||
sha256 = "0h80hzx69bl61zbh25lqjsjvffc2b7l1nf6dlny5vnb4yk17wfxi";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-linux-arm64.tar.gz";
|
||||
|
@ -469,8 +469,8 @@
|
|||
sha256 = "065bcvm1p6fbhnhq4r0l5km7z7srd6yfpj05qd070lp5iaz90mp7";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-arm64.tar.gz";
|
||||
sha256 = "13ys3i7anpvbmikzxlj44kw8shp9x4cg6nlqijx80vwl3hwk5qpw";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.2.0-linux-arm64.tar.gz";
|
||||
sha256 = "0rp3gdng2gnskddwlkkglig3dssdvg9x71pq6ab8mhr4afhza4f8";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
|
||||
|
@ -479,8 +479,8 @@
|
|||
];
|
||||
aarch64-darwin = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.46.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1id3l0dycqf8rwxzf2nx11xg2qcvzgpp3373l4qfab68251cw15d";
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.49.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0ykpgk3ngczzyv8vnwya937p51q463xm0pr69vdannc8jpn7w7ds";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v5.4.0-darwin-arm64.tar.gz";
|
||||
|
@ -503,24 +503,24 @@
|
|||
sha256 = "0dvcbni3s6gpcizgdilsjnks7z3srvdmzqlcdd61dzv0j5jkfshp";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.19.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0hszy2nsw88qirnf58yrbmsgra98j2zla635y58ap10f7am1x69x";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.23.0-darwin-arm64.tar.gz";
|
||||
sha256 = "096hmgpfx5hq8m4b7m3zxym2szvrdyhy041wqg6v5rzhhm23ra6n";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.23.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1mcpw2nikllhb5nnniazamfs469m6kc5x1abngz469mr41zl4qr4";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.27.0-darwin-arm64.tar.gz";
|
||||
sha256 = "015s2sskdgifx22p66zzga3qzsqvh87anfb9429akm4h8wflz3rn";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.30.0-darwin-arm64.tar.gz";
|
||||
sha256 = "14ysglr53893glmyfv59dy4kqibqc9nl4v477bd1rynnxickdm38";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.32.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1zagcsbn1blja0g8yk5bp7l20dhrpg8f84q2xck1py7yi0dgb8si";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.5.0-darwin-arm64.tar.gz";
|
||||
sha256 = "030fyfj5yd4p0f7ffwdsqvkjwxihz96vgy2qqibhyyv3p6ymdpym";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.12.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0jp50xcv9ss156i3v173j28ia7ykslmcv8nb4a8bz10jmhkxg52v";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.13.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0qy88ngn3z716r2rjramgj11fggh86zcpcx0cfldmwjn2hkyhqab";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.7.0-darwin-arm64.tar.gz";
|
||||
|
@ -535,8 +535,8 @@
|
|||
sha256 = "1gzh37b5jmpz3ih7s7r11vx7wpph7pvn3iidy6gckrs9rw9jp7l4";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.5.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0bl2sqinn5bf3hp7maw7092n08v0pnjrcjpxhls7n234kq124rlk";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.6.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0wkipvz6w8x3acn36kh871c5f4sfi5yb2x6hhwwls7vfbm402n5j";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
|
||||
|
@ -547,12 +547,12 @@
|
|||
sha256 = "0vdrj3w6w9qw823fwr1i8j3gqirknvx5yiinp8sglsx9xb6p9q5i";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.41.0-darwin-arm64.tar.gz";
|
||||
sha256 = "07g75akxm7lsah20pvv2mmvgc6lfzrilky3ny32ra7cm591kdxsk";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.45.0-darwin-arm64.tar.gz";
|
||||
sha256 = "17r1fprf7gbymmwyw2vqalj6x34iqhqx0jvrcm5g93qwgcimhi5g";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.0.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0246m5df3xbh5kjfj2g3lifk443daphq0sccs1rbmvfzhb8lm7yv";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.1.0-darwin-arm64.tar.gz";
|
||||
sha256 = "06y4ciy227kfck89av48dbnhd4mfac9gycgiqxn7nfsq8klabf2d";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.9.0-darwin-arm64.tar.gz";
|
||||
|
@ -567,8 +567,8 @@
|
|||
sha256 = "1679zpv2r3i2acjmx2a6i7dc47p73gf3jw1k1aclasd5cyjf46jf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.22.1-darwin-arm64.tar.gz";
|
||||
sha256 = "1q5xx4d1kk8hm39bnagq9f4y78ganrnw7380bsgm1qxkbq3k1lcm";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.23.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1m2p7xhfw8lxmdc9s16bq501ssyw7gyxmci1ci4grnk11id5a2x2";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.10.1-darwin-arm64.tar.gz";
|
||||
|
@ -615,8 +615,8 @@
|
|||
sha256 = "0yyr5dv612ar8c12w74zwp0n1v77lry548fs6b0d20cc3a6d10gb";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.0-darwin-arm64.tar.gz";
|
||||
sha256 = "16kkhfaskk4rq00h3h6gpndam64py7swk199v4l9w29rg4wl5v3q";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.7.2-darwin-arm64.tar.gz";
|
||||
sha256 = "0ss4q1l4x0jwagcqcjkb65ksrfai8j4lb3xdbbfk58yxcmk5wwr3";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-darwin-arm64.tar.gz";
|
||||
|
@ -627,8 +627,8 @@
|
|||
sha256 = "02739v2jq70s9vxvibffd9xnhfpy0zp3724n79pdcjygj5xw32g9";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-arm64.tar.gz";
|
||||
sha256 = "02zj0d1cc9qmmql27licsm33ygvgcmj19blxkhn8zxwr666jf6kw";
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.2.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1dlf93xbx643kh3np3v8vg3n82rcsc7k90qf2rcqikyyzqqlr886";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
|
||||
|
|
|
@ -12,7 +12,7 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|||
|
||||
# Version of Pulumi from
|
||||
# https://www.pulumi.com/docs/get-started/install/versions/
|
||||
VERSION="3.46.0"
|
||||
VERSION="3.49.0"
|
||||
|
||||
# An array of plugin names. The respective repository inside Pulumi's
|
||||
# Github organization is called pulumi-$name by convention.
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "abcMIDI";
|
||||
version = "2022.12.05";
|
||||
version = "2022.12.09";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
|
||||
hash = "sha256-DLPew6pz+ABgdxSdHSX62VieRnTvbaj2sY3ujti1aj0=";
|
||||
hash = "sha256-sDJBfDH8RgoaFtOvO01jzqbYkGtmDGRQps7axXttYQI=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -81,6 +81,8 @@ stdenv.mkDerivation rec {
|
|||
done
|
||||
'';
|
||||
|
||||
patches = [ ./gtest.patch ];
|
||||
|
||||
# Same as vulkan-validation-layers
|
||||
dontPatchELF = true;
|
||||
|
||||
|
|
34
pkgs/tools/graphics/vulkan-tools-lunarg/gtest.patch
Normal file
34
pkgs/tools/graphics/vulkan-tools-lunarg/gtest.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
diff --git a/external/googletest/googlemock/CMakeLists.txt b/external/googletest/googlemock/CMakeLists.txt
|
||||
index e7df8ec53d..869bfcb716 100644
|
||||
--- a/external/googletest/googlemock/CMakeLists.txt
|
||||
+++ b/external/googletest/googlemock/CMakeLists.txt
|
||||
@@ -111,10 +111,10 @@ endif()
|
||||
if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")
|
||||
target_include_directories(gmock SYSTEM INTERFACE
|
||||
"$<BUILD_INTERFACE:${gmock_build_include_dirs}>"
|
||||
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>")
|
||||
target_include_directories(gmock_main SYSTEM INTERFACE
|
||||
"$<BUILD_INTERFACE:${gmock_build_include_dirs}>"
|
||||
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>")
|
||||
endif()
|
||||
|
||||
########################################################################
|
||||
diff --git a/external/googletest/googletest/CMakeLists.txt b/external/googletest/googletest/CMakeLists.txt
|
||||
index abdd98b79a..7ae174d566 100644
|
||||
--- a/external/googletest/googletest/CMakeLists.txt
|
||||
+++ b/external/googletest/googletest/CMakeLists.txt
|
||||
@@ -138,10 +138,10 @@ set_target_properties(gtest_main PROPERTIES VERSION ${GOOGLETEST_VERSION})
|
||||
if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")
|
||||
target_include_directories(gtest SYSTEM INTERFACE
|
||||
"$<BUILD_INTERFACE:${gtest_build_include_dirs}>"
|
||||
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>")
|
||||
target_include_directories(gtest_main SYSTEM INTERFACE
|
||||
"$<BUILD_INTERFACE:${gtest_build_include_dirs}>"
|
||||
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>")
|
||||
endif()
|
||||
target_link_libraries(gtest_main PUBLIC gtest)
|
||||
|
|
@ -15,14 +15,14 @@ let
|
|||
in
|
||||
with python.pkgs; buildPythonApplication rec {
|
||||
pname = "esphome";
|
||||
version = "2022.12.0";
|
||||
version = "2022.12.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ZFu9txZTdCOhDpsjz7cjmWkY+Fdd07masd0YA/tRS80=";
|
||||
hash = "sha256-gDAwZhfkXMqU4dbowpPhNl52Kg3Kx9lgBNzhzkQPrN0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "nix-update";
|
||||
version = "0.10.0";
|
||||
version = "0.11.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mic92";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-BChN92gZ1Ga7hIPWmdzkrg31S0iqWwXGkWb3mmRugY8=";
|
||||
sha256 = "sha256-nBLNMQKLgx5m5VyxTdSLBE9kNhUPdaRzVi5BQx83m+4=";
|
||||
};
|
||||
|
||||
makeWrapperArgs = [
|
||||
|
@ -29,8 +29,9 @@ buildPythonApplication rec {
|
|||
meta = with lib; {
|
||||
description = "Swiss-knife for updating nix packages";
|
||||
inherit (src.meta) homepage;
|
||||
changelog = "https://github.com/Mic92/nix-update/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mic92 zowoq ];
|
||||
maintainers = with maintainers; [ figsoda mic92 zowoq ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue