Merge 81c8dee706 into haskell-updates
This commit is contained in:
@@ -19,7 +19,7 @@ jobs:
|
||||
steps:
|
||||
# Use a GitHub App to create the PR so that CI gets triggered
|
||||
# The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs
|
||||
- uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7
|
||||
- uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.NIXPKGS_CI_APP_ID }}
|
||||
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
- name: Build codeowners validator
|
||||
run: nix-build base/ci -A codeownersValidator
|
||||
|
||||
- uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7
|
||||
- uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.OWNER_RO_APP_ID }}
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
# This is intentional, because we need to request the review of owners as declared in the base branch.
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7
|
||||
- uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.OWNER_APP_ID }}
|
||||
|
||||
@@ -244,7 +244,7 @@ jobs:
|
||||
steps:
|
||||
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
|
||||
# Can't use the token received from permissions above, because it can't get enough permissions
|
||||
- uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7
|
||||
- uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.OWNER_APP_ID }}
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
steps:
|
||||
# Use a GitHub App to create the PR so that CI gets triggered
|
||||
# The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs
|
||||
- uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7
|
||||
- uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.NIXPKGS_CI_APP_ID }}
|
||||
|
||||
@@ -10858,6 +10858,12 @@
|
||||
githubId = 6874204;
|
||||
name = "Jason Carr";
|
||||
};
|
||||
jasoncrevier = {
|
||||
email = "jason@jasoncrevier.com";
|
||||
github = "jasoncrevier";
|
||||
githubId = 106266438;
|
||||
name = "Jason Crevier";
|
||||
};
|
||||
jasonodoom = {
|
||||
email = "jasonodoom@riseup.net";
|
||||
github = "jasonodoom";
|
||||
@@ -11718,6 +11724,12 @@
|
||||
name = "Johan Larsson";
|
||||
keys = [ { fingerprint = "F0D6 BDE7 C7D1 6B3F 7883 73E7 2A41 C0FE DD6F F540"; } ];
|
||||
};
|
||||
jolheiser = {
|
||||
email = "nixpkgs@jolheiser.com";
|
||||
github = "jolheiser";
|
||||
githubId = 42128690;
|
||||
name = "John Olheiser";
|
||||
};
|
||||
jonaenz = {
|
||||
name = "Jona Enzinger";
|
||||
email = "5xt3zyy5l@mozmail.com";
|
||||
@@ -17841,6 +17853,12 @@
|
||||
githubId = 35628088;
|
||||
name = "oluceps";
|
||||
};
|
||||
oluchitheanalyst = {
|
||||
name = "ndukauba maryjane oluchi";
|
||||
email = "ndukauba.oluchi2000@gmail.com";
|
||||
github = "oluchitheanalyst";
|
||||
githubId = 152318870;
|
||||
};
|
||||
olynch = {
|
||||
email = "owen@olynch.me";
|
||||
github = "olynch";
|
||||
@@ -19521,6 +19539,12 @@
|
||||
githubId = 488734;
|
||||
name = "Puck Meerburg";
|
||||
};
|
||||
PuercoPop = {
|
||||
email = "pirata@gmail.com";
|
||||
github = "PuercoPop";
|
||||
githubId = 387111;
|
||||
name = "Javier Olaechea";
|
||||
};
|
||||
puffnfresh = {
|
||||
email = "brian@brianmckenna.org";
|
||||
github = "puffnfresh";
|
||||
|
||||
@@ -45,7 +45,7 @@ in
|
||||
cosmic-applets
|
||||
cosmic-applibrary
|
||||
cosmic-bg
|
||||
(cosmic-comp.override { useXWayland = false; })
|
||||
cosmic-comp
|
||||
cosmic-edit
|
||||
cosmic-files
|
||||
config.services.displayManager.cosmic-greeter.package
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
}:
|
||||
# The return value of this function will be an attrset with arbitrary depth and
|
||||
# the `anything` returned by callTest at its test leafs.
|
||||
# the `anything` returned by callTest at its test leaves.
|
||||
# The tests not supported by `system` will be replaced with `{}`, so that
|
||||
# `passthru.tests` can contain links to those without breaking on architectures
|
||||
# where said tests are unsupported.
|
||||
@@ -655,7 +655,7 @@ in
|
||||
jool = import ./jool.nix { inherit pkgs runTest; };
|
||||
jotta-cli = handleTest ./jotta-cli.nix { };
|
||||
k3s = handleTest ./k3s { };
|
||||
kafka = handleTest ./kafka.nix { };
|
||||
kafka = handleTest ./kafka { };
|
||||
kanboard = runTest ./web-apps/kanboard.nix;
|
||||
kanidm = handleTest ./kanidm.nix { };
|
||||
kanidm-provisioning = handleTest ./kanidm-provisioning.nix { };
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
system ? builtins.currentSystem,
|
||||
config ? { },
|
||||
pkgs ? import ../.. { inherit system config; },
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
@@ -13,7 +9,7 @@ let
|
||||
kafkaPackage,
|
||||
mode ? "kraft",
|
||||
}:
|
||||
(import ./make-test-python.nix ({
|
||||
(import ../make-test-python.nix ({
|
||||
inherit name;
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
@@ -71,6 +67,7 @@ let
|
||||
9092
|
||||
9093
|
||||
];
|
||||
virtualisation.diskSize = 1024;
|
||||
# i686 tests: qemu-system-i386 can simulate max 2047MB RAM (not 2048)
|
||||
virtualisation.memorySize = 2047;
|
||||
};
|
||||
@@ -84,6 +81,7 @@ let
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 2181 ];
|
||||
virtualisation.diskSize = 1024;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -116,7 +114,7 @@ let
|
||||
+ "--from-beginning --max-messages 1"
|
||||
)
|
||||
'';
|
||||
}) { inherit system; });
|
||||
}));
|
||||
|
||||
in
|
||||
with pkgs;
|
||||
@@ -0,0 +1,199 @@
|
||||
import ../make-test-python.nix (
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkMerge;
|
||||
|
||||
# Generate with `kafka-storage.sh random-uuid`
|
||||
clusterId = "ii5pZE5LRkSeWrnyBhMOYQ";
|
||||
|
||||
kafkaConfig = {
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
9092
|
||||
9093
|
||||
];
|
||||
|
||||
virtualisation.diskSize = 1024;
|
||||
virtualisation.memorySize = 1024 * 2;
|
||||
|
||||
environment.systemPackages = [ pkgs.apacheKafka ];
|
||||
|
||||
services.apache-kafka = {
|
||||
enable = true;
|
||||
|
||||
clusterId = "${clusterId}";
|
||||
|
||||
formatLogDirs = true;
|
||||
|
||||
settings = {
|
||||
listeners = [
|
||||
"PLAINTEXT://:9092"
|
||||
"CONTROLLER://:9093"
|
||||
];
|
||||
"listener.security.protocol.map" = [
|
||||
"PLAINTEXT:PLAINTEXT"
|
||||
"CONTROLLER:PLAINTEXT"
|
||||
];
|
||||
"controller.quorum.voters" = lib.imap1 (i: name: "${toString i}@${name}:9093") (
|
||||
builtins.attrNames kafkaNodes
|
||||
);
|
||||
"controller.listener.names" = [ "CONTROLLER" ];
|
||||
|
||||
"process.roles" = [
|
||||
"broker"
|
||||
"controller"
|
||||
];
|
||||
|
||||
"log.dirs" = [ "/var/lib/apache-kafka" ];
|
||||
"num.partitions" = 6;
|
||||
"offsets.topic.replication.factor" = 2;
|
||||
"transaction.state.log.replication.factor" = 2;
|
||||
"transaction.state.log.min.isr" = 2;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.apache-kafka = {
|
||||
after = [ "network-online.target" ];
|
||||
requires = [ "network-online.target" ];
|
||||
serviceConfig.StateDirectory = "apache-kafka";
|
||||
};
|
||||
};
|
||||
|
||||
extraKafkaConfig = {
|
||||
kafka1 = {
|
||||
services.apache-kafka.settings = {
|
||||
"node.id" = 1;
|
||||
"broker.rack" = 1;
|
||||
};
|
||||
};
|
||||
|
||||
kafka2 = {
|
||||
services.apache-kafka.settings = {
|
||||
"node.id" = 2;
|
||||
"broker.rack" = 2;
|
||||
};
|
||||
};
|
||||
|
||||
kafka3 = {
|
||||
services.apache-kafka.settings = {
|
||||
"node.id" = 3;
|
||||
"broker.rack" = 3;
|
||||
};
|
||||
};
|
||||
|
||||
kafka4 = {
|
||||
services.apache-kafka.settings = {
|
||||
"node.id" = 4;
|
||||
"broker.rack" = 3;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kafkaNodes = builtins.mapAttrs (
|
||||
_: val:
|
||||
mkMerge [
|
||||
val
|
||||
kafkaConfig
|
||||
]
|
||||
) extraKafkaConfig;
|
||||
in
|
||||
{
|
||||
name = "kafka-cluster";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ jpds ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
inherit (kafkaNodes)
|
||||
kafka1
|
||||
kafka2
|
||||
kafka3
|
||||
kafka4
|
||||
;
|
||||
|
||||
client =
|
||||
{ config, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.apacheKafka ];
|
||||
virtualisation.diskSize = 1024;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
for machine in kafka1, kafka2, kafka3, kafka4:
|
||||
machine.wait_for_unit("apache-kafka")
|
||||
|
||||
for machine in kafka1, kafka2, kafka3, kafka4:
|
||||
machine.wait_for_open_port(9092)
|
||||
machine.wait_for_open_port(9093)
|
||||
|
||||
machine.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'Transition from STARTING to STARTED'"
|
||||
)
|
||||
|
||||
machine.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'Kafka Server started'"
|
||||
)
|
||||
|
||||
machine.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'BrokerLifecycleManager' | grep 'Incarnation [[:graph:]]\+ of broker [[:digit:]] in cluster ${clusterId}'"
|
||||
)
|
||||
|
||||
current_voters_json = kafka1.wait_until_succeeds(
|
||||
"kafka-metadata-quorum.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 describe --status | grep CurrentVoters"
|
||||
).replace("CurrentVoters:", "")
|
||||
|
||||
voters = json.loads(current_voters_json)
|
||||
|
||||
assert len(voters) == 4
|
||||
|
||||
kafka1.wait_until_succeeds(
|
||||
"kafka-topics.sh --bootstrap-server kafka1:9092 --create --topic test-123 --replication-factor 2"
|
||||
)
|
||||
|
||||
for machine in kafka1, kafka2, kafka3, kafka4:
|
||||
machine.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep -E 'Created log for partition test-123-[[:digit:]] in /var/lib/apache-kafka/test-123-[[:digit:]] with properties'"
|
||||
)
|
||||
|
||||
kafka1.wait_until_succeeds(
|
||||
"kafka-topics.sh --bootstrap-server=kafka1:9092 --describe --topic test-123 | "
|
||||
+ "grep 'PartitionCount: 6'"
|
||||
)
|
||||
|
||||
# Should never see a replica on both 3 and 4 as they're in the same rack
|
||||
kafka1.fail(
|
||||
"kafka-topics.sh --bootstrap-server=kafka1:9092 --describe --topic test-123 | "
|
||||
+ "grep -E 'Replicas: (3,4|4,3)'"
|
||||
)
|
||||
|
||||
client.succeed(
|
||||
"echo 'test 2' | "
|
||||
+ "kafka-console-producer.sh "
|
||||
+ "--bootstrap-server kafka1:9092 "
|
||||
+ "--topic test-123"
|
||||
)
|
||||
assert "test 2" in client.succeed(
|
||||
"kafka-console-consumer.sh "
|
||||
+ "--bootstrap-server kafka2:9092 --topic test-123 "
|
||||
+ "--group readtest "
|
||||
+ "--from-beginning --max-messages 1"
|
||||
)
|
||||
|
||||
client.succeed(
|
||||
"echo 'test 3' | "
|
||||
+ "kafka-console-producer.sh "
|
||||
+ "--bootstrap-server kafka2:9092 "
|
||||
+ "--topic test-123"
|
||||
)
|
||||
assert "test 3" in client.succeed(
|
||||
"kafka-console-consumer.sh "
|
||||
+ "--bootstrap-server kafka3:9092 --topic test-123 "
|
||||
+ "--group readtest "
|
||||
+ "--max-messages 1"
|
||||
)
|
||||
'';
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
system ? builtins.currentSystem,
|
||||
config ? { },
|
||||
pkgs ? import ../../.. { inherit system config; },
|
||||
}:
|
||||
|
||||
{
|
||||
base = import ./base.nix { inherit system pkgs; };
|
||||
cluster = import ./cluster.nix { inherit system pkgs; };
|
||||
mirrormaker = import ./mirrormaker.nix { inherit system pkgs; };
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
import ../make-test-python.nix (
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkMerge;
|
||||
|
||||
# Generate with `kafka-storage.sh random-uuid`
|
||||
clusterAId = "ihzlrasUQ9O3Yy0ZWYkd6w";
|
||||
|
||||
clusterBId = "Bnu_zrzKRH6-7KcK7t3I5Q";
|
||||
|
||||
kafkaConfig = {
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
9092
|
||||
9093
|
||||
];
|
||||
|
||||
virtualisation.diskSize = 1024;
|
||||
virtualisation.memorySize = 1024 * 2;
|
||||
|
||||
environment.systemPackages = [ pkgs.apacheKafka ];
|
||||
|
||||
services.apache-kafka = {
|
||||
enable = true;
|
||||
|
||||
formatLogDirs = true;
|
||||
|
||||
settings = {
|
||||
listeners = [
|
||||
"PLAINTEXT://:9092"
|
||||
"CONTROLLER://:9093"
|
||||
];
|
||||
"listener.security.protocol.map" = [
|
||||
"PLAINTEXT:PLAINTEXT"
|
||||
"CONTROLLER:PLAINTEXT"
|
||||
];
|
||||
"controller.listener.names" = [ "CONTROLLER" ];
|
||||
|
||||
"process.roles" = [
|
||||
"broker"
|
||||
"controller"
|
||||
];
|
||||
|
||||
"log.dirs" = [ "/var/lib/apache-kafka" ];
|
||||
"num.partitions" = 1;
|
||||
"offsets.topic.replication.factor" = 1;
|
||||
"transaction.state.log.replication.factor" = 1;
|
||||
"transaction.state.log.min.isr" = 1;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.apache-kafka = {
|
||||
after = [ "network-online.target" ];
|
||||
requires = [ "network-online.target" ];
|
||||
serviceConfig.StateDirectory = "apache-kafka";
|
||||
};
|
||||
};
|
||||
|
||||
extraKafkaConfig = {
|
||||
kafkaa1 = {
|
||||
services.apache-kafka = {
|
||||
clusterId = "${clusterAId}";
|
||||
|
||||
settings = {
|
||||
"node.id" = 1;
|
||||
"controller.quorum.voters" = [ "1@kafkaa1:9093" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kafkab1 = {
|
||||
services.apache-kafka = {
|
||||
clusterId = "${clusterBId}";
|
||||
|
||||
settings = {
|
||||
"node.id" = 1;
|
||||
"controller.quorum.voters" = [ "1@kafkab1:9093" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kafkaNodes = builtins.mapAttrs (
|
||||
_: val:
|
||||
mkMerge [
|
||||
val
|
||||
kafkaConfig
|
||||
]
|
||||
) extraKafkaConfig;
|
||||
|
||||
mirrorMakerProperties = pkgs.writeText "mm2.properties" ''
|
||||
name = A->B
|
||||
|
||||
clusters = A, B
|
||||
|
||||
A.bootstrap.servers = kafkaa1:9092
|
||||
B.bootstrap.servers = kafkab1:9092
|
||||
|
||||
A->B.enabled = true
|
||||
A->B.topics = .*
|
||||
|
||||
B->A.enabled = false
|
||||
B->A.topics = .*
|
||||
|
||||
replication.factor=1
|
||||
replication.policy.class=org.apache.kafka.connect.mirror.IdentityReplicationPolicy
|
||||
|
||||
tasks.max = 2
|
||||
refresh.topics.enabled = true
|
||||
refresh.topics.interval.seconds = 5
|
||||
sync.topic.configs.enabled = true
|
||||
|
||||
checkpoints.topic.replication.factor=1
|
||||
heartbeats.topic.replication.factor=1
|
||||
offset-syncs.topic.replication.factor=1
|
||||
|
||||
offset.storage.replication.factor=1
|
||||
status.storage.replication.factor=1
|
||||
config.storage.replication.factor=1
|
||||
|
||||
emit.checkpoints.enabled = true
|
||||
emit.checkpoints.interval.seconds = 5
|
||||
'';
|
||||
in
|
||||
{
|
||||
name = "kafka-mirrormaker";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ jpds ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
inherit (kafkaNodes) kafkaa1 kafkab1;
|
||||
|
||||
mirrormaker =
|
||||
{ config, ... }:
|
||||
{
|
||||
virtualisation.diskSize = 1024;
|
||||
virtualisation.memorySize = 1024 * 2;
|
||||
|
||||
# Define a mirrormaker systemd service
|
||||
systemd.services.kafka-connect-mirror-maker = {
|
||||
after = [ "network-online.target" ];
|
||||
requires = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.apacheKafka}/bin/connect-mirror-maker.sh ${mirrorMakerProperties}
|
||||
'';
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
for machine in kafkaa1, kafkab1:
|
||||
machine.wait_for_unit("apache-kafka")
|
||||
|
||||
for machine in kafkaa1, kafkab1:
|
||||
machine.wait_for_open_port(9092)
|
||||
machine.wait_for_open_port(9093)
|
||||
|
||||
machine.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'Transition from STARTING to STARTED'"
|
||||
)
|
||||
|
||||
machine.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'Kafka Server started'"
|
||||
)
|
||||
|
||||
for machine in kafkaa1, kafkab1:
|
||||
current_voters_json = machine.wait_until_succeeds(
|
||||
f"kafka-metadata-quorum.sh --bootstrap-server {machine.name}:9092 describe --status | grep CurrentVoters"
|
||||
).replace("CurrentVoters:", "")
|
||||
|
||||
voters = json.loads(current_voters_json)
|
||||
|
||||
assert len(voters) == 1
|
||||
|
||||
mirrormaker.wait_for_unit("kafka-connect-mirror-maker")
|
||||
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'Kafka MirrorMaker initializing'"
|
||||
)
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'Targeting clusters \[A, B\]'"
|
||||
)
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'INFO \[Worker clientId=A->B, groupId=A-mm2\] Finished starting connectors and tasks'"
|
||||
)
|
||||
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"""
|
||||
journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'INFO \[MirrorSourceConnector\|task-0\] \[Producer clientId=A->B\|A->B-0\|offset-syncs-source-producer\] Cluster ID: ${clusterAId}'
|
||||
"""
|
||||
)
|
||||
|
||||
kafkaa1.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'Stabilized group B-mm2'"
|
||||
)
|
||||
|
||||
kafkab1.wait_until_succeeds(
|
||||
"journalctl -o cat -u apache-kafka.service | grep 'Stabilized group A-mm2'"
|
||||
)
|
||||
|
||||
kafkaa1.wait_until_succeeds(
|
||||
"kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test-mm-1 --partitions 1 --replication-factor 1"
|
||||
)
|
||||
|
||||
for machine in kafkaa1, kafkab1:
|
||||
machine.succeed(
|
||||
"kafka-topics.sh --bootstrap-server localhost:9092 --list | grep 'test-mm-1'"
|
||||
)
|
||||
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'replicating [[:digit:]]\+ topic-partitions A->B: \[test-mm-1-0\]'"
|
||||
)
|
||||
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'Found [[:digit:]]\+ new topic-partitions on A'"
|
||||
)
|
||||
|
||||
kafkaa1.wait_until_succeeds(
|
||||
"kafka-verifiable-producer.sh --bootstrap-server kafkaa1:9092 --throughput 10 --max-messages 100 --topic test-mm-1"
|
||||
)
|
||||
|
||||
mirrormaker.wait_until_succeeds(
|
||||
"journalctl -o cat -u kafka-connect-mirror-maker.service | grep 'Committing offsets for [[:digit:]]\+ acknowledged messages'"
|
||||
)
|
||||
|
||||
kafkab1.wait_until_succeeds(
|
||||
"kafka-verifiable-consumer.sh --bootstrap-server kafkab1:9092 --topic test-mm-1 --group-id testreplication --max-messages 100"
|
||||
)
|
||||
'';
|
||||
}
|
||||
)
|
||||
@@ -61884,8 +61884,8 @@
|
||||
"repo": "ushin/hyperdrive.el",
|
||||
"unstable": {
|
||||
"version": [
|
||||
20250331,
|
||||
427
|
||||
20250406,
|
||||
2225
|
||||
],
|
||||
"deps": [
|
||||
"compat",
|
||||
@@ -61896,8 +61896,8 @@
|
||||
"taxy-magit-section",
|
||||
"transient"
|
||||
],
|
||||
"commit": "1784ae20556990d205360463f069aba319c25909",
|
||||
"sha256": "05p9avasp7nx1wx5mvc5rj85j1n28hw1ibwag0gbxrnpxvrbqvzr"
|
||||
"commit": "42048ef8bc7e568f9f1e1fa82c9f70b06a4d574d",
|
||||
"sha256": "07fvdzd93836msaxpw9rk0sdrxpm29fn2zk22ln91v7s9aazjd3w"
|
||||
},
|
||||
"stable": {
|
||||
"version": [
|
||||
|
||||
@@ -13,7 +13,7 @@ let
|
||||
buildVscodeLanguagePack =
|
||||
{
|
||||
language,
|
||||
version ? "1.98.2025031209",
|
||||
version ? "1.99.2025040209",
|
||||
hash,
|
||||
}:
|
||||
buildVscodeMarketplaceExtension {
|
||||
@@ -25,7 +25,7 @@ let
|
||||
passthru.updateScript = lib.optionalAttrs (language == "fr") (
|
||||
writeShellScript "vscode-language-packs-update-script" ''
|
||||
${lib.getExe vscode-extensions-update} vscode-extensions.ms-ceintl.vscode-language-pack-fr --override-filename "pkgs/applications/editors/vscode/extensions/language-packs.nix"
|
||||
for lang in cs de es it ja ko pt-br qps-ploc ru tr zh-hans zh-hant; do
|
||||
for lang in cs de es it ja ko pl pt-br qps-ploc ru tr zh-hans zh-hant; do
|
||||
${lib.getExe nix-update} --version "skip" "vscode-extensions.ms-ceintl.vscode-language-pack-$lang" --override-filename "pkgs/applications/editors/vscode/extensions/language-packs.nix"
|
||||
done
|
||||
''
|
||||
@@ -41,66 +41,71 @@ in
|
||||
# French
|
||||
vscode-language-pack-fr = buildVscodeLanguagePack {
|
||||
language = "fr";
|
||||
hash = "sha256-ulFnHulIa1T+WdlXa000cYDY/SWGcA9W/uLZrP5l40Q=";
|
||||
hash = "sha256-QQHaNifN6ol6dnmuLZcIv74g8gbAWJgQBX4BPNx1bgM=";
|
||||
};
|
||||
# Italian
|
||||
vscode-language-pack-it = buildVscodeLanguagePack {
|
||||
language = "it";
|
||||
hash = "sha256-o9EwOKuFVqB1gJvCh4S5ArwQDN21a3zhLBsCpeztUhU=";
|
||||
hash = "sha256-b8HVmF9Wf4jLpaHMK+9EuCayMLxAKyPRJpohBNTDk7I=";
|
||||
};
|
||||
# German
|
||||
vscode-language-pack-de = buildVscodeLanguagePack {
|
||||
language = "de";
|
||||
hash = "sha256-x20EJ6YfMT59bk8o8LYDqQgyOmI1NH/Jq2zjtrUHOt8=";
|
||||
hash = "sha256-e7slPjnns7Y3GwmYDKjvIi7eJBkrBUG6KTnUJFoz0nk=";
|
||||
};
|
||||
# Spanish
|
||||
vscode-language-pack-es = buildVscodeLanguagePack {
|
||||
language = "es";
|
||||
hash = "sha256-MerP4/WBKj/TauDnQcWv0YCFh9JA1ce0jHiFAvt5NdI=";
|
||||
hash = "sha256-OtxIM70wTLkgxFN6s4myLGe2fdjVG3p13tYko0MzhUc=";
|
||||
};
|
||||
# Russian
|
||||
vscode-language-pack-ru = buildVscodeLanguagePack {
|
||||
language = "ru";
|
||||
hash = "sha256-0Z4jSiP16EDFyHwQAgvFpMh5F8tCu74hUojXH5EK66o=";
|
||||
hash = "sha256-JLcQ2JVR7eFThgKrabQPo0Z27AigWfeHVY+lW2ZY1es=";
|
||||
};
|
||||
# Chinese (Simplified)
|
||||
vscode-language-pack-zh-hans = buildVscodeLanguagePack {
|
||||
language = "zh-hans";
|
||||
hash = "sha256-CQtb7FJGR2JVznbEYVN76IywQopwZ6TzWjxE1as7WWE=";
|
||||
hash = "sha256-oUb3nj67HBAavB6b0XLgwpbQO2aZ9HMF42Rdw53Z9B4=";
|
||||
};
|
||||
# Chinese (Traditional)
|
||||
vscode-language-pack-zh-hant = buildVscodeLanguagePack {
|
||||
language = "zh-hant";
|
||||
hash = "sha256-LmBcWZlyAVvXoa5sZ4gpWBkBZD+5AKkFZqSs4zXkCwc=";
|
||||
hash = "sha256-1ESY/7woVrPN/PITD2T0/Cm9zFKDyYcGy4x1/oBxZeE=";
|
||||
};
|
||||
# Japanese
|
||||
vscode-language-pack-ja = buildVscodeLanguagePack {
|
||||
language = "ja";
|
||||
hash = "sha256-4tj4wTCOnC2KpHWN86EZl5KmNl2QLXb7Co1aYwRZ7uY=";
|
||||
hash = "sha256-nHeWIcipl/nztwPkUTzetO5eGTVEaEp7oW3a31c5Obo=";
|
||||
};
|
||||
# Korean
|
||||
vscode-language-pack-ko = buildVscodeLanguagePack {
|
||||
language = "ko";
|
||||
hash = "sha256-NmSSijvWckFiyyQBo+2Lv70YsqOYR/5kHP4iiqaQUZU=";
|
||||
hash = "sha256-R/mbXCUsVTYhRpvCUr44jbDvYWYKqBXF4kr+TRl/MeU=";
|
||||
};
|
||||
# Czech
|
||||
vscode-language-pack-cs = buildVscodeLanguagePack {
|
||||
language = "cs";
|
||||
hash = "sha256-Q8jSCYzl/DXasi0n228Kd7Ru0z1Bb/ovTySAYCV42pg=";
|
||||
hash = "sha256-oVpGg7OMZ+8WrO2vGzmwF2mDwTaRGYvM1kOXEtmFvdw=";
|
||||
};
|
||||
# Portuguese (Brazil)
|
||||
vscode-language-pack-pt-br = buildVscodeLanguagePack {
|
||||
language = "pt-BR";
|
||||
hash = "sha256-PJPeTn+0g1s+L7t9d6A/hyrBEF0EE/QKshHa3vuQZxU=";
|
||||
hash = "sha256-cY1hGBNeTa3rul8ZtvtZW2PCLp0MZwugufdLTaI7rx0=";
|
||||
};
|
||||
# Turkish
|
||||
vscode-language-pack-tr = buildVscodeLanguagePack {
|
||||
language = "tr";
|
||||
hash = "sha256-+M43EdHHsmw1pJopLi0nMIGwcxk6+LeVvZjkxnxUatI=";
|
||||
hash = "sha256-DzPerwuqvHk4G5/AcrXLJh0PINd5HK+TelO9C4EOdVc=";
|
||||
};
|
||||
# Polish
|
||||
vscode-language-pack-pl = buildVscodeLanguagePack {
|
||||
language = "pl";
|
||||
hash = "sha256-9UilVHsAWCZq6N6sqrGpnIEzjCBfalBL9LgCfEGFLvU=";
|
||||
};
|
||||
# Pseudo Language
|
||||
vscode-language-pack-qps-ploc = buildVscodeLanguagePack {
|
||||
language = "qps-ploc";
|
||||
hash = "sha256-2ERwup1z7wGVwoGfakV0oCADxXWfWbYxlkQ6iJYgXkc=";
|
||||
hash = "sha256-lYS+uje6eLUr7J7diq2Lkh3xjhPKWdU+ccwVQrOs75g=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||
mktplcRef = {
|
||||
name = "python";
|
||||
publisher = "ms-python";
|
||||
version = "2025.3.2025031001";
|
||||
hash = "sha256-uYz0WgFqbLohCEmT8ewYgvlFrVLuZr9OAiKnrbNup7U=";
|
||||
version = "2025.4.0";
|
||||
hash = "sha256-/yQbmZTnkks1gvMItEApRzfk8Lczjq+JC5rnyJxr6fo=";
|
||||
};
|
||||
|
||||
buildInputs = [ icu ];
|
||||
|
||||
@@ -26,11 +26,11 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-qiSCrPScPtfoxVXpjapOUqzIAHlNsXwVAZNYN6CeuQo=";
|
||||
x86_64-darwin = "sha256-2MEBSjiy4Ct4RrlbsD6ZiYO7Fb3hFcQnzZpa1WjMKXY=";
|
||||
aarch64-linux = "sha256-wax6tTFkaGsKsOrkfcXF1yvBsVmUexNwe7Aex04HS/Q=";
|
||||
aarch64-darwin = "sha256-ccHrhEVqxKrgQK5iP4nlOROEQWbLBRWXjXrhnkaRpMQ=";
|
||||
armv7l-linux = "sha256-1+4/QdAi9wLtnZTwutCIpjMwBA3Zzzi4M2746mIu3gE=";
|
||||
x86_64-linux = "sha256-yK7ORsRAWMJ8yrWROS/jSKdyCyuJ2Y+gIdZlqto+/Xo=";
|
||||
x86_64-darwin = "sha256-d+8vt5grnLwD/cIIGgb2ogpgZrZLZs+2bqfBrRzLfJw=";
|
||||
aarch64-linux = "sha256-D93Eh5TPRgd9OxJ4pWsOryS5mOz2amQOHOnO+K99hAg=";
|
||||
aarch64-darwin = "sha256-xKBWAb23jUi8pI7mZpHOP2eF3PZFh0MWj+BM+alKF18=";
|
||||
armv7l-linux = "sha256-EqJNi/qMM08voA/Ltle3/28zbgIz/Ae42IE5oXLxcKU=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
@@ -41,7 +41,7 @@ callPackage ./generic.nix rec {
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.98.2.25078";
|
||||
version = "1.99.02289";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "fbneo";
|
||||
version = "0-unstable-2025-03-26";
|
||||
version = "0-unstable-2025-04-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "fbneo";
|
||||
rev = "ad3b6536f57ec189defabc8aa0fe9d854d167d67";
|
||||
hash = "sha256-Nyzzr6XFQmtRVWxATIIONn3tnwwS6jLbbwHxoYXUDGU=";
|
||||
rev = "c21c0a0393a1cc68db7250022d18039a30de51f4";
|
||||
hash = "sha256-AZyYUftVHlxR+QHCsIcNI2hTIEDYeInYPdmum++EtpU=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "flycast";
|
||||
version = "0-unstable-2025-03-22";
|
||||
version = "0-unstable-2025-04-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flyinghead";
|
||||
repo = "flycast";
|
||||
rev = "305cae496fe009a523e1a43cc6a11141531626ef";
|
||||
hash = "sha256-L91RS+GzNA0IpVh1ANkS7V2wWJqdXyioxJuCP+f5SEA=";
|
||||
rev = "3114394019fc0f772c29d0a1f5493fbdce4745b0";
|
||||
hash = "sha256-bp10601cfcsb62Vy88zIjFZ/yBUGVODEt96Me7XX5kY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "ppsspp";
|
||||
version = "0-unstable-2025-03-26";
|
||||
version = "0-unstable-2025-04-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hrydgard";
|
||||
repo = "ppsspp";
|
||||
rev = "e4a492b6a2d72582e0d32ffd05b7f37d3312657c";
|
||||
hash = "sha256-2WuKxfOmlNcPIbwVjCbGfvWIwd5/WYb7pFGMnzg3fZQ=";
|
||||
rev = "031421ba4de8559f8bbdbd9367b29be28f6a45cb";
|
||||
hash = "sha256-eaXR/w0Iz9tmTgZKHVcZYXJbXaVPnYudSal0vcsQ9a0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "snes9x";
|
||||
version = "0-unstable-2025-02-24";
|
||||
version = "0-unstable-2025-04-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snes9xgit";
|
||||
repo = "snes9x";
|
||||
rev = "0525ea043ea173ec6af1c6c8dade820036376430";
|
||||
hash = "sha256-BB65aYfkNqM/Lb3/dGMrPBpuR0tjewA45xnIXHaqWsA=";
|
||||
rev = "2c78e77617c65025342e1c4da8187ef5ee2cbad4";
|
||||
hash = "sha256-95ScIvZeBNrf6hvGWf7XI95pyPzGzlBgfd+CDllcIUQ=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "stella";
|
||||
version = "0-unstable-2025-03-17";
|
||||
version = "0-unstable-2025-03-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stella-emu";
|
||||
repo = "stella";
|
||||
rev = "aaa6c154750119905190da49569fa9e2de7bb97b";
|
||||
hash = "sha256-QephycS6p6KCAR5ryc8Nhx8jnFGHaY7kObT13RNU42Q=";
|
||||
rev = "b753f6eefa4bf02af20eacae98caab7d5aabc4a8";
|
||||
hash = "sha256-uPRNa7Ofaonyp1ErFel12DyKox9ETYGoT1s3aG96VkU=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "vice-${type}";
|
||||
version = "0-unstable-2025-02-23";
|
||||
version = "0-unstable-2025-03-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "vice-libretro";
|
||||
rev = "50cd8c29c8abab29e8d55e8fab8e131fadfbe98c";
|
||||
hash = "sha256-Vj7clLLkYyesnP9lL0Z4sy2kvxTsatKzuW6XBg21Jrw=";
|
||||
rev = "9b201cdd612bfb12c8d86696656b79eaf25924ab";
|
||||
hash = "sha256-YilHxQLZC8MVnZ9EekCqtU8rgOB/0FH2vKFdn6l3i5Q=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -265,7 +265,7 @@ stdenv.mkDerivation (
|
||||
hidden="$(dirname "$prog")/.$(basename "$prog")"
|
||||
mv "$prog" "$hidden"
|
||||
makeWrapper "$hidden" "$prog" \
|
||||
--argv0 "" \
|
||||
--inherit-argv0 \
|
||||
--set WINELOADER "$hidden" \
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
|
||||
fi
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"packageVersion": "136.0.4-1",
|
||||
"packageVersion": "137.0-3",
|
||||
"source": {
|
||||
"rev": "136.0.4-1",
|
||||
"hash": "sha256-ymW9vj4CariMaswrMQRKYEvTofFRjc50gF9EmTuhsRA="
|
||||
"rev": "137.0-3",
|
||||
"hash": "sha256-3E8xjruyAHoOklvSt4sH6DY6cIzcOEFy8v3UhqKSpdI="
|
||||
},
|
||||
"firefox": {
|
||||
"version": "136.0.4",
|
||||
"hash": "sha512-wiUqpi0BXO1lNMsqwHH2gImZe0ZpAIPMHv9LrTBq5shlQ3Ge0tNfb5c790Rn1qBKukYNMJwG3qQl52xyDjROKA=="
|
||||
"version": "137.0",
|
||||
"hash": "sha512-gaLAzBT/wuSeSTeebCq1bPtuE7ZmZqZPOr/0SkO7Ln3BcnTTJdHCCvBi1Av/gGPXiNSy+TGnpkbbiwcgTKa0gQ=="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "7.1.3570.60";
|
||||
version = "7.3.3635.4";
|
||||
|
||||
suffix =
|
||||
{
|
||||
@@ -84,8 +84,8 @@ stdenv.mkDerivation rec {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
|
||||
hash =
|
||||
{
|
||||
aarch64-linux = "sha256-x7CjbOrEb0+/1eqRoYTxA1RDxQeLJFmziuFcBapYaOU=";
|
||||
x86_64-linux = "sha256-G0y49vUsFJTzxKRw1ZsXQvep7/MtGaO0FAF2nAinysw=";
|
||||
aarch64-linux = "sha256-ddmWP1Tfim8DyP4S+Mq3khu7WU995k8p1Pqx63Z7oRQ=";
|
||||
x86_64-linux = "sha256-sYC3dgwFhS39eOSAifWghCVcm0HliPaI0Xvf4i3KLPY=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
testers,
|
||||
kubernetes-helm,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "kubernetes-helm";
|
||||
version = "3.17.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helm";
|
||||
repo = "helm";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-EMvKmnf4KfimjPYHoylij2kZVnvClK3Q/+offZvlO1I=";
|
||||
};
|
||||
vendorHash = "sha256-IX4zZnu8+cb2mJxQHOmZLUVxyqfWvbsRQR3q02Wpx6c=";
|
||||
@@ -23,8 +23,8 @@ buildGoModule rec {
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-s"
|
||||
"-X helm.sh/helm/v3/internal/version.version=v${version}"
|
||||
"-X helm.sh/helm/v3/internal/version.gitCommit=${src.rev}"
|
||||
"-X helm.sh/helm/v3/internal/version.version=v${finalAttrs.version}"
|
||||
"-X helm.sh/helm/v3/internal/version.gitCommit=${finalAttrs.src.rev}"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
@@ -57,7 +57,7 @@ buildGoModule rec {
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
postInstall = ''
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
$out/bin/helm completion bash > helm.bash
|
||||
$out/bin/helm completion zsh > helm.zsh
|
||||
$out/bin/helm completion fish > helm.fish
|
||||
@@ -65,9 +65,9 @@ buildGoModule rec {
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = kubernetes-helm;
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "helm version";
|
||||
version = "v${version}";
|
||||
version = "v${finalAttrs.version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@@ -84,4 +84,4 @@ buildGoModule rec {
|
||||
techknowlogick
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
python3,
|
||||
emptyFile,
|
||||
}:
|
||||
@@ -28,23 +29,28 @@ let
|
||||
};
|
||||
|
||||
plugins =
|
||||
ps: _super: with ps; rec {
|
||||
nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { };
|
||||
nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { };
|
||||
nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { };
|
||||
nixops-vbox = callPackage ./plugins/nixops-vbox.nix { };
|
||||
nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { };
|
||||
ps: _super:
|
||||
with ps;
|
||||
(
|
||||
rec {
|
||||
nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { };
|
||||
nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { };
|
||||
nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { };
|
||||
nixops-vbox = callPackage ./plugins/nixops-vbox.nix { };
|
||||
nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { };
|
||||
|
||||
nixops-aws = throw "nixops-aws was broken and was removed from nixpkgs";
|
||||
nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs";
|
||||
nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs";
|
||||
nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs";
|
||||
nixops-hetznercloud = throw "nixops-hetznercloud was broken and was removed from nixpkgs";
|
||||
|
||||
# aliases for backwards compatibility
|
||||
nixops-virtd = nixops-libvirtd;
|
||||
nixopsvbox = nixops-vbox;
|
||||
};
|
||||
# aliases for backwards compatibility
|
||||
nixopsvbox = nixops-vbox;
|
||||
}
|
||||
// lib.optionalAttrs config.allowAliases rec {
|
||||
nixops-aws = throw "nixops-aws was broken and was removed from nixpkgs";
|
||||
nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs";
|
||||
nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs";
|
||||
nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs";
|
||||
nixops-hetznercloud = throw "nixops-hetznercloud was broken and was removed from nixpkgs";
|
||||
nixops-virtd = nixops-libvirtd;
|
||||
}
|
||||
);
|
||||
|
||||
# We should not reapply the overlay, but it tends to work out. (It's been this way since poetry2nix was dropped.)
|
||||
availablePlugins = this.plugins this.python.pkgs this.python.pkgs;
|
||||
|
||||
@@ -44,126 +44,123 @@ lib:
|
||||
nixosTests,
|
||||
testers,
|
||||
}:
|
||||
let
|
||||
rke2 = buildGoModule rec {
|
||||
pname = "rke2";
|
||||
version = rke2Version;
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "rke2";
|
||||
version = rke2Version;
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/rancher/rke2/archive/refs/tags/v${rke2Version}.tar.gz";
|
||||
hash = "${rke2TarballHash}";
|
||||
};
|
||||
|
||||
vendorHash = rke2VendorHash;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# Important utilities used by the kubelet.
|
||||
# See: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Notice the list in that issue is stale, but as a redundancy reservation.
|
||||
buildInputs = [
|
||||
procps # pidof pkill
|
||||
coreutils # uname touch env nice du
|
||||
util-linux # lsblk fsck mkfs nsenter mount umount
|
||||
ethtool # ethtool
|
||||
socat # socat
|
||||
iptables # iptables iptables-restore iptables-save
|
||||
bridge-utils # brctl
|
||||
iproute2 # ip tc
|
||||
kmod # modprobe
|
||||
lvm2 # dmsetup
|
||||
];
|
||||
|
||||
# Passing boringcrypto to GOEXPERIMENT variable to build with goboring library
|
||||
GOEXPERIMENT = "boringcrypto";
|
||||
|
||||
# See: https://github.com/rancher/rke2/blob/e7f87c6dd56fdd76a7dab58900aeea8946b2c008/scripts/build-binary#L27-L38
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.GitCommit=${lib.substring 0 6 rke2Commit}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.Program=${pname}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.Version=v${version}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=go${go.version}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultRegistry=docker.io"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultEtcdImage=rancher/hardened-etcd:${etcdVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultKubernetesImage=rancher/hardened-kubernetes:${k8sImageTag}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultPauseImage=rancher/mirrored-pause:${pauseVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultRuntimeImage=rancher/rke2-runtime:${dockerizedVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultCloudControllerManagerImage=rancher/rke2-cloud-provider:${ccmVersion}"
|
||||
];
|
||||
|
||||
tags = [
|
||||
"no_cri_dockerd"
|
||||
"no_embedded_executor"
|
||||
"no_stage"
|
||||
"sqlite_omit_load_extension"
|
||||
"selinux"
|
||||
"netgo"
|
||||
"osusergo"
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
installPhase = ''
|
||||
install -D $GOPATH/bin/rke2 $out/bin/rke2
|
||||
wrapProgram $out/bin/rke2 \
|
||||
--prefix PATH : ${lib.makeBinPath buildInputs}
|
||||
|
||||
install -D ./bundle/bin/rke2-killall.sh $out/bin/rke2-killall.sh
|
||||
wrapProgram $out/bin/rke2-killall.sh \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
systemd
|
||||
gnugrep
|
||||
gnused
|
||||
]
|
||||
} \
|
||||
--prefix PATH : ${lib.makeBinPath buildInputs}
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
# Verify that the binary uses BoringCrypto
|
||||
go tool nm $out/bin/.rke2-wrapped | grep '_Cfunc__goboringcrypto_' > /dev/null
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit updateScript;
|
||||
tests =
|
||||
let
|
||||
moduleTests =
|
||||
let
|
||||
package_version =
|
||||
"rke2_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor rke2Version);
|
||||
in
|
||||
lib.mapAttrs (name: value: nixosTests.rke2.${name}.${package_version}) nixosTests.rke2;
|
||||
in
|
||||
{
|
||||
version = testers.testVersion {
|
||||
package = rke2;
|
||||
version = "v${version}";
|
||||
};
|
||||
}
|
||||
// moduleTests;
|
||||
} // (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rancher/rke2";
|
||||
description = "RKE2, also known as RKE Government, is Rancher's next-generation Kubernetes distribution";
|
||||
changelog = "https://github.com/rancher/rke2/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
rorosen
|
||||
zimbatm
|
||||
zygot
|
||||
];
|
||||
mainProgram = "rke2";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
src = fetchzip {
|
||||
url = "https://github.com/rancher/rke2/archive/refs/tags/v${rke2Version}.tar.gz";
|
||||
hash = "${rke2TarballHash}";
|
||||
};
|
||||
in
|
||||
rke2
|
||||
|
||||
vendorHash = rke2VendorHash;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# Important utilities used by the kubelet.
|
||||
# See: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Notice the list in that issue is stale, but as a redundancy reservation.
|
||||
buildInputs = [
|
||||
procps # pidof pkill
|
||||
coreutils # uname touch env nice du
|
||||
util-linux # lsblk fsck mkfs nsenter mount umount
|
||||
ethtool # ethtool
|
||||
socat # socat
|
||||
iptables # iptables iptables-restore iptables-save
|
||||
bridge-utils # brctl
|
||||
iproute2 # ip tc
|
||||
kmod # modprobe
|
||||
lvm2 # dmsetup
|
||||
];
|
||||
|
||||
# Passing boringcrypto to GOEXPERIMENT variable to build with goboring library
|
||||
GOEXPERIMENT = "boringcrypto";
|
||||
|
||||
# See: https://github.com/rancher/rke2/blob/e7f87c6dd56fdd76a7dab58900aeea8946b2c008/scripts/build-binary#L27-L38
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.GitCommit=${lib.substring 0 6 rke2Commit}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.Program=${finalAttrs.pname}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.Version=v${finalAttrs.version}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=go${go.version}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultRegistry=docker.io"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultEtcdImage=rancher/hardened-etcd:${etcdVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultKubernetesImage=rancher/hardened-kubernetes:${k8sImageTag}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultPauseImage=rancher/mirrored-pause:${pauseVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultRuntimeImage=rancher/rke2-runtime:${dockerizedVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultCloudControllerManagerImage=rancher/rke2-cloud-provider:${ccmVersion}"
|
||||
];
|
||||
|
||||
tags = [
|
||||
"no_cri_dockerd"
|
||||
"no_embedded_executor"
|
||||
"no_stage"
|
||||
"sqlite_omit_load_extension"
|
||||
"selinux"
|
||||
"netgo"
|
||||
"osusergo"
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
installPhase = ''
|
||||
install -D $GOPATH/bin/rke2 $out/bin/rke2
|
||||
wrapProgram $out/bin/rke2 \
|
||||
--prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
|
||||
|
||||
install -D ./bundle/bin/rke2-killall.sh $out/bin/rke2-killall.sh
|
||||
wrapProgram $out/bin/rke2-killall.sh \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
systemd
|
||||
gnugrep
|
||||
gnused
|
||||
]
|
||||
} \
|
||||
--prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
# Verify that the binary uses BoringCrypto
|
||||
go tool nm $out/bin/.rke2-wrapped | grep '_Cfunc__goboringcrypto_' > /dev/null
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit updateScript;
|
||||
tests =
|
||||
let
|
||||
moduleTests =
|
||||
let
|
||||
package_version =
|
||||
"rke2_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor rke2Version);
|
||||
in
|
||||
lib.mapAttrs (name: value: nixosTests.rke2.${name}.${package_version}) nixosTests.rke2;
|
||||
in
|
||||
{
|
||||
version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
version = "v${finalAttrs.version}";
|
||||
};
|
||||
}
|
||||
// moduleTests;
|
||||
} // (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rancher/rke2";
|
||||
description = "RKE2, also known as RKE Government, is Rancher's next-generation Kubernetes distribution";
|
||||
changelog = "https://github.com/rancher/rke2/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
rorosen
|
||||
zimbatm
|
||||
zygot
|
||||
];
|
||||
mainProgram = "rke2";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
"vendorHash": "sha256-bviZHOxZajmx++SG6k/mkjHCa4Q7jMY7CaLUele/jgw="
|
||||
},
|
||||
"akamai": {
|
||||
"hash": "sha256-MZF4yTG4wiFeOi4NLItQmxZ9ZcgHCryFpxpGy2jQYE8=",
|
||||
"hash": "sha256-ivIJvWKfL9oYvLZeoErvYKuCZLEwNaZD7jFrIGPlurI=",
|
||||
"homepage": "https://registry.terraform.io/providers/akamai/akamai",
|
||||
"owner": "akamai",
|
||||
"repo": "terraform-provider-akamai",
|
||||
"rev": "v7.0.0",
|
||||
"rev": "v7.1.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-NO7e8S+UhbbGWeBm4+bzm6HqqA3G3WZwj3wJmug0aSA="
|
||||
"vendorHash": "sha256-Sp65odS8Axdv5UpA5j2SXvbC/rfet4GlIawxk054Cs4="
|
||||
},
|
||||
"alicloud": {
|
||||
"hash": "sha256-Jn4VzU6aPhMv6eMmXQ5gD5SA9IZfpmkRKpTrjRGrNF8=",
|
||||
@@ -90,13 +90,13 @@
|
||||
"vendorHash": "sha256-YIn8akPW+DCVF0eYZxsmJxmrJuYhK4QLG/uhmmrXd4c="
|
||||
},
|
||||
"auth0": {
|
||||
"hash": "sha256-5HiSoU3wxUtu2nsrq7h5cbqIenRMH2MpRfGJNqk8guI=",
|
||||
"hash": "sha256-NBY9f1/VGU6VyPwy7LqgmsulLlzz17Ie8nU7JOirlFo=",
|
||||
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
|
||||
"owner": "auth0",
|
||||
"repo": "terraform-provider-auth0",
|
||||
"rev": "v1.14.0",
|
||||
"rev": "v1.15.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-gD5HWmmy5P5yQH7UfzehDpxjB47aPfiUFDlQSY4BsVM="
|
||||
"vendorHash": "sha256-Tfkk3+PWzlC7nZlhnD7rEYO+6OKps6pXgi+eqfmRSic="
|
||||
},
|
||||
"avi": {
|
||||
"hash": "sha256-e8yzc3nRP0ktcuuKyBXydS9NhoceYZKzJcqCWOfaPL0=",
|
||||
@@ -126,11 +126,11 @@
|
||||
"vendorHash": "sha256-zjb8SQ6ALQryN7wE4MKn3nhhqEvoeq8CyZd8PlkZJt4="
|
||||
},
|
||||
"azuread": {
|
||||
"hash": "sha256-xU6fsJIWl9WNzmZIK8qAB4ih4wcgiICdfYbgnCLNA1Y=",
|
||||
"hash": "sha256-64afLKTgJ58O9GUv3GRTJKw7xgg0cglIv3EvARsxnn0=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/azuread",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-azuread",
|
||||
"rev": "v3.2.0",
|
||||
"rev": "v3.3.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -660,13 +660,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"incus": {
|
||||
"hash": "sha256-ARxXTh0mGA3VNqqDKgMLBRr8wNZ4D2p75/8dMxFowWU=",
|
||||
"hash": "sha256-zIth+M/70f/uw+CE1r3z5m36VcenCW224x64BG2gkes=",
|
||||
"homepage": "https://registry.terraform.io/providers/lxc/incus",
|
||||
"owner": "lxc",
|
||||
"repo": "terraform-provider-incus",
|
||||
"rev": "v0.3.0",
|
||||
"rev": "v0.3.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-BuVUDDwUgGo7FrgWDzhq4qkEudECoyqApftALBnQveE="
|
||||
"vendorHash": "sha256-HcKNrvDNthxPjg3qmUoRa0Ecj0dNJ5okf5wKT5SWGhU="
|
||||
},
|
||||
"infoblox": {
|
||||
"hash": "sha256-iz/Khne3wggjkZFWZOK9DVZsB8HW6nsNBCfEbsBdhzk=",
|
||||
@@ -858,13 +858,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"newrelic": {
|
||||
"hash": "sha256-KQqCckDXsxQrmRptttV9f7tSHBmKWE14aIppcR2dJrQ=",
|
||||
"hash": "sha256-wh/6nkBtmZb+nwwGpk4F/YlSbmSFgCjMprnMmXslWHg=",
|
||||
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
|
||||
"owner": "newrelic",
|
||||
"repo": "terraform-provider-newrelic",
|
||||
"rev": "v3.59.0",
|
||||
"rev": "v3.60.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-ZZtfVgxp7YXNRXpeUisLzweQhHzgYOuQDAp1MsxAVhg="
|
||||
"vendorHash": "sha256-9E1I7ZgBwFo7XouQjBkQQVxQKvkwE6dhVF1hZxec+WY="
|
||||
},
|
||||
"nexus": {
|
||||
"hash": "sha256-6RPga80ZoqEEFL7I2OVXcrwaxbdhSzZDEV07xL07rZs=",
|
||||
@@ -1210,20 +1210,20 @@
|
||||
"vendorHash": "sha256-skswuFKhN4FFpIunbom9rM/FVRJVOFb1WwHeAIaEjn8="
|
||||
},
|
||||
"sops": {
|
||||
"hash": "sha256-MdsWKV98kWpZpTK5qC7x6vN6cODxeeiVVc+gtlh1s88=",
|
||||
"hash": "sha256-VuQTJFI4KcSnaog9VTV+zBg0XAORvWzuCFYMB0BM6n4=",
|
||||
"homepage": "https://registry.terraform.io/providers/carlpett/sops",
|
||||
"owner": "carlpett",
|
||||
"repo": "terraform-provider-sops",
|
||||
"rev": "v1.1.1",
|
||||
"rev": "v1.2.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-YFV+qXD78eajSeagJPgPu+qIktx1Vh/ZT0fUPOBuZyo="
|
||||
"vendorHash": "sha256-K/44Jio2a1kKYuyI6o/5wwMNRaZvx9zrNEC85v56xdU="
|
||||
},
|
||||
"spacelift": {
|
||||
"hash": "sha256-ZnUQBVsNuvr0jfuJL5h8uvrqyiahq7CoMeQ7tXU/gTc=",
|
||||
"hash": "sha256-9TYSIIIqRSOFGbGv6mUgGyvcUb+PoMJ3IAHQFeRsSZ8=",
|
||||
"homepage": "https://registry.terraform.io/providers/spacelift-io/spacelift",
|
||||
"owner": "spacelift-io",
|
||||
"repo": "terraform-provider-spacelift",
|
||||
"rev": "v1.20.4",
|
||||
"rev": "v1.21.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-oEamCseBGmETqeBLiBHfh81oQNUHWfTrsegkFijvb20="
|
||||
},
|
||||
@@ -1300,13 +1300,13 @@
|
||||
"vendorHash": "sha256-iEi3zkr4kIZ1FTAft/Fy//v7xtlX/8uSrnbuxgFTDyA="
|
||||
},
|
||||
"temporalcloud": {
|
||||
"hash": "sha256-qzBgk6FOKiaKXwpUEj61pYW/72a0EpR3GTces5IbjJw=",
|
||||
"hash": "sha256-scM3cz4DVv66+VyLKWSjNbGFRcbUt9uZU4QooWQPioI=",
|
||||
"homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud",
|
||||
"owner": "temporalio",
|
||||
"repo": "terraform-provider-temporalcloud",
|
||||
"rev": "v0.6.1",
|
||||
"rev": "v0.7.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-0B2XRpvUk0mgDu3inz37LLJijwH3aQyoSb8IaHr6was="
|
||||
"vendorHash": "sha256-IKoDnClkmcCDFyt9QqWp10vZjfQpWByoUArY+hkXkVE="
|
||||
},
|
||||
"tencentcloud": {
|
||||
"hash": "sha256-DkktMcHU0T9H/jGOq66N7n1bfBF7aDEWGYmQrzWsqr8=",
|
||||
|
||||
@@ -85,8 +85,8 @@ rec {
|
||||
thunderbird = thunderbird-latest;
|
||||
|
||||
thunderbird-latest = common {
|
||||
version = "136.0.1";
|
||||
sha512 = "cc217f3e07620442714337ea396a7146d9d80cc973de862990a9fac7c4343e900419b71ff8c6575e563deda6daff90bec5809a9a94376cbf1019c834f4e1b1e7";
|
||||
version = "137.0.1";
|
||||
sha512 = "387f04aff9380c7261c574e7ef2e4972d63ebfb2768e25aa41a5ee2f3a755780a84099532cf4c1b5635db3412ab543e9b17b0a0476ec06c547b2dc678f19795f";
|
||||
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "thunderbirdPackages.thunderbird-latest";
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "netmaker";
|
||||
version = "0.30.0";
|
||||
version = "0.90.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gravitl";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Z2omesoEB6lJFy8ph6CFTb6XWsdgsvEG+i49dXmaC0Y=";
|
||||
hash = "sha256-/7tj3SuTa2lSMgN4f2/OutzoPvAN7ARK1RKTLlMw13Y=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-PYkjJ17hS0E0ncsUdrGWRn+3dEwZxS1nD0UjSDQflQ8=";
|
||||
vendorHash = "sha256-Yd9vwdIwAGinIr/RLGdb4N9hsDeMu9aB2Z1EVnlxxtA=";
|
||||
|
||||
inherit subPackages;
|
||||
|
||||
|
||||
@@ -32,13 +32,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "backintime-common";
|
||||
version = "1.5.3";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bit-team";
|
||||
repo = "backintime";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-byJyRsjZND0CQAfx45jQa3PNHhqzF2O0cFGSfN4o/QA=";
|
||||
sha256 = "sha256-QTUezD3OdOMqrxOCrdPFI8fB5XDhNVo9XpLgi7Y2aRg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qlog";
|
||||
version = "0.42.2";
|
||||
version = "0.43.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foldynl";
|
||||
repo = "QLog";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-DWUfP0C48JMvUashqCaDfnsn1IxzhtOzmSG5Fh+sL/w=";
|
||||
hash = "sha256-gCXLZ00klyjisLxSvs4wKD0Sg8CFvF0xR+eHpc1D0Jc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "memento";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ripose-jp";
|
||||
repo = "Memento";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-8kgMEHDLb2EtwmIOs6WQO3a1QSypwN1FX/f2n7uRBFs=";
|
||||
hash = "sha256-IvzvlToSyA20FWU0x+wgE3rT0dYbuY6xyaGgz1D1f6Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -43,13 +43,13 @@ let
|
||||
in
|
||||
buildPerlModule rec {
|
||||
pname = "pipe-viewer";
|
||||
version = "0.5.4";
|
||||
version = "0.5.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trizen";
|
||||
repo = "pipe-viewer";
|
||||
rev = version;
|
||||
hash = "sha256-xChwX6lfwLH1Rv9rnd+ONKJFQTnoPv1aX9fIv7AUDBU=";
|
||||
hash = "sha256-NVUZn02rBhOQyIfBp/BArbL2YY19TuDTwfiQH2pEWzk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ] ++ lib.optionals withGtk3 [ wrapGAppsHook3 ];
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lima";
|
||||
version = "1.0.6";
|
||||
version = "1.0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lima-vm";
|
||||
repo = "lima";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3K2RC4cPoIuDePTOYzY+ejmBFZwgYDvCtoe/ZLX66sc=";
|
||||
hash = "sha256-pwSLQlYPJNzvXuW6KLmQoaafQyf3o6fjVAfKe9RJ3UE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tjogQUD+F/3ALlJwpdDKdXHRcYB+n0EuJ81TB1VKKDY=";
|
||||
vendorHash = "sha256-JxrUX22yNb5/tZIBWDiBaMLOpEnOk+2lZdpzCjjqO4E=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
||||
@@ -8,17 +8,18 @@
|
||||
llvm_18,
|
||||
cmake,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
clangStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "alive2";
|
||||
version = "0-unstable-2024-09-23";
|
||||
version = "20.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AliveToolkit";
|
||||
repo = "alive2";
|
||||
rev = "05a964284056b38a6dc1f807e7acad64a0308328";
|
||||
sha256 = "sha256-okKKUU7WLXLD9Hvsfoz+1HQWoyQ/bqRpBk5ogr7kSJA=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4QNrBRGH+rxXwb7zTRYAixxipN3ybcXuWCmO+BLU9r4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -56,12 +57,14 @@ clangStdenv.mkDerivation (finalAttrs: {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Automatic verification of LLVM optimizations";
|
||||
homepage = "https://github.com/AliveToolkit/alive2";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ shogo ];
|
||||
maintainers = with lib.maintainers; [ shogo ] ++ lib.teams.ngi.members;
|
||||
mainProgram = "alive";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ansible-navigator";
|
||||
version = "25.1.0";
|
||||
version = "25.4.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python3Packages.pythonOlder "3.10";
|
||||
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "ansible_navigator";
|
||||
hash = "sha256-WcA14CiUUNXa+yR1IzoyQ7LWBXFI8yzV+xpRj2W8lzQ=";
|
||||
hash = "sha256-nZmL7AExd7lkg6U3XNZxF5lbP2GMxNhbKf3zuU3kkgc=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
# for cross builds, copy build tools from the native package
|
||||
cp -r "${buildPackages.anthy}"/lib/internals/{mkdepgraph,.libs} depgraph/
|
||||
cp -r "${buildPackages.anthy}"/lib/internals/{mkworddic,.libs} mkworddic/
|
||||
cp -r "${buildPackages.anthy}"/lib/internals/{calctrans,.libs} calctrans/
|
||||
cp -r "${buildPackages.anthy}"/lib/internals/{mkfiledic,.libs} mkanthydic/
|
||||
cp -r "${buildPackages.anthy.dev}"/lib/internals/{mkdepgraph,.libs} depgraph/
|
||||
cp -r "${buildPackages.anthy.dev}"/lib/internals/{mkworddic,.libs} mkworddic/
|
||||
cp -r "${buildPackages.anthy.dev}"/lib/internals/{calctrans,.libs} calctrans/
|
||||
cp -r "${buildPackages.anthy.dev}"/lib/internals/{mkfiledic,.libs} mkanthydic/
|
||||
substituteInPlace mkworddic/Makefile.in \
|
||||
--replace-fail 'anthy.wdic : mkworddic' 'anthy.wdic : ' \
|
||||
--replace-fail 'all: ' 'all: anthy.wdic #'
|
||||
@@ -30,6 +30,11 @@ stdenv.mkDerivation rec {
|
||||
--replace-fail 'all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA)' 'all-am: $(DATA)'
|
||||
'';
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hiragana text to Kana Kanji mixed text Japanese input method";
|
||||
homepage = "https://anthy.osdn.jp/";
|
||||
@@ -39,8 +44,9 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
postFixup = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
mkdir "$out/lib/internals"
|
||||
cp -r depgraph/{mkdepgraph,.libs} mkworddic/{mkworddic,.libs} calctrans/{calctrans,.libs} mkanthydic/{mkfiledic,.libs} "$out/lib/internals"
|
||||
# not relevant for installed package
|
||||
mkdir "$dev/lib/internals"
|
||||
cp -r depgraph/{mkdepgraph,.libs} mkworddic/{mkworddic,.libs} calctrans/{calctrans,.libs} mkanthydic/{mkfiledic,.libs} "$dev/lib/internals"
|
||||
'';
|
||||
|
||||
src = fetchurl {
|
||||
|
||||
@@ -34,14 +34,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "apt";
|
||||
version = "2.9.33";
|
||||
version = "2.9.35";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "salsa.debian.org";
|
||||
owner = "apt-team";
|
||||
repo = "apt";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-CniUdpQWUyS0GMRLmdA4zX0iF3geT5dglBfJy1li9O0=";
|
||||
hash = "sha256-B4rFOt4J94/XkFw09sdvfogdY1b5R6QYnNC3HVUV9pc=";
|
||||
};
|
||||
|
||||
# cycle detection; lib can't be split
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
cubeb,
|
||||
useDiscordRichPresence ? true,
|
||||
rapidjson,
|
||||
azahar,
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
@@ -150,6 +151,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(cmakeBool "ENABLE_QT" enableQt)
|
||||
(cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslations)
|
||||
(cmakeBool "ENABLE_SDL2" enableSDL2)
|
||||
(cmakeBool "ENABLE_SDL2_FRONTEND" enableSDL2)
|
||||
(cmakeBool "ENABLE_CUBEB" enableCubeb)
|
||||
(cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence)
|
||||
];
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
|
||||
# buildInputs
|
||||
buildbox,
|
||||
fuse3,
|
||||
lzip,
|
||||
patch,
|
||||
|
||||
# tests
|
||||
addBinToPathHook,
|
||||
gitMinimal,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "buildstream";
|
||||
version = "2.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "apache";
|
||||
repo = "buildstream";
|
||||
tag = version;
|
||||
hash = "sha256-6a0VzYO5yj7EHvAb0xa4xZ0dgBKjFcwKv2F4o93oahY=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
cython
|
||||
pdm-pep517
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
click
|
||||
dulwich
|
||||
grpcio
|
||||
jinja2
|
||||
markupsafe
|
||||
packaging
|
||||
pluginbase
|
||||
protobuf
|
||||
psutil
|
||||
pyroaring
|
||||
requests
|
||||
ruamel-yaml
|
||||
ruamel-yaml-clib
|
||||
tomlkit
|
||||
ujson
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
buildbox
|
||||
fuse3
|
||||
lzip
|
||||
patch
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "buildstream" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
addBinToPathHook
|
||||
buildbox
|
||||
gitMinimal
|
||||
python3Packages.pexpect
|
||||
python3Packages.pyftpdlib
|
||||
python3Packages.pytest-datafiles
|
||||
python3Packages.pytest-env
|
||||
python3Packages.pytest-timeout
|
||||
python3Packages.pytest-xdist
|
||||
python3Packages.pytestCheckHook
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# ValueError: Unexpected comparison between all and ''
|
||||
"test_help"
|
||||
|
||||
# Error loading project: project.conf [line 37 column 2]: Failed to load source-mirror plugin 'mirror': No package metadata was found for sample-plugins
|
||||
"test_source_mirror_plugin"
|
||||
|
||||
# AssertionError: assert '1a5528cad211...0bbe5ee314c14' == '2ccfee62a657...52dbc47203a88'
|
||||
"test_fixed_cas_import"
|
||||
"test_random_cas_import"
|
||||
|
||||
# Runtime error: The FUSE stager child process unexpectedly died with exit code 2
|
||||
"test_patch_sources_cached_1"
|
||||
"test_patch_sources_cached_2"
|
||||
"test_source_cache_key"
|
||||
"test_custom_transform_source"
|
||||
|
||||
# Blob not found in the local CAS
|
||||
"test_source_pull_partial_fallback_fetch"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# FileNotFoundError: [Errno 2] No such file or directory: '/build/source/tmp/popen-gw1/test_report_when_cascache_exit0/buildbox-casd'
|
||||
"tests/internals/cascache.py"
|
||||
];
|
||||
|
||||
versionCheckProgram = "${placeholder "out"}/bin/bst";
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
meta = {
|
||||
description = "Powerful software integration tool";
|
||||
downloadPage = "https://buildstream.build/install.html";
|
||||
homepage = "https://buildstream.build";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "bst";
|
||||
maintainers = with lib.maintainers; [ shymega ];
|
||||
};
|
||||
}
|
||||
@@ -15,14 +15,14 @@ let
|
||||
"cli"
|
||||
"desktop"
|
||||
];
|
||||
version = "0.45.1";
|
||||
version = "0.47.1";
|
||||
cli = fetchurl {
|
||||
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz";
|
||||
hash = "sha256-tudXyf9wwWABMGwfsxaLJtkZPKImlgjzfJJYFtimQOE=";
|
||||
hash = "sha256-T+NOp5UEKcP8slDddQ9vyrrpoZVGEChJ379Da5E7pVw=";
|
||||
};
|
||||
desktop = fetchurl {
|
||||
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
|
||||
hash = "sha256-meNB1KCtxApsP95476ggL2gbCxu2fdold6BQ2dlZqFc=";
|
||||
hash = "sha256-J2FvEdLy77uO52KNlugZZ+flsraKatXT2n17npMYo9M=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version;
|
||||
|
||||
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cargo plugin to generate list of all licenses for a crate";
|
||||
description = "Cargo plugin for linting your dependencies";
|
||||
mainProgram = "cargo-deny";
|
||||
homepage = "https://github.com/EmbarkStudios/cargo-deny";
|
||||
changelog = "https://github.com/EmbarkStudios/cargo-deny/blob/${version}/CHANGELOG.md";
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-temp";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yozhgoor";
|
||||
repo = "cargo-temp";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ejcqgfnvIGUhidhJpAh6uJrm8oFb8rS98wRI3iQBP9I=";
|
||||
hash = "sha256-71kAlZKSBnROZ8wXe4kQa8nNug5/hk6NKsqHoQU5pWc=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-lfahdQtv35VH9XTApcu/GIR2QOqXKlb8Gpy6X58LmpA=";
|
||||
cargoHash = "sha256-rHTEWc3JAnsz5z+NmTb84VSXHSR6nNlb5C+n9VxvnUQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool that allow you to create a temporary new Rust project using cargo with already installed dependencies";
|
||||
|
||||
@@ -5,30 +5,42 @@
|
||||
sqlite,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cnsprcy";
|
||||
version = "0.2.0";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~xaos";
|
||||
repo = "cnsprcy";
|
||||
rev = "v0.2.0";
|
||||
hash = "sha256-f+DauSU4bT3EljY8/ig7jLnUgyDPEo2NSBQcPN0iKx0=";
|
||||
rev = "cnspr/v${finalAttrs.version}";
|
||||
hash = "sha256-wwsemwN87YsNRLkr0UNbzSLF2WDaKY6IFXew64g4QoU=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/v${finalAttrs.version}";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-lPTufjKOXMvPy+cP1UyVCTfRXkOmzZqDR6yraIgk+Dg=";
|
||||
|
||||
cargoHash = "sha256-8hNuF5tD1PwdIJB0q3wxDOGDcppo0ac+zol3AHWGv0s=";
|
||||
|
||||
passthru.updateScript = lib.mkUpdateScript {
|
||||
extraFetchers = [ fetchFromSourcehut ];
|
||||
};
|
||||
|
||||
RUSTC_BOOTSTRAP = true;
|
||||
|
||||
buildInputs = [ sqlite ];
|
||||
|
||||
meta = {
|
||||
description = "End to end encrypted connections between trusted devices";
|
||||
homepage = "https://git.sr.ht/~xaos/cnsprcy";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ supinie ];
|
||||
maintainers =
|
||||
with lib.maintainers;
|
||||
[
|
||||
supinie
|
||||
oluchitheanalyst
|
||||
]
|
||||
++ lib.teams.ngi.members;
|
||||
mainProgram = "cnspr";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -37,13 +37,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit";
|
||||
version = "331";
|
||||
version = "336.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-G0L1ZcvjUCSNkDvYoyConymZ4bsEye03t5K15EyI008=";
|
||||
hash = "sha256-QRtKxrOIGZuAj+NrnXDpnejJQ/lm0hP/JqZyVZn/VL0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "converseen";
|
||||
version = "0.12.2.5";
|
||||
version = "0.13.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Faster3ck";
|
||||
repo = "Converseen";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Q1MmKPzk7erMM5Z5zYP3hGyazupfPjArkmFOFEhxWg4=";
|
||||
hash = "sha256-EFeOBk/KK7CaX+Da5PxIWsImw8Sgjlvcl29QKO71V+Y=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -12,10 +12,8 @@
|
||||
seatd,
|
||||
udev,
|
||||
systemd,
|
||||
xwayland,
|
||||
nix-update-script,
|
||||
|
||||
useXWayland ? true,
|
||||
useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
|
||||
}:
|
||||
|
||||
@@ -59,10 +57,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
dontCargoInstall = true;
|
||||
|
||||
preFixup = lib.optionalString useXWayland ''
|
||||
libcosmicAppWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]})
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version"
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "coin-or";
|
||||
repo = "CppAD";
|
||||
tag = "${finalAttrs.version}";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-rAKD/PAjepDchvrJp7iLYw5doNq8Af1oVh61gfMcNYI=";
|
||||
};
|
||||
|
||||
|
||||
@@ -17,18 +17,18 @@ let
|
||||
in
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "cryptomator";
|
||||
version = "1.15.1";
|
||||
version = "1.15.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cryptomator";
|
||||
repo = "cryptomator";
|
||||
tag = version;
|
||||
hash = "sha256-yNCVSaA2GtTFUYoN7IZxEYMxkkQwMiNnfnmSXaruFjM=";
|
||||
hash = "sha256-uhsX4VIA8NNUjxa0dHyB5bhWMxjd2LJfcKJInxROQRY=";
|
||||
};
|
||||
|
||||
mvnJdk = jdk;
|
||||
mvnParameters = "-Dmaven.test.skip=true -Plinux";
|
||||
mvnHash = "sha256-w0mIeSFRSGl3EorrGcxqnXF6C0SowjWUMYT/NN1erwM=";
|
||||
mvnHash = "sha256-KfQdYsPdmQRQqjx/kpDQR9tYjb54goA31w55x6VX6KM=";
|
||||
|
||||
preBuild = ''
|
||||
VERSION=${version}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
src/dmitry.c | 1 +
|
||||
src/file.c | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/dmitry.c b/src/dmitry.c
|
||||
index d47f231..567482d 100644
|
||||
--- a/src/dmitry.c
|
||||
+++ b/src/dmitry.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
+#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
diff --git a/src/file.c b/src/file.c
|
||||
index f4ad48b..3714786 100644
|
||||
--- a/src/file.c
|
||||
+++ b/src/file.c
|
||||
@@ -1,4 +1,6 @@
|
||||
#include "includes/file.h"
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
int file_prep()
|
||||
{
|
||||
outputfile[strlen(outputfile)] = '\0';
|
||||
@@ -16,16 +16,18 @@ stdenv.mkDerivation {
|
||||
hash = "sha256-cYFeBM8xFMaLXYk6Rg+5JvfbbIJI9F3mefzCX3+XbB0=";
|
||||
};
|
||||
|
||||
patches = [ ./implicit-function-declaration.patch ];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [ "-fcommon" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Deepmagic Information Gathering Tool";
|
||||
mainProgram = "dmitry";
|
||||
homepage = "https://github.com/jaygreig86/dmitry";
|
||||
maintainers = with maintainers; [ d3vil0p3r ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ d3vil0p3r ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dnscrypt-proxy";
|
||||
version = "2.1.7";
|
||||
version = "2.1.8";
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -17,7 +17,7 @@ buildGoModule rec {
|
||||
owner = "DNSCrypt";
|
||||
repo = "dnscrypt-proxy";
|
||||
rev = version;
|
||||
sha256 = "sha256-s0ooICual87+y/DMppuTQtNzZRRCg/42SQImDrPVRng=";
|
||||
sha256 = "sha256-/D5RE8AbI9i9TVdFQCYW8OLPU4TgIIDRsZfWEyXo92g=";
|
||||
};
|
||||
|
||||
passthru.tests = { inherit (nixosTests) dnscrypt-proxy2; };
|
||||
|
||||
@@ -21,7 +21,7 @@ let
|
||||
in
|
||||
buildDunePackage' rec {
|
||||
pname = "docfd";
|
||||
version = "8.0.3";
|
||||
version = "10.1.3";
|
||||
|
||||
minimalOCamlVersion = "5.1";
|
||||
|
||||
@@ -29,7 +29,7 @@ buildDunePackage' rec {
|
||||
owner = "darrenldl";
|
||||
repo = "docfd";
|
||||
rev = version;
|
||||
hash = "sha256-890/3iBruaQtWwlcvwuz4ujp7+P+5y1/2Axx4Iuik8Q=";
|
||||
hash = "sha256-ZD1nKl/hfidlTGdBnNINt2EmlUmFWaJjSvY3wkyJJcg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -42,18 +42,22 @@ buildDunePackage' rec {
|
||||
cmdliner
|
||||
containers-data
|
||||
decompress
|
||||
diet
|
||||
digestif
|
||||
eio_main
|
||||
lwd
|
||||
nottui
|
||||
notty
|
||||
ocaml_sqlite3
|
||||
ocolor
|
||||
oseq
|
||||
ppx_deriving
|
||||
ppxlib
|
||||
progress
|
||||
re
|
||||
spelll
|
||||
timedesc
|
||||
uuseg
|
||||
yojson
|
||||
];
|
||||
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
{
|
||||
"name": "dokieli",
|
||||
"version": "0.3.1417",
|
||||
"description": "dokieli is a clientside editor for decentralised article publishing, annotations, and social interactions.",
|
||||
"main": "./src/dokieli.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build-dist": "webpack --progress --color",
|
||||
"build": "yarn build-dist",
|
||||
"test": "TZ=UTC node --experimental-vm-modules node_modules/jest/bin/jest.js --silent",
|
||||
"test:e2e": "playwright test",
|
||||
"watch": "webpack --progress --color --watch",
|
||||
"minify": "webpack --progress --color --env minimize",
|
||||
"postinstall": "patch-package",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"repository": "https://github.com/linkeddata/dokieli",
|
||||
"keywords": [
|
||||
"activitystreams",
|
||||
"activitypub",
|
||||
"annotations",
|
||||
"authoring",
|
||||
"decentralized",
|
||||
"editor",
|
||||
"knowledge graph",
|
||||
"linked data",
|
||||
"notifications",
|
||||
"publishing",
|
||||
"social web",
|
||||
"web standards"
|
||||
],
|
||||
"author": "dokieli team",
|
||||
"license": "Apache-2.0",
|
||||
"bugs": {
|
||||
"url": "https://github.com/linkeddata/dokieli/issues"
|
||||
},
|
||||
"homepage": "https://dokie.li/",
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"buffer": "^6.0.3",
|
||||
"d3-force": "^3.0.0",
|
||||
"d3-selection": "^3.0.0",
|
||||
"diff": "^5.2.0",
|
||||
"dompurify": "^3.1.5",
|
||||
"fs": "^0.0.1-security",
|
||||
"http-link-header": "^1.1.3",
|
||||
"leaflet": "^1.9.4",
|
||||
"leaflet-gpx": "^1.7.0",
|
||||
"medium-editor": "^5.23.3",
|
||||
"medium-editor-tables": "^0.6.1",
|
||||
"micromark": "^4.0.0",
|
||||
"micromark-extension-gfm": "^3.0.0",
|
||||
"micromark-extension-gfm-tagfilter": "^2.0.0",
|
||||
"rdf-parser-rdfa": "https://github.com/rdf-ext/rdf-parser-rdfa.git#master",
|
||||
"rdf-store-ldp": "^0.3.1",
|
||||
"shower": "https://github.com/shower/core.git#main",
|
||||
"simplerdf": "^0.2.14",
|
||||
"simplerdf-parse": "^0.1.3",
|
||||
"solid-auth-client": "^2.5.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@axe-core/playwright": "^4.9.1",
|
||||
"@playwright/test": "^1.44.1",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"eslint": "^9.10.0",
|
||||
"eslint-plugin-jest": "^27.9.0",
|
||||
"husky": "^9.0.11",
|
||||
"jest": "^29.0.3",
|
||||
"jest-environment-jsdom": "^29.0.3",
|
||||
"patch-package": "^8.0.0",
|
||||
"process": "^0.11.10",
|
||||
"terser-webpack-plugin": "^5.3.3",
|
||||
"webpack": "5.94.0",
|
||||
"webpack-cli": "^5.0.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"ansi-regex": "^5.0.0",
|
||||
"xmldom": "https://github.com/xmldom/xmldom.git#master",
|
||||
"green-turtle": "https://github.com/csarven/green-turtle#master",
|
||||
"json5": "^1.0.2",
|
||||
"http-cache-semantics": "^4.1.1",
|
||||
"jsonld": "^5.0.0",
|
||||
"xml2js": "^0.6.2",
|
||||
"semver": "^7.6.2",
|
||||
"lru-cache": "^8.0.0",
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"standard": {
|
||||
"globals": [
|
||||
"DO",
|
||||
"SimpleRDF",
|
||||
"ld",
|
||||
"describe",
|
||||
"it",
|
||||
"before",
|
||||
"beforeEach",
|
||||
"after",
|
||||
"afterEach"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,37 +1,50 @@
|
||||
{
|
||||
lib,
|
||||
mkYarnPackage,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
yarnConfigHook,
|
||||
makeWrapper,
|
||||
yarnBuildHook,
|
||||
yarnInstallHook,
|
||||
nodejs,
|
||||
xsel,
|
||||
}:
|
||||
|
||||
mkYarnPackage rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dokieli";
|
||||
version = "0-unstable-2024-09-23";
|
||||
version = "0-unstable-2024-12-12";
|
||||
|
||||
# Can't update newer versions currently because newer versions require yarn-berry, and it's not in nixpkgs, yet.
|
||||
src = fetchFromGitHub {
|
||||
owner = "linkeddata";
|
||||
repo = "dokieli";
|
||||
rev = "40ebbc60ba48d8b08f763b07befba96382c5f027";
|
||||
hash = "sha256-lc96jOR8uXLcZFhN3wpSd9O5cUdKxllB8WWCh2oWuEw=";
|
||||
rev = "d8dc72c81b84ec12f791892a6377a7f6ec46ed3b";
|
||||
hash = "sha256-CzSyQVyeJVOP8NCsa7ST3atG87V1KPSBzTRi0brMFYw=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-TEXCCLFhpwHZJ8zRGsC7J6EwNaFpIi+CZ3L5uilebK4=";
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
"sha256-bw5HszcHZ60qgYgm4qfhZEYXjJAQ2DXhWU0Reqb9VpQ="
|
||||
else
|
||||
"sha256-rwHBDBWZe4cdTyL7lNkB4nlpd5MWzbTU6kzdLBWcq0M=";
|
||||
};
|
||||
|
||||
packageJSON = ./package.json;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -r * $out
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
yarnConfigHook
|
||||
yarnBuildHook
|
||||
yarnInstallHook
|
||||
# Needed for executing package.json scripts
|
||||
nodejs
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${nodejs}/bin/npx $out/bin/dokieli \
|
||||
@@ -52,7 +65,7 @@ mkYarnPackage rec {
|
||||
homepage = "https://github.com/linkeddata/dokieli";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ shogo ];
|
||||
maintainers = with lib.maintainers; [ shogo ] ++ lib.teams.ngi.members;
|
||||
mainProgram = "dokieli";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dolibarr";
|
||||
version = "21.0.0";
|
||||
version = "21.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dolibarr";
|
||||
repo = "dolibarr";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-OTYX9CZ1gQlAOsrWIMJwhH8QPDM2J3MM183/Tj18jHg=";
|
||||
hash = "sha256-aOFqfXsT1kmQwIB8clLMQaMeZtsyIYCxCGqaGCjlBRY=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
diff -ruN dozenal-12010904/dozenal/dozcal/call_lua.c dozenal-patched/dozenal/dozcal/call_lua.c
|
||||
--- dozenal-12010904/dozenal/dozcal/call_lua.c 2017-09-04 19:25:01.000000000 +0200
|
||||
+++ dozenal-patched/dozenal/dozcal/call_lua.c 2018-06-13 10:19:57.821950327 +0200
|
||||
@@ -38,9 +38,9 @@
|
||||
#include"utility.h"
|
||||
#include"conv.h"
|
||||
#include"proc_date.h"
|
||||
-#include<lua5.2/lua.h>
|
||||
-#include<lua5.2/lauxlib.h>
|
||||
-#include<lua5.2/lualib.h>
|
||||
+#include<lua.h>
|
||||
+#include<lauxlib.h>
|
||||
+#include<lualib.h>
|
||||
|
||||
void bail(lua_State *L, int err_code, char *filename);
|
||||
int file_prefix(char **s, char *t);
|
||||
@@ -1,80 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
ncurses,
|
||||
hdate,
|
||||
lua5_2,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "12010904";
|
||||
pname = "dozenal";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgoodmaniii";
|
||||
repo = "dozenal";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ic63gpdda762x6ks3al71dwgmsy2isicqyr2935bd245jx8s209";
|
||||
};
|
||||
makeFlags = [
|
||||
# author do not use configure and prefix directly using $prefix
|
||||
"prefix=$(out)"
|
||||
# graphical version of dozdc requires xforms, which is not i nixpkgs so I turned it down
|
||||
"XFORMS_FLAGS=-UXFORMS"
|
||||
"LUALIB=-llua"
|
||||
"bindir=$(prefix)/bin/"
|
||||
];
|
||||
# some include hardcodes the lua libraries path. This is a patch for that
|
||||
patches = [ ./lua-header.patch ];
|
||||
preBuild = "cd dozenal";
|
||||
buildInputs = [
|
||||
ncurses
|
||||
hdate
|
||||
lua5_2
|
||||
];
|
||||
|
||||
# Parallel builds fail due to no dependencies between subdirs.
|
||||
# As a result some subdirs are atempted to build twice:
|
||||
# ../dec/dec.c:39:10: fatal error: conv.h: No such file or directory
|
||||
# Let's disable parallelism until it's fixed upstream:
|
||||
# https://gitlab.com/dgoodmaniii/dozenal/-/issues/8
|
||||
enableParallelBuilding = false;
|
||||
|
||||
# I remove gdozdc, as I didn't figure all it's dependency yet.
|
||||
postInstall = "rm $out/bin/gdozdc";
|
||||
|
||||
meta = {
|
||||
description = "Complete suite of dozenal (base twelve) programs";
|
||||
longDescription = ''
|
||||
Programs
|
||||
|
||||
doz --- a converter; converts decimal numbers into dozenal. Accepts
|
||||
input in standard or exponential notation (i.e., "1492.2" or "1.4922e3").
|
||||
dec --- a converter; converts dozenal numbers into decimal. Accepts input
|
||||
in standard or exponential notation (i.e., "X44;4" or "X;444e2").
|
||||
dozword --- converts a dozenal number (integers only) into words,
|
||||
according to the Pendlebury system.
|
||||
dozdc --- a full-featured scientific calculator which works in the
|
||||
dozenal base. RPN command line.
|
||||
tgmconv --- a converter for all standard measurements; converts to and
|
||||
from TGM, Imperial, customary, and SI metric.
|
||||
dozpret --- a pretty-printer for dozenal numbers; inserts spacing (or
|
||||
other characters) as desired, and can also transform transdecimal digits
|
||||
from 'X' to 'E' into any character or sequence of characters desired.
|
||||
dozdate --- a more-or-less drop-in replacement for GNU and BSD date, it
|
||||
outputs the date and time in dozenal, as well as containing some TGM
|
||||
extensions.
|
||||
dozstring --- a simple byte converter; absorbs a string either from
|
||||
standard input or a command line argument, leaving it identical but
|
||||
for the numbers, which it converts into dozenal. Options for padding
|
||||
and for not converting specific numbers.
|
||||
doman --- a converter which takes a dozenal integer and
|
||||
emits its equivalent in a non-place-value system, such as
|
||||
Roman numerals. Arbitrary ranks and symbols may be used.
|
||||
Defaults to dozenal Roman numerals.
|
||||
'';
|
||||
homepage = "https://github.com/dgoodmaniii/dozenal/";
|
||||
maintainers = with lib.maintainers; [ CharlesHD ];
|
||||
license = lib.licenses.gpl3;
|
||||
};
|
||||
}
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "eksctl";
|
||||
version = "0.206.0";
|
||||
version = "0.207.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaveworks";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-wJl3PhrTbjgrI5aRNmqHkPr43SYw0m5nLWPtVqazlfg=";
|
||||
hash = "sha256-USWeMzJ1k+sJx2p3FzFhbO48m61WUuCvp7Juwa9jtus=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Ipj4Ss9x7HnAAweoQlWsmOUhU+toGyR4aGTRhIHHw/0=";
|
||||
vendorHash = "sha256-TEw5ts51M/nvcljqrCHIkTGk64dhhEamhkP/qS/y1uo=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "erofs-utils";
|
||||
version = "1.8.5";
|
||||
version = "1.8.6";
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-zYYRJw6chv4GL2RxA8pq2p7XEORDD91ZYNUUd3kZIA0=";
|
||||
hash = "sha256-WyIdw/1tFRQlswU07eRvt6kNwjOoZZy6A3J5awoGZUc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
darwin,
|
||||
testers,
|
||||
espup,
|
||||
gitUpdater,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
@@ -67,6 +68,7 @@ rustPlatform.buildRustPackage rec {
|
||||
--zsh <($out/bin/espup completions zsh)
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = espup;
|
||||
};
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
exaAlias ? true,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "eza";
|
||||
version = "0.21.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eza-community";
|
||||
repo = "eza";
|
||||
rev = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-edBFMqY+61kFumLTcVFgnmhE4d+bMVz+udR5h02kDk0=";
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec {
|
||||
postInstall =
|
||||
''
|
||||
for page in eza.1 eza_colors.5 eza_colors-explanation.5; do
|
||||
sed "s/\$version/v${version}/g" "man/$page.md" |
|
||||
sed "s/\$version/v${finalAttrs.version}/g" "man/$page.md" |
|
||||
pandoc --standalone -f markdown -t man >"man/$page"
|
||||
done
|
||||
installManPage man/eza.1 man/eza_colors.5 man/eza_colors-explanation.5
|
||||
@@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec {
|
||||
ln -s eza $out/bin/exa
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Modern, maintained replacement for ls";
|
||||
longDescription = ''
|
||||
eza is a modern replacement for ls. It uses colours for information by
|
||||
@@ -70,14 +70,14 @@ rustPlatform.buildRustPackage rec {
|
||||
written in Rust, so it’s small, fast, and portable.
|
||||
'';
|
||||
homepage = "https://github.com/eza-community/eza";
|
||||
changelog = "https://github.com/eza-community/eza/releases/tag/v${version}";
|
||||
license = licenses.eupl12;
|
||||
changelog = "https://github.com/eza-community/eza/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.eupl12;
|
||||
mainProgram = "eza";
|
||||
maintainers = with maintainers; [
|
||||
maintainers = with lib.maintainers; [
|
||||
cafkafk
|
||||
_9glenda
|
||||
sigmasquadron
|
||||
];
|
||||
platforms = platforms.unix ++ platforms.windows;
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
qt5,
|
||||
python3,
|
||||
nix-update-script,
|
||||
xxHash,
|
||||
fmt,
|
||||
nasm,
|
||||
}:
|
||||
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -18,8 +21,32 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "FEX-Emu";
|
||||
repo = "FEX";
|
||||
tag = "FEX-${finalAttrs.version}";
|
||||
hash = "sha256-tqUJBHYSRlEUaLI4WItzotIHGMUNbdjA7o9NjBYZmHw=";
|
||||
fetchSubmodules = true;
|
||||
|
||||
hash = "sha256-oXducy4uvf/3Ox6AadPWNl9450D9TiPIr53P91/qEvw=";
|
||||
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
cd $out
|
||||
git reset
|
||||
|
||||
# Only fetch required submodules
|
||||
git submodule update --init --depth 1 \
|
||||
External/Vulkan-Headers \
|
||||
External/drm-headers \
|
||||
External/jemalloc \
|
||||
External/jemalloc_glibc \
|
||||
External/robin-map \
|
||||
External/vixl \
|
||||
Source/Common/cpp-optparse \
|
||||
External/Catch2
|
||||
|
||||
find . -name .git -print0 | xargs -0 rm -rf
|
||||
|
||||
# Remove some more unnecessary directories
|
||||
rm -r \
|
||||
External/vixl/src/aarch32 \
|
||||
External/vixl/test
|
||||
'';
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -37,12 +64,19 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
))
|
||||
];
|
||||
|
||||
buildInputs = with qt5; [
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtquickcontrols
|
||||
qtquickcontrols2
|
||||
];
|
||||
nativeCheckInputs = [ nasm ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
xxHash
|
||||
fmt
|
||||
]
|
||||
++ (with qt5; [
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtquickcontrols
|
||||
qtquickcontrols2
|
||||
]);
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release")
|
||||
@@ -54,7 +88,18 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
doCheck = false; # broken on Apple silicon computers
|
||||
|
||||
# Unsupported on non-4K page size kernels (e.g. Apple Silicon)
|
||||
doCheck = true;
|
||||
|
||||
# List not exhaustive, e.g. because they depend on an x86 compiler or some
|
||||
# other difficult-to-build test binaries.
|
||||
checkTarget = lib.concatStringsSep " " [
|
||||
"asm_tests"
|
||||
"api_tests"
|
||||
"fexcore_apitests"
|
||||
"emitter_tests"
|
||||
];
|
||||
|
||||
# Avoid wrapping anything other than FEXConfig, since the wrapped executables
|
||||
# don't seem to work when registered as binfmts.
|
||||
|
||||
@@ -5,15 +5,14 @@
|
||||
fetchpatch,
|
||||
fetchzip,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "figlet";
|
||||
version = "2.2.5";
|
||||
|
||||
# some tools can be found here ftp://ftp.figlet.org/pub/figlet/util/
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-${version}.tar.gz";
|
||||
sha256 = "0za1ax15x7myjl8jz271ybly8ln9kb9zhm1gf6rdlxzhs07w925z";
|
||||
url = "ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "sha256-v4jED9Dwd9qycS9U+NOayVLk6fLhiC8Rlb6eXkJXQX0=";
|
||||
};
|
||||
|
||||
contributed = fetchzip {
|
||||
@@ -25,12 +24,12 @@ stdenv.mkDerivation rec {
|
||||
(fetchpatch {
|
||||
url = "https://git.alpinelinux.org/aports/plain/main/figlet/musl-fix-cplusplus-decls.patch?h=3.4-stable&id=71776c73a6f04b6f671430f702bcd40b29d48399";
|
||||
name = "musl-fix-cplusplus-decls.patch";
|
||||
sha256 = "1720zgrfk9makznqkbjrnlxm7nnhk6zx7g458fv53337n3g3zn7j";
|
||||
sha256 = "sha256-8tg/3rBnjFG2Q4W807+Z0NpTO7VZrontn6qm6fL7QJw=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/cmatsuoka/figlet/commit/9a50c1795bc32e5a698b855131ee87c8d7762c9e.patch";
|
||||
name = "unistd-on-darwin.patch";
|
||||
sha256 = "hyfY87N+yuAwjsBIjpgvcdJ1IbzlR4A2yUJQSzShCRI=";
|
||||
sha256 = "sha256-hyfY87N+yuAwjsBIjpgvcdJ1IbzlR4A2yUJQSzShCRI=";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -40,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
"LD:=$(CC)"
|
||||
];
|
||||
|
||||
postInstall = "cp -ar ${contributed}/* $out/share/figlet/";
|
||||
postInstall = "cp -ar ${finalAttrs.contributed}/* $out/share/figlet/";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@@ -50,5 +49,6 @@ stdenv.mkDerivation rec {
|
||||
license = lib.licenses.afl21;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "figlet";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "firebase-tools";
|
||||
version = "13.35.1";
|
||||
version = "14.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firebase";
|
||||
repo = "firebase-tools";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-66VG82o+gg+Vt4QR/RkaM6aOv8i3lQ7bUmeqGqj1JGs=";
|
||||
hash = "sha256-7yxDBK3A2Yosp/83JmFpV3cm+YEDxHMLVj5B+rwSIR8=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-/UuQ1bwEFDPahxUgqrxY/xIcHQ+KKxnc2QUMOW+GwHE=";
|
||||
npmDepsHash = "sha256-r6vonG5edL/nTtyj8uXc/4w2xgihRce/Md+umxomTzo=";
|
||||
|
||||
postPatch = ''
|
||||
ln -s npm-shrinkwrap.json package-lock.json
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fzf";
|
||||
version = "0.61.0";
|
||||
version = "0.61.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "junegunn";
|
||||
repo = "fzf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-pqHfHWv8PoaMxEP90AbVM2u88D6VE3px+lxJfoZfMgk=";
|
||||
hash = "sha256-PKfVG2eYsg3J1OixDzXsmxCtsuFhdEGyxuYtwPEdVi8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WcrJfvY3GZLDuRr2PZR1ooNPJ6FQ4S3RvUc2+zePw5w=";
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
gclientUnpackHook() {
|
||||
echo "Executing gclientUnpackHook"
|
||||
|
||||
runHook preUnpack
|
||||
|
||||
if [ -z "${gclientDeps-}" ]; then
|
||||
echo "gclientDeps missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for dep in $(@jq@ -c "to_entries[]" "$gclientDeps")
|
||||
do
|
||||
local name="$(echo "$dep" | @jq@ -r .key)"
|
||||
echo "copying $name..."
|
||||
local path="$(echo "$dep" | @jq@ -r .value.path)"
|
||||
mkdir -p $(dirname "$name")
|
||||
cp -r "$path/." "$name"
|
||||
chmod u+w -R "$name"
|
||||
done
|
||||
|
||||
runHook postUnpack
|
||||
}
|
||||
|
||||
if [ -z "${dontGclientUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
|
||||
unpackPhase=(gclientUnpackHook)
|
||||
fi
|
||||
Executable
+232
@@ -0,0 +1,232 @@
|
||||
#!/usr/bin/env python3
|
||||
import base64
|
||||
import json
|
||||
import os
|
||||
import subprocess
|
||||
import re
|
||||
import random
|
||||
import sys
|
||||
import tempfile
|
||||
import logging
|
||||
import click
|
||||
import click_log
|
||||
from typing import Optional
|
||||
from urllib.request import urlopen
|
||||
from joblib import Parallel, delayed, Memory
|
||||
from platformdirs import user_cache_dir
|
||||
|
||||
sys.path.append("@depot_tools_checkout@")
|
||||
import gclient_eval
|
||||
import gclient_utils
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
click_log.basic_config(logger)
|
||||
|
||||
nixpkgs_path = "<nixpkgs>"
|
||||
|
||||
memory: Memory = Memory(user_cache_dir("gclient2nix"), verbose=0)
|
||||
|
||||
def cache(mem, **mem_kwargs):
|
||||
def cache_(f):
|
||||
f.__module__ = "gclient2nix"
|
||||
f.__qualname__ = f.__name__
|
||||
return mem.cache(f, **mem_kwargs)
|
||||
return cache_
|
||||
|
||||
@cache(memory)
|
||||
def get_repo_hash(fetcher: str, args: dict) -> str:
|
||||
expr = f"(import {nixpkgs_path} {{}}).gclient2nix.fetchers.{fetcher}{{"
|
||||
for key, val in args.items():
|
||||
expr += f'{key}="{val}";'
|
||||
expr += "}"
|
||||
cmd = ["nurl", "-H", "--expr", expr]
|
||||
print(" ".join(cmd), file=sys.stderr)
|
||||
out = subprocess.check_output(cmd)
|
||||
return out.decode("utf-8").strip()
|
||||
|
||||
|
||||
class Repo:
|
||||
fetcher: str
|
||||
args: dict
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.deps: dict = {}
|
||||
|
||||
def get_deps(self, repo_vars: dict, path: str) -> None:
|
||||
print(
|
||||
"evaluating " + json.dumps(self, default=vars, sort_keys=True),
|
||||
file=sys.stderr,
|
||||
)
|
||||
|
||||
deps_file = self.get_file("DEPS")
|
||||
evaluated = gclient_eval.Parse(deps_file, vars_override=repo_vars, filename="DEPS")
|
||||
|
||||
repo_vars = dict(evaluated.get("vars", {})) | repo_vars
|
||||
|
||||
prefix = f"{path}/" if evaluated.get("use_relative_paths", False) else ""
|
||||
|
||||
self.deps = {
|
||||
prefix + dep_name: repo_from_dep(dep)
|
||||
for dep_name, dep in evaluated.get("deps", {}).items()
|
||||
if (
|
||||
gclient_eval.EvaluateCondition(dep["condition"], repo_vars)
|
||||
if "condition" in dep
|
||||
else True
|
||||
)
|
||||
and repo_from_dep(dep) != None
|
||||
}
|
||||
|
||||
for key in evaluated.get("recursedeps", []):
|
||||
dep_path = prefix + key
|
||||
if dep_path in self.deps:
|
||||
self.deps[dep_path].get_deps(repo_vars, dep_path)
|
||||
|
||||
def eval(self) -> None:
|
||||
self.get_deps(
|
||||
{
|
||||
**{
|
||||
f"checkout_{platform}": platform == "linux"
|
||||
for platform in ["ios", "chromeos", "android", "mac", "win", "linux"]
|
||||
},
|
||||
**{
|
||||
f"checkout_{arch}": True
|
||||
for arch in ["x64", "arm64", "arm", "x86", "mips", "mips64", "ppc"]
|
||||
},
|
||||
},
|
||||
"",
|
||||
)
|
||||
|
||||
def prefetch(self) -> None:
|
||||
self.hash = get_repo_hash(self.fetcher, self.args)
|
||||
|
||||
def prefetch_all(self) -> int:
|
||||
return sum(
|
||||
[dep.prefetch_all() for [_, dep] in self.deps.items()],
|
||||
[delayed(self.prefetch)()],
|
||||
)
|
||||
|
||||
def flatten_repr(self) -> dict:
|
||||
return {"fetcher": self.fetcher, "attrs": {**({"hash": self.hash} if hasattr(self, "hash") else {}), **self.args}}
|
||||
|
||||
def flatten(self, path: str) -> dict:
|
||||
out = {path: self.flatten_repr()}
|
||||
for dep_path, dep in self.deps.items():
|
||||
out |= dep.flatten(dep_path)
|
||||
return out
|
||||
|
||||
def get_file(self, filepath: str) -> str:
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
class GitRepo(Repo):
|
||||
def __init__(self, url: str, rev: str) -> None:
|
||||
super().__init__()
|
||||
self.fetcher = "fetchgit"
|
||||
self.args = {
|
||||
"url": url,
|
||||
"rev": rev,
|
||||
}
|
||||
|
||||
|
||||
class GitHubRepo(Repo):
|
||||
def __init__(self, owner: str, repo: str, rev: str) -> None:
|
||||
super().__init__()
|
||||
self.fetcher = "fetchFromGitHub"
|
||||
self.args = {
|
||||
"owner": owner,
|
||||
"repo": repo,
|
||||
"rev": rev,
|
||||
}
|
||||
|
||||
def get_file(self, filepath: str) -> str:
|
||||
return (
|
||||
urlopen(
|
||||
f"https://raw.githubusercontent.com/{self.args['owner']}/{self.args['repo']}/{self.args['rev']}/{filepath}"
|
||||
)
|
||||
.read()
|
||||
.decode("utf-8")
|
||||
)
|
||||
|
||||
|
||||
class GitilesRepo(Repo):
|
||||
def __init__(self, url: str, rev: str) -> None:
|
||||
super().__init__()
|
||||
self.fetcher = "fetchFromGitiles"
|
||||
self.args = {
|
||||
"url": url,
|
||||
"rev": rev,
|
||||
}
|
||||
|
||||
# Quirk: Chromium source code exceeds the Hydra output limit
|
||||
# We prefer deleting test data over recompressing the sources into a
|
||||
# tarball, because the NAR will be compressed after the size check
|
||||
# anyways, so recompressing is more like bypassing the size limit
|
||||
# (making it count the compressed instead of uncompressed size)
|
||||
# rather than complying with it.
|
||||
if url == "https://chromium.googlesource.com/chromium/src.git":
|
||||
self.args["postFetch"] = "rm -r $out/third_party/blink/web_tests; "
|
||||
self.args["postFetch"] += "rm -r $out/content/test/data; "
|
||||
self.args["postFetch"] += "rm -rf $out/courgette/testdata; "
|
||||
self.args["postFetch"] += "rm -r $out/extensions/test/data; "
|
||||
self.args["postFetch"] += "rm -r $out/media/test/data; "
|
||||
|
||||
def get_file(self, filepath: str) -> str:
|
||||
return base64.b64decode(
|
||||
urlopen(
|
||||
f"{self.args['url']}/+/{self.args['rev']}/{filepath}?format=TEXT"
|
||||
).read()
|
||||
).decode("utf-8")
|
||||
|
||||
|
||||
|
||||
def repo_from_dep(dep: dict) -> Optional[Repo]:
|
||||
if "url" in dep:
|
||||
url, rev = gclient_utils.SplitUrlRevision(dep["url"])
|
||||
|
||||
search_object = re.search(r"https://github.com/(.+)/(.+?)(\.git)?$", url)
|
||||
if search_object:
|
||||
return GitHubRepo(search_object.group(1), search_object.group(2), rev)
|
||||
|
||||
if re.match(r"https://.+\.googlesource.com", url):
|
||||
return GitilesRepo(url, rev)
|
||||
|
||||
return GitRepo(url, rev)
|
||||
else:
|
||||
# Not a git dependency; skip
|
||||
return None
|
||||
|
||||
|
||||
@click.group()
|
||||
def cli() -> None:
|
||||
"""gclient2nix"""
|
||||
pass
|
||||
|
||||
|
||||
@cli.command("eval", help="Evaluate and print the dependency tree of a gclient project")
|
||||
@click.argument("url", required=True, type=str)
|
||||
@click.option("--root", default="src", help="Root path, where the given url is placed", type=str)
|
||||
def eval(url: str, root: str) -> None:
|
||||
repo = repo_from_dep({"url": url})
|
||||
repo.eval()
|
||||
print(json.dumps(repo.flatten(root), sort_keys=True, indent=4))
|
||||
|
||||
|
||||
@cli.command("generate", help="Generate a dependencies description for a gclient project")
|
||||
@click.argument("url", required=True, type=str)
|
||||
@click.option("--root", default="src", help="Root path, where the given url is placed", type=str)
|
||||
def generate(url: str, root: str) -> None:
|
||||
repo = repo_from_dep({"url": url})
|
||||
repo.eval()
|
||||
tasks = repo.prefetch_all()
|
||||
random.shuffle(tasks)
|
||||
task_results = {
|
||||
n[0]: n[1]
|
||||
for n in Parallel(n_jobs=20, require="sharedmem", return_as="generator")(tasks)
|
||||
if n != None
|
||||
}
|
||||
print(json.dumps(repo.flatten(root), sort_keys=True, indent=4))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
cli()
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
runCommand,
|
||||
makeWrapper,
|
||||
fetchgit,
|
||||
nurl,
|
||||
writers,
|
||||
callPackage,
|
||||
fetchFromGitiles,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
let
|
||||
fetchers = {
|
||||
inherit fetchgit fetchFromGitiles fetchFromGitHub;
|
||||
};
|
||||
|
||||
importGclientDeps =
|
||||
depsAttrsOrFile:
|
||||
let
|
||||
depsAttrs = if lib.isAttrs depsAttrsOrFile then depsAttrsOrFile else lib.importJSON depsAttrsOrFile;
|
||||
fetchdep = dep: fetchers.${dep.fetcher} dep.args;
|
||||
fetchedDeps = lib.mapAttrs (_name: fetchdep) depsAttrs;
|
||||
manifestContents = lib.mapAttrs (_: dep: {
|
||||
path = dep;
|
||||
}) fetchedDeps;
|
||||
manifest = writers.writeJSON "gclient-manifest.json" manifestContents;
|
||||
in
|
||||
manifestContents
|
||||
// {
|
||||
inherit manifest;
|
||||
__toString = _: manifest;
|
||||
};
|
||||
|
||||
gclientUnpackHook = callPackage (
|
||||
{
|
||||
lib,
|
||||
makeSetupHook,
|
||||
jq,
|
||||
}:
|
||||
|
||||
makeSetupHook {
|
||||
name = "gclient-unpack-hook";
|
||||
substitutions = {
|
||||
jq = lib.getExe jq;
|
||||
};
|
||||
} ./gclient-unpack-hook.sh
|
||||
) { };
|
||||
|
||||
python = python3.withPackages (
|
||||
ps: with ps; [
|
||||
joblib
|
||||
platformdirs
|
||||
click
|
||||
click-log
|
||||
]
|
||||
);
|
||||
|
||||
in
|
||||
|
||||
runCommand "gclient2nix"
|
||||
{
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ python ];
|
||||
|
||||
# substitutions
|
||||
depot_tools_checkout = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/tools/depot_tools";
|
||||
rev = "452fe3be37f78fbecefa1b4b0d359531bcd70d0d";
|
||||
hash = "sha256-8IiJOm0FLa/u1Vd96tb33Ruj4IUTCeYgBpTk88znhPw=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit fetchers importGclientDeps gclientUnpackHook;
|
||||
};
|
||||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
substituteAll ${./gclient2nix.py} $out/bin/gclient2nix
|
||||
chmod u+x $out/bin/gclient2nix
|
||||
patchShebangs $out/bin/gclient2nix
|
||||
wrapProgram $out/bin/gclient2nix --set PATH "${lib.makeBinPath [ nurl ]}"
|
||||
''
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gemmi";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "project-gemmi";
|
||||
repo = "gemmi";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-XOu//yY5CnnzjvGu7IIC5GvecYsnZQV3Y2wvGVTwWzU=";
|
||||
hash = "sha256-1msV/gW6BH90rHm6t7xm0hYqbG/yGBt65GVTbKuwdtg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
|
||||
@@ -6,26 +6,42 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-pr";
|
||||
version = "0.0.2";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "picosh";
|
||||
repo = "git-pr";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7Ka8p5X8nQBXKiT6QsWOWMQJL8rePKrHz/LZU1W+oQ8=";
|
||||
hash = "sha256-2A2rP7yr8faVoIYAWprr+t7MwDPerhsuOjWWEl1mhXw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tu5C7hz6UTgn/jCCotXzZHlUmGVNERhA7Osxi31Domk=";
|
||||
vendorHash = "sha256-7aHr5CWZVmhBiuCXaK49zYJXMufCxZBnS917mF0QJlg=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/ssh"
|
||||
"cmd/web"
|
||||
];
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/ssh $out/bin/git-ssh
|
||||
mv $out/bin/web $out/bin/git-web
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://pr.pico.sh";
|
||||
description = "Simple git collaboration tool";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
mainProgram = "git-pr";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
sigmanificient
|
||||
jolheiser
|
||||
];
|
||||
mainProgram = "git-ssh";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,80 +1,103 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
bash,
|
||||
buildGoModule,
|
||||
fetchFromGitLab,
|
||||
bash,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "17.2.0";
|
||||
in
|
||||
buildGoModule rec {
|
||||
inherit version;
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitlab-runner";
|
||||
|
||||
commonPackagePath = "gitlab.com/gitlab-org/gitlab-runner/common";
|
||||
ldflags = [
|
||||
"-X ${commonPackagePath}.NAME=gitlab-runner"
|
||||
"-X ${commonPackagePath}.VERSION=${version}"
|
||||
"-X ${commonPackagePath}.REVISION=v${version}"
|
||||
];
|
||||
|
||||
# For patchShebangs
|
||||
buildInputs = [ bash ];
|
||||
|
||||
vendorHash = "sha256-1MwHss76apA9KoFhEU6lYiUACrPMGYzjhds6nTyNuJI=";
|
||||
version = "17.2.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-runner";
|
||||
rev = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-a2Igy4DS3fYTvPW1vvDrH/DjMQ4lG9cm/P3mFr+y9s4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-1MwHss76apA9KoFhEU6lYiUACrPMGYzjhds6nTyNuJI=";
|
||||
|
||||
# For patchShebangs
|
||||
nativeBuildInputs = [ bash ];
|
||||
|
||||
patches = [
|
||||
./fix-shell-path.patch
|
||||
./remove-bash-test.patch
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
# Remove some tests that can't work during a nix build
|
||||
prePatch =
|
||||
''
|
||||
# Remove some tests that can't work during a nix build
|
||||
|
||||
# Requires to run in a git repo
|
||||
sed -i "s/func TestCacheArchiverAddingUntrackedFiles/func OFF_TestCacheArchiverAddingUntrackedFiles/" commands/helpers/file_archiver_test.go
|
||||
sed -i "s/func TestCacheArchiverAddingUntrackedUnicodeFiles/func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles/" commands/helpers/file_archiver_test.go
|
||||
# Requires to run in a git repo
|
||||
sed -i "s/func TestCacheArchiverAddingUntrackedFiles/func OFF_TestCacheArchiverAddingUntrackedFiles/" commands/helpers/file_archiver_test.go
|
||||
sed -i "s/func TestCacheArchiverAddingUntrackedUnicodeFiles/func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles/" commands/helpers/file_archiver_test.go
|
||||
|
||||
# No writable developer environment
|
||||
rm common/build_test.go
|
||||
rm common/build_settings_test.go
|
||||
rm executors/custom/custom_test.go
|
||||
# No writable developer environment
|
||||
rm common/build_test.go
|
||||
rm common/build_settings_test.go
|
||||
rm executors/custom/custom_test.go
|
||||
|
||||
# No docker during build
|
||||
rm executors/docker/terminal_test.go
|
||||
rm executors/docker/docker_test.go
|
||||
rm helpers/docker/auth/auth_test.go
|
||||
rm executors/docker/services_test.go
|
||||
'';
|
||||
# No docker during build
|
||||
rm executors/docker/terminal_test.go
|
||||
rm executors/docker/docker_test.go
|
||||
rm helpers/docker/auth/auth_test.go
|
||||
rm executors/docker/services_test.go
|
||||
''
|
||||
+ lib.optionalString stdenv.buildPlatform.isDarwin ''
|
||||
# No keychain access during build breaks X.509 certificate tests
|
||||
rm helpers/certificate/x509_test.go
|
||||
rm network/client_test.go
|
||||
'';
|
||||
|
||||
excludedPackages = [
|
||||
# CI helper script for pushing images to Docker and ECR registries
|
||||
#
|
||||
# https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/4139
|
||||
"./scripts/sync-docker-images"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install packaging/root/usr/share/gitlab-runner/clear-docker-cache $out/bin
|
||||
'';
|
||||
ldflags =
|
||||
let
|
||||
ldflagsPackageVariablePrefix = "gitlab.com/gitlab-org/gitlab-runner/common";
|
||||
in
|
||||
[
|
||||
"-X ${ldflagsPackageVariablePrefix}.NAME=gitlab-runner"
|
||||
"-X ${ldflagsPackageVariablePrefix}.VERSION=${finalAttrs.version}"
|
||||
"-X ${ldflagsPackageVariablePrefix}.REVISION=${finalAttrs.src.tag}"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
# Make the tests pass outside of GitLab CI
|
||||
export CI=0
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GitLab Runner the continuous integration executor of GitLab";
|
||||
license = licenses.mit;
|
||||
homepage = "https://docs.gitlab.com/runner/";
|
||||
platforms = platforms.unix ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ zimbatm ] ++ teams.gitlab.members;
|
||||
# Many tests start servers which bind to ports
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
postInstall = ''
|
||||
install packaging/root/usr/share/gitlab-runner/clear-docker-cache $out/bin
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
}
|
||||
|
||||
meta = {
|
||||
description = "GitLab Runner the continuous integration executor of GitLab";
|
||||
homepage = "https://docs.gitlab.com/runner";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "gitlab-runner";
|
||||
maintainers = with lib.maintainers; [ zimbatm ] ++ lib.teams.gitlab.members;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -31,6 +31,8 @@ rustPlatform.buildRustPackage rec {
|
||||
cargoHash = "sha256-q35MQGN/tvsK7gg0a/ljoVY6wedy7rwKlSakONgBIgk=";
|
||||
|
||||
patches = [
|
||||
# TODO: remove after next update
|
||||
# https://github.com/GitoxideLabs/gitoxide/pull/1929
|
||||
./fix-cargo-dependencies.patch
|
||||
];
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ buildGoModule (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "tess1o";
|
||||
repo = "go-ecoflow-exporter";
|
||||
tag = "${finalAttrs.version}";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-VCzMItYgnuDXDYdrk/ojzqUE2Fjr7KWGNnLhoQ+ZPYs=";
|
||||
};
|
||||
|
||||
|
||||
+3
-241
@@ -1,19 +1,16 @@
|
||||
{
|
||||
"name": "@withgraphite/graphite-cli",
|
||||
"version": "1.5.3",
|
||||
"version": "1.6.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@withgraphite/graphite-cli",
|
||||
"version": "1.5.3",
|
||||
"version": "1.6.1",
|
||||
"hasInstallScript": true,
|
||||
"license": "None",
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.2",
|
||||
"semver": "^7.5.4",
|
||||
"ws": "^8.6.0",
|
||||
"yargs": "^17.5.1"
|
||||
"semver": "^7.5.4"
|
||||
},
|
||||
"bin": {
|
||||
"graphite": "graphite.js",
|
||||
@@ -23,129 +20,6 @@
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/cliui": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"string-width": "^4.2.0",
|
||||
"strip-ansi": "^6.0.1",
|
||||
"wrap-ansi": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/escalade": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
||||
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/get-caller-file": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": "6.* || 8.* || >= 10.*"
|
||||
}
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/require-directory": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
|
||||
@@ -157,118 +31,6 @@
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
|
||||
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/y18n": {
|
||||
"version": "5.0.8",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/yargs": {
|
||||
"version": "17.7.2",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cliui": "^8.0.1",
|
||||
"escalade": "^3.1.1",
|
||||
"get-caller-file": "^2.0.5",
|
||||
"require-directory": "^2.1.1",
|
||||
"string-width": "^4.2.3",
|
||||
"y18n": "^5.0.5",
|
||||
"yargs-parser": "^21.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/yargs-parser": {
|
||||
"version": "21.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "graphite-cli";
|
||||
version = "1.5.3";
|
||||
version = "1.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
|
||||
hash = "sha256-hWr4HOpcNXEpdboeHige5nliVCLY3RukMVh2xRKGIlI=";
|
||||
hash = "sha256-r7tChs0vsg60LXFf9WZjthqMxXGgohNL4ojdjXNZcCo=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-v/zIQvcFGHA4Jr7Hh+hTw8BqwBF7b65X9or230qCsMc=";
|
||||
npmDepsHash = "sha256-DoK3GaGIwei9kumvAwfgaIY9iw+Z6ysFzUm5dMVV2W4=";
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
appimageTools,
|
||||
desktop-file-utils,
|
||||
fetchurl,
|
||||
lib,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
pname = "heynote";
|
||||
version = "2.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/heyman/heynote/releases/download/v${version}/Heynote_${version}_x86_64.AppImage";
|
||||
sha256 = "sha256-O8loDE2GzXQofh3iNQeP5OAWh7i0QCSxl4I++ERcjbU=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit version pname src;
|
||||
};
|
||||
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ desktop-file-utils ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share/pixmaps $out/share/licenses/heynote
|
||||
cp ${appimageContents}/heynote.png $out/share/pixmaps/
|
||||
cp ${appimageContents}/heynote.desktop $out
|
||||
# verify binary is present
|
||||
stat $out/bin/heynote
|
||||
desktop-file-install --dir $out/share/applications \
|
||||
--set-key Exec --set-value heynote \
|
||||
--set-key Comment --set-value "Heynote" \
|
||||
--delete-original $out/heynote.desktop
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
mainProgram = "heynote";
|
||||
description = "Dedicated scratchpad for developers";
|
||||
homepage = "https://heynote.com/";
|
||||
changelog = "https://github.com/heyman/heynote/releases/v${version}";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
commons-clause
|
||||
];
|
||||
maintainers = with lib.maintainers; [ jasoncrevier ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
}
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "httpyac";
|
||||
version = "6.16.6";
|
||||
version = "6.16.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anweber";
|
||||
repo = "httpyac";
|
||||
tag = version;
|
||||
hash = "sha256-JsrGoUZKo5/qjH+GKm5FBY19NE6KN7NhLpPvM8Cw97U=";
|
||||
hash = "sha256-6qhKOb2AJrDhZLRU6vrDfuW9KED+5TLf4hHH/0iADeA=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-08RJ1lLIaTXi3JHGIFR44GbEqOGez7+VFQGlejZqgAI=";
|
||||
npmDepsHash = "sha256-X3Yz+W7lijOLP+tEuO0JOpeOMOGdUYN6OpxPYHwFQEo=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -3,27 +3,33 @@
|
||||
buildGo124Module,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGo124Module rec {
|
||||
pname = "hubble";
|
||||
version = "1.17.1";
|
||||
version = "1.17.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cilium";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ZrLb2dITQPd9g4azlidpTHFWNwop0AMKEIzwMX1Y7Jw=";
|
||||
repo = "hubble";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ZkowUftSEGo+UjYM+kk3tQJc8QJgoJATeIKPwu2ikQ4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/cilium/cilium/hubble/pkg.GitBranch=none"
|
||||
"-X github.com/cilium/cilium/hubble/pkg.GitHash=none"
|
||||
"-X github.com/cilium/cilium/hubble/pkg.Version=${version}"
|
||||
"-X=github.com/cilium/cilium/hubble/pkg.GitBranch=none"
|
||||
"-X=github.com/cilium/cilium/hubble/pkg.GitHash=none"
|
||||
"-X=github.com/cilium/cilium/hubble/pkg.Version=${version}"
|
||||
];
|
||||
|
||||
# Test fails at Test_getFlowsRequestWithInvalidRawFilters in github.com/cilium/hubble/cmd/observe
|
||||
@@ -31,12 +37,9 @@ buildGo124Module rec {
|
||||
# https://github.com/cilium/hubble/pull/656
|
||||
# https://github.com/cilium/hubble/pull/655
|
||||
doCheck = false;
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/hubble version | grep ${version} > /dev/null
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
doInstallCheck = true;
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd hubble \
|
||||
--bash <($out/bin/hubble completion bash) \
|
||||
@@ -46,13 +49,14 @@ buildGo124Module rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Network, Service & Security Observability for Kubernetes using eBPF";
|
||||
mainProgram = "hubble";
|
||||
license = licenses.asl20;
|
||||
homepage = "https://github.com/cilium/hubble/";
|
||||
changelog = "https://github.com/cilium/hubble/releases/tag/${src.tag}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
humancalico
|
||||
bryanasdev000
|
||||
FKouhai
|
||||
];
|
||||
mainProgram = "hubble";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyperrogue";
|
||||
version = "13.0w";
|
||||
version = "13.0x";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zenorogue";
|
||||
repo = "hyperrogue";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-/ERMR4JtlIsZ5mvPKTjcjiUfX5/7DTqT0Zc/LEFdZ+M=";
|
||||
sha256 = "sha256-CwicLUQThNDc8Ig0kRNTnkSwUcoIw+tNQoXVgoWbkIE=";
|
||||
};
|
||||
|
||||
env = {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "irpf";
|
||||
version = "2025-1.0";
|
||||
version = "2025-1.1";
|
||||
|
||||
# https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf
|
||||
# Para outros sistemas operacionais -> Multi
|
||||
@@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
in
|
||||
fetchzip {
|
||||
url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip";
|
||||
hash = "sha256-gDGDOthUbRmj68CHmHhaYlGs4tiQTNVlEmuyLZ5e0zY=";
|
||||
hash = "sha256-C5Ebit11TGhh3jI0ZKVEPFpuqnHbrDC1JoMt0v21S90=";
|
||||
};
|
||||
|
||||
passthru.updateScript = writeScript "update-irpf" ''
|
||||
|
||||
@@ -26,7 +26,7 @@ let
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "kikit";
|
||||
version = "1.7.1";
|
||||
version = "1.7.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -35,7 +35,13 @@ buildPythonApplication rec {
|
||||
owner = "yaqwsx";
|
||||
repo = "KiKit";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-GG0OXPoTy219QefQ7GwMen4u66lPob5DI8lU9sqwaRQ=";
|
||||
hash = "sha256-HSAQJJqJMVh44wgOQm+0gteShLogklBFuIzWtoVTf9I=";
|
||||
# Upstream uses versioneer, which relies on gitattributes substitution.
|
||||
# This leads to non-reproducible archives on GitHub.
|
||||
# See https://github.com/NixOS/nixpkgs/issues/84312
|
||||
postFetch = ''
|
||||
rm "$out/kikit/_version.py"
|
||||
'';
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -75,6 +81,11 @@ buildPythonApplication rec {
|
||||
"kikit"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Recreate _version.py, deleted at fetch time due to non-reproducibility.
|
||||
echo 'def get_versions(): return {"version": "${version}"}' > kikit/_version.py
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
export PATH=$PATH:$out/bin
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 9351fc9..75dfb2c 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -66,9 +66,6 @@
|
||||
"solidpython>=1.1.2",
|
||||
"commentjson>=0.9"
|
||||
],
|
||||
- setup_requires=[
|
||||
- "versioneer"
|
||||
- ],
|
||||
extras_require={
|
||||
"dev": ["pytest"],
|
||||
},
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdatovka";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gitlab.nic.cz/datovka/libdatovka/-/archive/v${version}/libdatovka-v${version}.tar.gz";
|
||||
sha256 = "sha256-D/4+ldVnJrPAPrgrV1V4FfgCzgMbw/f/rxWT7Esf8Wk=";
|
||||
sha256 = "sha256-qVbSxPLYe+PjGwRH2U/V2Ku2X1fRPbDOUjFamCsYVgY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdmtx";
|
||||
version = "0.7.7";
|
||||
version = "0.7.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dmtx";
|
||||
repo = "libdmtx";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-UQy8iFfl8BNT5cBUMVF1tIScFPfHekSofaebtel9JWk=";
|
||||
sha256 = "sha256-/sV+t7RAr5dTwfUsGz0KEZYgm0DzQWRdiwrbbEbC1OY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "liblscp";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-ZaPfB3Veg1YCBHieoK9fFqL0tB4PiNsY81oJmn2rd/I=";
|
||||
sha256 = "sha256-21SjPA5emMRKEQIukhg7r3uXfnByEpNkGhCepNu09sc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "magic-vlsi";
|
||||
version = "8.3.522";
|
||||
version = "8.3.524";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://opencircuitdesign.com/magic/archive/magic-${version}.tgz";
|
||||
sha256 = "sha256-haXmCVnPPAry4n9EpVWS5UclK6PCA8J9OFlw4jPMGw4=";
|
||||
sha256 = "sha256-PmnxTICQlcrdA+Xd0VP9pC66hsOBhxxKRlQUk1NFHcI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 ];
|
||||
|
||||
@@ -11,8 +11,8 @@ mattermost.override {
|
||||
# and make sure the version regex is up to date here.
|
||||
# Ensure you also check ../mattermost/package.nix for ESR releases.
|
||||
regex = "^v(10\\.[0-9]+\\.[0-9]+)$";
|
||||
version = "10.6.0";
|
||||
srcHash = "sha256-GnXxhhbOKJezUAyKRBbn5IE22gzsn80mwnPANOT9Qu4=";
|
||||
version = "10.6.1";
|
||||
srcHash = "sha256-xCrjJc6JCZXnCZ5lJ3o1bRbt7sxlEmcWeiw2cKmyWG0=";
|
||||
vendorHash = "sha256-wj+bAQNJSs9m2SSfl+Ipm965iAhKQ2v1iMjH7I79qf4=";
|
||||
npmDepsHash = "sha256-MdLfjLmizFbLfSqOdAZ+euXomB2ZPjZOqspQYnyHcuk=";
|
||||
lockfileOverlay = ''
|
||||
|
||||
@@ -9,18 +9,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mountpoint-s3";
|
||||
version = "1.14.0";
|
||||
version = "1.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "mountpoint-s3";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QpJYpHow9/vEPrq82XtbDosGz8lqVB0cOPQmY7Dx78Q=";
|
||||
hash = "sha256-/a9chdeijaGKJ3nDDYYZLdS9JrZiAjC8QFQ6bjdLWT8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-QeRCCu7d4fdRfiw3qdbyFk+N0nT+IYKVJ/NvieejVQg=";
|
||||
cargoHash = "sha256-qFPvNCRF3eUprj2/88RF+H5O3Kz9QF9SQqPfXb9Yogo=";
|
||||
|
||||
# thread 'main' panicked at cargo-auditable/src/collect_audit_data.rs:77:9:
|
||||
# cargo metadata failure: error: none of the selected packages contains these features: libfuse3
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mympd";
|
||||
version = "20.1.1";
|
||||
version = "20.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcorporation";
|
||||
repo = "myMPD";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-A78dT/BervM4rlVlbEYojNsG7wvESvKsm9nYjI9svb4=";
|
||||
sha256 = "sha256-u4Ne32gKkA1bFOIaa3uFEMxjhERXTVpqnnCBXQktDAs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
let
|
||||
pname = "nezha";
|
||||
version = "1.10.4";
|
||||
version = "1.10.8";
|
||||
|
||||
frontendName = lib.removePrefix "nezha-theme-";
|
||||
|
||||
@@ -58,7 +58,7 @@ buildGo124Module {
|
||||
owner = "nezhahq";
|
||||
repo = "nezha";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-9dw1MT3v7ZCpC/MrlZDJmZ9EdTNVIbE0b45ao3eXO7o=";
|
||||
hash = "sha256-uYZclZPvjiOpCVpxkyU6BjdxBmdryBzoGkTctsRuapY=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
@@ -9,21 +9,21 @@
|
||||
bytestring,
|
||||
cassava,
|
||||
containers,
|
||||
data-default,
|
||||
directory,
|
||||
extra,
|
||||
fetchzip,
|
||||
filelock,
|
||||
filepath,
|
||||
hermes-json,
|
||||
HUnit,
|
||||
lib,
|
||||
lock-file,
|
||||
MemoTrie,
|
||||
nix-derivation,
|
||||
optics,
|
||||
random,
|
||||
relude,
|
||||
safe,
|
||||
safe-exceptions,
|
||||
stm,
|
||||
streamly-core,
|
||||
strict,
|
||||
@@ -38,10 +38,10 @@
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "nix-output-monitor";
|
||||
version = "2.1.5";
|
||||
version = "2.1.6";
|
||||
src = fetchzip {
|
||||
url = "https://code.maralorn.de/maralorn/nix-output-monitor/archive/v2.1.5.tar.gz";
|
||||
sha256 = "01rsd2x74ainpadmyldxmjypkcc80f3caiysz9dz6vm8q2arcfbd";
|
||||
url = "https://code.maralorn.de/maralorn/nix-output-monitor/archive/v2.1.6.tar.gz";
|
||||
sha256 = "0v291s6lx9rxlw38a3329gc37nyl2x24blyrf9rv8lzxc1q4bz31";
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
@@ -53,17 +53,17 @@ mkDerivation {
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filelock
|
||||
filepath
|
||||
hermes-json
|
||||
lock-file
|
||||
MemoTrie
|
||||
nix-derivation
|
||||
optics
|
||||
relude
|
||||
safe
|
||||
safe-exceptions
|
||||
stm
|
||||
streamly-core
|
||||
strict
|
||||
@@ -82,17 +82,17 @@ mkDerivation {
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filelock
|
||||
filepath
|
||||
hermes-json
|
||||
lock-file
|
||||
MemoTrie
|
||||
nix-derivation
|
||||
optics
|
||||
relude
|
||||
safe
|
||||
safe-exceptions
|
||||
stm
|
||||
streamly-core
|
||||
strict
|
||||
@@ -113,19 +113,19 @@ mkDerivation {
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filelock
|
||||
filepath
|
||||
hermes-json
|
||||
HUnit
|
||||
lock-file
|
||||
MemoTrie
|
||||
nix-derivation
|
||||
optics
|
||||
random
|
||||
relude
|
||||
safe
|
||||
safe-exceptions
|
||||
stm
|
||||
streamly-core
|
||||
strict
|
||||
|
||||
@@ -27,4 +27,6 @@ cabal2nix \
|
||||
"https://code.maralorn.de/maralorn/nix-output-monitor/archive/${new_version}.tar.gz" \
|
||||
>> "$derivation_file"
|
||||
|
||||
nixfmt "$derivation_file"
|
||||
|
||||
echo "Finished."
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
libusb1,
|
||||
gcc,
|
||||
pkg-config,
|
||||
util-linux,
|
||||
pciutils,
|
||||
makeWrapper,
|
||||
stdenv,
|
||||
systemdMinimal,
|
||||
}:
|
||||
@@ -24,16 +23,16 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "nixos-facter";
|
||||
version = "0.3.1";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "numtide";
|
||||
repo = "nixos-facter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HJt6FEQbzwlVMow47p1DtqXdmCxLYA6g3D1EgGnKcUo=";
|
||||
hash = "sha256-QD9b3r91ukGbAg+ZWj9cdBsXb6pl3wlVgEY3zF+tDQI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WCItbRbGgclXGtJyHCkDgaPe3Mobe4mT/4c16AEdF5o=";
|
||||
vendorHash = "sha256-A7ZuY8Gc/a0Y8O6UG2WHWxptHstJOxi4n9F8TY6zqiw=";
|
||||
|
||||
env.CGO_ENABLED = 1;
|
||||
|
||||
@@ -45,14 +44,14 @@ buildGoModule rec {
|
||||
nativeBuildInputs = [
|
||||
gcc
|
||||
pkg-config
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
runtimeInputs = [
|
||||
libusb1
|
||||
util-linux
|
||||
pciutils
|
||||
systemdMinimal
|
||||
];
|
||||
# nixos-facter calls systemd-detect-virt
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/nixos-facter" \
|
||||
--prefix PATH : "${lib.makeBinPath [ systemdMinimal ]}"
|
||||
'';
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -396,7 +396,7 @@ def execute(argv: list[str]) -> None:
|
||||
raise NRError(
|
||||
"please specify one of the following "
|
||||
+ "supported image variants via --image-variant:\n"
|
||||
+ "\n".join(f"- {v}" for v in variants.keys())
|
||||
+ "\n".join(f"- {v}" for v in variants)
|
||||
)
|
||||
|
||||
match action:
|
||||
@@ -518,7 +518,19 @@ def execute(argv: list[str]) -> None:
|
||||
"Done. The virtual machine can be started by running", vm_path
|
||||
)
|
||||
case Action.BUILD_IMAGE:
|
||||
disk_path = path_to_config / variants[args.image_variant]
|
||||
if flake:
|
||||
image_name = nix.get_build_image_name_flake(
|
||||
flake,
|
||||
args.image_variant,
|
||||
eval_flags=flake_common_flags,
|
||||
)
|
||||
else:
|
||||
image_name = nix.get_build_image_name(
|
||||
build_attr,
|
||||
args.image_variant,
|
||||
instantiate_flags=flake_common_flags,
|
||||
)
|
||||
disk_path = path_to_config / image_name
|
||||
print_result("Done. The disk image can be found in", disk_path)
|
||||
|
||||
case Action.EDIT:
|
||||
|
||||
@@ -8,7 +8,7 @@ from typing import Any, Callable, ClassVar, Self, TypedDict, override
|
||||
|
||||
from .process import Remote, run_wrapper
|
||||
|
||||
type ImageVariants = dict[str, str]
|
||||
type ImageVariants = list[str]
|
||||
|
||||
|
||||
class NRError(Exception):
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user