Merge master into staging-next
This commit is contained in:
@@ -116,6 +116,10 @@
|
||||
|
||||
- `fetchgit`: Add `rootDir` argument to limit the resulting source to one subdirectory of the whole Git repository. Corresponding `--root-dir` option added to `nix-prefetch-git`.
|
||||
|
||||
- The `clickhouse` package now track the stable upstream version per [upstream's
|
||||
recommendation](https://clickhouse.com/docs/faq/operations/production). Users
|
||||
can continue to use the `clickhouse-lts` package if desired.
|
||||
|
||||
## Nixpkgs Library {#sec-nixpkgs-release-25.11-lib}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# Throws an error if any of our lib tests fail.
|
||||
|
||||
let
|
||||
tests = [
|
||||
"misc"
|
||||
"systems"
|
||||
];
|
||||
all = builtins.concatLists (map (f: import (./. + "/${f}.nix")) tests);
|
||||
in
|
||||
if all == [ ] then null else throw (builtins.toJSON all)
|
||||
+9
-14
@@ -145,6 +145,11 @@ let
|
||||
inherit expected;
|
||||
};
|
||||
|
||||
dummyDerivation = derivation {
|
||||
name = "name";
|
||||
builder = "builder";
|
||||
system = "system";
|
||||
};
|
||||
in
|
||||
|
||||
runTests {
|
||||
@@ -757,18 +762,8 @@ runTests {
|
||||
};
|
||||
|
||||
testSplitStringsDerivation = {
|
||||
expr = take 3 (
|
||||
strings.splitString "/" (derivation {
|
||||
name = "name";
|
||||
builder = "builder";
|
||||
system = "system";
|
||||
})
|
||||
);
|
||||
expected = [
|
||||
""
|
||||
"nix"
|
||||
"store"
|
||||
];
|
||||
expr = lib.dropEnd 1 (strings.splitString "/" dummyDerivation);
|
||||
expected = strings.splitString "/" builtins.storeDir;
|
||||
};
|
||||
|
||||
testSplitVersionSingle = {
|
||||
@@ -816,7 +811,7 @@ runTests {
|
||||
in
|
||||
{
|
||||
storePath = isStorePath goodPath;
|
||||
storePathDerivation = isStorePath (import ../.. { system = "x86_64-linux"; }).hello;
|
||||
storePathDerivation = isStorePath dummyDerivation;
|
||||
storePathAppendix = isStorePath "${goodPath}/bin/python";
|
||||
nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath)));
|
||||
asPath = isStorePath (/. + goodPath);
|
||||
@@ -901,7 +896,7 @@ runTests {
|
||||
};
|
||||
|
||||
testHasInfixDerivation = {
|
||||
expr = hasInfix "hello" (import ../.. { system = "x86_64-linux"; }).hello;
|
||||
expr = hasInfix "name" dummyDerivation;
|
||||
expected = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
pkgs.runCommand "nixpkgs-lib-tests-nix-${nix.version}"
|
||||
{
|
||||
buildInputs = [
|
||||
(import ./check-eval.nix)
|
||||
(import ./fetchers.nix)
|
||||
(import ../path/tests {
|
||||
inherit pkgs;
|
||||
})
|
||||
@@ -71,6 +69,12 @@ pkgs.runCommand "nixpkgs-lib-tests-nix-${nix.version}"
|
||||
echo "Running lib/tests/systems.nix"
|
||||
[[ $(nix-instantiate --eval --strict lib/tests/systems.nix | tee /dev/stderr) == '[ ]' ]];
|
||||
|
||||
echo "Running lib/tests/misc.nix"
|
||||
[[ $(nix-instantiate --eval --strict lib/tests/misc.nix | tee /dev/stderr) == '[ ]' ]];
|
||||
|
||||
echo "Running lib/tests/fetchers.nix"
|
||||
[[ $(nix-instantiate --eval --strict lib/tests/fetchers.nix | tee /dev/stderr) == '[ ]' ]];
|
||||
|
||||
mkdir $out
|
||||
echo success > $out/${nix.version}
|
||||
''
|
||||
|
||||
@@ -6270,13 +6270,6 @@
|
||||
githubId = 17111639;
|
||||
name = "Devin Singh";
|
||||
};
|
||||
devpikachu = {
|
||||
email = "andrei.hava@proton.me";
|
||||
matrix = "@andrei:matrix.detpikachu.dev";
|
||||
github = "devpikachu";
|
||||
githubId = 30475873;
|
||||
name = "Andrei Hava";
|
||||
};
|
||||
devplayer0 = {
|
||||
email = "dev@nul.ie";
|
||||
github = "devplayer0";
|
||||
|
||||
@@ -294,6 +294,45 @@ in
|
||||
);
|
||||
};
|
||||
|
||||
discordAuthentication = lib.mkOption {
|
||||
description = ''
|
||||
To configure Discord auth, you'll need to create an application at
|
||||
https://discord.com/developers/applications/
|
||||
|
||||
See https://docs.getoutline.com/s/hosting/doc/discord-g4JdWFFub6
|
||||
for details on setting up your Discord app.
|
||||
'';
|
||||
default = null;
|
||||
type = lib.types.nullOr (
|
||||
lib.types.submodule {
|
||||
options = {
|
||||
clientId = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Authentication client identifier.";
|
||||
};
|
||||
clientSecretFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "File path containing the authentication secret.";
|
||||
};
|
||||
serverId = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Restrict logins to a specific server (optional, but recommended).
|
||||
You can find a Discord server's ID by right-clicking the server icon,
|
||||
and select “Copy Server ID”.
|
||||
'';
|
||||
};
|
||||
serverRoles = lib.mkOption {
|
||||
type = lib.types.commas;
|
||||
default = "";
|
||||
description = "Optionally restrict logins to a comma-separated list of role IDs";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
oidcAuthentication = lib.mkOption {
|
||||
description = ''
|
||||
To configure generic OIDC auth, you'll need some kind of identity
|
||||
@@ -721,6 +760,12 @@ in
|
||||
SLACK_MESSAGE_ACTIONS = builtins.toString cfg.slackIntegration.messageActions;
|
||||
})
|
||||
|
||||
(lib.mkIf (cfg.discordAuthentication != null) {
|
||||
DISCORD_CLIENT_ID = cfg.discordAuthentication.clientId;
|
||||
DISCORD_SERVER_ID = cfg.discordAuthentication.serverId;
|
||||
DISCORD_SERVER_ROLES = cfg.discordAuthentication.serverRoles;
|
||||
})
|
||||
|
||||
(lib.mkIf (cfg.smtp != null) {
|
||||
SMTP_HOST = cfg.smtp.host;
|
||||
SMTP_PORT = builtins.toString cfg.smtp.port;
|
||||
@@ -760,6 +805,9 @@ in
|
||||
${lib.optionalString (cfg.oidcAuthentication != null) ''
|
||||
export OIDC_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.oidcAuthentication.clientSecretFile})"
|
||||
''}
|
||||
${lib.optionalString (cfg.discordAuthentication != null) ''
|
||||
export DISCORD_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.discordAuthentication.clientSecretFile})"
|
||||
''}
|
||||
${lib.optionalString (cfg.sslKeyFile != null) ''
|
||||
export SSL_KEY="$(head -n1 ${lib.escapeShellArg cfg.sslKeyFile})"
|
||||
''}
|
||||
|
||||
@@ -333,7 +333,14 @@ in
|
||||
cinnamon-wayland = runTest ./cinnamon-wayland.nix;
|
||||
cjdns = runTest ./cjdns.nix;
|
||||
clatd = runTest ./clatd.nix;
|
||||
clickhouse = import ./clickhouse { inherit runTest; };
|
||||
clickhouse = import ./clickhouse {
|
||||
inherit runTest;
|
||||
package = pkgs.clickhouse;
|
||||
};
|
||||
clickhouse-lts = import ./clickhouse {
|
||||
inherit runTest;
|
||||
package = pkgs.clickhouse-lts;
|
||||
};
|
||||
cloud-init = runTest ./cloud-init.nix;
|
||||
cloud-init-hostname = runTest ./cloud-init-hostname.nix;
|
||||
cloudlog = runTest ./cloudlog.nix;
|
||||
@@ -1486,7 +1493,7 @@ in
|
||||
teleports = runTest ./teleports.nix;
|
||||
thelounge = handleTest ./thelounge.nix { };
|
||||
terminal-emulators = handleTest ./terminal-emulators.nix { };
|
||||
thanos = handleTest ./thanos.nix { };
|
||||
thanos = runTest ./thanos.nix;
|
||||
tiddlywiki = runTest ./tiddlywiki.nix;
|
||||
tigervnc = handleTest ./tigervnc.nix { };
|
||||
tika = runTest ./tika.nix;
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, package, ... }:
|
||||
{
|
||||
name = "clickhouse";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ jpds ];
|
||||
meta.maintainers = with pkgs.lib.maintainers; [
|
||||
jpds
|
||||
thevar1able
|
||||
];
|
||||
|
||||
nodes.machine = {
|
||||
services.clickhouse.enable = true;
|
||||
services.clickhouse = {
|
||||
enable = true;
|
||||
inherit package;
|
||||
};
|
||||
virtualisation.memorySize = 4096;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,8 +1,31 @@
|
||||
{ runTest }:
|
||||
{
|
||||
runTest,
|
||||
package,
|
||||
}:
|
||||
|
||||
{
|
||||
base = runTest ./base.nix;
|
||||
kafka = runTest ./kafka.nix;
|
||||
keeper = runTest ./keeper.nix;
|
||||
s3 = runTest ./s3.nix;
|
||||
base = runTest {
|
||||
imports = [ ./base.nix ];
|
||||
_module.args = {
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
kafka = runTest {
|
||||
imports = [ ./kafka.nix ];
|
||||
_module.args = {
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
keeper = runTest {
|
||||
imports = [ ./keeper.nix ];
|
||||
_module.args = {
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
s3 = runTest {
|
||||
imports = [ ./s3.nix ];
|
||||
_module.args = {
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, package, ... }:
|
||||
|
||||
let
|
||||
kafkaNamedCollectionConfig = ''
|
||||
@@ -28,7 +28,10 @@ let
|
||||
in
|
||||
{
|
||||
name = "clickhouse-kafka";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ jpds ];
|
||||
meta.maintainers = with pkgs.lib.maintainers; [
|
||||
jpds
|
||||
thevar1able
|
||||
];
|
||||
|
||||
nodes = {
|
||||
clickhouse = {
|
||||
@@ -38,7 +41,10 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
services.clickhouse.enable = true;
|
||||
services.clickhouse = {
|
||||
enable = true;
|
||||
inherit package;
|
||||
};
|
||||
virtualisation.memorySize = 4096;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,15 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
package,
|
||||
...
|
||||
}:
|
||||
rec {
|
||||
name = "clickhouse-keeper";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ jpds ];
|
||||
meta.maintainers = with pkgs.lib.maintainers; [
|
||||
jpds
|
||||
thevar1able
|
||||
];
|
||||
|
||||
nodes =
|
||||
let
|
||||
@@ -94,7 +102,10 @@ rec {
|
||||
9444
|
||||
];
|
||||
|
||||
services.clickhouse.enable = true;
|
||||
services.clickhouse = {
|
||||
enable = true;
|
||||
inherit package;
|
||||
};
|
||||
|
||||
systemd.services.clickhouse = {
|
||||
after = [ "network-online.target" ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, package, ... }:
|
||||
|
||||
let
|
||||
s3 = {
|
||||
@@ -40,7 +40,10 @@ let
|
||||
in
|
||||
{
|
||||
name = "clickhouse-s3";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ jpds ];
|
||||
meta.maintainers = with pkgs.lib.maintainers; [
|
||||
jpds
|
||||
thevar1able
|
||||
];
|
||||
|
||||
nodes = {
|
||||
clickhouse = {
|
||||
@@ -50,7 +53,10 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
services.clickhouse.enable = true;
|
||||
services.clickhouse = {
|
||||
enable = true;
|
||||
inherit package;
|
||||
};
|
||||
virtualisation.diskSize = 15 * 1024;
|
||||
virtualisation.memorySize = 4 * 1024;
|
||||
};
|
||||
|
||||
+97
-9
@@ -1,11 +1,17 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (import ./ssh-keys.nix pkgs)
|
||||
snakeOilEd25519PrivateKey
|
||||
snakeOilEd25519PublicKey
|
||||
;
|
||||
|
||||
remoteRepository = "/root/restic-backup";
|
||||
remoteFromFileRepository = "/root/restic-backup-from-file";
|
||||
remoteInhibitTestRepository = "/root/restic-backup-inhibit-test";
|
||||
remoteNoInitRepository = "/root/restic-backup-no-init";
|
||||
rcloneRepository = "rclone:local:/root/restic-rclone-backup";
|
||||
sftpRepository = "sftp:alice@sftp:backups/test";
|
||||
|
||||
backupPrepareCommand = ''
|
||||
touch /root/backupPrepareCommand
|
||||
@@ -51,7 +57,34 @@ in
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server =
|
||||
sftp =
|
||||
# Copied from openssh.nix
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Match Group sftponly
|
||||
ChrootDirectory /srv/sftp
|
||||
ForceCommand internal-sftp
|
||||
'';
|
||||
};
|
||||
|
||||
users.groups = {
|
||||
sftponly = { };
|
||||
};
|
||||
users.users = {
|
||||
alice = {
|
||||
isNormalUser = true;
|
||||
createHome = false;
|
||||
group = "sftponly";
|
||||
shell = "/run/current-system/sw/bin/nologin";
|
||||
openssh.authorizedKeys.keys = [ snakeOilEd25519PublicKey ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
restic =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.restic.backups = {
|
||||
@@ -68,6 +101,20 @@ in
|
||||
initialize = true;
|
||||
timerConfig = null; # has no effect here, just checking that it doesn't break the service
|
||||
};
|
||||
remote-sftp = {
|
||||
inherit
|
||||
passwordFile
|
||||
paths
|
||||
exclude
|
||||
pruneOpts
|
||||
;
|
||||
repository = sftpRepository;
|
||||
initialize = true;
|
||||
timerConfig = null; # has no effect here, just checking that it doesn't break the service
|
||||
extraOptions = [
|
||||
"sftp.command='ssh alice@sftp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -s sftp'"
|
||||
];
|
||||
};
|
||||
remote-from-file-backup = {
|
||||
inherit passwordFile exclude pruneOpts;
|
||||
initialize = true;
|
||||
@@ -143,28 +190,55 @@ in
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
server.start()
|
||||
server.wait_for_unit("dbus.socket")
|
||||
server.fail(
|
||||
restic.start()
|
||||
sftp.start()
|
||||
restic.wait_for_unit("dbus.socket")
|
||||
sftp.wait_for_unit("sshd.service")
|
||||
|
||||
restic.systemctl("start network-online.target")
|
||||
restic.wait_for_unit("network-online.target")
|
||||
|
||||
sftp.succeed(
|
||||
"mkdir -p /srv/sftp/backups",
|
||||
"chown alice:sftponly /srv/sftp/backups",
|
||||
"chmod 0755 /srv/sftp/backups",
|
||||
)
|
||||
|
||||
restic.succeed(
|
||||
"mkdir -p /root/.ssh/",
|
||||
"cat ${snakeOilEd25519PrivateKey} > /root/.ssh/id_ed25519",
|
||||
"chmod 0600 /root/.ssh/id_ed25519",
|
||||
)
|
||||
|
||||
restic.fail(
|
||||
"restic-remotebackup snapshots",
|
||||
"restic-remote-sftp snapshots",
|
||||
'restic-remote-from-file-backup snapshots"',
|
||||
"restic-rclonebackup snapshots",
|
||||
"grep 'backup.* /opt' /root/fake-restic.log",
|
||||
)
|
||||
server.succeed(
|
||||
restic.succeed(
|
||||
# set up
|
||||
"cp -rT ${testDir} /opt",
|
||||
"touch /opt/excluded_file_1 /opt/excluded_file_2",
|
||||
"mkdir -p /root/restic-rclone-backup",
|
||||
)
|
||||
|
||||
server.fail(
|
||||
restic.fail(
|
||||
# test that noinit backup in fact does not initialize the repository
|
||||
# and thus fails without a pre-initialized repository
|
||||
"systemctl start restic-backups-remote-noinit-backup.service",
|
||||
)
|
||||
|
||||
server.succeed(
|
||||
restic.succeed(
|
||||
# test that remotebackup runs custom commands and produces a snapshot
|
||||
"timedatectl set-time '2016-12-13 13:45'",
|
||||
"systemctl start restic-backups-remotebackup.service",
|
||||
"rm /root/backupCleanupCommand",
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
)
|
||||
|
||||
restic.succeed(
|
||||
# test that remotebackup runs custom commands and produces a snapshot
|
||||
"timedatectl set-time '2016-12-13 13:45'",
|
||||
"systemctl start restic-backups-remotebackup.service",
|
||||
@@ -231,15 +305,29 @@ in
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
'restic-rclonebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
|
||||
# test that SFTP backup works by copying from the remotebackup
|
||||
'restic-remote-sftp init --from-repo ${remoteRepository} --from-password-file ${passwordFile} --copy-chunker-params',
|
||||
'restic-remote-sftp copy --from-repo ${remoteRepository} --from-password-file ${passwordFile}',
|
||||
'restic-remote-sftp snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
|
||||
# test that remoteprune brings us back to 1 snapshot in remotebackup
|
||||
"systemctl start restic-backups-remoteprune.service",
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
|
||||
# test that remoteprune brings us back to 1 snapshot in remotebackup
|
||||
"systemctl start restic-backups-remoteprune.service",
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
)
|
||||
|
||||
# test that the inhibit option is working
|
||||
server.systemctl("start --no-block restic-backups-inhibit-test.service")
|
||||
server.wait_until_succeeds(
|
||||
restic.systemctl("start --no-block restic-backups-inhibit-test.service")
|
||||
restic.wait_until_succeeds(
|
||||
"systemd-inhibit --no-legend --no-pager | grep -q restic",
|
||||
5
|
||||
)
|
||||
# test that the inhibit option is working
|
||||
restic.systemctl("start --no-block restic-backups-inhibit-test.service")
|
||||
restic.wait_until_succeeds(
|
||||
"systemd-inhibit --no-legend --no-pager | grep -q restic",
|
||||
5
|
||||
)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
grpcPort = 19090;
|
||||
queryPort = 9090;
|
||||
@@ -30,10 +32,9 @@ let
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
import ./make-test-python.nix {
|
||||
name = "prometheus";
|
||||
{
|
||||
name = "thanos";
|
||||
|
||||
nodes = {
|
||||
prometheus =
|
||||
|
||||
@@ -268,17 +268,40 @@ in
|
||||
tableDDL = pkgs.writeText "table.sql" ''
|
||||
CREATE TABLE IF NOT EXISTS dnstap.records (
|
||||
timestamp DateTime64(6),
|
||||
dataType LowCardinality(String),
|
||||
dataTypeId UInt8,
|
||||
messageType LowCardinality(String),
|
||||
messageTypeId UInt8,
|
||||
dataType Enum('Message' = 1),
|
||||
messageType Enum(
|
||||
'AuthQuery' = 1,
|
||||
'AuthResponse' = 2,
|
||||
'ResolverQuery' = 3,
|
||||
'ResolverResponse' = 4,
|
||||
'ClientQuery' = 5,
|
||||
'ClientResponse' = 6,
|
||||
'ForwarderQuery' = 7,
|
||||
'ForwarderResponse' = 8,
|
||||
'StubQuery' = 9,
|
||||
'StubResponse' = 10,
|
||||
'ToolQuery' = 11,
|
||||
'ToolResponse' = 12,
|
||||
'UpdateQuery' = 13,
|
||||
'UpdateResponse' = 14
|
||||
),
|
||||
queryZone Nullable(String),
|
||||
requestData Nullable(JSON),
|
||||
responseAddress String,
|
||||
responseData Nullable(JSON),
|
||||
responsePort UInt16,
|
||||
serverId LowCardinality(String),
|
||||
serverVersion LowCardinality(String),
|
||||
socketFamily LowCardinality(String),
|
||||
socketProtocol LowCardinality(String),
|
||||
socketFamily Enum('INET' = 1, 'INET6' = 2),
|
||||
socketProtocol Enum(
|
||||
'UDP' = 1,
|
||||
'TCP' = 2,
|
||||
'DOT' = 3,
|
||||
'DOH' = 4,
|
||||
'DNSCryptUDP' = 5,
|
||||
'DNSCryptTCP' = 6,
|
||||
'DOQ' = 7
|
||||
),
|
||||
sourceAddress String,
|
||||
sourcePort UInt16,
|
||||
)
|
||||
@@ -304,7 +327,7 @@ in
|
||||
JSONExtractString(requestData.question[1]::String, 'domainName') as domain,
|
||||
JSONExtractString(requestData.question[1]::String, 'questionType') as record_type
|
||||
FROM dnstap.records
|
||||
WHERE messageTypeId = 5 # ClientQuery
|
||||
WHERE messageType = 'ClientQuery'
|
||||
'';
|
||||
|
||||
selectDomainCountQuery = pkgs.writeText "select-domain-count.sql" ''
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helm-diff";
|
||||
version = "3.12.4";
|
||||
version = "3.12.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "databus23";
|
||||
repo = "helm-diff";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-w57EhXjaOEZaQV4FcvzjV4rMUVIwLlUJ3XlD+SLcLa8=";
|
||||
hash = "sha256-vylkjmQHnT69HqkSPGSpgEkP6eeknGq4BGr1eBEvTlw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-FSyWFJSQBCRpHNrQTPz392H0dE37w1JcwJmoL0dg9fE=";
|
||||
vendorHash = "sha256-PPWL98qEdV/J96N0JsglxUsuT+yFiOg1t4DdiY++/OY=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -153,11 +153,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"azurerm": {
|
||||
"hash": "sha256-mYADF+vzpYt9RMxjNrZnEnBgpF4s0h2qBxize52DLw8=",
|
||||
"hash": "sha256-YbnWigxznOZtY/lElLo/SEXnF3LPm6QKflnBoJ1B1Wo=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-azurerm",
|
||||
"rev": "v4.38.1",
|
||||
"rev": "v4.39.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -225,13 +225,13 @@
|
||||
"vendorHash": "sha256-r4Q7b7ZzK+ZDXhIabTSgP7HY5Q51Hz5ErnW+nV+ZIqA="
|
||||
},
|
||||
"buildkite": {
|
||||
"hash": "sha256-pF46n0PJ2ru7s/1S6mznpJnlZx+3BQmPj5dlttjta+Q=",
|
||||
"hash": "sha256-w+ljPDKyVlylr87tFhuu/7oCkY/fFeK+LPr7mY7rbP0=",
|
||||
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
|
||||
"owner": "buildkite",
|
||||
"repo": "terraform-provider-buildkite",
|
||||
"rev": "v1.23.0",
|
||||
"rev": "v1.24.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-PuhOICFZJi6Fnu0cwrXc5YtJ3m5D1tC8C1wj6m9cfPY="
|
||||
"vendorHash": "sha256-2xZ2//qMKfgqob39k++fX6vJEx9YE1NJpGCbDyM1L10="
|
||||
},
|
||||
"ccloud": {
|
||||
"hash": "sha256-Dpx0eugcHCJV8GNPqjxx4P9ohgJgB10DTnHr+CeN/iQ=",
|
||||
@@ -372,11 +372,11 @@
|
||||
"vendorHash": "sha256-quoFrJbB1vjz+MdV+jnr7FPACHuUe5Gx9POLubD2IaM="
|
||||
},
|
||||
"digitalocean": {
|
||||
"hash": "sha256-Bdc28nkev+i91ze/oyPSPeVegw/+eEn2FleaosCvDE0=",
|
||||
"hash": "sha256-kqJVwh3Myu8pfNfO2uVQFO/aU/7trDKktRdXdFQvnOg=",
|
||||
"homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
|
||||
"owner": "digitalocean",
|
||||
"repo": "terraform-provider-digitalocean",
|
||||
"rev": "v2.62.0",
|
||||
"rev": "v2.65.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -525,13 +525,13 @@
|
||||
"vendorHash": "sha256-eE9AY/79xQSbRl5kA0rwS8Oz8I9jaxT/KlVd0v0GAa8="
|
||||
},
|
||||
"google": {
|
||||
"hash": "sha256-pDYqzdPUnCKpbQqe58o4CU605gdF8vovPR3fCAdf4zQ=",
|
||||
"hash": "sha256-enfKikX5raeLzZCnslaiAJ6hF/7+AXpKlDbNDm2v1qE=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-google",
|
||||
"rev": "v6.46.0",
|
||||
"rev": "v6.48.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-n6UUSCQt3mJESEfqVHX4sfr1XqOXu+u7Qejjps6RmBs="
|
||||
"vendorHash": "sha256-IwUmrRZC2KXNzbKajKisaqKbv0RMIH8tgiKsOOlduIo="
|
||||
},
|
||||
"google-beta": {
|
||||
"hash": "sha256-8woiWjYYaojpKykxd9eMT4qXfpHVkXFA9eN3qzhEu+8=",
|
||||
|
||||
@@ -30,7 +30,7 @@ mkDerivation rec {
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
version = "15.67.4";
|
||||
version = "15.68.5";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -39,11 +39,11 @@ mkDerivation rec {
|
||||
{
|
||||
x86_64-linux = fetchurl {
|
||||
url = "${base_url}/teamviewer_${version}_amd64.deb";
|
||||
hash = "sha256-ibKRYgsvBmh18LfG29ve/yrDEFTdgsNZ3kJu8YkMbsw=";
|
||||
hash = "sha256-+MTp2ArZTcGFr1YwHIRfBIpjkRm0i9C1Pt5TzDE1SNE=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "${base_url}/teamviewer_${version}_arm64.deb";
|
||||
hash = "sha256-MDNxqmu4dJA6dWKy8EFNOy2V253+UgsYwmZ3RidQqFE=";
|
||||
hash = "sha256-3IVZya1WTGl2AtQ2F9jyX2sDLBa2L2/sfsszhyvzu4A=";
|
||||
};
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
@@ -15,3 +15,9 @@ if [[ "$latest_version" == "$current_version" ]]; then
|
||||
fi
|
||||
|
||||
update-source-version teamviewer "$latest_version"
|
||||
|
||||
systems=$(nix eval --json -f . teamviewer.meta.platforms | jq --raw-output '.[]')
|
||||
for system in $systems; do
|
||||
hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix eval --raw -f . teamviewer.src.url --system "$system")))
|
||||
update-source-version teamviewer $latest_version $hash --system=$system --ignore-same-version --ignore-same-hash
|
||||
done
|
||||
|
||||
@@ -5,18 +5,18 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "agenix-cli";
|
||||
version = "0.1.0";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cole-h";
|
||||
repo = "agenix-cli";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-0+QVY1sDhGF4hAN6m2FdKZgm9V1cuGGjY4aitRBnvKg=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-eJp6t8h8uOP0YupYn8x6VAAmUbVrXypxNMGx4SK/6d8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-xpA9BTA7EK3Pw8EJOjIq1ulBAcX4yNhc4kqhxsoCbv0=";
|
||||
cargoHash = "sha256-2xTkCdWKQVg8Sp0LDkC/LH9GYBXNpxdoLX30Ndz0muM=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -30,4 +30,4 @@ rustPlatform.buildRustPackage rec {
|
||||
maintainers = with lib.maintainers; [ misuzu ];
|
||||
mainProgram = "agenix";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aide";
|
||||
version = "0.19.1";
|
||||
version = "0.19.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/aide/aide/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-bfi/XwQD10r329uR6zyPYf4H6WRmnbjPoe5+TuPpC1I=";
|
||||
sha256 = "sha256-I3YrBfRhEe3rPIoFAWyHMcAb24wfkb5IwVbDGrhedMQ=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -15,13 +15,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "apriltags";
|
||||
version = "3.4.3";
|
||||
version = "3.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AprilRobotics";
|
||||
repo = "AprilTags";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1XbsyyadUvBZSpIc9KPGiTcp+3G7YqHepWoORob01Ss=";
|
||||
hash = "sha256-fHVwRE7qAJZ5Q1SFUfS5du91CUcb3+3n12M/NThDEV4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-deny";
|
||||
version = "0.18.3";
|
||||
version = "0.18.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmbarkStudios";
|
||||
repo = "cargo-deny";
|
||||
rev = version;
|
||||
hash = "sha256-cFgc3bdNVLeuie4sVC+klmQ1/C6W3LkTgORMCfOte4Q=";
|
||||
hash = "sha256-5aa13eFfGEJZBRB4/PAKKLwxw2wt8sBI7ZVOpgnO+t8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3TfyFsBSjo8VEDrUehoV2ccXh+xY+iQ9xihj1Bl2MhI=";
|
||||
cargoHash = "sha256-RW+drxVouQbiZsjEL+XZBE2VMzEiCkLTOC9jMxI76T8=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
let
|
||||
argset = {
|
||||
pname = "chezmoi";
|
||||
version = "2.63.1";
|
||||
version = "2.64.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "twpayne";
|
||||
repo = "chezmoi";
|
||||
rev = "v${argset.version}";
|
||||
hash = "sha256-gf79aJhyN3qrCMg7IZqUxHCl6qj6GY5BOXjoJvpKql4=";
|
||||
hash = "sha256-MiIZfT2ax5LszSboXOtDp0hOpOJ8gXqeBTXyoacl+BY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-2Pnj5QoCL8B5qF7YlQFJttj4nlOSobJKySnIvg+82Ew=";
|
||||
vendorHash = "sha256-LVq++K5ElXeArEpXLnSxg+8D9XJoXCHozOPeJrFbDRE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "chirp";
|
||||
version = "0.4.0-unstable-2025-08-04";
|
||||
version = "0.4.0-unstable-2025-08-13";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kk7ds";
|
||||
repo = "chirp";
|
||||
rev = "a8fb306f5627f2478d55541d21f7e9ed51363010";
|
||||
hash = "sha256-SQWKHkIf9d23AKnJQv58XlTmuL07HRj6oS8LW4BM+7Y=";
|
||||
rev = "acb1a78384a804dab1f2f0cc453b3da972d39072";
|
||||
hash = "sha256-+1hzT7peZWtiREeOJqpCyrZNUxOVchxysv9RIAVKPds=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
{
|
||||
lts ? false,
|
||||
version,
|
||||
hash,
|
||||
nixUpdateExtraArgs ? [ ],
|
||||
}:
|
||||
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
llvmPackages_19,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
ninja,
|
||||
python3,
|
||||
perl,
|
||||
nasm,
|
||||
yasm,
|
||||
nixosTests,
|
||||
darwin,
|
||||
findutils,
|
||||
libiconv,
|
||||
rustSupport ? true,
|
||||
rustc,
|
||||
cargo,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
llvmPackages_19.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clickhouse" + lib.optionalString lts "-lts";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub rec {
|
||||
owner = "ClickHouse";
|
||||
repo = "ClickHouse";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
name = "clickhouse-${tag}.tar.gz";
|
||||
inherit hash;
|
||||
postFetch = ''
|
||||
# delete files that make the source too big
|
||||
rm -rf $out/contrib/llvm-project/llvm/test
|
||||
rm -rf $out/contrib/llvm-project/clang/test
|
||||
rm -rf $out/contrib/croaring/benchmarks
|
||||
|
||||
# fix case insensitivity on macos https://github.com/NixOS/nixpkgs/issues/39308
|
||||
rm -rf $out/contrib/sysroot/linux-*
|
||||
rm -rf $out/contrib/liburing/man
|
||||
|
||||
# compress to not exceed the 2GB output limit
|
||||
# try to make a deterministic tarball
|
||||
tar -I 'gzip -n' \
|
||||
--sort=name \
|
||||
--mtime=1970-01-01 \
|
||||
--owner=0 --group=0 \
|
||||
--numeric-owner --mode=go=rX,u+rw,a-s \
|
||||
--transform='s@^@source/@S' \
|
||||
-cf temp -C "$out" .
|
||||
rm -r "$out"
|
||||
mv temp "$out"
|
||||
'';
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
python3
|
||||
perl
|
||||
llvmPackages_19.lld
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isx86_64 [
|
||||
nasm
|
||||
yasm
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
llvmPackages_19.bintools
|
||||
findutils
|
||||
darwin.bootstrap_cmds
|
||||
]
|
||||
++ lib.optionals rustSupport [
|
||||
rustc
|
||||
cargo
|
||||
rustPlatform.cargoSetupHook
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
|
||||
|
||||
dontCargoSetupPostUnpack = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs src/ utils/
|
||||
|
||||
sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt
|
||||
|
||||
substituteInPlace utils/list-licenses/list-licenses.sh \
|
||||
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
|
||||
''
|
||||
+ lib.optionalString (lib.versions.majorMinor version <= "25.6") ''
|
||||
substituteInPlace src/Storages/System/StorageSystemLicenses.sh \
|
||||
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace cmake/tools.cmake \
|
||||
--replace-fail 'gfind' 'find' \
|
||||
--replace-fail 'ggrep' 'grep' \
|
||||
--replace-fail '--ld-path=''${LLD_PATH}' '-fuse-ld=lld'
|
||||
''
|
||||
# Rust is handled by cmake
|
||||
+ lib.optionalString rustSupport ''
|
||||
cargoSetupPostPatchHook() { true; }
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_CHDIG=OFF"
|
||||
"-DENABLE_TESTS=OFF"
|
||||
"-DENABLE_DELTA_KERNEL_RS=0"
|
||||
"-DCOMPILER_CACHE=disabled"
|
||||
]
|
||||
++ lib.optional (
|
||||
stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64
|
||||
) "-DNO_ARMV81_OR_HIGHER=1";
|
||||
|
||||
env = {
|
||||
CARGO_HOME = "$PWD/../.cargo/";
|
||||
NIX_CFLAGS_COMPILE =
|
||||
# undefined reference to '__sync_val_compare_and_swap_16'
|
||||
lib.optionalString stdenv.hostPlatform.isx86_64 " -mcx16"
|
||||
+
|
||||
# Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and
|
||||
# ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp.
|
||||
lib.optionalString stdenv.hostPlatform.isDarwin
|
||||
" -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration";
|
||||
};
|
||||
|
||||
# https://github.com/ClickHouse/ClickHouse/issues/49988
|
||||
hardeningDisable = [ "fortify" ];
|
||||
|
||||
postInstall = ''
|
||||
sed -i -e '\!<log>/var/log/clickhouse-server/clickhouse-server\.log</log>!d' \
|
||||
$out/etc/clickhouse-server/config.xml
|
||||
substituteInPlace $out/etc/clickhouse-server/config.xml \
|
||||
--replace-fail "<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>" "<console>1</console>" \
|
||||
--replace-fail "<level>trace</level>" "<level>warning</level>"
|
||||
'';
|
||||
|
||||
# Basic smoke test
|
||||
doCheck = true;
|
||||
checkPhase = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
$NIX_BUILD_TOP/$sourceRoot/build/programs/clickhouse local --query 'SELECT 1' | grep 1
|
||||
'';
|
||||
|
||||
# Builds in 7+h with 2 cores, and ~20m with a big-parallel builder.
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
passthru = {
|
||||
tests.clickhouse = if lts then nixosTests.clickhouse-lts else nixosTests.clickhouse;
|
||||
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = nixUpdateExtraArgs;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://clickhouse.com";
|
||||
description = "Column-oriented database management system";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
orivej
|
||||
mbalatsko
|
||||
thevar1able
|
||||
];
|
||||
|
||||
# not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685
|
||||
platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin);
|
||||
broken = stdenv.buildPlatform != stdenv.hostPlatform;
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,11 @@
|
||||
import ./generic.nix {
|
||||
version = "25.3.6.56-lts";
|
||||
hash = "sha256-wpC6uw811IWImLWAatYbghp3aZ+esEEBFng6AHIesK4=";
|
||||
lts = true;
|
||||
nixUpdateExtraArgs = [
|
||||
"--version-regex"
|
||||
"^v?(.*-lts)$"
|
||||
"--override-filename"
|
||||
"pkgs/by-name/cl/clickhouse/lts.nix"
|
||||
];
|
||||
}
|
||||
@@ -1,169 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
llvmPackages_19,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
ninja,
|
||||
python3,
|
||||
perl,
|
||||
nasm,
|
||||
yasm,
|
||||
nixosTests,
|
||||
darwin,
|
||||
findutils,
|
||||
libiconv,
|
||||
rustSupport ? true,
|
||||
rustc,
|
||||
cargo,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
llvmPackages_19.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clickhouse";
|
||||
version = "25.3.5.42";
|
||||
|
||||
src = fetchFromGitHub rec {
|
||||
owner = "ClickHouse";
|
||||
repo = "ClickHouse";
|
||||
tag = "v${finalAttrs.version}-lts";
|
||||
fetchSubmodules = true;
|
||||
name = "clickhouse-${tag}.tar.gz";
|
||||
hash = "sha256-LvGl9XJK6Emt7HnV/Orp7qEmJSr3TBJZtApL6GrWIMg=";
|
||||
postFetch = ''
|
||||
# delete files that make the source too big
|
||||
rm -rf $out/contrib/llvm-project/llvm/test
|
||||
rm -rf $out/contrib/llvm-project/clang/test
|
||||
rm -rf $out/contrib/croaring/benchmarks
|
||||
|
||||
# fix case insensitivity on macos https://github.com/NixOS/nixpkgs/issues/39308
|
||||
rm -rf $out/contrib/sysroot/linux-*
|
||||
rm -rf $out/contrib/liburing/man
|
||||
|
||||
# compress to not exceed the 2GB output limit
|
||||
# try to make a deterministic tarball
|
||||
tar -I 'gzip -n' \
|
||||
--sort=name \
|
||||
--mtime=1970-01-01 \
|
||||
--owner=0 --group=0 \
|
||||
--numeric-owner --mode=go=rX,u+rw,a-s \
|
||||
--transform='s@^@source/@S' \
|
||||
-cf temp -C "$out" .
|
||||
rm -r "$out"
|
||||
mv temp "$out"
|
||||
'';
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
python3
|
||||
perl
|
||||
llvmPackages_19.lld
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isx86_64 [
|
||||
nasm
|
||||
yasm
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
llvmPackages_19.bintools
|
||||
findutils
|
||||
darwin.bootstrap_cmds
|
||||
]
|
||||
++ lib.optionals rustSupport [
|
||||
rustc
|
||||
cargo
|
||||
rustPlatform.cargoSetupHook
|
||||
import ./generic.nix {
|
||||
version = "25.7.4.11-stable";
|
||||
hash = "sha256-SKDnnBdl9Rwc+ONH1chXAOFIwRmVG2l5cPEwpaDogzU=";
|
||||
lts = false;
|
||||
nixUpdateExtraArgs = [
|
||||
"--version-regex"
|
||||
"^v?(.*-stable)$"
|
||||
"--override-filename"
|
||||
"pkgs/by-name/cl/clickhouse/package.nix"
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
|
||||
|
||||
dontCargoSetupPostUnpack = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs src/
|
||||
patchShebangs utils/
|
||||
|
||||
sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt
|
||||
|
||||
substituteInPlace src/Storages/System/StorageSystemLicenses.sh \
|
||||
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
|
||||
substituteInPlace utils/check-style/check-ungrouped-includes.sh \
|
||||
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
|
||||
substituteInPlace utils/list-licenses/list-licenses.sh \
|
||||
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
sed -i 's|gfind|find|' cmake/tools.cmake
|
||||
sed -i 's|ggrep|grep|' cmake/tools.cmake
|
||||
|
||||
# Make sure Darwin invokes lld.ld64 not lld.
|
||||
substituteInPlace cmake/tools.cmake \
|
||||
--replace '--ld-path=''${LLD_PATH}' '-fuse-ld=lld'
|
||||
''
|
||||
+ lib.optionalString rustSupport ''
|
||||
cargoSetupPostPatchHook() { true; }
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_TESTS=OFF"
|
||||
"-DENABLE_DELTA_KERNEL_RS=0"
|
||||
"-DCOMPILER_CACHE=disabled"
|
||||
]
|
||||
++ lib.optional (
|
||||
stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64
|
||||
) "-DNO_ARMV81_OR_HIGHER=1";
|
||||
|
||||
env = {
|
||||
CARGO_HOME = "$PWD/../.cargo/";
|
||||
NIX_CFLAGS_COMPILE =
|
||||
# undefined reference to '__sync_val_compare_and_swap_16'
|
||||
lib.optionalString stdenv.hostPlatform.isx86_64 " -mcx16"
|
||||
+
|
||||
# Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and
|
||||
# ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp.
|
||||
lib.optionalString stdenv.hostPlatform.isDarwin
|
||||
" -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration";
|
||||
};
|
||||
|
||||
# https://github.com/ClickHouse/ClickHouse/issues/49988
|
||||
hardeningDisable = [ "fortify" ];
|
||||
|
||||
postInstall = ''
|
||||
rm -rf $out/share/clickhouse-test
|
||||
|
||||
sed -i -e '\!<log>/var/log/clickhouse-server/clickhouse-server\.log</log>!d' \
|
||||
$out/etc/clickhouse-server/config.xml
|
||||
substituteInPlace $out/etc/clickhouse-server/config.xml \
|
||||
--replace-fail "<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>" "<console>1</console>"
|
||||
substituteInPlace $out/etc/clickhouse-server/config.xml \
|
||||
--replace-fail "<level>trace</level>" "<level>warning</level>"
|
||||
'';
|
||||
|
||||
# Basic smoke test
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
$NIX_BUILD_TOP/$sourceRoot/build/programs/clickhouse local --query 'SELECT 1' | grep 1
|
||||
'';
|
||||
|
||||
# Builds in 7+h with 2 cores, and ~20m with a big-parallel builder.
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
passthru.tests.clickhouse = nixosTests.clickhouse;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://clickhouse.com";
|
||||
description = "Column-oriented database management system";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
orivej
|
||||
mbalatsko
|
||||
thevar1able
|
||||
];
|
||||
|
||||
# not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685
|
||||
platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin);
|
||||
broken = stdenv.buildPlatform != stdenv.hostPlatform;
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
@@ -151,7 +151,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.unfree;
|
||||
mainProgram = "warp-cli";
|
||||
maintainers = with maintainers; [
|
||||
devpikachu
|
||||
marcusramberg
|
||||
];
|
||||
platforms = [
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "confluent-cli";
|
||||
version = "4.32.0";
|
||||
version = "4.34.0";
|
||||
|
||||
# To get the latest version:
|
||||
# curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1
|
||||
@@ -26,10 +26,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fetchurl {
|
||||
url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${finalAttrs.version}/confluent_${finalAttrs.version}_${system}.tar.gz";
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-T2rMFkcbohRicRsZHdNMJtHEJvDNJq5yJn25gJXaMfw=";
|
||||
aarch64-linux = "sha256-KpkohZMPQqnggftBGugLmz4f8UX4MkrvV90flBRdy18=";
|
||||
x86_64-darwin = "sha256-/MUEzLkycQO1jTMAPhGzhT15RpO/Mzexj0wKbr2bSXk=";
|
||||
aarch64-darwin = "sha256-Qqyw9TgGlj9fAFJknsvyohUQ3SleGGv/gvkCPkmFAuY=";
|
||||
x86_64-linux = "sha256-PfQ3YGzlyihxcSLgKEOT/xsr6cih2p5mtiJ8WG/NH/s=";
|
||||
aarch64-linux = "sha256-zZyHLBdPb7lNp0YFIXkqlfq0ArnhZa4ysTpcp09z+fI=";
|
||||
x86_64-darwin = "sha256-hrMBArwFAhOYMEsVVD+hnn697bY1iS2Yer4IdOSvvfg=";
|
||||
aarch64-darwin = "sha256-kVx2iGoOgkooMe6sfdE0d5e3WX7+M/Ov0sjFwWBhTX4=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "cyclonedx-python";
|
||||
version = "6.1.2";
|
||||
version = "7.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CycloneDX";
|
||||
repo = "cyclonedx-python";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-hC+C85hdlHVhVcMLS9+gEvG+DohyxiBrjCApYnf6O/4=";
|
||||
hash = "sha256-ucIxq/pQkVd9N5ORrJjswSE1DgmKPw8r7nPJA5Qe4n0=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [ poetry-core ];
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dbip-asn-lite";
|
||||
version = "2025-06";
|
||||
version = "2025-07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.db-ip.com/free/dbip-asn-lite-${finalAttrs.version}.mmdb.gz";
|
||||
hash = "sha256-ZlbspbZoeUrftP5xaPqY16BBZrPu1tU2AjbmJOOzN0w=";
|
||||
hash = "sha256-/KpdRJnlycjOE+4WLtcLfMi7Uy/F9f4XrOfniJLPmmQ=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dbip-city-lite";
|
||||
version = "2025-06";
|
||||
version = "2025-07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.db-ip.com/free/dbip-city-lite-${finalAttrs.version}.mmdb.gz";
|
||||
hash = "sha256-iv4UfdLcmLE5d5y38kz4EFpDpecjScESr1I30dB+jDQ=";
|
||||
hash = "sha256-1xKZZ8ZKg6UFbJ+WcjjQudsW7T7MhhxdG1wDWKtrD7w=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dbip-country-lite";
|
||||
version = "2025-06";
|
||||
version = "2025-07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
|
||||
hash = "sha256-p3HJTzzAtkHgDdiXa9M1jPSukDo+AgRu3Cjf1Q+QXB8=";
|
||||
hash = "sha256-h7iZrIY/AJoFpQcsD3g7VhraBDoCL6M5EPouWzJiE+8=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ddccontrol-db";
|
||||
version = "20250504";
|
||||
version = "20250814";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddccontrol";
|
||||
repo = "ddccontrol-db";
|
||||
rev = version;
|
||||
sha256 = "sha256-C0FpasSh1fKA8Xcm080dYKyXREQ0Ryy5YBknEiuiLcM=";
|
||||
sha256 = "sha256-DYDO7JZzriLdVKeqOaaEonHcdRaOD3SsvJPhScvSkVE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "delly";
|
||||
version = "1.3.3";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dellytools";
|
||||
repo = "delly";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-e1dGiJeOLMFJ9oO7iMvKZHpg4XtrLJBpy8lECx5/iDE=";
|
||||
hash = "sha256-OoQivDDoYtYYPsl5U4hJGE7b+IU/jrqWejiXY5Py4n4=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.cc.isClang ''
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "dufs";
|
||||
version = "0.43.0";
|
||||
version = "0.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sigoden";
|
||||
repo = "dufs";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KkuP9UE9VT9aJ50QH1Y/2f+t0tLOMyNovxCaLq0Jz0s=";
|
||||
hash = "sha256-krrph0tyz7d1cSmScKSAVSYoKp9RbsZvVdOLIvbJ3dc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-OQyMai0METXLSFl09eIk1xnL9QV5cEEiRNVEz1dHg+c=";
|
||||
cargoHash = "sha256-cklssERy3sDYWCyzgQd7tsRd+kuBmSTZBio8svMQP2Q=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"elp-linux-aarch64-unknown-linux-gnu-otp-26.2": "sha256-xKl19cLz3Pm39QS8+9fOCGJHpxl4NoPYHIwTqKDq4Jc=",
|
||||
"elp-linux-aarch64-unknown-linux-gnu-otp-27.3": "sha256-GNoV6Ihtro3ecl4cncyQKQez/5CBqj1E3JV1JK8l2V8=",
|
||||
"elp-linux-aarch64-unknown-linux-gnu-otp-28": "sha256-DW00mSXJWIBfwsV9juMKaiFwNkezT1Ro+5zMaCwFRzE=",
|
||||
"elp-linux-x86_64-unknown-linux-gnu-otp-26.2": "sha256-fQvlzwS7crDsqmSjsUlFXbqKnCKldOYuiQDmGojqJb8=",
|
||||
"elp-linux-x86_64-unknown-linux-gnu-otp-27.3": "sha256-4pZtSVCDIiJ7k83go7WjJq4wxWbc9nG4hJoAgXDMOZM=",
|
||||
"elp-linux-x86_64-unknown-linux-gnu-otp-28": "sha256-3hY+5TDBobRjKgfptvgHmdtuWm8UE7KoWFhsR2qmQhc=",
|
||||
"elp-macos-aarch64-apple-darwin-otp-26.2": "sha256-38N+0msiPMv9eFTSzWdEqmczDp49JvTlu3kDedmC+Lw=",
|
||||
"elp-macos-aarch64-apple-darwin-otp-27.3": "sha256-2uZyvyVwQULz+3HtvkIGvjO5Dm7qAAIbHE/VUcqcXkQ=",
|
||||
"elp-macos-aarch64-apple-darwin-otp-28": "sha256-BosctdlXWTxkVyLX8awlJtyHAtfoVxFlvs7qrSlPTZc=",
|
||||
"elp-macos-x86_64-apple-darwin-otp-26.2": "sha256-p0xotdrflT2CANJi4OaevJZT4nhFRAfdzrhQ/7M8ykA=",
|
||||
"elp-macos-x86_64-apple-darwin-otp-27.3": "sha256-qTvsGRCVqqoSWK/t7MysE1wlD0PwtUQQ1N1Zols+Egk=",
|
||||
"elp-macos-x86_64-apple-darwin-otp-28": "sha256-DSB8AXWM1KByuzg5HY2lh2x4zmeeR2nyiERR3Iovpns="
|
||||
}
|
||||
@@ -3,29 +3,41 @@
|
||||
lib,
|
||||
fetchurl,
|
||||
autoPatchelfHook,
|
||||
erlang,
|
||||
}:
|
||||
let
|
||||
# erlang-language-platform supports multiple OTP versions.
|
||||
# here we search the release names from hashes.json to check support for our OTP.
|
||||
# ELP releases only list the major and minor version so we do a prefix check.
|
||||
arch = if stdenv.hostPlatform.isAarch64 then "aarch64" else "x86_64";
|
||||
release =
|
||||
platform =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
"macos-${arch}-apple-darwin"
|
||||
"elp-macos-${arch}-apple-darwin"
|
||||
else
|
||||
"linux-${arch}-unknown-linux-gnu";
|
||||
"elp-linux-${arch}-unknown-linux-gnu";
|
||||
otp_version = "otp-${lib.versions.major erlang.version}";
|
||||
release_major = "${platform}-${otp_version}";
|
||||
|
||||
hashes = builtins.fromJSON (builtins.readFile ./hashes.json);
|
||||
|
||||
release_name =
|
||||
let
|
||||
hash_names = builtins.attrNames hashes;
|
||||
found_name = lib.lists.findFirst (name: lib.strings.hasPrefix release_major name) false hash_names;
|
||||
in
|
||||
if found_name != false then
|
||||
found_name
|
||||
else
|
||||
throw "erlang-language-platform does not support OTP major/minor version ${otp_version}";
|
||||
|
||||
hashes = {
|
||||
linux-aarch64-unknown-linux-gnu = "sha256-i6XsOK8csrJ/9TDzltA7mGjdutLZONFiYGV5tqSCy8o=";
|
||||
linux-x86_64-unknown-linux-gnu = "sha256-XK3DPWIdPDoIL10EATa8p1bnlpZaOzOdU0LnuKbj++E=";
|
||||
macos-aarch64-apple-darwin = "sha256-8e5duQYDVFyZejMjuZPuWhg1on3CBku9eBuilG5p1BY=";
|
||||
macos-x86_64-apple-darwin = "sha256-dnouUBUUAkMr1h+IJWYamxmk8IC7JdeIUS9/YI0GzOU=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "erlang-language-platform";
|
||||
version = "2025-04-02";
|
||||
version = "2025-07-21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/WhatsApp/erlang-language-platform/releases/download/${version}/elp-${release}-otp-26.2.tar.gz";
|
||||
hash = hashes.${release};
|
||||
url = "https://github.com/WhatsApp/erlang-language-platform/releases/download/${version}/${release_name}.tar.gz";
|
||||
hash = hashes.${release_name};
|
||||
};
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isElf [ autoPatchelfHook ];
|
||||
@@ -40,6 +52,8 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "IDE-first library for the semantic analysis of Erlang code, including LSP server, linting and refactoring tools";
|
||||
homepage = "https://github.com/WhatsApp/erlang-language-platform/";
|
||||
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl jq common-updater-scripts
|
||||
# shellcheck shell=bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
curl_github() {
|
||||
curl -L ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "$@"
|
||||
}
|
||||
|
||||
release_json=$(curl_github https://api.github.com/repos/WhatsApp/erlang-language-platform/releases/latest)
|
||||
version=$(echo "$release_json" | jq -r '.tag_name')
|
||||
releases=$(echo "$release_json" | jq -r '.assets[] | select(.browser_download_url | test(".tar.gz$")) | .name + ":" + .browser_download_url')
|
||||
|
||||
update-source-version erlang-language-platform "$version" --file=./pkgs/by-name/er/erlang-language-platform/package.nix
|
||||
|
||||
for release in $releases; do
|
||||
IFS=: read -r name url <<< "$release"
|
||||
hash_name=$(echo "$name" | sed 's/.tar.gz$//')
|
||||
hash_prefetched=$(nix-prefetch-url --type sha256 "$url")
|
||||
hash_sri=$(nix hash to-sri --type sha256 "$hash_prefetched")
|
||||
echo "$hash_name" "$hash_sri"
|
||||
done |
|
||||
jq -sR 'rtrimstr("\n") | split("\n") | map(split(" ") | {(.[0]): .[1]}) | add' > hashes.json
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "files-cli";
|
||||
version = "2.15.70";
|
||||
version = "2.15.77";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "files-cli";
|
||||
owner = "files-com";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ImTa1h9Gh8yxtt7+P/9A3n5h7BV6pPZa7D4waeGZUZo=";
|
||||
hash = "sha256-anDChFR4vax0fFdT1+WVdzuzNUhsfgwGljQmQj6jD4E=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-LU7ImpklaGLGhEKDYhwMk7ZoUQ1UxVdNUTTOMEh5TZo=";
|
||||
vendorHash = "sha256-p4ZMukOuU93Cwt19gOxXTqgdTMML4yppSI7WHIwCPag=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flink";
|
||||
version = "2.0.0";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/flink/${pname}-${version}/${pname}-${version}-bin-scala_2.12.tgz";
|
||||
sha256 = "sha256-BP5b6YQaENMODhzWguxNAVqGYD9xDy+FfEPHW+rpeq0=";
|
||||
sha256 = "sha256-B/EhLtDKve1SKoayDy6E64Lk4FTln3FL79kh3CcHLEU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gcs";
|
||||
version = "5.36.1";
|
||||
version = "5.37.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "richardwilkes";
|
||||
repo = "gcs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-bU/VoX/wb7DJGQLFVg0+bR48TXhHAE8yhqX2mbxSyGo=";
|
||||
hash = "sha256-VHysS1/LxtVIJvnlw1joFPc+8uS525VK+FpmKoSikp0=";
|
||||
};
|
||||
|
||||
modPostBuild = ''
|
||||
@@ -33,7 +33,7 @@ buildGoModule rec {
|
||||
sed -i 's|-lmupdf[^ ]* |-lmupdf |g' vendor/github.com/richardwilkes/pdf/pdf.go
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-hFgcTreiE2PwIwOG1zwLyF7ZbB+p9uCNVJcqHbQjJjE=";
|
||||
vendorHash = "sha256-T6Omz/jsk0raGM8p+G2wlMWRHzpo2qcTOtCddQoa83w=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "git-cola";
|
||||
version = "4.13.0";
|
||||
version = "4.14.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-cola";
|
||||
repo = "git-cola";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-FoCU10EKeNltYh7AEOR+98ryVA6rFVfCDMg5QUSpF0w=";
|
||||
hash = "sha256-l/W9BtBFvYrLA971XibZIKnP0abx1fQZbfseirTT7Sg=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ qt5.qtwayland ];
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitea-mcp-server";
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "gitea.com";
|
||||
owner = "gitea";
|
||||
repo = "gitea-mcp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ZUnpE25XIYzSwdEilzXnhqGR676iBQcR2yiT3jhJApc=";
|
||||
hash = "sha256-hJQ0ryEcPg/WOi54RLZswhWZOjkbllZWOsYyOhe+4AA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-u9jIjrbDUhnaaeBET+pKQTKhaQLUeQvKOXSBfS0vMJM=";
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitlab-runner";
|
||||
version = "18.1.2";
|
||||
version = "18.1.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-runner";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-zazDJBo6HiBh995nsYQvYCgcxyNaulV2ZrG7Kbwxb+0=";
|
||||
hash = "sha256-LqkHXmbGHXhIWqcJijBi1i5hYiBi9sv+/+7u2NW2e7Q=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-G9qZKWI//ECG88Tu8zb8nEDSwNRabVMsrp7aQzVsxCY=";
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gl3w";
|
||||
version = "0-unstable-2025-04-08";
|
||||
version = "0-unstable-2025-08-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skaslev";
|
||||
repo = "gl3w";
|
||||
rev = "1528d8918447a61e97fe669d7b3e280a60b9a161";
|
||||
hash = "sha256-a3fe67xh2nyIu/ytMb9D8S/7QMz23uJUDX7LOfwIJgU=";
|
||||
rev = "96ebe5eded05aa699e8feb25f7bbc9f1c821a207";
|
||||
hash = "sha256-Juv1LI8bw/dU/SKmtoOqu8TrCf68uqkpesQ1leRox+E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "google-alloydb-auth-proxy";
|
||||
version = "1.13.4";
|
||||
version = "1.13.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleCloudPlatform";
|
||||
repo = "alloydb-auth-proxy";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-swohqZFzVvaXy84Y7aKwcSr4YfmZuZ63zyHgjit9oJI=";
|
||||
hash = "sha256-UbJOVZc9hXMXfBPIJl4C3y9fAp69cRue95EJX155kDQ=";
|
||||
};
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorHash = "sha256-ng2BLLlTu5X30GSELWbmRSRzZAaF21T2u3fLK6fE1kM=";
|
||||
vendorHash = "sha256-9tNj1W4TGepe/CqbNx4Mk26iMOxDwWeKRw36lFmDpts=";
|
||||
|
||||
checkFlags = [
|
||||
"-short"
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gosec";
|
||||
version = "2.22.7";
|
||||
version = "2.22.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "securego";
|
||||
repo = "gosec";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-px5KfToXE3jhCQC/OKlFEFvYD9zVRl0qN24SRARaUyw=";
|
||||
hash = "sha256-Ar8j5oJshouHss062m/YhAWSFDGzTKcZHGxQtKff9Bg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0XYYPbbuqmBRsNDjUv1cgnQRzYFBn/sWJG6tMExRk3U=";
|
||||
vendorHash = "sha256-zj1v98LDyaMFmjFtUV2L02j4FSBrODZFVhzYAj4rB1Q=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/gosec"
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "grpcui";
|
||||
version = "1.4.3";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fullstorydev";
|
||||
repo = "grpcui";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Tmema+cMPDGuX6Y8atow58GdGMj7croHyj8oiDXSEYk=";
|
||||
sha256 = "sha256-mZeNK/NwN887TN4fnvGzrqwJCBYnYcuW/K+O0LgX0uo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-a19m+HY6SQ+06LXUDba9KRHRKNxLjzKmldJQaaI6nro=";
|
||||
vendorHash = "sha256-y4OK610q+8m48M/HX3bXNV7YguoOaZKnCw+JnEvqbEI=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "harper";
|
||||
version = "0.56.0";
|
||||
version = "0.57.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Automattic";
|
||||
repo = "harper";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Ih3L+wLISnoiurqPTSQns9IBuxIJCjLbS0OQjtc3n8Q=";
|
||||
hash = "sha256-w9nDvjAFPd2cVJhOigGW61RZAsqo64EN1AFdeAIiAQ0=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "harper-ls";
|
||||
|
||||
cargoHash = "sha256-Ir7EDjN1+cFOc0Sm59LPmChbDwCuF6f17vg+5vwjEoo=";
|
||||
cargoHash = "sha256-Ljkrpk1O+WXL0GDBv7sJbSllJuhoLXMLgFfi4sI50fE=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
}:
|
||||
let
|
||||
pname = "heptabase";
|
||||
version = "1.67.1";
|
||||
version = "1.69.0";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
|
||||
hash = "sha256-29+Bw1OvKq/MHML3TbLcUsa9Xd7SrCtTXjIXNhBbUVY=";
|
||||
hash = "sha256-QB2N/RJ4o6IN25qSRbiB69/qGHEKA4GRbLdMYS2cRIQ=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "hydrus";
|
||||
version = "627";
|
||||
version = "631";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-7zV+sQ22hrvCqMk7ePlAhSYG2495pEAyZYrep3NYoXE=";
|
||||
hash = "sha256-YZnlQIiq0dUGEnQgVCTvNS+kuSpXlaAN5UvZAQ3xeZM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "iroh";
|
||||
version = "0.90.0";
|
||||
version = "0.91.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "n0-computer";
|
||||
repo = "iroh";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0YXNPKdM9OQC+MiKQzki5FmVMbCRO1l02ik+uRi90aQ=";
|
||||
hash = "sha256-eY/w3YBuNPsCDhu58S7cykFCY0ikpMR4RFWHVMjH33Q=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tt2SHvL/S82jzzaO5e95vQvwJSgJpUh2dDIgLhs1V5w=";
|
||||
cargoHash = "sha256-tkqomIOOfPSbyNMNJskqZLXdU8uDK91f9IGjhz+q300=";
|
||||
|
||||
# Some tests require network access which is not available in nix build sandbox.
|
||||
doCheck = false;
|
||||
|
||||
@@ -9,18 +9,18 @@ buildGoModule (finalAttrs: {
|
||||
# "chatgpt-cli" is taken by another package with the same upsteam name.
|
||||
# To keep "pname" and "package attribute name" identical, the owners name (kardolus) gets prefixed as identifier.
|
||||
pname = "kardolus-chatgpt-cli";
|
||||
version = "1.8.6";
|
||||
version = "1.8.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kardolus";
|
||||
repo = "chatgpt-cli";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ggakrfeV6guGhBbA45A78oMFQSMqh9+yvJK+cic1JdY=";
|
||||
hash = "sha256-NQoWUF5AcDejkricC7+aP30nGqh/xEwSdb8JWtbd1+w=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
# The tests of kardolus/chatgpt-cli require an OpenAI API Key to be present in the environment,
|
||||
# (e.g. https://github.com/kardolus/chatgpt-cli/blob/v1.8.6/test/contract/contract_test.go#L35)
|
||||
# (e.g. https://github.com/kardolus/chatgpt-cli/blob/v1.8.7/test/contract/contract_test.go#L35)
|
||||
# which will not be the case in the pipeline.
|
||||
# Therefore, tests must be skipped.
|
||||
doCheck = false;
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kargo";
|
||||
version = "1.6.1";
|
||||
version = "1.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "akuity";
|
||||
repo = "kargo";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-I1mOEI9F8qQU9g4iKZC6iE0Or2UA25qM4z+H1z2juRY=";
|
||||
hash = "sha256-bknGLvoI4N3d96+taeY9MAgFoo0PT7niAJJrp4NdirA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-K7/18Qk1sEmBW+Nt5VpO/eMKijDuXXx1+fIlXB1lUUM=";
|
||||
vendorHash = "sha256-zo3aEs0xrWbjj5nCtZ1GEfAYXy2cnaUCUbN5bjYFZ+Y=";
|
||||
|
||||
subPackages = [ "cmd/cli" ];
|
||||
|
||||
|
||||
@@ -24,11 +24,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "keycloak";
|
||||
version = "26.3.1";
|
||||
version = "26.3.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/keycloak/keycloak/releases/download/${finalAttrs.version}/keycloak-${finalAttrs.version}.zip";
|
||||
hash = "sha256-M3YbS/aK9y4N2kZrm1wNT1ZaWAaUwaRn9QQ8fMdOV5g=";
|
||||
hash = "sha256-LC12W13plMu8byU0kuFkNipUMOK1TLOphr1MFK0Qzcc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
cmake,
|
||||
anki,
|
||||
}:
|
||||
|
||||
@@ -27,14 +26,15 @@ python3Packages.buildPythonApplication {
|
||||
./update-to-newer-anki-versions.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
anki
|
||||
]
|
||||
++ (with python3Packages; [
|
||||
beartype
|
||||
click
|
||||
colorama
|
||||
git-filter-repo
|
||||
gitpython
|
||||
@@ -60,13 +60,10 @@ python3Packages.buildPythonApplication {
|
||||
|
||||
dontCheckRuntimeDeps = true;
|
||||
|
||||
# CMake needs to be run by pyproject rather than by its hook
|
||||
dontConfigure = true;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Version control for Anki collections";
|
||||
homepage = "https://github.com/langfield/ki";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ eljamm ];
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ eljamm ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,27 +7,26 @@
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "kube-hunter";
|
||||
version = "0.6.8";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquasecurity";
|
||||
repo = "kube-hunter";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-+M8P/VSF9SKPvq+yNPjokyhggY7hzQ9qLLhkiTNbJls=";
|
||||
hash = "sha256-+M8P/VSF9SKPvq+yNPjokyhggY7hzQ9qLLhkiTNbJls=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
];
|
||||
pythonRemoveDeps = [ "future" ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
build-system = with python3.pkgs; [ setuptools-scm ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
netaddr
|
||||
netifaces
|
||||
requests
|
||||
prettytable
|
||||
urllib3
|
||||
ruamel-yaml
|
||||
future
|
||||
packaging
|
||||
pluggy
|
||||
kubernetes
|
||||
@@ -45,9 +44,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
--replace "kubernetes==12.0.1" "kubernetes"
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"kube_hunter"
|
||||
];
|
||||
pythonImportsCheck = [ "kube_hunter" ];
|
||||
|
||||
disabledTests = [
|
||||
# Test is out-dated
|
||||
@@ -57,7 +54,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||
meta = with lib; {
|
||||
description = "Tool to search issues in Kubernetes clusters";
|
||||
homepage = "https://github.com/aquasecurity/kube-hunter";
|
||||
license = with licenses; [ asl20 ];
|
||||
changelog = "https://github.com/aquasecurity/kube-hunter/releases/tag/${src.tag}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "kube-hunter";
|
||||
};
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mdns-scanner";
|
||||
version = "0.22.2";
|
||||
version = "0.22.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CramBL";
|
||||
repo = "mdns-scanner";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-OEpBu7RF28jC1X5JMsUkgVRNacfCUkjfxy5oi8b64QY=";
|
||||
hash = "sha256-Fu9TPg8nqBBUc/B9bBTT+KOh4mZa7RoRe/wfws8epU0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-6h4vLrPMUjqqLyxyKBl9BS2kiC00MrEqa/AgkPgG3gM=";
|
||||
cargoHash = "sha256-IRIem14bE/x+rmHwTk+IBODCFEw9kaMrO6gpy5b0VNw=";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/CramBL/mdns-scanner";
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "MeerK40t";
|
||||
version = "0.9.7930";
|
||||
version = "0.9.8000";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "meerk40t";
|
||||
repo = "MeerK40t";
|
||||
tag = version;
|
||||
hash = "sha256-7igY6qEHDUAyyKK+T0WFNfGPYy8VnMLYaWHyBE8EMSs=";
|
||||
hash = "sha256-KvXX4s+oKj7nksQyb4U827A2JQ1z6hwrBxBAg4RfW8s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -76,7 +76,7 @@ python3Packages.buildPythonApplication rec {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/meerk40t/meerk40t/releases/tag/${version}";
|
||||
changelog = "https://github.com/meerk40t/meerk40t/releases/tag/${src.tag}";
|
||||
description = "MeerK40t LaserCutter Software";
|
||||
mainProgram = "meerk40t";
|
||||
homepage = "https://github.com/meerk40t/meerk40t";
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "minio-warp";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "minio";
|
||||
repo = "warp";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WdzvbJKxJmU6C7IGkVjp/0rfPZB37hMmVkpJHTUnvyw=";
|
||||
hash = "sha256-HBoep3GSjtjucqOEe0JbVLjmAA/1/l5IXEIv+xoyOew=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-u87ekur9iThUxufJ9jJHlHu8t5lvlnfVZqsf5Ag1+r8=";
|
||||
vendorHash = "sha256-fo4LLRqqylx4oZOkLOgFzT436+vjap9dW+IpQ0IFa8Y=";
|
||||
|
||||
# See .goreleaser.yml
|
||||
ldflags = [
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
}:
|
||||
buildDotnetModule (finalAttrs: {
|
||||
pname = "msbuild-structured-log-viewer";
|
||||
version = "2.3.17";
|
||||
version = "2.3.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KirillOsenkov";
|
||||
repo = "MSBuildStructuredLog";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5kbLUeD/q8BHj1DIJzyvsmkSvLms2E2oOuO+SINzCRA=";
|
||||
hash = "sha256-ZjfkHiSDbWRHZWiHyehV+nJMp86v5Z6HCYYf+LNTSJg=";
|
||||
};
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "nelm";
|
||||
version = "1.10.0";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "nelm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FtYRfGHdU3eScFQYDS4vAqQ7fgcGIUYhn7N5/X0rhXA=";
|
||||
hash = "sha256-HooW+nwjh8kNh9XwB3+/wt9hzhRnwRDSOh6YKucus+Q=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-QxzI+MO3wJxioW7NQwEigNq6NDu81Pu2BUBlwRvqyqk=";
|
||||
vendorHash = "sha256-53pIUVbGXU1GGFZtUtjSOufCbvHEPUltZd52eZEGSio=";
|
||||
|
||||
subPackages = [ "cmd/nelm" ];
|
||||
|
||||
|
||||
@@ -86,7 +86,11 @@ class Flake:
|
||||
|
||||
@override
|
||||
def __str__(self) -> str:
|
||||
return f"{self.path}#{self.attr}"
|
||||
if isinstance(self.path, Path):
|
||||
# https://github.com/NixOS/nixpkgs/issues/433726
|
||||
return f"{self.path.absolute()}#{self.attr}"
|
||||
else:
|
||||
return f"{self.path}#{self.attr}"
|
||||
|
||||
@classmethod
|
||||
def parse(cls, flake_str: str, target_host: Remote | None = None) -> Self:
|
||||
|
||||
@@ -71,6 +71,14 @@ def test_flake_to_attr() -> None:
|
||||
)
|
||||
|
||||
|
||||
def test_flake__str__(monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
|
||||
assert str(m.Flake("github:nixos/nixpkgs", "attr")) == "github:nixos/nixpkgs#attr"
|
||||
assert str(m.Flake(Path("/etc/nixos"), "attr")) == "/etc/nixos#attr"
|
||||
with monkeypatch.context() as patch_context:
|
||||
patch_context.chdir(tmpdir)
|
||||
assert str(m.Flake(Path("."), "attr")) == f"{tmpdir}#attr"
|
||||
|
||||
|
||||
@patch("platform.node", autospec=True)
|
||||
def test_flake_from_arg(
|
||||
mock_node: Mock, monkeypatch: MonkeyPatch, tmpdir: Path
|
||||
|
||||
@@ -54,7 +54,7 @@ def test_build(mock_run: Mock) -> None:
|
||||
)
|
||||
def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
|
||||
monkeypatch.chdir(tmpdir)
|
||||
flake = m.Flake.parse(".#hostname")
|
||||
flake = m.Flake.parse("/flake.nix#hostname")
|
||||
|
||||
assert n.build_flake(
|
||||
"config.system.build.toplevel",
|
||||
@@ -68,7 +68,7 @@ def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) ->
|
||||
"nix-command flakes",
|
||||
"build",
|
||||
"--print-out-paths",
|
||||
'.#nixosConfigurations."hostname".config.system.build.toplevel',
|
||||
'/flake.nix#nixosConfigurations."hostname".config.system.build.toplevel',
|
||||
"--no-link",
|
||||
"--nix-flag",
|
||||
"foo",
|
||||
@@ -173,7 +173,7 @@ def test_build_remote_flake(
|
||||
mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path
|
||||
) -> None:
|
||||
monkeypatch.chdir(tmpdir)
|
||||
flake = m.Flake.parse(".#hostname")
|
||||
flake = m.Flake.parse("/flake.nix#hostname")
|
||||
build_host = m.Remote("user@host", [], None)
|
||||
monkeypatch.setenv("NIX_SSHOPTS", "--ssh opts")
|
||||
|
||||
@@ -194,7 +194,7 @@ def test_build_remote_flake(
|
||||
"nix-command flakes",
|
||||
"eval",
|
||||
"--raw",
|
||||
'.#nixosConfigurations."hostname".config.system.build.toplevel.drvPath',
|
||||
'/flake.nix#nixosConfigurations."hostname".config.system.build.toplevel.drvPath',
|
||||
"--flake",
|
||||
],
|
||||
stdout=PIPE,
|
||||
@@ -291,7 +291,7 @@ def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
|
||||
|
||||
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
|
||||
def test_edit_flake(mock_run: Mock) -> None:
|
||||
flake = m.Flake.parse(".#attr")
|
||||
flake = m.Flake.parse("/flake.nix#attr")
|
||||
n.edit_flake(flake, {"commit_lock_file": True})
|
||||
mock_run.assert_called_with(
|
||||
[
|
||||
@@ -301,7 +301,7 @@ def test_edit_flake(mock_run: Mock) -> None:
|
||||
"edit",
|
||||
"--commit-lock-file",
|
||||
"--",
|
||||
'.#nixosConfigurations."attr"',
|
||||
'/flake.nix#nixosConfigurations."attr"',
|
||||
],
|
||||
check=False,
|
||||
)
|
||||
@@ -385,7 +385,7 @@ def test_get_build_image_variants(mock_run: Mock, tmp_path: Path) -> None:
|
||||
),
|
||||
)
|
||||
def test_get_build_image_variants_flake(mock_run: Mock) -> None:
|
||||
flake = m.Flake(Path("flake.nix"), "myAttr")
|
||||
flake = m.Flake(Path("/flake.nix"), "myAttr")
|
||||
assert n.get_build_image_variants_flake(flake, {"eval_flag": True}) == {
|
||||
"azure": "nixos-image-azure-25.05.20250102.6df2492-x86_64-linux.vhd",
|
||||
"vmware": "nixos-image-vmware-25.05.20250102.6df2492-x86_64-linux.vmdk",
|
||||
@@ -395,7 +395,7 @@ def test_get_build_image_variants_flake(mock_run: Mock) -> None:
|
||||
"nix",
|
||||
"eval",
|
||||
"--json",
|
||||
"flake.nix#myAttr.config.system.build.images",
|
||||
"/flake.nix#myAttr.config.system.build.images",
|
||||
"--apply",
|
||||
"builtins.attrNames",
|
||||
"--eval-flag",
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "obs-cmd";
|
||||
version = "0.18.5";
|
||||
version = "0.19.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grigio";
|
||||
repo = "obs-cmd";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/j+nERCKGBdR+1n3IqRLo77CLbuHz0r5M7m8JttBxak=";
|
||||
hash = "sha256-a7GUv14iJLrgXu6y5uJalD1cx723aIlPLDPOOoemtIY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-XMi3/FEl7OEp2zCWELOjsmfiwCRxS1L95yJPoU1Xlu0=";
|
||||
cargoHash = "sha256-ZWVNLI900SZhXLMV2/v3WT2eqv+4XofpIgm/f/0eE+U=";
|
||||
|
||||
meta = {
|
||||
description = "Minimal CLI to control OBS Studio via obs-websocket";
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "openjph";
|
||||
version = "0.21.3";
|
||||
version = "0.21.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aous72";
|
||||
repo = "openjph";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-KiDDpNNPN43YevIjnCl1dYyWgKIB8tTxs3UYSCufxhA=";
|
||||
hash = "sha256-oURB1c1A0hSJ7mh85bMVskQSHqsKmm21h/AZtttFRlw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "openpgl";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenPathGuidingLibrary";
|
||||
repo = "openpgl";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-HX3X1dmOazUUiYCqa6irpNm37YthB2YHb8u1P1qDHco=";
|
||||
hash = "sha256-3DZx+19t3ux3y1HplvrjF7QEhTH/pC+VlKdZhiUPbGI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,18 +8,18 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "parca-agent";
|
||||
version = "0.39.3";
|
||||
version = "0.40.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "parca-dev";
|
||||
repo = "parca-agent";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-dtDC0TlyYnoYpKiZ9gb9Dm75LA1r8040IUurnalkO4M=";
|
||||
hash = "sha256-xGqHnnaRViD2HcTjOJoq/GYyw702BCY5hTIkbJm6HjQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-10cfmMbNvaX2VksX0WOOHQAMgqfOXbkLXeXAy3b3fhU=";
|
||||
vendorHash = "sha256-prZzLsLbxCCBNQDy4NEwGMcXRM2MFy7D46Kd37dL5bQ=";
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.libc.static
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdns";
|
||||
version = "4.9.5";
|
||||
version = "4.9.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.powerdns.com/releases/pdns-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-Zpu3uZgjsyw5ATN9abOMn4Bz8vwC6HZJM7jFwJdOJyQ=";
|
||||
hash = "sha256-GAtmrjMtMWaWjgE7/3y/bwxyhp1r5pfbdKAt86xuipE=";
|
||||
};
|
||||
# redact configure flags from version output to reduce closure size
|
||||
patches = [ ./version.patch ];
|
||||
|
||||
@@ -41,12 +41,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "peergos";
|
||||
version = "1.8.0";
|
||||
version = "1.9.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Peergos";
|
||||
repo = "web-ui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bvuJ/Z/GVBohUX7dgpx77QdWUEW0eI8FUAGUibOmaM0=";
|
||||
hash = "sha256-KQyy1O8daex1nuKbO891kkJ+lETovUrHKF+D+1iHjXA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -2,21 +2,20 @@
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "pgsrip";
|
||||
version = "0.1.11";
|
||||
version = "0.1.12";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python3Packages.pythonOlder "3.9";
|
||||
disabled = python3Packages.pythonOlder "3.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ratoaq2";
|
||||
repo = "pgsrip";
|
||||
rev = version;
|
||||
hash = "sha256-H9gZXge+m/bCq25Fv91oFZ8Cq2SRNrKhOaDrLZkjazg=";
|
||||
tag = version;
|
||||
hash = "sha256-8UzElhMdhjZERdogtAbkcfw67blk9lOTQ09vjF5SXm4=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.poetry-core ];
|
||||
@@ -34,16 +33,15 @@ python3Packages.buildPythonApplication rec {
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"numpy"
|
||||
"click"
|
||||
"opencv-python"
|
||||
"setuptools"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Rip your PGS subtitles";
|
||||
homepage = "https://github.com/ratoaq2/pgsrip";
|
||||
changelog = "https://github.com/ratoaq2/pgsrip/blob/${src.rev}/CHANGELOG.md";
|
||||
changelog = "https://github.com/ratoaq2/pgsrip/blob/${src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ eljamm ];
|
||||
mainProgram = "pgsrip";
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qlog";
|
||||
version = "0.44.1";
|
||||
version = "0.45.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foldynl";
|
||||
repo = "QLog";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-oSnWgv+c4XpvGzG+b+CteCy0oKRpx5qt5TQOzSGNg1I=";
|
||||
hash = "sha256-Baw5IbO+A91Kt20DPAvh5oERkojBgegHK70g6XUysvs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
installShellFiles,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "qrtool";
|
||||
version = "0.11.8";
|
||||
version = "0.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sorairolake";
|
||||
repo = "qrtool";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-f/2AaNnojtZMhJod6ukLwEq+Bsu6O2oTD9OWGL8IS80=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-I/LyDHV3pbRj+utzJBLvkgstEOodLkvfQT6uMLnOEgM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-wXs3Y0g+inUU3Qho5UhZOJhNDs65HS6FjPdZQBuwLM0=";
|
||||
cargoHash = "sha256-c1sw0zyJZDvJe3Hcn1W4UPkqTKqRhywHpR6HLrqAN+A=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
asciidoctor
|
||||
@@ -28,21 +28,20 @@ rustPlatform.buildRustPackage rec {
|
||||
postInstall = ''
|
||||
# Built by ./build.rs using `asciidoctor`
|
||||
installManPage ./target/*/release/build/qrtool*/out/*.?
|
||||
|
||||
''
|
||||
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd qrtool \
|
||||
--bash <($out/bin/qrtool --generate-completion bash) \
|
||||
--fish <($out/bin/qrtool --generate-completion fish) \
|
||||
--zsh <($out/bin/qrtool --generate-completion zsh)
|
||||
--bash <($out/bin/qrtool completion bash) \
|
||||
--fish <($out/bin/qrtool completion fish) \
|
||||
--zsh <($out/bin/qrtool completion zsh)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = with maintainers; [ philiptaron ];
|
||||
meta = {
|
||||
description = "Utility for encoding and decoding QR code images";
|
||||
license = licenses.asl20;
|
||||
license = lib.licenses.asl20;
|
||||
homepage = "https://sorairolake.github.io/qrtool/book/index.html";
|
||||
changelog = "https://sorairolake.github.io/qrtool/book/changelog.html";
|
||||
mainProgram = "qrtool";
|
||||
maintainers = with lib.maintainers; [ philiptaron ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qview";
|
||||
version = "7.0";
|
||||
version = "7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jurplel";
|
||||
repo = "qView";
|
||||
rev = version;
|
||||
hash = "sha256-kFptDhmFu9LX99P6pCfxRbu4iVhWl4br+n6LO+yrGsw=";
|
||||
hash = "sha256-EcXhwJcgBLdXa/FQ5LuENlzwnLw4Gt2BGlBO1p5U8tI=";
|
||||
};
|
||||
|
||||
qmakeFlags = lib.optionals (!x11Support) [ "CONFIG+=NO_X11" ];
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "radicle-node";
|
||||
version = "1.2.1";
|
||||
version = "1.3.0";
|
||||
env.RADICLE_VERSION = version;
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git";
|
||||
rev = "refs/namespaces/z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/refs/tags/v${version}";
|
||||
hash = "sha256-pqYV3n/aKNbEDEp8v4oQUMMlsSiJZq/nh5gFP4KpZbM=";
|
||||
hash = "sha256-0gK+fM/YGGpxlcR1HQixbLK0/sv+HH29h6ajEP2w2pI=";
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
git -C $out rev-parse HEAD > $out/.git_head
|
||||
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
};
|
||||
|
||||
cargoHash = "sha256-T457lXW0M2eO9R+8XyobUFVj4NOiXVSvtDztp1i0PS4=";
|
||||
cargoHash = "sha256-qLRFZXbVbsgMyXiljsb8lOBCDZKa17LcxWuPaUYSG70=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
asciidoctor
|
||||
@@ -48,6 +48,14 @@ rustPlatform.buildRustPackage rec {
|
||||
export SOURCE_DATE_EPOCH=$(<$src/.git_time)
|
||||
'';
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--package=radicle-node"
|
||||
"--package=radicle-cli"
|
||||
"--package=radicle-remote-helper"
|
||||
];
|
||||
|
||||
cargoTestFlags = cargoBuildFlags;
|
||||
|
||||
# tests regularly time out on aarch64
|
||||
doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86;
|
||||
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rgbds";
|
||||
version = "0.9.3";
|
||||
version = "0.9.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gbdev";
|
||||
repo = "rgbds";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-G83AoURZWrKto64Aga2vpg4/vY9pwLS+SDkFX0arKQw=";
|
||||
hash = "sha256-PFnU6vWfwvtnB93J+PcxZk000hbHnbe7GR+HCvH26dg=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "schismtracker";
|
||||
version = "20250415";
|
||||
version = "20250728";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schismtracker";
|
||||
repo = "schismtracker";
|
||||
tag = version;
|
||||
hash = "sha256-VK2XdixejaoG6P1X3XG8Ow4H6CF3sNwAveJ4cCxdLuQ=";
|
||||
hash = "sha256-EnZgZHZWTsiij3LKVesNKuKX0PNr88WhVo8fEDhWCkY=";
|
||||
};
|
||||
|
||||
# If we let it try to get the version from git, it will fail and fall back
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "spicetify-cli";
|
||||
version = "2.40.11";
|
||||
version = "2.41.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spicetify";
|
||||
repo = "cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CVCp9XzbVM0XAtgtBfMLLQTymzMTZfpoL9RrLI9MaDY=";
|
||||
hash = "sha256-07++H76LBlfCcdm5uEpQrS5UMCZadLp1I6J4ZMaIPUo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-iD6sKhMnvc0RczoSCWCx/72/zjoC6YQyV+AYyE4w/b0=";
|
||||
vendorHash = "sha256-W5i7R/maFvoouoSzPFEJMAp64H1Zsac24CiKuDt/cMY=";
|
||||
|
||||
ldflags = [
|
||||
"-s -w"
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "thanos";
|
||||
version = "0.38.0";
|
||||
version = "0.39.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thanos-io";
|
||||
repo = "thanos";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-3rNtiVTrA+MoCVuTSLIzh65U0kjA86EF+bQCyfVa6rA=";
|
||||
hash = "sha256-yKw+HGlqEgQmydZ+PIk5y/z5H57nZ0dtw/kEh8079Ws=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Z/S4mVg+VbP8hNVB1xz1uGWR6N/1aTA0DqTHbntGMLg=";
|
||||
vendorHash = "sha256-6qTxCAD1hbS77erG1Z52JU2iOXAU+qtY3yivX+4bjlw=";
|
||||
|
||||
subPackages = "cmd/thanos";
|
||||
|
||||
|
||||
@@ -10,14 +10,14 @@ let
|
||||
platform =
|
||||
if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
|
||||
hash = builtins.getAttr platform {
|
||||
"universal-macos" = "sha256-wI83spYIWkennTcfqrd4JL1DZULFVkKaQmTf4JgZulg=";
|
||||
"x86_64-linux" = "sha256-qDMZQGO9vc07qNis9xYFBNpdkwRErEMHODNoDcubS5w=";
|
||||
"aarch64-linux" = "sha256-W0OoF+pBWptsRoJuQGAT2D0bn9CDjmpLgmY7Ip5WMCk=";
|
||||
"universal-macos" = "sha256-bIGSSJ7JsdhVHh8FBP0q+Nol1jg+FudVSnajVfRAiFk=";
|
||||
"x86_64-linux" = "sha256-KpsoPe+YoIvxIh88/0t+DjOarjPvhrTJLVWoyuBhGq4=";
|
||||
"aarch64-linux" = "sha256-c7foGzXfcWW9+ZHDwj4bStCassjzuZT3k/mDwGYYuBw=";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "tigerbeetle";
|
||||
version = "0.16.53";
|
||||
version = "0.16.54";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
let
|
||||
pname = "vector";
|
||||
version = "0.48.0";
|
||||
version = "0.49.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
@@ -34,10 +34,10 @@ rustPlatform.buildRustPackage {
|
||||
owner = "vectordotdev";
|
||||
repo = "vector";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qgf3aMZc1cgPlsAzgtaXLUx99KwN5no1amdkwFVyl4Y=";
|
||||
hash = "sha256-sow1BFJgwOOajJ7dTmoUNJ3OpI9/73Uigrcb1CIBOE8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-t8mfZpLrzrxj1WUpJPqZWyfBf9XobcqZY/hAeVGzhcM=";
|
||||
cargoHash = "sha256-a7923ubtads5ZLjc+27RHtPFKmgv0aMOxiSrvIVr5VA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "walker";
|
||||
version = "0.13.14";
|
||||
version = "0.13.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abenz1267";
|
||||
repo = "walker";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IX1m/1T6FDhGunS3wvZbn4Iv1sziMQzuRepNkEe9LC4=";
|
||||
hash = "sha256-LslpfHXj31Lvq+26ZDzCTaGBbxmp7yXlgKT+uwUEEts=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-N7lNxO/l3E1BlSSbSiQjrDPy2sWwk4G4JYlUArmMJxs=";
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "waywall";
|
||||
version = "0-unstable-2025-02-07";
|
||||
version = "0-unstable-2025-08-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tesselslate";
|
||||
repo = "waywall";
|
||||
rev = "be96e20997c5886af9661d9832b7902aba1e5311";
|
||||
hash = "sha256-77GbBzHjyZuauhl0vlguUS/7jBT4qNjOLYGWBVTPjEY=";
|
||||
rev = "d77f51926a203b7ddfe095971e7c6c740dad0ffc";
|
||||
hash = "sha256-ev/A5ksqmWz6hpwUIoxg2k9BwzE4BNCZO4tpXq790zo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "weaviate";
|
||||
version = "1.31.6";
|
||||
version = "1.32.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaviate";
|
||||
repo = "weaviate";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-UuvIMmN4gyAzXB9ZXmPATOyFt7hNVh2r+c+Ho1Tn/WA=";
|
||||
hash = "sha256-upia7a7IzLee0xZWQ8w/LW8zIfva40Jc57hZE50kIa4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xAP9jrkpQFoGovTL5nymG2CYxwseJ3Be3NoVVrWXDYs=";
|
||||
vendorHash = "sha256-PnwlwWhTL1Fwz5nx6gune3DICVmApHl6rtddxRc2I1Q=";
|
||||
|
||||
subPackages = [ "cmd/weaviate-server" ];
|
||||
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wit-bindgen";
|
||||
version = "0.43.0";
|
||||
version = "0.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bytecodealliance";
|
||||
repo = "wit-bindgen";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fysraQTB1+GIeXagXVAUEp1iKCX1zZNL/7UqsTLkAbg=";
|
||||
hash = "sha256-iUr0H5m9aGyJ13JqOQjSFHTWzs5pIwmttAa3oWiM3Hw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-A5HhJwH29U5nFVIyPrgPxpCiLLBo4zEqtApO8lv/5us=";
|
||||
cargoHash = "sha256-6OiE+9KMhw3cE1HZRitrcjupiQbr6UfRaWf8PRxqvmk=";
|
||||
|
||||
# Some tests fail because they need network access to install the `wasm32-unknown-unknown` target.
|
||||
# However, GitHub Actions ensures a proper build.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "xcaddy";
|
||||
version = "0.4.4";
|
||||
version = "0.4.5";
|
||||
|
||||
subPackages = [ "cmd/xcaddy" ];
|
||||
|
||||
@@ -14,7 +14,7 @@ buildGoModule rec {
|
||||
owner = "caddyserver";
|
||||
repo = "xcaddy";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vpaweUU++3ZHj7KT5WNUCw3X93sQBTgjKlB8rJwrHlM=";
|
||||
hash = "sha256-2cP0bkG16bRdLycLx7gpnQuALgO8hDowp/4cRBO4KuM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -28,7 +28,7 @@ buildGoModule rec {
|
||||
"-X github.com/caddyserver/xcaddy/cmd.customVersion=v${version}"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-vU/ptOzBjMpRG2Do6ODC+blcCNl15D9mSsEV8QgNN3Y=";
|
||||
vendorHash = "sha256-2OZoSOUCkt94uG+54Dx/1di/RZxZ2UOsmTC6YDA5cKo=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/caddyserver/xcaddy";
|
||||
|
||||
@@ -26,12 +26,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "yarg";
|
||||
version = "0.12.6";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/YARC-Official/YARG/releases/download/v${finalAttrs.version}/YARG_v${finalAttrs.version}-Linux-x86_64.zip";
|
||||
stripRoot = false;
|
||||
hash = "sha256-Za+CnuSTfJZVdW0pWvGDnKcbhZsgtNPRWYj1qOA8+Zs=";
|
||||
hash = "sha256-3auQc4Vq0m/f40PvWgbo0U2jUWaDA6OzKOj96ZG2RxA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
@@ -119,6 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = with lib; {
|
||||
description = "Free, open-source, plastic guitar game";
|
||||
homepage = "https://yarg.in";
|
||||
changelog = "https://github.com/YARC-Official/YARG/releases/tag/v${finalAttrs.version}";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ kira-bruneau ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -37,7 +37,7 @@ lib.makeScope newScope (self: {
|
||||
...
|
||||
}:
|
||||
self.eggDerivation {
|
||||
name = "${pname}-${version}";
|
||||
inherit pname version;
|
||||
src = self.fetchegg (eggData // { inherit pname; });
|
||||
buildInputs = map (x: eggself.${x}) dependencies;
|
||||
meta.homepage = "https://wiki.call-cc.org/eggref/5/${pname}";
|
||||
|
||||
@@ -5,12 +5,6 @@
|
||||
chickenEggs,
|
||||
}:
|
||||
|
||||
# Note: This mostly reimplements the default.nix already contained in
|
||||
# the tarball. Is there a nicer way than duplicating code?
|
||||
|
||||
let
|
||||
version = "c5-git";
|
||||
in
|
||||
eggDerivation {
|
||||
src = fetchFromGitHub {
|
||||
owner = "corngood";
|
||||
@@ -19,7 +13,8 @@ eggDerivation {
|
||||
sha256 = "1vfnhbcnyakywgjafhs0k5kpsdnrinzvdjxpz3fkwas1jsvxq3d1";
|
||||
};
|
||||
|
||||
name = "egg2nix-${version}";
|
||||
pname = "egg2nix";
|
||||
version = "c5-git";
|
||||
buildInputs = with chickenEggs; [
|
||||
args
|
||||
matchable
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
makeWrapper,
|
||||
}:
|
||||
{
|
||||
name,
|
||||
src,
|
||||
buildInputs ? [ ],
|
||||
chickenInstallFlags ? [ ],
|
||||
@@ -15,14 +14,24 @@
|
||||
}@args:
|
||||
|
||||
let
|
||||
nameVersionAssertion =
|
||||
pred: lib.assertMsg pred "either name or both pname and version must be given";
|
||||
pname =
|
||||
if args ? pname then
|
||||
assert nameVersionAssertion (!args ? name && args ? version);
|
||||
args.pname
|
||||
else
|
||||
assert nameVersionAssertion (args ? name && !args ? version);
|
||||
lib.getName args.name;
|
||||
version = if args ? version then args.version else lib.getVersion args.name;
|
||||
name = if args ? name then args.name else "${args.pname}-${args.version}";
|
||||
overrides = callPackage ./overrides.nix { };
|
||||
baseName = lib.getName name;
|
||||
override =
|
||||
if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else lib.id;
|
||||
override = if builtins.hasAttr pname overrides then builtins.getAttr pname overrides else lib.id;
|
||||
in
|
||||
(stdenv.mkDerivation (
|
||||
{
|
||||
name = "chicken-${name}";
|
||||
pname = "chicken-${pname}";
|
||||
inherit version;
|
||||
propagatedBuildInputs = buildInputs;
|
||||
nativeBuildInputs = [
|
||||
chicken
|
||||
@@ -47,6 +56,10 @@ in
|
||||
export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion}
|
||||
chicken-install -cached -host ${lib.escapeShellArgs chickenInstallFlags}
|
||||
|
||||
# Patching generated .egg-info instead of original .egg to work around https://bugs.call-cc.org/ticket/1855
|
||||
csi -e "(write (cons '(version \"${version}\") (read)))" < "$CHICKEN_INSTALL_REPOSITORY/${pname}.egg-info" > "${pname}.egg-info.new"
|
||||
mv "${pname}.egg-info.new" "$CHICKEN_INSTALL_REPOSITORY/${pname}.egg-info"
|
||||
|
||||
for f in $out/bin/*
|
||||
do
|
||||
wrapProgram $f \
|
||||
@@ -67,6 +80,8 @@ in
|
||||
}
|
||||
// builtins.removeAttrs args [
|
||||
"name"
|
||||
"pname"
|
||||
"version"
|
||||
"buildInputs"
|
||||
"meta"
|
||||
]
|
||||
|
||||
@@ -28,26 +28,6 @@ let
|
||||
};
|
||||
in
|
||||
{
|
||||
allegro =
|
||||
old:
|
||||
(
|
||||
(addToBuildInputsWithPkgConfig (
|
||||
[
|
||||
pkgs.allegro5
|
||||
pkgs.libglvnd
|
||||
pkgs.libGLU
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ pkgs.xorg.libX11 ]
|
||||
))
|
||||
old
|
||||
)
|
||||
// {
|
||||
# depends on 'chicken' egg, which doesn't exist,
|
||||
# so we specify all the deps here
|
||||
propagatedBuildInputs = [
|
||||
chickenEggs.foreigners
|
||||
];
|
||||
};
|
||||
breadline = addToBuildInputs pkgs.readline;
|
||||
blas = addToBuildInputsWithPkgConfig pkgs.blas;
|
||||
blosc = addToBuildInputs pkgs.c-blosc;
|
||||
@@ -60,13 +40,6 @@ in
|
||||
srfi-13
|
||||
]) old);
|
||||
cmark = addToBuildInputs pkgs.cmark;
|
||||
comparse = old: {
|
||||
# For some reason lazy-seq 2 gets interpreted as lazy-seq 0.0.0??
|
||||
postPatch = ''
|
||||
substituteInPlace comparse.egg \
|
||||
--replace-fail 'lazy-seq "0.1.0"' 'lazy-seq "0.0.0"'
|
||||
'';
|
||||
};
|
||||
epoxy =
|
||||
old:
|
||||
(addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy old)
|
||||
@@ -122,14 +95,8 @@ in
|
||||
(addToBuildInputs (lib.optional stdenv.hostPlatform.isDarwin pkgs.libinotify-kqueue) old)
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isDarwin (addToCscOptions "-L -linotify" old);
|
||||
leveldb = addToBuildInputs pkgs.leveldb;
|
||||
lowdown = old: {
|
||||
# For some reason comparse version gets interpreted as 0.0.0
|
||||
postPatch = ''
|
||||
substituteInPlace lowdown.egg \
|
||||
--replace-fail 'comparse "3"' 'comparse "0.0.0"'
|
||||
'';
|
||||
};
|
||||
magic = addToBuildInputs pkgs.file;
|
||||
magic-pipes = addToBuildInputs pkgs.chickenPackages_5.chickenEggs.regex;
|
||||
mdh =
|
||||
old:
|
||||
(addToBuildInputs pkgs.pcre old)
|
||||
@@ -139,13 +106,6 @@ in
|
||||
"-Wno-error=implicit-int"
|
||||
];
|
||||
};
|
||||
medea = old: {
|
||||
# For some reason comparse gets interpreted as comparse 0.0.0
|
||||
postPatch = ''
|
||||
substituteInPlace medea.egg \
|
||||
--replace-fail 'comparse "0.3.0"' 'comparse "0.0.0"'
|
||||
'';
|
||||
};
|
||||
# missing dependency in upstream egg
|
||||
mistie = addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 ]);
|
||||
mosquitto = addToPropagatedBuildInputs ([ pkgs.mosquitto ]);
|
||||
@@ -286,12 +246,19 @@ in
|
||||
};
|
||||
|
||||
# mark broken
|
||||
"ephem-v1.1" = broken;
|
||||
F-operator = broken;
|
||||
atom = broken;
|
||||
begin-syntax = broken;
|
||||
allegro =
|
||||
old:
|
||||
(broken old)
|
||||
// {
|
||||
# depends on 'chicken' egg, which doesn't exist, so we specify all the deps here (needs to be
|
||||
# kept around even when marked as broken so that evaluation doesn't break due to the missing
|
||||
# attribute).
|
||||
propagatedBuildInputs = [
|
||||
chickenEggs.foreigners
|
||||
];
|
||||
};
|
||||
ephem = broken;
|
||||
canvas-draw = broken;
|
||||
chicken-doc-admin = broken;
|
||||
coops-utils = broken;
|
||||
crypt = broken;
|
||||
hypergiant = broken;
|
||||
@@ -301,10 +268,8 @@ in
|
||||
mpi = broken;
|
||||
pyffi = broken;
|
||||
qt-light = broken;
|
||||
salmonella-html-report = broken;
|
||||
sundials = broken;
|
||||
svn-client = broken;
|
||||
system = broken;
|
||||
tokyocabinet = broken;
|
||||
|
||||
# mark broken darwin
|
||||
|
||||
@@ -15,11 +15,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jruby";
|
||||
version = "9.4.12.0";
|
||||
version = "10.0.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://s3.amazonaws.com/jruby.org/downloads/${finalAttrs.version}/jruby-bin-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-BcXSA9aZDJJnHMQvV9L6HBCDu/0W+nAj3FhIzbjwqi4=";
|
||||
hash = "sha256-Qn2YJ+0j/mtNEf5hZlx13XR2ujagQ4N26zEM4qjSRzM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qtutilities";
|
||||
version = "6.17.0";
|
||||
version = "6.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Martchus";
|
||||
repo = "qtutilities";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-oPC4/JXqsCCX9DsUBeqYSvQeBGXYKBScaNSBCosugnY=";
|
||||
hash = "sha256-2KEzuYUFmOeDzBU5UX9MknTNvTLX0we7QiUtg5SVUCc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ansible-compat";
|
||||
version = "25.6.0";
|
||||
version = "25.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ansible";
|
||||
repo = "ansible-compat";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-OobW7dlj++SzTrX4tWMS5E0C32gDJWFbZwpGskjnCCQ=";
|
||||
hash = "sha256-h6zj7X560YMnc4mPoRtpzTGcFWh+u7sQ1bc9iswOGb4=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
aiohttp,
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
urllib3,
|
||||
xmltodict,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "asusrouter";
|
||||
version = "1.18.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Vaskivskyi";
|
||||
repo = "asusrouter";
|
||||
tag = version;
|
||||
hash = "sha256-8kETQKvPwURyEabK/g8Ub+aLcPPTRs0FFWbSNU4jJZc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "setuptools==80.9.0" "setuptools"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
urllib3
|
||||
xmltodict
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "asusrouter" ];
|
||||
|
||||
meta = {
|
||||
description = "API wrapper for communication with ASUSWRT-powered routers using HTTP protocol";
|
||||
homepage = "https://github.com/Vaskivskyi/asusrouter";
|
||||
changelog = "https://github.com/Vaskivskyi/asusrouter/releases/tag/${src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "atopile-easyeda2kicad";
|
||||
version = "0.9.5";
|
||||
version = "0.9.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "atopile";
|
||||
repo = "easyeda2kicad.py";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TLGLNe/Lk2WpYMzmX2iK3S27/QRqTOdHqO8XIMZSda4=";
|
||||
hash = "sha256-0d7lcs/aWSwxGBEIGkEcKc7SwBCqjBdoJIlCnLh8RFA=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -37,7 +37,7 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Convert any LCSC components (including EasyEDA) to KiCad library";
|
||||
homepage = "https://github.com/atopile/easyeda2kicad.py";
|
||||
changelog = "https://github.com/atopile/easyeda2kicad.py/releases/tag/v${version}";
|
||||
changelog = "https://github.com/atopile/easyeda2kicad.py/releases/tag/${src.tag}";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
mainProgram = "easyeda2kicad";
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "awscrt";
|
||||
version = "0.27.5";
|
||||
version = "0.27.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-2TYEuzld19s3aWvLtHDtK9E/cgSExsTJ9GzzpoIF9xk=";
|
||||
hash = "sha256-RfPdCz+xPfvqhW3ZbJrP53vrpXubAZRE7pYu0rdidt0=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user