Merge staging-next into staging
This commit is contained in:
@@ -125,6 +125,8 @@
|
||||
|
||||
- `go-mockery` has been updated to v3. For migration instructions see the [upstream documentation](https://vektra.github.io/mockery/latest/v3/). If v2 is still required `go-mockery_v2` has been added but will be removed on or before 2029-12-31 in-line with its [upstream support lifecycle](https://vektra.github.io/mockery/)
|
||||
|
||||
- `prometheus-script-exporter` has been updated to use a new maintained alternative. This release updates from `1.2.0 -> 3.0.1` and largely changes configuration options formats from json to yaml, among other changes.
|
||||
|
||||
- [private-gpt](https://github.com/zylon-ai/private-gpt) service has been removed by lack of maintenance upstream.
|
||||
|
||||
- `lxde` scope has been removed, and its packages have been moved the top-level.
|
||||
|
||||
@@ -15287,6 +15287,11 @@
|
||||
github = "M0NsTeRRR";
|
||||
githubId = 37785089;
|
||||
};
|
||||
m0ustache3 = {
|
||||
name = "M0ustach3";
|
||||
github = "M0ustach3";
|
||||
githubId = 37956764;
|
||||
};
|
||||
m1cr0man = {
|
||||
email = "lucas+nix@m1cr0man.com";
|
||||
github = "m1cr0man";
|
||||
|
||||
@@ -14,46 +14,29 @@ let
|
||||
literalExpression
|
||||
concatStringsSep
|
||||
;
|
||||
configFile = pkgs.writeText "script-exporter.yaml" (builtins.toJSON cfg.settings);
|
||||
settingsFormat = pkgs.formats.yaml { };
|
||||
configFile = settingsFormat.generate "script-exporter.yaml" cfg.settings;
|
||||
in
|
||||
{
|
||||
port = 9172;
|
||||
extraOpts = {
|
||||
settings.scripts = mkOption {
|
||||
type =
|
||||
with types;
|
||||
listOf (submodule {
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = str;
|
||||
example = "sleep";
|
||||
description = "Name of the script.";
|
||||
};
|
||||
script = mkOption {
|
||||
type = str;
|
||||
example = "sleep 5";
|
||||
description = "Shell script to execute when metrics are requested.";
|
||||
};
|
||||
timeout = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
example = 60;
|
||||
description = "Optional timeout for the script in seconds.";
|
||||
};
|
||||
};
|
||||
});
|
||||
settings = mkOption {
|
||||
type = (pkgs.formats.yaml { }).type;
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
scripts = [
|
||||
{ name = "sleep"; script = "sleep 5"; }
|
||||
{ name = "sleep"; command = [ "sleep" ]; args = [ "5" ]; }
|
||||
];
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
All settings expressed as an Nix attrset.
|
||||
Free-form configuration for script_exporter, expressed as a Nix attrset and rendered to YAML.
|
||||
|
||||
Check the official documentation for the corresponding YAML
|
||||
settings that can all be used here: <https://github.com/adhocteam/script_exporter#sample-configuration>
|
||||
**Migration note:**
|
||||
The previous format using `script = "sleep 5"` is no longer supported. You must use `command` (list) and `args` (list), e.g. `{ command = [ "sleep" ]; args = [ "5" ]; }`.
|
||||
|
||||
See the official documentation for all available options: <https://github.com/ricoberger/script_exporter#configuration-file>
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -62,7 +45,7 @@ in
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-script-exporter}/bin/script_exporter \
|
||||
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
|
||||
--config.file ${configFile} \
|
||||
--config.files ${configFile} \
|
||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||
'';
|
||||
NoNewPrivileges = true;
|
||||
|
||||
@@ -0,0 +1,973 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
||||
format = pkgs.formats.yaml { };
|
||||
|
||||
rootDir = "/var/lib/crowdsec";
|
||||
stateDir = "${rootDir}/state";
|
||||
confDir = "/etc/crowdsec/";
|
||||
hubDir = "${stateDir}/hub/";
|
||||
notificationsDir = "${confDir}/notifications/";
|
||||
pluginDir = "${confDir}/plugins/";
|
||||
parsersDir = "${confDir}/parsers/";
|
||||
localPostOverflowsDir = "${confDir}/postoverflows/";
|
||||
localPostOverflowsS01WhitelistDir = "${localPostOverflowsDir}/s01-whitelist/";
|
||||
localScenariosDir = "${confDir}/scenarios/";
|
||||
localParsersS00RawDir = "${parsersDir}/s00-raw/";
|
||||
localParsersS01ParseDir = "${parsersDir}/s01-parse/";
|
||||
localParsersS02EnrichDir = "${parsersDir}/s02-enrich/";
|
||||
localContextsDir = "${confDir}/contexts/";
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
options.services.crowdsec = {
|
||||
enable = lib.mkEnableOption "CrowdSec Security Engine";
|
||||
|
||||
package = lib.mkPackageOption pkgs "crowdsec" { };
|
||||
|
||||
autoUpdateService = lib.mkEnableOption "if `true` `cscli hub update` will be executed daily. See `https://docs.crowdsec.net/docs/cscli/cscli_hub_update/` for more information";
|
||||
|
||||
openFirewall = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
Whether to automatically open firewall ports for `crowdsec`.
|
||||
'';
|
||||
};
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "The user to run crowdsec as";
|
||||
default = "crowdsec";
|
||||
};
|
||||
|
||||
group = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "The group to run crowdsec as";
|
||||
default = "crowdsec";
|
||||
};
|
||||
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
Name of the machine when registering it at the central or local api.
|
||||
'';
|
||||
default = config.networking.hostName;
|
||||
defaultText = lib.literalExpression "config.networking.hostName";
|
||||
};
|
||||
|
||||
localConfig = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
acquisitions = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of acquisition specifications, which define the data sources you want to be parsed.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/data_sources/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
source = "journalctl";
|
||||
journalctl_filter = [ "_SYSTEMD_UNIT=sshd.service" ];
|
||||
labels = {
|
||||
type = "syslog";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
scenarios = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of scenarios specifications.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/scenarios/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
type = "leaky";
|
||||
name = "crowdsecurity/myservice-bf";
|
||||
description = "Detect myservice bruteforce";
|
||||
filter = "evt.Meta.log_type == 'myservice_failed_auth'";
|
||||
leakspeed = "10s";
|
||||
capacity = 5;
|
||||
groupby = "evt.Meta.source_ip";
|
||||
}
|
||||
];
|
||||
};
|
||||
parsers = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
s00Raw = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of stage s00-raw specifications. Most of the time, those are already included in the hub, but are presented here anyway.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/parsers/intro> for details.
|
||||
'';
|
||||
};
|
||||
s01Parse = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of stage s01-parse specifications.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/parsers/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
filter = "1=1";
|
||||
debug = true;
|
||||
onsuccess = "next_stage";
|
||||
name = "example/custom-service-logs";
|
||||
description = "Parsing custom service logs";
|
||||
grok = {
|
||||
pattern = "^%{DATA:some_data}$";
|
||||
apply_on = "message";
|
||||
};
|
||||
statics = [
|
||||
{
|
||||
parsed = "is_my_custom_service";
|
||||
value = "yes";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
s02Enrich = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of stage s02-enrich specifications. Inside this list, you can specify Parser Whitelists.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/whitelist/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
name = "myips/whitelist";
|
||||
description = "Whitelist parse events from my IPs";
|
||||
whitelist = {
|
||||
reason = "My IP ranges";
|
||||
ip = [
|
||||
"1.2.3.4"
|
||||
];
|
||||
cidr = [
|
||||
"1.2.3.0/24"
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
postOverflows = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
s01Whitelist = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of stage s01-whitelist specifications. Inside this list, you can specify Postoverflows Whitelists.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/whitelist/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
name = "postoverflows/whitelist_my_dns_domain";
|
||||
description = "Whitelist my reverse DNS";
|
||||
whitelist = {
|
||||
reason = "Don't ban me";
|
||||
expression = [
|
||||
"evt.Enriched.reverse_dns endsWith '.local.'"
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
contexts = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
description = ''
|
||||
A list of additional contexts to specify.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/next/log_processor/alert_context/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
context = {
|
||||
target_uri = [ "evt.Meta.http_path" ];
|
||||
user_agent = [ "evt.Meta.http_user_agent" ];
|
||||
method = [ "evt.Meta.http_verb" ];
|
||||
status = [ "evt.Meta.http_status" ];
|
||||
};
|
||||
}
|
||||
];
|
||||
default = [ ];
|
||||
};
|
||||
notifications = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
description = ''
|
||||
A list of notifications to enable and use in your profiles. Note that for now, only the plugins shipped by default with CrowdSec are supported.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/notification_plugins/intro> for details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
type = "http";
|
||||
name = "default_http_notification";
|
||||
log_level = "info";
|
||||
format = ''
|
||||
{{.|toJson}}
|
||||
'';
|
||||
url = "https://example.com/hook";
|
||||
method = "POST";
|
||||
}
|
||||
];
|
||||
default = [ ];
|
||||
};
|
||||
profiles = lib.mkOption {
|
||||
type = lib.types.listOf format.type;
|
||||
description = ''
|
||||
A list of profiles to enable.
|
||||
|
||||
See <https://docs.crowdsec.net/docs/profiles/intro> for more details.
|
||||
'';
|
||||
example = [
|
||||
{
|
||||
name = "default_ip_remediation";
|
||||
filters = [
|
||||
"Alert.Remediation == true && Alert.GetScope() == 'Ip'"
|
||||
];
|
||||
decisions = [
|
||||
{
|
||||
type = "ban";
|
||||
duration = "4h";
|
||||
}
|
||||
];
|
||||
on_success = "break";
|
||||
}
|
||||
{
|
||||
name = "default_range_remediation";
|
||||
filters = [
|
||||
"Alert.Remediation == true && Alert.GetScope() == 'Range'"
|
||||
];
|
||||
decisions = [
|
||||
{
|
||||
type = "ban";
|
||||
duration = "4h";
|
||||
}
|
||||
];
|
||||
on_success = "break";
|
||||
}
|
||||
];
|
||||
default = [
|
||||
{
|
||||
name = "default_ip_remediation";
|
||||
filters = [
|
||||
"Alert.Remediation == true && Alert.GetScope() == 'Ip'"
|
||||
];
|
||||
decisions = [
|
||||
{
|
||||
type = "ban";
|
||||
duration = "4h";
|
||||
}
|
||||
];
|
||||
on_success = "break";
|
||||
}
|
||||
{
|
||||
name = "default_range_remediation";
|
||||
filters = [
|
||||
"Alert.Remediation == true && Alert.GetScope() == 'Range'"
|
||||
];
|
||||
decisions = [
|
||||
{
|
||||
type = "ban";
|
||||
duration = "4h";
|
||||
}
|
||||
];
|
||||
on_success = "break";
|
||||
}
|
||||
];
|
||||
};
|
||||
patterns = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [ ];
|
||||
example = lib.literalExpression ''
|
||||
[ (pkgs.writeTextDir "custom_service_logs" (builtins.readFile ./custom_service_logs)) ]
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
hub = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
collections = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of hub collections to install";
|
||||
example = [ "crowdsecurity/linux" ];
|
||||
};
|
||||
|
||||
scenarios = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of hub scenarios to install";
|
||||
example = [ "crowdsecurity/ssh-bf" ];
|
||||
};
|
||||
|
||||
parsers = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of hub parsers to install";
|
||||
example = [ "crowdsecurity/sshd-logs" ];
|
||||
};
|
||||
|
||||
postOverflows = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of hub postoverflows to install";
|
||||
example = [ "crowdsecurity/auditd-nix-wrappers-whitelist-process" ];
|
||||
};
|
||||
|
||||
appSecConfigs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of hub appsec configurations to install";
|
||||
example = [ "crowdsecurity/appsec-default" ];
|
||||
};
|
||||
|
||||
appSecRules = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of hub appsec rules to install";
|
||||
example = [ "crowdsecurity/base-config" ];
|
||||
};
|
||||
|
||||
branch = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "master";
|
||||
description = ''
|
||||
The git branch on which cscli is going to fetch configurations.
|
||||
|
||||
See `https://docs.crowdsec.net/docs/configuration/crowdsec_configuration/#hub_branch` for more information.
|
||||
'';
|
||||
example = [
|
||||
"master"
|
||||
"v1.4.3"
|
||||
"v1.4.2"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Hub collections, parsers, AppSec rules, etc.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
general = lib.mkOption {
|
||||
description = ''
|
||||
Settings for the main CrowdSec configuration file.
|
||||
|
||||
Refer to the defaults at <https://github.com/crowdsecurity/crowdsec/blob/master/config/config.yaml>.
|
||||
'';
|
||||
type = format.type;
|
||||
default = { };
|
||||
};
|
||||
simulation = lib.mkOption {
|
||||
type = format.type;
|
||||
default = {
|
||||
simulation = false;
|
||||
};
|
||||
description = ''
|
||||
Attributes inside the simulation.yaml file.
|
||||
'';
|
||||
};
|
||||
|
||||
lapi = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
credentialsFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
example = "/run/crowdsec/lapi.yaml";
|
||||
description = ''
|
||||
The LAPI credential file to use.
|
||||
'';
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
LAPI Configuration attributes
|
||||
'';
|
||||
default = { };
|
||||
};
|
||||
capi = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
credentialsFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
example = "/run/crowdsec/capi.yaml";
|
||||
description = ''
|
||||
The CAPI credential file to use.
|
||||
'';
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
CAPI Configuration attributes
|
||||
'';
|
||||
default = { };
|
||||
};
|
||||
console = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
tokenFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
example = "/run/crowdsec/console_token.yaml";
|
||||
description = ''
|
||||
The Console Token file to use.
|
||||
'';
|
||||
default = null;
|
||||
};
|
||||
configuration = lib.mkOption {
|
||||
type = format.type;
|
||||
default = {
|
||||
share_manual_decisions = false;
|
||||
share_custom = false;
|
||||
share_tainted = false;
|
||||
share_context = false;
|
||||
};
|
||||
description = ''
|
||||
Attributes inside the console.yaml file.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
Console Configuration attributes
|
||||
'';
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
config =
|
||||
let
|
||||
cfg = config.services.crowdsec;
|
||||
configFile = format.generate "crowdsec.yaml" cfg.settings.general;
|
||||
simulationFile = format.generate "simulation.yaml" cfg.settings.simulation;
|
||||
consoleFile = format.generate "console.yaml" cfg.settings.console.configuration;
|
||||
patternsDir = pkgs.buildPackages.symlinkJoin {
|
||||
name = "crowdsec-patterns";
|
||||
paths = [
|
||||
cfg.localConfig.patterns
|
||||
"${lib.attrsets.getOutput "out" cfg.package}/share/crowdsec/config/patterns/"
|
||||
];
|
||||
};
|
||||
|
||||
cscli = pkgs.writeShellScriptBin "cscli" ''
|
||||
set -euo pipefail
|
||||
# cscli needs crowdsec on it's path in order to be able to run `cscli explain`
|
||||
export PATH="$PATH:${lib.makeBinPath [ cfg.package ]}"
|
||||
sudo=exec
|
||||
if [ "$USER" != "${cfg.user}" ]; then
|
||||
${
|
||||
if config.security.sudo.enable then
|
||||
"sudo='exec ${config.security.wrapperDir}/sudo -u ${cfg.user}'"
|
||||
else
|
||||
">&2 echo 'Aborting, cscli must be run as user `${cfg.user}`!'; exit 2"
|
||||
}
|
||||
fi
|
||||
$sudo ${lib.getExe' cfg.package "cscli"} -c=${configFile} "$@"
|
||||
'';
|
||||
|
||||
localScenariosMap = (map (format.generate "scenario.yaml") cfg.localConfig.scenarios);
|
||||
localParsersS00RawMap = (
|
||||
map (format.generate "parsers-s00-raw.yaml") cfg.localConfig.parsers.s00Raw
|
||||
);
|
||||
localParsersS01ParseMap = (
|
||||
map (format.generate "parsers-s01-parse.yaml") cfg.localConfig.parsers.s01Parse
|
||||
);
|
||||
localParsersS02EnrichMap = (
|
||||
map (format.generate "parsers-s02-enrich.yaml") cfg.localConfig.parsers.s02Enrich
|
||||
);
|
||||
localPostOverflowsS01WhitelistMap = (
|
||||
map (format.generate "postoverflows-s01-whitelist.yaml") cfg.localConfig.postOverflows.s01Whitelist
|
||||
);
|
||||
localContextsMap = (map (format.generate "context.yaml") cfg.localConfig.contexts);
|
||||
localNotificationsMap = (map (format.generate "notification.yaml") cfg.localConfig.notifications);
|
||||
localProfilesFile = pkgs.writeText "local_profiles.yaml" ''
|
||||
---
|
||||
${lib.strings.concatMapStringsSep "\n---\n" builtins.toJSON cfg.localConfig.profiles}
|
||||
---
|
||||
'';
|
||||
localAcquisisionFile = pkgs.writeText "local_acquisisions.yaml" ''
|
||||
---
|
||||
${lib.strings.concatMapStringsSep "\n---\n" builtins.toJSON cfg.localConfig.acquisitions}
|
||||
---
|
||||
'';
|
||||
|
||||
scriptArray = [
|
||||
"set -euo pipefail"
|
||||
"${lib.getExe' pkgs.coreutils "mkdir"} -p '${hubDir}'"
|
||||
"${lib.getExe cscli} hub update"
|
||||
]
|
||||
++ lib.optionals (cfg.hub.collections != [ ]) [
|
||||
"${lib.getExe cscli} collections install ${
|
||||
lib.strings.concatMapStringsSep " " (x: lib.escapeShellArg x) cfg.hub.collections
|
||||
}"
|
||||
]
|
||||
++ lib.optionals (cfg.hub.scenarios != [ ]) [
|
||||
"${lib.getExe cscli} scenarios install ${
|
||||
lib.strings.concatMapStringsSep " " (x: lib.escapeShellArg x) cfg.hub.scenarios
|
||||
}"
|
||||
]
|
||||
++ lib.optionals (cfg.hub.parsers != [ ]) [
|
||||
"${lib.getExe cscli} parsers install ${
|
||||
lib.strings.concatMapStringsSep " " (x: lib.escapeShellArg x) cfg.hub.parsers
|
||||
}"
|
||||
]
|
||||
++ lib.optionals (cfg.hub.postOverflows != [ ]) [
|
||||
"${lib.getExe cscli} postoverflows install ${
|
||||
lib.strings.concatMapStringsSep " " (x: lib.escapeShellArg x) cfg.hub.postOverflows
|
||||
}"
|
||||
]
|
||||
++ lib.optionals (cfg.hub.appSecConfigs != [ ]) [
|
||||
"${lib.getExe cscli} appsec-configs install ${
|
||||
lib.strings.concatMapStringsSep " " (x: lib.escapeShellArg x) cfg.hub.appSecConfigs
|
||||
}"
|
||||
]
|
||||
++ lib.optionals (cfg.hub.appSecRules != [ ]) [
|
||||
"${lib.getExe cscli} appsec-rules install ${
|
||||
lib.strings.concatMapStringsSep " " (x: lib.escapeShellArg x) cfg.hub.appSecRules
|
||||
}"
|
||||
]
|
||||
++ lib.optionals (cfg.settings.general.api.server.enable) [
|
||||
''
|
||||
if [ ! -s "${cfg.settings.general.api.client.credentials_path}" ]; then
|
||||
${lib.getExe cscli} machine add "${cfg.name}" --auto
|
||||
fi
|
||||
''
|
||||
]
|
||||
++ lib.optionals (cfg.settings.capi.credentialsFile != null) [
|
||||
''
|
||||
if ! grep -q password "${cfg.settings.capi.credentialsFile}" ]; then
|
||||
${lib.getExe cscli} capi register
|
||||
fi
|
||||
''
|
||||
]
|
||||
++ lib.optionals (cfg.settings.console.tokenFile != null) [
|
||||
''
|
||||
if [ ! -e "${cfg.settings.console.tokenFile}" ]; then
|
||||
${lib.getExe cscli} console enroll "$(cat ${cfg.settings.console.tokenFile})" --name ${cfg.name}
|
||||
fi
|
||||
''
|
||||
];
|
||||
|
||||
setupScript = pkgs.writeShellScriptBin "crowdsec-setup" (
|
||||
lib.strings.concatStringsSep "\n" scriptArray
|
||||
);
|
||||
|
||||
in
|
||||
lib.mkIf (cfg.enable) {
|
||||
|
||||
warnings =
|
||||
[ ]
|
||||
++ lib.optionals (cfg.localConfig.profiles == [ ]) [
|
||||
"By not specifying profiles in services.crowdsec.localConfig.profiles, CrowdSec will not react to any alert by default."
|
||||
]
|
||||
++ lib.optionals (cfg.localConfig.acquisitions == [ ]) [
|
||||
"By not specifying acquisitions in services.crowdsec.localConfig.acquisitions, CrowdSec will not look for any data source."
|
||||
];
|
||||
|
||||
services.crowdsec.settings.general = {
|
||||
common = {
|
||||
daemonize = false;
|
||||
log_media = "stdout";
|
||||
};
|
||||
config_paths = {
|
||||
config_dir = confDir;
|
||||
data_dir = stateDir;
|
||||
simulation_path = simulationFile;
|
||||
hub_dir = hubDir;
|
||||
index_path = lib.strings.normalizePath "${stateDir}/hub/.index.json";
|
||||
notification_dir = notificationsDir;
|
||||
plugin_dir = pluginDir;
|
||||
pattern_dir = patternsDir;
|
||||
};
|
||||
db_config = {
|
||||
type = lib.mkDefault "sqlite";
|
||||
db_path = lib.mkDefault (lib.strings.normalizePath "${stateDir}/crowdsec.db");
|
||||
use_wal = lib.mkDefault true;
|
||||
};
|
||||
crowdsec_service = {
|
||||
enable = lib.mkDefault true;
|
||||
acquisition_path = lib.mkDefault localAcquisisionFile;
|
||||
};
|
||||
api = {
|
||||
client = {
|
||||
credentials_path = cfg.settings.lapi.credentialsFile;
|
||||
};
|
||||
server = {
|
||||
enable = lib.mkDefault false;
|
||||
listen_uri = lib.mkDefault "127.0.0.1:8080";
|
||||
|
||||
console_path = lib.mkDefault consoleFile;
|
||||
profiles_path = lib.mkDefault localProfilesFile;
|
||||
|
||||
online_client = lib.mkDefault {
|
||||
sharing = lib.mkDefault true;
|
||||
pull = lib.mkDefault {
|
||||
community = lib.mkDefault true;
|
||||
blocklists = lib.mkDefault true;
|
||||
};
|
||||
credentials_path = cfg.settings.capi.credentialsFile;
|
||||
};
|
||||
};
|
||||
};
|
||||
prometheus = {
|
||||
enabled = lib.mkDefault true;
|
||||
level = lib.mkDefault "full";
|
||||
listen_addr = lib.mkDefault "127.0.0.1";
|
||||
listen_port = lib.mkDefault 6060;
|
||||
};
|
||||
cscli = {
|
||||
hub_branch = cfg.hub.branch;
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = [ cscli ];
|
||||
};
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
systemd.timers.crowdsec-update-hub = lib.mkIf (cfg.autoUpdateService) {
|
||||
description = "Update the crowdsec hub index";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "daily";
|
||||
RandomizedDelaySec = 300;
|
||||
Persistent = "yes";
|
||||
Unit = "crowdsec-update-hub.service";
|
||||
};
|
||||
};
|
||||
systemd.services = {
|
||||
crowdsec-update-hub = lib.mkIf (cfg.autoUpdateService) {
|
||||
description = "Update the crowdsec hub index";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
LimitNOFILE = 65536;
|
||||
NoNewPrivileges = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
ReadWritePaths = [
|
||||
rootDir
|
||||
confDir
|
||||
];
|
||||
ProtectSystem = "strict";
|
||||
PrivateUsers = true;
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectHostname = true;
|
||||
UMask = "0077";
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectProc = "invisible";
|
||||
SystemCallFilter = [
|
||||
" " # This is needed to clear the SystemCallFilter existing definitions
|
||||
"~@reboot"
|
||||
"~@swap"
|
||||
"~@obsolete"
|
||||
"~@mount"
|
||||
"~@module"
|
||||
"~@debug"
|
||||
"~@cpu-emulation"
|
||||
"~@clock"
|
||||
"~@raw-io"
|
||||
"~@privileged"
|
||||
"~@resources"
|
||||
];
|
||||
CapabilityBoundingSet = [
|
||||
" " # Reset all capabilities to an empty set
|
||||
];
|
||||
RestrictAddressFamilies = [
|
||||
" " # This is needed to clear the RestrictAddressFamilies existing definitions
|
||||
"none" # Remove all addresses families
|
||||
"AF_UNIX"
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
DevicePolicy = "closed";
|
||||
ProtectKernelLogs = true;
|
||||
SystemCallArchitectures = "native";
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
ExecStart = "${lib.getExe cscli} --error hub update";
|
||||
ExecStartPost = "systemctl reload crowdsec.service";
|
||||
DynamicUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
crowdsec = {
|
||||
description = "CrowdSec agent";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
path = lib.mkForce [ ];
|
||||
environment = {
|
||||
LC_ALL = "C";
|
||||
LANG = "C";
|
||||
};
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
Type = "simple";
|
||||
RestartSec = 60;
|
||||
LimitNOFILE = 65536;
|
||||
NoNewPrivileges = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
ReadWritePaths = [
|
||||
rootDir
|
||||
confDir
|
||||
];
|
||||
ProtectSystem = "strict";
|
||||
PrivateUsers = true;
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
UMask = "0077";
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectProc = "invisible";
|
||||
SystemCallFilter = [
|
||||
" " # This is needed to clear the SystemCallFilter existing definitions
|
||||
"~@reboot"
|
||||
"~@swap"
|
||||
"~@obsolete"
|
||||
"~@mount"
|
||||
"~@module"
|
||||
"~@debug"
|
||||
"~@cpu-emulation"
|
||||
"~@clock"
|
||||
"~@raw-io"
|
||||
"~@privileged"
|
||||
"~@resources"
|
||||
];
|
||||
CapabilityBoundingSet = [
|
||||
" " # Reset all capabilities to an empty set
|
||||
"CAP_SYSLOG" # Add capability to read syslog
|
||||
];
|
||||
RestrictAddressFamilies = [
|
||||
" " # This is needed to clear the RestrictAddressFamilies existing definitions
|
||||
"none" # Remove all addresses families
|
||||
"AF_UNIX"
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
DevicePolicy = "closed";
|
||||
ProtectKernelLogs = true;
|
||||
SystemCallArchitectures = "native";
|
||||
DynamicUser = true;
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
ExecReload = [
|
||||
" " # This is needed to clear the ExecReload definitions from upstream
|
||||
];
|
||||
ExecStart = [
|
||||
" " # This is needed to clear the ExecStart definitions from upstream
|
||||
"${lib.getExe' cfg.package "crowdsec"} -c ${configFile} -info"
|
||||
];
|
||||
ExecStartPre = [
|
||||
" " # This is needed to clear the ExecStartPre definitions from upstream
|
||||
"${lib.getExe setupScript}"
|
||||
"${lib.getExe' cfg.package "crowdsec"} -c ${configFile} -t -error"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.settings = {
|
||||
"10-crowdsec" =
|
||||
|
||||
builtins.listToAttrs (
|
||||
map
|
||||
(dirName: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath dirName;
|
||||
value = {
|
||||
d = {
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
mode = "0750";
|
||||
};
|
||||
};
|
||||
})
|
||||
[
|
||||
stateDir
|
||||
hubDir
|
||||
confDir
|
||||
localScenariosDir
|
||||
localPostOverflowsDir
|
||||
localPostOverflowsS01WhitelistDir
|
||||
parsersDir
|
||||
localParsersS00RawDir
|
||||
localParsersS01ParseDir
|
||||
localParsersS02EnrichDir
|
||||
localContextsDir
|
||||
notificationsDir
|
||||
pluginDir
|
||||
]
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (scenarioFile: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${localScenariosDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf scenarioFile)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${scenarioFile}";
|
||||
};
|
||||
};
|
||||
}) localScenariosMap
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (parser: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${localParsersS00RawDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf parser)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${parser}";
|
||||
};
|
||||
};
|
||||
}) localParsersS00RawMap
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (parser: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${localParsersS01ParseDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf parser)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${parser}";
|
||||
};
|
||||
};
|
||||
}) localParsersS01ParseMap
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (parser: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${localParsersS02EnrichDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf parser)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${parser}";
|
||||
};
|
||||
};
|
||||
}) localParsersS02EnrichMap
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (postoverflow: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${localPostOverflowsS01WhitelistDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf postoverflow)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${postoverflow}";
|
||||
};
|
||||
};
|
||||
}) localPostOverflowsS01WhitelistMap
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (context: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${localContextsDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf context)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${context}";
|
||||
};
|
||||
};
|
||||
}) localContextsMap
|
||||
)
|
||||
// builtins.listToAttrs (
|
||||
map (notification: {
|
||||
inherit cfg;
|
||||
name = lib.strings.normalizePath "${notificationsDir}/${builtins.unsafeDiscardStringContext (builtins.baseNameOf notification)}";
|
||||
value = {
|
||||
link = {
|
||||
type = "L+";
|
||||
argument = "${notification}";
|
||||
};
|
||||
};
|
||||
}) localNotificationsMap
|
||||
);
|
||||
};
|
||||
|
||||
users.users.${cfg.user} = {
|
||||
name = cfg.user;
|
||||
description = lib.mkDefault "CrowdSec service user";
|
||||
isSystemUser = true;
|
||||
group = cfg.group;
|
||||
extraGroups = [ "systemd-journal" ];
|
||||
};
|
||||
|
||||
users.groups.${cfg.group} = lib.mapAttrs (name: lib.mkDefault) { };
|
||||
|
||||
networking.firewall.allowedTCPPorts =
|
||||
let
|
||||
parsePortFromURLOption =
|
||||
url: option:
|
||||
builtins.addErrorContext "extracting a port from URL: `${option}` requires a port to be specified, but we failed to parse a port from '${url}'" (
|
||||
lib.strings.toInt (lib.last (lib.strings.splitString ":" url))
|
||||
);
|
||||
in
|
||||
lib.mkIf cfg.openFirewall [
|
||||
cfg.settings.general.prometheus.listen_port
|
||||
(parsePortFromURLOption cfg.settings.general.api.server.listen_uri "config.services.crowdsec.settings.general.api.server.listen_uri")
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
m0ustach3
|
||||
tornax
|
||||
jk
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1564,7 +1564,8 @@ let
|
||||
settings.scripts = [
|
||||
{
|
||||
name = "success";
|
||||
script = "sleep 1";
|
||||
command = [ "sleep" ];
|
||||
args = [ "1" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
@@ -1572,7 +1573,7 @@ let
|
||||
wait_for_unit("prometheus-script-exporter.service")
|
||||
wait_for_open_port(9172)
|
||||
wait_until_succeeds(
|
||||
"curl -sSf 'localhost:9172/probe?name=success' | grep -q '{}'".format(
|
||||
"curl -sSf 'localhost:9172/probe?script=success' | grep -q '{}'".format(
|
||||
'script_success{script="success"} 1'
|
||||
)
|
||||
)
|
||||
|
||||
@@ -95,10 +95,11 @@
|
||||
withX ? !(stdenv.hostPlatform.isDarwin || noGui || withPgtk),
|
||||
withXinput2 ? withX,
|
||||
withXwidgets ?
|
||||
!stdenv.hostPlatform.isDarwin
|
||||
&& !noGui
|
||||
&& (withGTK3 || withPgtk)
|
||||
&& (lib.versionOlder version "30"), # XXX: upstream bug 66068 precludes newer versions of webkit2gtk (https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00695.html)
|
||||
!noGui
|
||||
&& (withGTK3 || withPgtk || withNS || variant == "macport")
|
||||
&& (stdenv.hostPlatform.isDarwin || lib.versionOlder version "30"),
|
||||
# XXX: - upstream bug 66068 precludes newer versions of webkit2gtk (https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00695.html)
|
||||
# XXX: - Apple_SDK WebKit is compatible with Emacs.
|
||||
withSmallJaDic ? false,
|
||||
withCompressInstall ? true,
|
||||
|
||||
@@ -128,7 +129,8 @@ assert withGpm -> stdenv.hostPlatform.isLinux;
|
||||
assert withImageMagick -> (withX || withNS);
|
||||
assert withNS -> stdenv.hostPlatform.isDarwin && !(withX || variant == "macport");
|
||||
assert withPgtk -> withGTK3 && !withX;
|
||||
assert withXwidgets -> !noGui && (withGTK3 || withPgtk);
|
||||
assert withXwidgets -> !noGui && (withGTK3 || withPgtk || withNS || variant == "macport");
|
||||
# XXX: The upstream --with-xwidgets flag is enabled only when Emacs is built with GTK3 or with Cocoa (including the withNS and macport variant).
|
||||
|
||||
let
|
||||
libGccJitLibraryPaths = [
|
||||
@@ -348,7 +350,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optionals withXinput2 [
|
||||
libXi
|
||||
]
|
||||
++ lib.optionals withXwidgets [
|
||||
++ lib.optionals (withXwidgets && stdenv.hostPlatform.isLinux) [
|
||||
webkitgtk_4_0
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
autoPatchelfHook,
|
||||
lib,
|
||||
stdenv,
|
||||
vscode-utils,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef =
|
||||
let
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-HXyY96fP9WjGWIe6ggQvygBnTEKRLUb5Qy18Vbjn160=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
arch = "darwin-x64";
|
||||
hash = "sha256-2b04CLmbOxXsTzheEUacqZuBtA/rSZqRMLor0lT2gsU=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-/eKZ3bkZ2jFr8cTpNLO6t8wsRfLyhLkQHMrkTWtCWb8=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-JRVrV2yYSfuwuBcM2MDJZz5vNRYHG4n6I/GozgdDOgk=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "continue";
|
||||
publisher = "Continue";
|
||||
version = "1.1.76";
|
||||
}
|
||||
// sources.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
||||
buildInputs = [ (lib.getLib stdenv.cc.cc) ];
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Continue.continue";
|
||||
description = "Open-source AI code assistant";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Continue.continue";
|
||||
homepage = "https://github.com/continuedev/continue";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
raroh73
|
||||
flacks
|
||||
];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1071,50 +1071,7 @@ let
|
||||
callPackage ./contextmapper.context-mapper-vscode-extension
|
||||
{ };
|
||||
|
||||
continue.continue = buildVscodeMarketplaceExtension {
|
||||
mktplcRef =
|
||||
let
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-mm7/ITiXuSrFrAwRPVYYJ6l5b4ODyiCPv5H+WioDAWY=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
arch = "darwin-x64";
|
||||
hash = "sha256-ySFiSJ+6AgxECzekBIlPl2BhWJvt5Rf1DFqg6b/6PDs=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-zqvhlA9APWtJowCOceB52HsfU3PaAWciZWxY/QcOYgg=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-CjzAntSjbYlauVptCnqE/HpwdudoGaTMML6Fyzj48pU=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "continue";
|
||||
publisher = "Continue";
|
||||
version = "1.1.49";
|
||||
}
|
||||
// sources.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
||||
buildInputs = [ (lib.getLib stdenv.cc.cc) ];
|
||||
meta = {
|
||||
description = "Open-source autopilot for software development - bring the power of ChatGPT to your IDE";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Continue.continue";
|
||||
homepage = "https://github.com/continuedev/continue";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.raroh73 ];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
];
|
||||
};
|
||||
};
|
||||
continue.continue = callPackage ./continue.continue { };
|
||||
|
||||
coolbear.systemd-unit-file = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
@@ -4457,8 +4414,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "streetsidesoftware";
|
||||
name = "code-spell-checker";
|
||||
version = "4.0.47";
|
||||
hash = "sha256-g9r8I909ge44JfBRm1JBHFluXr9H8zl0ERqkwoxtQaI=";
|
||||
version = "4.2.6";
|
||||
hash = "sha256-veP2G/5vcaimjd98ur6Mhl4x1NKuvS21oO+HFJLHN+I=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
}:
|
||||
let
|
||||
yarn-berry = yarn-berry_4;
|
||||
version = "25.8.0";
|
||||
version = "25.9.0";
|
||||
src = fetchFromGitHub {
|
||||
name = "actualbudget-actual-source";
|
||||
owner = "actualbudget";
|
||||
repo = "actual";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-9Ov9AR+WEKtjiX+C2lvjxerc295DWSRHpTb4Lu1stoo=";
|
||||
hash = "sha256-TYvGavj0Ts1ahgseFhuOtmfOSgPkjBIr19SIGOgx++Q=";
|
||||
};
|
||||
translations = fetchFromGitHub {
|
||||
name = "actualbudget-translations-source";
|
||||
@@ -25,8 +25,8 @@ let
|
||||
repo = "translations";
|
||||
# Note to updaters: this repo is not tagged, so just update this to the Git
|
||||
# tip at the time the update is performed.
|
||||
rev = "c1c2f298013ca3223e6cd6a4a4720bca5e8b8274";
|
||||
hash = "sha256-3dtdymdKfEzUIzButA3L88GrehO4EjCrd/gq0Y5bcuE=";
|
||||
rev = "3d88d15bf5125497de731f4e9dce19244bd4c7e0";
|
||||
hash = "sha256-tOtDGNwR/DVEiOYilOLSJzNjBqvzxOF78ZJtmlz3fdg=";
|
||||
};
|
||||
|
||||
in
|
||||
@@ -82,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
missingHashes = ./missing-hashes.json;
|
||||
offlineCache = yarn-berry.fetchYarnBerryDeps {
|
||||
inherit (finalAttrs) src missingHashes;
|
||||
hash = "sha256-kbQjtZivn9ni6PLk04kAJTzhhGgubhnxgHqMnGwEXZk=";
|
||||
hash = "sha256-Vod0VfoZG2nwnu35XLAPqY5uuRLVD751D3ZysD0ypL0=";
|
||||
};
|
||||
|
||||
pname = "actual-server";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
crystal_1_11,
|
||||
crystal,
|
||||
copyDesktopItems,
|
||||
gtk3,
|
||||
libxkbcommon,
|
||||
@@ -11,6 +11,8 @@
|
||||
openbox,
|
||||
xvfb-run,
|
||||
xdotool,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
|
||||
buildDevTarget ? false, # the dev version prints debug info
|
||||
}:
|
||||
@@ -18,7 +20,7 @@
|
||||
# NOTICE: AHK_X11 from this package does not support compiling scripts into portable executables.
|
||||
let
|
||||
pname = "ahk_x11";
|
||||
version = "1.0.4-unstable-2025-01-30"; # 1.0.4 cannot build on Crystal 1.12 or below.
|
||||
version = "1.0.5-unstable-2025-09-04";
|
||||
|
||||
inherit (xorg)
|
||||
libXinerama
|
||||
@@ -27,9 +29,6 @@ let
|
||||
libXi
|
||||
;
|
||||
|
||||
# See upstream README. Crystal 1.11 or below is needed to work around phil294/AHK_X11#89.
|
||||
crystal = crystal_1_11;
|
||||
|
||||
in
|
||||
crystal.buildCrystalPackage {
|
||||
inherit pname version;
|
||||
@@ -37,8 +36,8 @@ crystal.buildCrystalPackage {
|
||||
src = fetchFromGitHub {
|
||||
owner = "phil294";
|
||||
repo = "AHK_X11";
|
||||
rev = "66eb5208d95f4239822053c7d35f32bc62d57573"; # tag = version;
|
||||
hash = "sha256-KzD5ExYPRYgsYO+/hlnoQpBJwokjaK5lYL2kobI2XQ0=";
|
||||
rev = "f5375887dec3953c4cb3d78271821645bc3840f2";
|
||||
hash = "sha256-GTcbwCVWnC+KP2qLArEUIUMs5S0vpkA4gJHQpWP1TNg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -100,6 +99,11 @@ crystal.buildCrystalPackage {
|
||||
# I don't know how to fix it for xvfb and openbox.
|
||||
doCheck = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "AutoHotkey for X11";
|
||||
homepage = "https://phil294.github.io/AHK_X11";
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
};
|
||||
cron_parser = {
|
||||
url = "https://github.com/kostya/cron_parser.git";
|
||||
tag = "v0.4.0";
|
||||
rev = "v0.4.0";
|
||||
sha256 = "17fgg2nvyx99v05l10h6cnxfr7swz8yaxhmnk4l47kg2spi8w90a";
|
||||
};
|
||||
future = {
|
||||
url = "https://github.com/crystal-community/future.cr.git";
|
||||
tag = "v1.0.0";
|
||||
rev = "v1.0.0";
|
||||
sha256 = "1mji2djkrf4vxgs432kgkzxx54ybzk636789k2vsws3sf14l74i8";
|
||||
};
|
||||
gi-crystal = {
|
||||
url = "https://github.com/hugopl/gi-crystal.git";
|
||||
tag = "v0.22.1";
|
||||
rev = "v0.22.1";
|
||||
sha256 = "1bwsr5i6cmvnc72qdnmq4v6grif1hahrc7s6js2ivdrfix72flyg";
|
||||
};
|
||||
gtk3 = {
|
||||
@@ -26,7 +26,7 @@
|
||||
};
|
||||
harfbuzz = {
|
||||
url = "https://github.com/hugopl/harfbuzz.cr.git";
|
||||
tag = "v0.2.0";
|
||||
rev = "v0.2.0";
|
||||
sha256 = "06wgqxwyib5416yp53j2iwcbr3bl4jjxb1flm7z103l365par694";
|
||||
};
|
||||
notify = {
|
||||
@@ -36,12 +36,12 @@
|
||||
};
|
||||
pango = {
|
||||
url = "https://github.com/hugopl/pango.cr.git";
|
||||
tag = "v0.3.1";
|
||||
rev = "v0.3.1";
|
||||
sha256 = "0xlf127flimnll875mcq92q7xsi975rrgdpcpmnrwllhdhfx9qmv";
|
||||
};
|
||||
tasker = {
|
||||
url = "https://github.com/spider-gazelle/tasker.git";
|
||||
tag = "v2.1.4";
|
||||
rev = "v2.1.4";
|
||||
sha256 = "0254sl279nrw5nz43dz5gm89ah1zrw5bvxfma81navpx5gfg9pyb";
|
||||
};
|
||||
x11 = {
|
||||
|
||||
@@ -65,13 +65,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "amnezia-vpn";
|
||||
version = "4.8.9.2";
|
||||
version = "4.8.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "amnezia-vpn";
|
||||
repo = "amnezia-client";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-UavKtAwnEa+Ym1a7XzC3JPDLovqggjsav4q2MiYUxbI=";
|
||||
hash = "sha256-w1uBhp47XRinZpSuKeFaASOIOyjRDkDA81uqW4pK3F4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,30 +3,29 @@
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
wrapGAppsHook3,
|
||||
atk,
|
||||
wrapGAppsHook4,
|
||||
cairo,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
gtk3,
|
||||
gtk4,
|
||||
pango,
|
||||
wayland,
|
||||
gtk-layer-shell,
|
||||
gtk4-layer-shell,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "anyrun";
|
||||
version = "25.9.0.pre-release.1-unstable-2025-08-19";
|
||||
version = "25.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anyrun-org";
|
||||
repo = "anyrun";
|
||||
rev = "af1ffe4f17921825ff2a773995604dce2b2df3cd";
|
||||
hash = "sha256-PKxVhfjd2AlzTopuVEx5DJMC4R7LnM5NIoMmirKMsKI=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-01XBO8U2PyhhYXo3oZAu7dghqXkxdemeG82MqnNp4wE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-KpAnfytTtCJunhpk9exv8LYtF8mKDGFUUbsPP47M+Kk=";
|
||||
cargoHash = "sha256-Xh+RWrAxa1cg0z6IGr7apzoAIlhDl8ZMpQTfoBAZXRk=";
|
||||
|
||||
strictDeps = true;
|
||||
enableParallelBuilding = true;
|
||||
@@ -34,16 +33,15 @@ rustPlatform.buildRustPackage {
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
atk
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
gtk4
|
||||
gtk4-layer-shell
|
||||
pango
|
||||
wayland
|
||||
];
|
||||
@@ -58,7 +56,7 @@ rustPlatform.buildRustPackage {
|
||||
install -Dm444 anyrun/res/style.css examples/config.ron -t $out/share/doc/anyrun/examples/
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Wayland-native, highly customizable runner";
|
||||
@@ -71,4 +69,4 @@ rustPlatform.buildRustPackage {
|
||||
mainProgram = "anyrun";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/aptakube/aptakube/releases/download/${version}/Aptakube_${version}_universal.dmg";
|
||||
sha256 = "sha256-ljVl490cZuIcRSP8RKmf8Eq5D4OibLfuA8SugUlf1Yw=";
|
||||
sha256 = "89828e1ac030f9532ba24afdd91d357280b32fcc475830b6667d5066e7a576ac";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/aptakube/aptakube/releases/download/${version}/aptakube_${version}_amd64.deb";
|
||||
sha256 = "sha256-lT8v2nXVfZb5W/FP/ymWjGypQLz7ONlp9+GblMKKXuw=";
|
||||
sha256 = "9660c87da400dad1451f685defff774c6f5af9b3f713ad1cbd48284e965457dd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
}:
|
||||
let
|
||||
pname = "aptakube";
|
||||
version = "1.11.10";
|
||||
version = "1.13.0";
|
||||
meta = {
|
||||
homepage = "https://aptakube.com/";
|
||||
description = "Modern, lightweight and multi-cluster Kubernetes GUI";
|
||||
|
||||
@@ -35,6 +35,7 @@ python3Packages.buildPythonPackage rec {
|
||||
postInstall = "installManPage doc/autotrash.1";
|
||||
|
||||
pythonImportsCheck = [ "autotrash" ];
|
||||
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
|
||||
|
||||
meta = {
|
||||
description = "Tool to automatically purge old trashed files";
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0d6b915..0a004f7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -32,4 +32,5 @@ elseif (MACOS)
|
||||
link_directories(${LIBUSB_LIBRARY_DIRS} ${LIBFTDI_LIBRARY_DIRS} ${LIBYAML_LIBRARY_DIRS})
|
||||
target_link_libraries (bcu_mac ${LIBUSB_LIBDIR}/lib${LIBUSB_LIBRARIES}.dylib ${LIBFTDI_LIBDIR}/${LIBFTDI_MODULE_NAME}.dylib ${LIBYAML_LIBDIR}/lib${LIBYAML_LIBRARIES}.dylib -lpthread -lm)
|
||||
execute_process( COMMAND sh ${PROJECT_SOURCE_DIR}/create_version_h.sh ${PROJECT_SOURCE_DIR} )
|
||||
+ install(TARGETS bcu_mac DESTINATION bin)
|
||||
endif ()
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
libftdi1,
|
||||
libusb1,
|
||||
libyaml,
|
||||
ncurses,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bcu";
|
||||
version = "1.1.119";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nxp-imx";
|
||||
repo = "bcu";
|
||||
tag = "bcu_${finalAttrs.version}";
|
||||
hash = "sha256-GVnUkIoqHED/9c3Tr4M29DB+t6Q8OPDcxVWKNn/lU/8=";
|
||||
};
|
||||
|
||||
patches = [ ./darwin-install.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace create_version_h.sh \
|
||||
--replace-fail "version=\`git describe --tags --long\`" "version=${finalAttrs.src.tag}"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libftdi1
|
||||
libusb1
|
||||
libyaml
|
||||
ncurses
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-pointer-sign -Wno-deprecated-declarations -Wno-switch";
|
||||
|
||||
preFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
ln -sf $out/bin/bcu_mac $out/bin/bcu
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "NXP i.MX remote control and power measurement tools";
|
||||
homepage = "https://github.com/nxp-imx/bcu";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "bcu";
|
||||
maintainers = [ lib.maintainers.jmbaur ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
})
|
||||
@@ -21,11 +21,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "briar-desktop";
|
||||
version = "0.6.3-beta";
|
||||
version = "0.6.4-beta";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://desktop.briarproject.org/jars/linux/${finalAttrs.version}/briar-desktop-linux-${finalAttrs.version}.jar";
|
||||
hash = "sha256-8JX4cgRJZDCBlu5iVL7t5nZSZn8XTk3DU3rasViQgtg=";
|
||||
hash = "sha256-S7O625SWbgi4iby76Qe377NGiw4r9+VqgQh8kclKwMo=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
@@ -58,6 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
done
|
||||
'';
|
||||
|
||||
# TODO: Add a custom update script
|
||||
meta = {
|
||||
description = "Decentralized and secure messenger";
|
||||
mainProgram = "briar-desktop";
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "brush";
|
||||
version = "0.2.21";
|
||||
version = "0.2.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "reubeno";
|
||||
repo = "brush";
|
||||
tag = "brush-shell-v${version}";
|
||||
hash = "sha256-CAQkbesP0wqyt7yA53BQlW/tkCoCPKEBoDLTVJBnR6o=";
|
||||
hash = "sha256-b3foza29ty4P09PaBFh1nmGyn1YsxNPiVQHUcwWo6Lg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-x/OyO96XKABf1hqSg0GMzWw6aeLOu7z2yu9rQQSM4Lc=";
|
||||
cargoHash = "sha256-+HUZNOPPyRn2tQel/8fIiRQo761G3ygfRPuvjHkRAV8=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-about";
|
||||
version = "0.7.1";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmbarkStudios";
|
||||
repo = "cargo-about";
|
||||
rev = version;
|
||||
sha256 = "sha256-h5+Fp6+yGa1quJENsCv6WE4NC2A+ceIGMXVWyeTPPLQ=";
|
||||
sha256 = "sha256-EHqivIsS3wWvm3kJylynyobAsN2OlogXwLv9WdvzvJg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JTcRYdBZdXxM7r+XZSbFaAeWrJ5HULM1YE3p3smRW/Q=";
|
||||
cargoHash = "sha256-J3kSBu81jQ/u6uLOT3pKFl4tfE6qOABWhpEea1O0BZI=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-nextest";
|
||||
version = "0.9.102";
|
||||
version = "0.9.103";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nextest-rs";
|
||||
repo = "nextest";
|
||||
rev = "cargo-nextest-${version}";
|
||||
hash = "sha256-NaWEJEmE8LW1qankVu2Z8eU2yj4/P4DKDLrCEDXPfOc=";
|
||||
hash = "sha256-n7VVfk6bvO97tY7woEYUAuxEay/fN6F0eWBDohqIBD0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-plZYGm/Sh+pKx1srRPXpZPTZ4k9k/rWZreJqJKFmiG4=";
|
||||
cargoHash = "sha256-Nfm2KdyIgJ2rxYKn6r4lZbNkEWNQ+UAdkMiZAJfbzo8=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"-p"
|
||||
|
||||
+4
-4
@@ -6,13 +6,13 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-code": "^1.0.105"
|
||||
"@anthropic-ai/claude-code": "^1.0.107"
|
||||
}
|
||||
},
|
||||
"node_modules/@anthropic-ai/claude-code": {
|
||||
"version": "1.0.105",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.105.tgz",
|
||||
"integrity": "sha512-tYyWmdCmbbE7hbr1v4FZq6zwU5joJATijcjsVFh77HnUHp1L7svraIhRr0o+cI0PNyQR3eCt9KGxgCh3aFM4sg==",
|
||||
"version": "1.0.107",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.107.tgz",
|
||||
"integrity": "sha512-YYbOLIZF6aIwUeLa9Yg2gsHggBC5IWJwsA3B0wpl1z412yIgjp2CjWJ2GGLMTxCrrL5WgUe4SDmNxiAYEPP0yQ==",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "claude-code";
|
||||
version = "1.0.105";
|
||||
version = "1.0.107";
|
||||
|
||||
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
|
||||
hash = "sha256-9beqR/jIBazW6y9yw1cgJOESrrSmbKdRLyH5Vg2Uss8=";
|
||||
hash = "sha256-ht8MReur4K/QrEY9/MH6srQL3/8LHk8pCuSDld+LlEg=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-I+B9mTj/+jfH4tAgxcSQ2zy920brobKnLubfDZ2GCIE=";
|
||||
npmDepsHash = "sha256-xbxMjwVvkUmjiaklcYsrWLcb2c9qxiYWcT5eM8LN/h8=";
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
stdenv,
|
||||
llvmPackages_19,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
ninja,
|
||||
python3,
|
||||
@@ -89,6 +90,12 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
dontCargoSetupPostUnpack = true;
|
||||
|
||||
# Should not be necessary after 25.9
|
||||
patches = lib.optional (lib.versions.majorMinor version == "25.8") (fetchpatch {
|
||||
url = "https://github.com/ClickHouse/ClickHouse/commit/67a42b78cdf1c793e78c1adbcc34162f67044032.patch";
|
||||
sha256 = "7VF+JSztqTWD+aunCS3UVNxlRdwHc2W5fNqzDyeo3Fc=";
|
||||
});
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs src/ utils/
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ./generic.nix {
|
||||
version = "25.3.6.56-lts";
|
||||
hash = "sha256-wpC6uw811IWImLWAatYbghp3aZ+esEEBFng6AHIesK4=";
|
||||
version = "25.8.2.29-lts";
|
||||
hash = "sha256-S+1fZuYlZUMkiBlMtufMT5aAi9uwbFMjYW7Dmkt/Now=";
|
||||
lts = true;
|
||||
nixUpdateExtraArgs = [
|
||||
"--version-regex"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import ./generic.nix {
|
||||
version = "25.7.5.34-stable";
|
||||
hash = "sha256-0+e2QPsn6EZ28j3HE2TYOpJBN9jSl19Ytbvj+124viw=";
|
||||
version = "25.8.2.29-lts";
|
||||
hash = "sha256-S+1fZuYlZUMkiBlMtufMT5aAi9uwbFMjYW7Dmkt/Now=";
|
||||
lts = false;
|
||||
nixUpdateExtraArgs = [
|
||||
"--version-regex"
|
||||
"^v?(.*-stable)$"
|
||||
"^v?(.*-stable|.*-lts)$"
|
||||
"--override-filename"
|
||||
"pkgs/by-name/cl/clickhouse/package.nix"
|
||||
];
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "codex";
|
||||
version = "0.27.0";
|
||||
version = "0.29.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openai";
|
||||
repo = "codex";
|
||||
tag = "rust-v${finalAttrs.version}";
|
||||
hash = "sha256-vsZmHkph2rrb0K+ZRymweRculh+SIASCJCRP3V09hKU=";
|
||||
hash = "sha256-YCQfycmDPRxMAqo57tt/6IXkUn1JIPTzEHMNbt7m3w0=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/codex-rs";
|
||||
|
||||
cargoHash = "sha256-NK1TOY5Puo881bhgF3w470k2N4LoC6/qTI93uhg7Alw=";
|
||||
cargoHash = "sha256-kGjpqkV0OJW8mOW/OhyfXoTgLHHrtHQcw9c8zyVtzgs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'danger-gitlab'
|
||||
|
||||
gem "faraday-retry", "~> 2.3"
|
||||
|
||||
@@ -1,48 +1,69 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (8.0.2.1)
|
||||
base64
|
||||
benchmark (>= 0.3)
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.3.1)
|
||||
connection_pool (>= 2.2.5)
|
||||
drb
|
||||
i18n (>= 1.6, < 2)
|
||||
logger (>= 1.4.2)
|
||||
minitest (>= 5.1)
|
||||
securerandom (>= 0.3)
|
||||
tzinfo (~> 2.0, >= 2.0.5)
|
||||
uri (>= 0.13.1)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
base64 (0.2.0)
|
||||
bigdecimal (3.1.9)
|
||||
benchmark (0.4.1)
|
||||
bigdecimal (3.2.2)
|
||||
claide (1.1.0)
|
||||
claide-plugins (0.9.2)
|
||||
cork
|
||||
nap
|
||||
open4 (~> 1.3)
|
||||
colored2 (3.1.2)
|
||||
concurrent-ruby (1.3.5)
|
||||
connection_pool (2.5.3)
|
||||
cork (0.3.0)
|
||||
colored2 (~> 3.1)
|
||||
csv (3.3.4)
|
||||
danger (9.5.1)
|
||||
csv (3.3.5)
|
||||
danger (9.5.3)
|
||||
base64 (~> 0.2)
|
||||
claide (~> 1.0)
|
||||
claide-plugins (>= 0.9.2)
|
||||
colored2 (~> 3.1)
|
||||
colored2 (>= 3.1, < 5)
|
||||
cork (~> 0.1)
|
||||
faraday (>= 0.9.0, < 3.0)
|
||||
faraday-http-cache (~> 2.0)
|
||||
git (~> 1.13)
|
||||
kramdown (~> 2.3)
|
||||
git (>= 1.13, < 3.0)
|
||||
kramdown (>= 2.5.1, < 3.0)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
octokit (>= 4.0)
|
||||
pstore (~> 0.1)
|
||||
terminal-table (>= 1, < 4)
|
||||
danger-gitlab (9.0.0)
|
||||
terminal-table (>= 1, < 5)
|
||||
danger-gitlab (10.0.0)
|
||||
danger
|
||||
gitlab (~> 5.0)
|
||||
faraday (2.13.1)
|
||||
gitlab (~> 6.0)
|
||||
drb (2.2.3)
|
||||
faraday (2.13.4)
|
||||
faraday-net_http (>= 2.0, < 3.5)
|
||||
json
|
||||
logger
|
||||
faraday-http-cache (2.5.1)
|
||||
faraday (>= 0.8)
|
||||
faraday-net_http (3.4.0)
|
||||
faraday-net_http (3.4.1)
|
||||
net-http (>= 0.5.0)
|
||||
git (1.19.1)
|
||||
faraday-retry (2.3.2)
|
||||
faraday (~> 2.0)
|
||||
git (2.3.3)
|
||||
activesupport (>= 5.0)
|
||||
addressable (~> 2.8)
|
||||
process_executer (~> 1.1)
|
||||
rchardet (~> 1.8)
|
||||
gitlab (5.1.0)
|
||||
gitlab (6.0.0)
|
||||
base64 (~> 0.2.0)
|
||||
httparty (~> 0.20)
|
||||
terminal-table (>= 1.5.1)
|
||||
@@ -50,13 +71,16 @@ GEM
|
||||
csv
|
||||
mini_mime (>= 1.0.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
json (2.12.0)
|
||||
i18n (1.14.7)
|
||||
concurrent-ruby (~> 1.0)
|
||||
json (2.13.2)
|
||||
kramdown (2.5.1)
|
||||
rexml (>= 3.3.9)
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
logger (1.7.0)
|
||||
mini_mime (1.1.5)
|
||||
minitest (5.25.5)
|
||||
multi_xml (0.7.2)
|
||||
bigdecimal (~> 3.1)
|
||||
nap (1.1.0)
|
||||
@@ -66,6 +90,7 @@ GEM
|
||||
faraday (>= 1, < 3)
|
||||
sawyer (~> 0.9)
|
||||
open4 (1.3.4)
|
||||
process_executer (1.3.0)
|
||||
pstore (0.2.0)
|
||||
public_suffix (6.0.2)
|
||||
rchardet (1.9.0)
|
||||
@@ -73,17 +98,22 @@ GEM
|
||||
sawyer (0.9.2)
|
||||
addressable (>= 2.3.5)
|
||||
faraday (>= 0.17.3, < 3)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
unicode-display_width (2.6.0)
|
||||
securerandom (0.4.1)
|
||||
terminal-table (4.0.0)
|
||||
unicode-display_width (>= 1.1.1, < 4)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
unicode-display_width (3.1.5)
|
||||
unicode-emoji (~> 4.0, >= 4.0.4)
|
||||
unicode-emoji (4.0.4)
|
||||
uri (1.0.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
danger-gitlab
|
||||
faraday-retry (~> 2.3)
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.22
|
||||
2.6.9
|
||||
|
||||
@@ -1,4 +1,28 @@
|
||||
{
|
||||
activesupport = {
|
||||
dependencies = [
|
||||
"base64"
|
||||
"benchmark"
|
||||
"bigdecimal"
|
||||
"concurrent-ruby"
|
||||
"connection_pool"
|
||||
"drb"
|
||||
"i18n"
|
||||
"logger"
|
||||
"minitest"
|
||||
"securerandom"
|
||||
"tzinfo"
|
||||
"uri"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1ik1sm5sizrsnr3di0klh7rvsy9r9mmd805fv5srk66as5psf184";
|
||||
type = "gem";
|
||||
};
|
||||
version = "8.0.2.1";
|
||||
};
|
||||
addressable = {
|
||||
dependencies = [ "public_suffix" ];
|
||||
groups = [ "default" ];
|
||||
@@ -20,15 +44,25 @@
|
||||
};
|
||||
version = "0.2.0";
|
||||
};
|
||||
benchmark = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1kicilpma5l0lwayqjb5577bm0hbjndj2gh150xz09xsgc1l1vyl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.1";
|
||||
};
|
||||
bigdecimal = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g";
|
||||
sha256 = "1p2szbr4jdvmwaaj2kxlbv1rp0m6ycbgfyp0kjkkkswmniv5y21r";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.9";
|
||||
version = "3.2.2";
|
||||
};
|
||||
claide = {
|
||||
groups = [ "default" ];
|
||||
@@ -65,6 +99,26 @@
|
||||
};
|
||||
version = "3.1.2";
|
||||
};
|
||||
concurrent-ruby = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.5";
|
||||
};
|
||||
connection_pool = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.5.3";
|
||||
};
|
||||
cork = {
|
||||
dependencies = [ "colored2" ];
|
||||
groups = [ "default" ];
|
||||
@@ -81,10 +135,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1kfqg0m6vqs6c67296f10cr07im5mffj90k2b5dsm51liidcsvp9";
|
||||
sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.4";
|
||||
version = "3.3.5";
|
||||
};
|
||||
danger = {
|
||||
dependencies = [
|
||||
@@ -106,10 +160,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0s6liclz7vn2q1vzraq7gq6n2rfj4p3hn2gixgnx2qvggg2qsai1";
|
||||
sha256 = "0dma7aj2pcpndbpvl259n8hssik3kqjdvnsmdgq521njxg6k7p6i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "9.5.1";
|
||||
version = "9.5.3";
|
||||
};
|
||||
danger-gitlab = {
|
||||
dependencies = [
|
||||
@@ -120,10 +174,20 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0bmsyv03n2ravjc0mzq73iairgc1apzc388jalg2c3rag1psgr47";
|
||||
sha256 = "033w7rrm6sdp3f5fha4x6ycd657gliq61p4sb2zxqkk3imvpxvm1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "9.0.0";
|
||||
version = "10.0.0";
|
||||
};
|
||||
drb = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.3";
|
||||
};
|
||||
faraday = {
|
||||
dependencies = [
|
||||
@@ -135,10 +199,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0xbv450qj2bx0qz9l2pjrd3kc057y6bglc3na7a78zby8ssiwlyc";
|
||||
sha256 = "09mcghancmn0s5cwk2xz581j3xm3xqxfv0yxg75axnyhrx9gy6f7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.13.1";
|
||||
version = "2.13.4";
|
||||
};
|
||||
faraday-http-cache = {
|
||||
dependencies = [ "faraday" ];
|
||||
@@ -157,24 +221,37 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0jp5ci6g40d6i50bsywp35l97nc2fpi9a592r2cibwicdb6y9wd1";
|
||||
sha256 = "0fxbckg468dabkkznv48ss8zv14d9cd8mh1rr3m98aw7wzx5fmq9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.4.0";
|
||||
version = "3.4.1";
|
||||
};
|
||||
faraday-retry = {
|
||||
dependencies = [ "faraday" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1laici6jximrz3a8rkm8qmwdmw3fgzk22qh4l8wd5srjj01d40i4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.2";
|
||||
};
|
||||
git = {
|
||||
dependencies = [
|
||||
"activesupport"
|
||||
"addressable"
|
||||
"process_executer"
|
||||
"rchardet"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0w3xhay1z7qx9ab04wmy5p4f1fadvqa6239kib256wsiyvcj595h";
|
||||
sha256 = "1rbhfyzvzgzn6zsjnmxls0q1g7g7k9p5adk8vmf2d1aij1gly59f";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.19.1";
|
||||
version = "2.3.3";
|
||||
};
|
||||
gitlab = {
|
||||
dependencies = [
|
||||
@@ -186,10 +263,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1ivj6pq3s3lz8z0islynvdb3fv82ghr5k97drz07kwwqga02f702";
|
||||
sha256 = "0fm90lis0ikw2m77q33bxjg1bhsn8cdj06z9z4qv6kxqfmkhk3my";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.1.0";
|
||||
version = "6.0.0";
|
||||
};
|
||||
httparty = {
|
||||
dependencies = [
|
||||
@@ -206,15 +283,26 @@
|
||||
};
|
||||
version = "0.23.1";
|
||||
};
|
||||
i18n = {
|
||||
dependencies = [ "concurrent-ruby" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.14.7";
|
||||
};
|
||||
json = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0l0av82l1i5703fd5qnxr263zw21xmbpx737av3r9pjn0w0cw3xk";
|
||||
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.12.0";
|
||||
version = "2.13.2";
|
||||
};
|
||||
kramdown = {
|
||||
dependencies = [ "rexml" ];
|
||||
@@ -258,6 +346,16 @@
|
||||
};
|
||||
version = "1.1.5";
|
||||
};
|
||||
minitest = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.25.5";
|
||||
};
|
||||
multi_xml = {
|
||||
dependencies = [ "bigdecimal" ];
|
||||
groups = [ "default" ];
|
||||
@@ -314,6 +412,16 @@
|
||||
};
|
||||
version = "1.3.4";
|
||||
};
|
||||
process_executer = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0vslspnp4aki1cw4lwk9d5bmjfqwbf5i2wwgimch8cp14wns409v";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.0";
|
||||
};
|
||||
pstore = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
@@ -368,26 +476,58 @@
|
||||
};
|
||||
version = "0.9.2";
|
||||
};
|
||||
securerandom = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.1";
|
||||
};
|
||||
terminal-table = {
|
||||
dependencies = [ "unicode-display_width" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr";
|
||||
sha256 = "1lh18gwpksk25sbcjgh94vmfw2rz0lrq61n7lwp1n9gq0cr7j17m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.2";
|
||||
version = "4.0.0";
|
||||
};
|
||||
unicode-display_width = {
|
||||
tzinfo = {
|
||||
dependencies = [ "concurrent-ruby" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj";
|
||||
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.6.0";
|
||||
version = "2.0.6";
|
||||
};
|
||||
unicode-display_width = {
|
||||
dependencies = [ "unicode-emoji" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0knx0bgwwpwa7wcmknqp2i019jq6b46wxfppvhxfxrsyhlbnhmmz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.5";
|
||||
};
|
||||
unicode-emoji = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0ajk6rngypm3chvl6r0vwv36q1931fjqaqhjjya81rakygvlwb1c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.4";
|
||||
};
|
||||
uri = {
|
||||
groups = [ "default" ];
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
{ lib, bundlerApp }:
|
||||
{
|
||||
lib,
|
||||
bundlerApp,
|
||||
bundlerUpdateScript,
|
||||
}:
|
||||
|
||||
bundlerApp {
|
||||
pname = "danger-gitlab";
|
||||
gemdir = ./.;
|
||||
exes = [ "danger" ];
|
||||
|
||||
meta = with lib; {
|
||||
passthru.updateScript = bundlerUpdateScript "danger-gitlab";
|
||||
|
||||
meta = {
|
||||
description = "Gem that exists to ensure all dependencies are set up for Danger with GitLab";
|
||||
homepage = "https://github.com/danger/danger-gitlab-gem";
|
||||
license = licenses.mit;
|
||||
teams = [ teams.serokell ];
|
||||
license = lib.licenses.mit;
|
||||
teams = with lib.teams; [ serokell ];
|
||||
mainProgram = "danger";
|
||||
};
|
||||
}
|
||||
|
||||
Generated
+6034
-374
File diff suppressed because it is too large
Load Diff
@@ -7,13 +7,13 @@
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "eslint";
|
||||
version = "9.33.0";
|
||||
version = "9.34.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eslint";
|
||||
repo = "eslint";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-yMB1LuLKDiFi/ufIcYAsgVQGFoUIKVezxoEBUCC99/0=";
|
||||
hash = "sha256-C56uNYpXLO0LgURW+7iXWTWqmXQHc1nx1bKf7DFSHs4=";
|
||||
};
|
||||
|
||||
# NOTE: Generating lock-file
|
||||
@@ -25,7 +25,7 @@ buildNpmPackage rec {
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-CCiAn0abYLIHBGQZKwqfnK5OA0S+SK4ick3QRCCa3gc=";
|
||||
npmDepsHash = "sha256-ZF7+IJakVkwswL0FV5wAc0dOK+gd9I6A7DaZbMiMaDU=";
|
||||
npmInstallFlags = [ "--omit=dev" ];
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gat";
|
||||
version = "0.25.1";
|
||||
version = "0.25.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koki-develop";
|
||||
repo = "gat";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-DgIAAlA7rhMvTovmIZOsJ7KoXizGZXT2GRkTnxOh7L0=";
|
||||
hash = "sha256-pfR7sjN1LrZ9+x3uqMyOAWMRQSSzlUa/q918yFaY17M=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Aq+wcBeYpKWwXgGUZbAqT0zm1Bri7Df3rt7ycwy060o=";
|
||||
vendorHash = "sha256-amF8TQ+BEZN9A0c43pDTKaJ1FcfZ1FzRdfKRlpocPr8=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ GEM
|
||||
specs:
|
||||
homesick (1.1.6)
|
||||
thor (>= 0.14.0)
|
||||
thor (0.20.0)
|
||||
thor (1.4.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@@ -12,4 +12,4 @@ DEPENDENCIES
|
||||
homesick
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
2.6.9
|
||||
@@ -1,6 +1,8 @@
|
||||
{
|
||||
homesick = {
|
||||
dependencies = [ "thor" ];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0lxvnp4ncbx0irlblfxbd1f8h4hl11hgmyiy35q79w137r3prxml";
|
||||
@@ -9,11 +11,13 @@
|
||||
version = "1.1.6";
|
||||
};
|
||||
thor = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl";
|
||||
sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.20.0";
|
||||
version = "1.4.0";
|
||||
};
|
||||
}
|
||||
@@ -17,7 +17,7 @@ bundlerEnv {
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "homesick";
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Your home directory is your castle. Don't leave your dotfiles behind";
|
||||
longDescription = ''
|
||||
Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing
|
||||
@@ -25,12 +25,12 @@ bundlerEnv {
|
||||
place with a single command.
|
||||
'';
|
||||
homepage = "https://github.com/technicalpickles/homesick";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
aaronschif
|
||||
nicknovitski
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "homesick";
|
||||
};
|
||||
}
|
||||
@@ -7,25 +7,25 @@
|
||||
}:
|
||||
let
|
||||
pname = "immersed";
|
||||
version = "10.6.0";
|
||||
version = "10.9.0";
|
||||
|
||||
sources = rec {
|
||||
sources = lib.mapAttrs (_: fetchurl) (rec {
|
||||
x86_64-linux = {
|
||||
url = "https://web.archive.org/web/20241229041449/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
|
||||
hash = "sha256-u07QpGXEXbp7ApZgerq36x+4Wxsz08YAruIVnZeS0ck=";
|
||||
url = "https://web.archive.org/web/20250725134919if_/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
|
||||
hash = "sha256-plGcvZRpV+nhQ4FoYiIuLmyOg/SHJ8ZjT4Fh6UyH9W0=";
|
||||
};
|
||||
aarch64-linux = {
|
||||
url = "https://web.archive.org/web/20241229041902/https://static.immersed.com/dl/Immersed-aarch64.AppImage";
|
||||
url = "https://web.archive.org/web/20250725135029if_/https://static.immersed.com/dl/Immersed-aarch64.AppImage";
|
||||
hash = "sha256-3BokV30y6QRjE94K7JQ6iIuQw1t+h3BKZY+nEFGTVHI=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
url = "https://web.archive.org/web/20241229041652/https://static.immersed.com/dl/Immersed.dmg";
|
||||
hash = "sha256-Sgfm0giVR1dDIFIDpNmGmXLXLRgpMXrVxD/oyPc+Lq0=";
|
||||
url = "https://web.archive.org/web/20250725135025if_/https://static.immersed.com/dl/Immersed.dmg";
|
||||
hash = "sha256-lmSkatB75Bztm19aCC50qrd/NV+HQX9nBMOTxIguaqI=";
|
||||
};
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
};
|
||||
});
|
||||
|
||||
src = fetchurl (sources.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"));
|
||||
src = sources.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||
|
||||
meta = with lib; {
|
||||
description = "VR coworking platform";
|
||||
@@ -40,21 +40,29 @@ let
|
||||
};
|
||||
|
||||
in
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
callPackage ./darwin.nix {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
meta
|
||||
;
|
||||
}
|
||||
else
|
||||
callPackage ./linux.nix {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
meta
|
||||
;
|
||||
}
|
||||
|
||||
(
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
callPackage ./darwin.nix {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
meta
|
||||
;
|
||||
}
|
||||
else
|
||||
callPackage ./linux.nix {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
meta
|
||||
;
|
||||
}
|
||||
)
|
||||
// {
|
||||
passthru = {
|
||||
inherit sources;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
llvmPackages,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
ninja,
|
||||
help2man,
|
||||
irods,
|
||||
}:
|
||||
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "irods-icommands";
|
||||
inherit (irods) version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "irods";
|
||||
repo = "irods_client_icommands";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-lo1eCI/CSzl7BJWdPo7KKVHfznkPN6GwsiQThUGuQdw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
help2man
|
||||
];
|
||||
|
||||
buildInputs = [ irods ];
|
||||
|
||||
cmakeFlags = irods.commonCmakeFlags ++ [
|
||||
(lib.cmakeFeature "ICOMMANDS_INSTALL_DIRECTORY" "${placeholder "out"}/bin")
|
||||
(lib.cmakeBool "ICOMMANDS_INSTALL_SYMLINKS" false)
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit (irods.meta)
|
||||
homepage
|
||||
license
|
||||
maintainers
|
||||
platforms
|
||||
;
|
||||
description = irods.meta.description + " CLI clients";
|
||||
longDescription = irods.meta.longDescription + ''
|
||||
|
||||
This package provides the CLI clients, called 'icommands'.
|
||||
'';
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
lib,
|
||||
llvmPackages,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
ninja,
|
||||
bison,
|
||||
flex,
|
||||
libarchive,
|
||||
pam,
|
||||
unixODBC,
|
||||
jsoncons,
|
||||
curl,
|
||||
systemdLibs,
|
||||
openssl,
|
||||
boost183,
|
||||
nlohmann_json,
|
||||
nanodbc,
|
||||
fmt_9,
|
||||
spdlog,
|
||||
}:
|
||||
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "irods";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "irods";
|
||||
repo = "irods";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-/mcuqukgDoMc89FL/TfOhHWglsfdLmQbAnQYT8vTFsY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
bison
|
||||
flex
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libarchive
|
||||
pam
|
||||
unixODBC
|
||||
jsoncons
|
||||
curl
|
||||
systemdLibs
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
openssl
|
||||
# Can potentially be unpinned after:
|
||||
# <https://github.com/irods/irods/issues/7248>
|
||||
boost183
|
||||
nlohmann_json
|
||||
nanodbc
|
||||
# Tracking issue for `fmt_11`:
|
||||
# <https://github.com/irods/irods/issues/8454>
|
||||
fmt_9
|
||||
(spdlog.override {
|
||||
fmt = fmt_9;
|
||||
})
|
||||
];
|
||||
|
||||
cmakeFlags = finalAttrs.passthru.commonCmakeFlags ++ [
|
||||
# Tracking issues for moving these to `find_package`:
|
||||
# * <https://github.com/irods/irods/issues/6249>
|
||||
# * <https://github.com/irods/irods/issues/6253>
|
||||
(lib.cmakeFeature "IRODS_EXTERNALS_FULLPATH_BOOST" "${boost183}")
|
||||
(lib.cmakeFeature "IRODS_EXTERNALS_FULLPATH_NANODBC" "${nanodbc}")
|
||||
(lib.cmakeFeature "IRODS_EXTERNALS_FULLPATH_JSONCONS" "${jsoncons}")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./test
|
||||
substituteInPlace plugins/database/CMakeLists.txt --replace-fail \
|
||||
'COMMAND cpp -E -P -D''${plugin} "''${CMAKE_CURRENT_BINARY_DIR}/src/icatSysTables.sql.pp" ' \
|
||||
'COMMAND cpp -E -P -D''${plugin} "''${CMAKE_CURRENT_BINARY_DIR}/src/icatSysTables.sql.pp" -o '
|
||||
substituteInPlace server/auth/CMakeLists.txt --replace-fail SETUID ""
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
commonCmakeFlags = [
|
||||
# We already use Clang in the `stdenv`.
|
||||
(lib.cmakeBool "IRODS_BUILD_WITH_CLANG" false)
|
||||
# Upstream builds with LLVM 16 and doesn’t handle newer warnings.
|
||||
(lib.cmakeBool "IRODS_BUILD_WITH_WERROR" false)
|
||||
(lib.cmakeFeature "IRODS_HOME_DIRECTORY" "${placeholder "out"}")
|
||||
(lib.cmakeFeature "IRODS_LINUX_DISTRIBUTION_NAME" "NixOS")
|
||||
(lib.cmakeFeature "IRODS_LINUX_DISTRIBUTION_VERSION" lib.trivial.release)
|
||||
(lib.cmakeFeature "IRODS_LINUX_DISTRIBUTION_VERSION_MAJOR" lib.trivial.release)
|
||||
(lib.cmakeFeature "CPACK_GENERATOR" "TGZ")
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Integrated Rule-Oriented Data System (iRODS)";
|
||||
longDescription = ''
|
||||
The Integrated Rule-Oriented Data System (iRODS) is open source data management
|
||||
software used by research organizations and government agencies worldwide.
|
||||
iRODS is released as a production-level distribution aimed at deployment in mission
|
||||
critical environments. It virtualizes data storage resources, so users can take
|
||||
control of their data, regardless of where and on what device the data is stored.
|
||||
As data volumes grow and data services become more complex, iRODS is increasingly
|
||||
important in data management. The development infrastructure supports exhaustive
|
||||
testing on supported platforms; plug-in support for microservices, storage resources,
|
||||
drivers, and databases; and extensive documentation, training and support services.
|
||||
'';
|
||||
homepage = "https://irods.org";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [ lib.maintainers.bzizou ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "irodsServer";
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
makeBinaryWrapper,
|
||||
jre_headless,
|
||||
maven,
|
||||
pcsclite,
|
||||
yubico-piv-tool,
|
||||
opensc,
|
||||
}:
|
||||
|
||||
let
|
||||
jre = jre_headless;
|
||||
in
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "jsign";
|
||||
# For build from non-release, increment version by one and add -SNAPSHOT
|
||||
# e.g. 7.3-SNAPSHOT
|
||||
version = "7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ebourg";
|
||||
repo = "jsign";
|
||||
tag = version;
|
||||
hash = "sha256-ngAwtd4C3KeLq9sM15B8tWS34AH81azYEjXg3+Gy5NA=";
|
||||
};
|
||||
|
||||
mvnHash = "sha256-N91gwM3vsDZQM/BptF5RgRQ/A8g56NOJ6bc2SkxLnBs=";
|
||||
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
|
||||
# The tests try to access the network
|
||||
doCheck = false;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share
|
||||
install -Dm644 jsign/target/jsign-${version}.jar $out/share/jsign.jar
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/jsign \
|
||||
--prefix LD_LIBRARY_PATH : ${
|
||||
lib.makeLibraryPath [
|
||||
yubico-piv-tool
|
||||
opensc
|
||||
]
|
||||
} \
|
||||
--add-flags "-Dsun.security.smartcardio.library=${lib.getLib pcsclite}/lib/libpcsclite.so.1 -jar $out/share/jsign.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Authenticode signing for Windows executables, installers & scripts";
|
||||
homepage = "https://ebourg.github.io/jsign";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [
|
||||
johnazoidberg
|
||||
];
|
||||
mainProgram = "jsign";
|
||||
# Build doesn't work, upstream says running the .jar is supported on darwin though
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
}
|
||||
@@ -87,6 +87,11 @@ stdenv.mkDerivation {
|
||||
cp -r doc/html "$out/share/doc/libftdi1/"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
substituteInPlace $out/lib/pkgconfig/libftdi1.pc --replace-fail "libdir=$out/$out/lib" "libdir=$out/lib"
|
||||
substituteInPlace $out/lib/pkgconfig/libftdipp1.pc --replace-fail "libdir=$out/$out/lib" "libdir=$out/lib"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library to talk to FTDI chips using libusb";
|
||||
homepage = "https://www.intra2net.com/en/developer/libftdi/";
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
makeWrapper,
|
||||
nix,
|
||||
openssl,
|
||||
perl,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
@@ -17,18 +18,18 @@
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "lux-cli";
|
||||
|
||||
version = "0.15.1";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-neorocks";
|
||||
repo = "lux";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1u0zDGUytuMhqe7NOJeXd1DKch8P7FT02MYgMkX3eMc=";
|
||||
hash = "sha256-jVKCjAYeWjy2jDOHEb6vu4ZNTXrSETgUt6NIE++trPE=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "lux-cli";
|
||||
|
||||
cargoHash = "sha256-C84VZfpMua1RrFhTFhWfY2xZAPDtNllkAbdHljlYdZs=";
|
||||
cargoHash = "sha256-Kv8wYxPGainwayru9pWBplg2PNcC86ZTAmDp9M4G1bQ=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
@@ -40,6 +41,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
perl
|
||||
pkg-config
|
||||
];
|
||||
|
||||
|
||||
+9
-9
@@ -1,13 +1,13 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
base64 (0.2.0)
|
||||
base64 (0.3.0)
|
||||
daemons (1.4.1)
|
||||
date (3.4.1)
|
||||
eventmachine (1.2.7)
|
||||
faye-websocket (0.11.3)
|
||||
faye-websocket (0.11.4)
|
||||
eventmachine (>= 0.12.0)
|
||||
websocket-driver (>= 0.5.1)
|
||||
websocket-driver (>= 0.5.1, < 0.8.0)
|
||||
mail (2.8.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
net-imap
|
||||
@@ -23,10 +23,10 @@ GEM
|
||||
sqlite3 (~> 1.3)
|
||||
thin (~> 1.8)
|
||||
mini_mime (1.1.5)
|
||||
mini_portile2 (2.8.8)
|
||||
mustermann (3.0.3)
|
||||
mini_portile2 (2.8.9)
|
||||
mustermann (3.0.4)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
net-imap (0.5.6)
|
||||
net-imap (0.5.9)
|
||||
date
|
||||
net-protocol
|
||||
net-pop (0.1.2)
|
||||
@@ -35,7 +35,7 @@ GEM
|
||||
timeout
|
||||
net-smtp (0.5.1)
|
||||
net-protocol
|
||||
rack (2.2.13)
|
||||
rack (2.2.17)
|
||||
rack-protection (3.2.0)
|
||||
base64 (>= 0.1.0)
|
||||
rack (~> 2.2, >= 2.2.4)
|
||||
@@ -51,7 +51,7 @@ GEM
|
||||
daemons (~> 1.0, >= 1.0.9)
|
||||
eventmachine (~> 1.0, >= 1.0.4)
|
||||
rack (>= 1, < 3)
|
||||
tilt (2.6.0)
|
||||
tilt (2.6.1)
|
||||
timeout (0.4.3)
|
||||
websocket-driver (0.7.7)
|
||||
base64
|
||||
@@ -65,4 +65,4 @@ DEPENDENCIES
|
||||
mailcatcher
|
||||
|
||||
BUNDLED WITH
|
||||
2.6.2
|
||||
2.6.9
|
||||
+14
-14
@@ -4,10 +4,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
|
||||
sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
};
|
||||
daemons = {
|
||||
groups = [ "default" ];
|
||||
@@ -48,10 +48,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "01xkpv5b4fjc5n6n1fq6z1ris991av2fbadvs8r71i9r34b8g48h";
|
||||
sha256 = "1p4xwf5lqrfbc9xbyf20hlyckm1issl5gscdnpglss3x4rwqj0dq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.11.3";
|
||||
version = "0.11.4";
|
||||
};
|
||||
mail = {
|
||||
dependencies = [
|
||||
@@ -104,10 +104,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
|
||||
sha256 = "12f2830x7pq3kj0v8nz0zjvaw02sv01bqs1zwdrc04704kwcgmqc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.8";
|
||||
version = "2.8.9";
|
||||
};
|
||||
mustermann = {
|
||||
dependencies = [ "ruby2_keywords" ];
|
||||
@@ -115,10 +115,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "123ycmq6pkivv29bqbv79jv2cs04xakzd0fz1lalgvfs5nxfky6i";
|
||||
sha256 = "08ma2fmxlm6i7lih4mc3har2fzsbj1pl4hhva65kljf6nfvdryl5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.3";
|
||||
version = "3.0.4";
|
||||
};
|
||||
net-imap = {
|
||||
dependencies = [
|
||||
@@ -129,10 +129,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1rgva7p9gvns2ndnqpw503mbd36i2skkggv0c0h192k8xr481phy";
|
||||
sha256 = "1z1kpshd0r09jv0091bcr4gfx3i1psbqdzy7zyag5n8v3qr0anfr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.6";
|
||||
version = "0.5.9";
|
||||
};
|
||||
net-pop = {
|
||||
dependencies = [ "net-protocol" ];
|
||||
@@ -172,10 +172,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1yzhcwvfkrlb8l79w24yjclv636jn6rnznp95shmssk934bi1vnc";
|
||||
sha256 = "1pcr8sn02lwzv3z6vx5n41b6ybcnw9g9h05s3lkv4vqdm0f2mq2z";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.13";
|
||||
version = "2.2.17";
|
||||
};
|
||||
rack-protection = {
|
||||
dependencies = [
|
||||
@@ -248,10 +248,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0szpapi229v3scrvw1pgy0vpjm7z3qlf58m1198kxn70cs278g96";
|
||||
sha256 = "0w27v04d7rnxjr3f65w1m7xyvr6ch6szjj2v5wv1wz6z5ax9pa9m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.6.0";
|
||||
version = "2.6.1";
|
||||
};
|
||||
timeout = {
|
||||
groups = [ "default" ];
|
||||
+5
-6
@@ -1,5 +1,5 @@
|
||||
{
|
||||
ruby_3_2,
|
||||
ruby,
|
||||
lib,
|
||||
bundlerApp,
|
||||
bundlerUpdateScript,
|
||||
@@ -13,19 +13,18 @@ bundlerApp {
|
||||
"mailcatcher"
|
||||
"catchmail"
|
||||
];
|
||||
ruby = ruby_3_2;
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "mailcatcher";
|
||||
passthru.tests = { inherit (nixosTests) mailcatcher; };
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "SMTP server and web interface to locally test outbound emails";
|
||||
homepage = "https://mailcatcher.me/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
zarelit
|
||||
nicknovitski
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -1,23 +1,31 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "netboot.xyz-efi";
|
||||
version = "2.0.82";
|
||||
in
|
||||
fetchurl {
|
||||
name = "${pname}-${version}";
|
||||
version = "2.0.87";
|
||||
|
||||
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${version}/netboot.xyz.efi";
|
||||
sha256 = "sha256-cO8MCkroQ0s/j8wnwwIWfnxEvChLeOZw+gD4wrYBAog=";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${finalAttrs.version}/netboot.xyz.efi";
|
||||
hash = "sha256-8kd17ChqLuVH5/OdPc2rVDKEDWHl9ZWLh8k+EBrCGH8=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
dontUnpack = true;
|
||||
|
||||
postInstall = ''
|
||||
cp $src $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://netboot.xyz/";
|
||||
description = "Tool to boot OS installers and utilities over the network, to be run from a bootloader";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ pinpox ];
|
||||
platforms = platforms.linux;
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ pinpox ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -29,7 +29,7 @@ in
|
||||
|
||||
ps.buildPythonApplication rec {
|
||||
pname = "normcap";
|
||||
version = "0.5.9";
|
||||
version = "0.6.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = ps.pythonOlder "3.9";
|
||||
@@ -38,7 +38,7 @@ ps.buildPythonApplication rec {
|
||||
owner = "dynobo";
|
||||
repo = "normcap";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-K8BkPRHmcJSzYPxv49a1whKpe+StK7m0ea7t2YNUESw=";
|
||||
hash = "sha256-jkaXwBpa09J6Q07vlnQW8TsUtpiYrPkfMspZI1TyE1g=";
|
||||
};
|
||||
|
||||
pythonRemoveDeps = [
|
||||
@@ -66,6 +66,7 @@ ps.buildPythonApplication rec {
|
||||
ps.pyside6
|
||||
ps.jeepney
|
||||
ps.toml
|
||||
ps.zxing-cpp
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
|
||||
@@ -79,7 +79,7 @@ let
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${electron}/bin/electron $out/bin/obsidian \
|
||||
--add-flags $out/share/obsidian/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-wayland-ime=true}}" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-wayland-ime=true --wayland-text-input-version=3}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
install -m 444 -D resources/app.asar $out/share/obsidian/app.asar
|
||||
install -m 444 -D resources/obsidian.asar $out/share/obsidian/obsidian.asar
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "otree";
|
||||
version = "0.6.0";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fioncat";
|
||||
repo = "otree";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Pz9iAN5GMJeYYQ7T0QWUfRwvSfreRF8pJR8ctPVFAmA=";
|
||||
hash = "sha256-a160Mi0VZesU3PQOKrgiN/5yxx82xHtjcMazH5o0LJs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Uz4oA8maAiUye+FRoVBRuMHoPytr5y8DUfPA4CuMSe4=";
|
||||
cargoHash = "sha256-ZubL48hXyrBg9K64GsLmRZgdFhDWYbYNH2PhwE9qAQ4=";
|
||||
|
||||
meta = {
|
||||
description = "Command line tool to view objects (JSON/YAML/TOML/XML) in TUI tree widget";
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
pname = "phpunit";
|
||||
version = "12.3.7";
|
||||
version = "12.3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sebastianbergmann";
|
||||
repo = "phpunit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-v7LXp0TTtGLN0zRZN7GBGlwX7Bb+xNVCN3UYYCt0w1E=";
|
||||
hash = "sha256-jSa+gE4TZ4ZTBjsMZN9X40R5r49PR5hbqXkMzk+HLEg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-9cuMWzWvSZy9Djlkk8pw7cOaqEp5060WMGT4FzNSmb4=";
|
||||
vendorHash = "sha256-6YnNfJ0tXUHSQyJKo8OY7a90BAhmDnpVe+954WuGoM4=";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "rattler-build";
|
||||
version = "0.45.0";
|
||||
version = "0.47.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prefix-dev";
|
||||
repo = "rattler-build";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-nk4orzkmgKQ6UfRpA9suh7FxiPh4P+F4NagY22if5Iw=";
|
||||
hash = "sha256-c7g+Y2owuoWqwvhNfsW18ppw8eLG0nAeFIFuoRqvPJY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-LvdFKguUMplNbJLh6CTy6enfg1PGqjawku/tBjwf30o=";
|
||||
cargoHash = "sha256-h4LSFfL+qzkuZ8MToI0MNxSGPCzJUmYgVoGwoYnXboE=";
|
||||
|
||||
doCheck = false; # test requires network access
|
||||
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ravedude";
|
||||
version = "0.2.0";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-rUYqqswjIPg4p7oWNjXnEKSav+uLjItGVxrRLz4NXd4=";
|
||||
hash = "sha256-LYHWUVREnGNR/vqtj+VklV3o74KUJu+Yi8ftulCJt9s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FrlG68X9fbEBZlt+qdL3O1S8HAgwXu/Bkplu8UxXy5Y=";
|
||||
cargoHash = "sha256-rD8rFs3zfWjQXm3mLvY2tpVS6X8wHJka2qs4D3/pa4E=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -3,28 +3,25 @@
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
}:
|
||||
let
|
||||
self = buildGoModule {
|
||||
pname = "reader";
|
||||
version = "0.5.0";
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "reader";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrusme";
|
||||
repo = "reader";
|
||||
tag = "v${self.version}";
|
||||
hash = "sha256-qu48ikqm4EmoeL9j67tGkX3EFBd1JdrLWhhmoElCoJY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8IjN7hm5Rg9ItkxE9pbnkVr5t+tG95W9vvXyGaWmEIA=";
|
||||
|
||||
meta = {
|
||||
description = "Lightweight tool offering better readability of web pages on the CLI";
|
||||
homepage = "https://github.com/mrusme/reader";
|
||||
changelog = "https://github.com/mrusme/reader/releases";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ theobori ];
|
||||
mainProgram = "reader";
|
||||
};
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrusme";
|
||||
repo = "reader";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-qu48ikqm4EmoeL9j67tGkX3EFBd1JdrLWhhmoElCoJY=";
|
||||
};
|
||||
in
|
||||
self
|
||||
|
||||
vendorHash = "sha256-8IjN7hm5Rg9ItkxE9pbnkVr5t+tG95W9vvXyGaWmEIA=";
|
||||
|
||||
meta = {
|
||||
description = "Lightweight tool offering better readability of web pages on the CLI";
|
||||
homepage = "https://github.com/mrusme/reader";
|
||||
changelog = "https://github.com/mrusme/reader/releases";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ theobori ];
|
||||
mainProgram = "reader";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "runc";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opencontainers";
|
||||
repo = "runc";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-oXoDio3l23Z6UyAhb9oDMo1O4TLBbFyLh9sRWXnfLVY=";
|
||||
hash = "sha256-B7x1J2ijM+/RWzPTldBNhvrGa/8de6Unl47lOS/KxXs=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
|
||||
preConfigure = "rm configure";
|
||||
preBuild = "sed 's_/bin/__g' -i RULES/*";
|
||||
makeFlags = [ "GMAKE_NOWARN=true" ];
|
||||
env.NIX_CFLAGS_COMPILE = "-std=c89";
|
||||
installFlags = [
|
||||
"DESTDIR=$(out)"
|
||||
"INS_BASE=/"
|
||||
|
||||
@@ -2,16 +2,17 @@
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchzip,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "sitelen-seli-kiwen";
|
||||
version = "unstable-2022-06-28";
|
||||
version = "1.8.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://raw.githubusercontent.com/kreativekorp/sitelen-seli-kiwen/69132c99873894746c9710707aaeb2cea2609709/sitelenselikiwen.zip";
|
||||
url = "https://github.com/kreativekorp/sitelen-seli-kiwen/releases/download/${finalAttrs.version}/sitelenselikiwen.zip";
|
||||
stripRoot = false;
|
||||
hash = "sha256-viOLAj9Rn60bcQkkDHVuKHCE8KPnIz/L0hIJhum1SSQ=";
|
||||
hash = "sha256-FqhUsA+q3ZLfJRMxi47rz3FOWnm1pfXxWnM1c8HQ7NY=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
@@ -24,6 +25,8 @@ stdenvNoCC.mkDerivation {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Handwritten sitelen pona font supporting UCSUR";
|
||||
homepage = "https://www.kreativekorp.com/software/fonts/sitelenselikiwen/";
|
||||
@@ -31,4 +34,4 @@ stdenvNoCC.mkDerivation {
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ somasis ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "teams-for-linux";
|
||||
version = "2.5.1";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-yjMhWP/AtjFKhbvSR4RzYD6vedc+OgqPU7bTWrNqtmo=";
|
||||
hash = "sha256-LMYgWXzzVBaUBJnVacWPZPeNe1EasJjS5A0ouRlLxNo=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-wnr1MO0DN+2rKjmM75V3m1oOVczfDslOtULn/tLbRzM=";
|
||||
npmDepsHash = "sha256-3OqiXbLeFnOx/tdv+A0fxtUZLYTaNuOAJwtF71cljFw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
|
||||
owner = "tome2";
|
||||
repo = "tome2";
|
||||
rev = "3892fbcb1c2446afcb0c34f59e2a24f78ae672c4";
|
||||
hash = "sha256-E6T5ZnsAzZ4cy2S8WvB0k3W4XGFsiA3TKTCSBqje+tw=";
|
||||
hash = "sha256-OL59zktCJGBHPE8Y89S+OdcnJ/Hj+dGif1DNhePEQXo=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "usage";
|
||||
version = "2.1.1";
|
||||
version = "2.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdx";
|
||||
repo = "usage";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-aMO/3geF1iFnMi0ZqBdnikp/Qh25vqpeaxdTiQtt5yI=";
|
||||
hash = "sha256-Hnq3ViMrNIo9m/1mePjEzMv87U24wY50UiYxnpJqHR8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-0NQZtT3xz4MaqY8ehKzy/cpDJlE5eWIixi3IropK11w=";
|
||||
cargoHash = "sha256-Zj8Z88gYx+i0VN14HbO1LSlWjZX1EvrtyKvAwpnFMgs=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./examples/mounted.sh \
|
||||
|
||||
@@ -62,6 +62,16 @@ stdenv.mkDerivation rec {
|
||||
comment = "Innovate and explore in a sandbox world";
|
||||
categories = [ "Game" ];
|
||||
})
|
||||
|
||||
(makeDesktopItem {
|
||||
name = "vsmodinstall-handler";
|
||||
desktopName = "Vintage Story 1-click Mod Install Handler";
|
||||
comment = "Handler for vintagestorymodinstall:// URI scheme";
|
||||
exec = "vintagestory -i %u";
|
||||
mimeTypes = [ "x-scheme-handler/vintagestorymodinstall" ];
|
||||
noDisplay = true;
|
||||
terminal = false;
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -17,16 +17,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "voxinput";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "richiejp";
|
||||
repo = "VoxInput";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-04RLlE8e8W6vTOz7GF8yEkysp3cwTSOgE1Uk7qXG/ws=";
|
||||
hash = "sha256-+W+xaPYwofYdsV8C2G7hOugUekrdmA6Q0o4xUvbbLlg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0osfAJROLn8Iru576M5lq5dwFaw2PVBs6LBscZf3Vxw=";
|
||||
vendorHash = "sha256-HOXjD4mwvK3jcFmpZyvKB7WOfpCIDlUWJTJSTN7wFXM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
||||
@@ -82,6 +82,14 @@ let
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Link missing libfontconfig to fix font discovery
|
||||
# https://github.com/warpdotdev/Warp/issues/5793
|
||||
patchelf \
|
||||
--add-needed libfontconfig.so.1 \
|
||||
$out/opt/warpdotdev/warp-terminal/warp
|
||||
'';
|
||||
});
|
||||
|
||||
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
@@ -48,15 +48,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
# error: linker `rust-lld` not found
|
||||
!isAarch64;
|
||||
|
||||
# prevent $out from being propagated to $dev:
|
||||
# the library and header files are not dependent on the binaries
|
||||
propagatedBuildOutputs = [ ];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
inherit (stdenv.targetPlatform.rust) cargoShortTarget;
|
||||
in
|
||||
''
|
||||
# move libs from out to dev
|
||||
install -d -m 0755 $dev/lib
|
||||
install -m 0644 ''${!outputLib}/lib/* $dev/lib
|
||||
rm -r ''${!outputLib}/lib
|
||||
moveToOutput lib $dev
|
||||
|
||||
# copy the build.rs generated c-api headers
|
||||
# https://github.com/rust-lang/cargo/issues/9661
|
||||
@@ -89,6 +90,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
ereslibre
|
||||
matthewbauer
|
||||
nekowinston
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
changelog = "https://github.com/bytecodealliance/wasmtime/blob/v${finalAttrs.version}/RELEASES.md";
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
hicolor-icon-theme,
|
||||
jdupes,
|
||||
boldPanelIcons ? false,
|
||||
blackPanelIcons ? false,
|
||||
alternativeIcons ? false,
|
||||
themeVariants ? [ ],
|
||||
}:
|
||||
@@ -65,7 +64,6 @@ lib.checkListOfEnum "${pname}: theme variants"
|
||||
--theme ${builtins.toString themeVariants} \
|
||||
${lib.optionalString alternativeIcons "--alternative"} \
|
||||
${lib.optionalString boldPanelIcons "--bold"} \
|
||||
${lib.optionalString blackPanelIcons "--black"}
|
||||
|
||||
jdupes --link-soft --recurse $out/share
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-Z/hrrrHS1IgecPSUHZ0u0yNFEyZsohPF52jgeMPQr28=";
|
||||
x86_64-linux = "sha256-Hg7jrY8omkoT5+W55Tqdq+83AZ7hRO73GcN4MMehpoI=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
@@ -48,7 +48,7 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "xpipe";
|
||||
version = "18.0.1";
|
||||
version = "18.4";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
stdenv,
|
||||
callPackage,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
davix,
|
||||
cmake,
|
||||
gtest,
|
||||
@@ -30,16 +31,25 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xrootd";
|
||||
version = "5.8.1";
|
||||
version = "5.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xrootd";
|
||||
repo = "xrootd";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-zeyg/VdzcWbMXuCE1RELiyGg9mytfpNfIa911BwqqIA=";
|
||||
hash = "sha256-r0wXAlm+K6TE6189QyZL/k3q5IKlouSBKWzWXz1Tws4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Downgrade -Wnull-dereference from error to warning
|
||||
# Should be removed in the release after next
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/xrootd/xrootd/commit/135b33b9631891219889fcaad449a4efb5e77d95.patch";
|
||||
hash = "sha256-t6Cy2XWp3B+sbMBxLhsh3WjQlXg4Tb7fF+rGGgYollU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs genversion.sh
|
||||
substituteInPlace cmake/XRootDConfig.cmake.in \
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
libxml2,
|
||||
libyaml,
|
||||
libffi,
|
||||
llvmPackages_15,
|
||||
llvmPackages_18,
|
||||
llvmPackages_19,
|
||||
llvmPackages_20,
|
||||
llvmPackages_21,
|
||||
makeWrapper,
|
||||
openssl,
|
||||
pcre2,
|
||||
@@ -168,11 +169,7 @@ let
|
||||
export threads=$NIX_BUILD_CORES
|
||||
export CRYSTAL_CACHE_DIR=$TMP
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.11
|
||||
|
||||
# Available since 1.13.0 https://github.com/crystal-lang/crystal/pull/14574
|
||||
if [[ -f src/SOURCE_DATE_EPOCH ]]; then
|
||||
export SOURCE_DATE_EPOCH="$(<src/SOURCE_DATE_EPOCH)"
|
||||
fi
|
||||
export SOURCE_DATE_EPOCH="$(<src/SOURCE_DATE_EPOCH)"
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
@@ -296,19 +293,11 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
# When removing this version, also remove checks for src/SOURCE_DATE_EPOCH existence
|
||||
crystal_1_11 = generic {
|
||||
version = "1.11.2";
|
||||
sha256 = "sha256-BBEDWqFtmFUNj0kuGBzv71YHO3KjxV4d2ySTCD4HhLc=";
|
||||
binary = binaryCrystal_1_10;
|
||||
llvmPackages = llvmPackages_15;
|
||||
};
|
||||
|
||||
crystal_1_14 = generic {
|
||||
version = "1.14.1";
|
||||
sha256 = "sha256-cQWK92BfksOW8GmoXn4BmPGJ7CLyLAeKccOffQMh5UU=";
|
||||
binary = binaryCrystal_1_10;
|
||||
llvmPackages = llvmPackages_18;
|
||||
llvmPackages = llvmPackages_19;
|
||||
doCheck = false; # Some compiler spec problems on x86-64_linux with the .0 release
|
||||
};
|
||||
|
||||
@@ -316,7 +305,7 @@ rec {
|
||||
version = "1.15.1";
|
||||
sha256 = "sha256-L/Q8yZdDq/wn4kJ+zpLfi4pxznAtgjxTCbLnEiCC2K0=";
|
||||
binary = binaryCrystal_1_10;
|
||||
llvmPackages = llvmPackages_18;
|
||||
llvmPackages = llvmPackages_19;
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
@@ -324,7 +313,7 @@ rec {
|
||||
version = "1.16.3";
|
||||
sha256 = "sha256-U9H1tHUMyDNicZnXzEccDki5bGXdV0B2Wu2PyCksPVI=";
|
||||
binary = binaryCrystal_1_10;
|
||||
llvmPackages = llvmPackages_18;
|
||||
llvmPackages = llvmPackages_20;
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
@@ -332,7 +321,7 @@ rec {
|
||||
version = "1.17.1";
|
||||
sha256 = "sha256-+wHhozPhpIsfQy1Lw+V48zvuWCfXzT4IC9KA1AU/DLw=";
|
||||
binary = binaryCrystal_1_10;
|
||||
llvmPackages = llvmPackages_18;
|
||||
llvmPackages = llvmPackages_21;
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
lux-cli,
|
||||
nix,
|
||||
openssl,
|
||||
perl,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
}:
|
||||
@@ -31,6 +32,7 @@ rustPlatform.buildRustPackage rec {
|
||||
cargoHash = lux-cli.cargoHash;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
];
|
||||
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ckzg";
|
||||
version = "2.1.1";
|
||||
version = "2.1.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ethereum";
|
||||
repo = "c-kzg-4844";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-U7UwKhXrf3uEjvHaQgGS7NAUrtTrbsXYKIHKy/VYA7M=";
|
||||
hash = "sha256-B06Nm3D3+m2dEkQthDFowY0MfOOW5TUo324zO5PVSlA=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-filer";
|
||||
version = "3.3.1";
|
||||
version = "3.3.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
owner = "django-cms";
|
||||
repo = "django-filer";
|
||||
tag = version;
|
||||
hash = "sha256-9Gy6yXYRCARXAqJ9+ZoDbNAEQGzhLLtJzbAevF+j/2Q=";
|
||||
hash = "sha256-XB+imTAcWCj9C6bNAo+uEdrshYKBlhxYXT37l92VW9M=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "metaflow";
|
||||
version = "2.17.1";
|
||||
version = "2.18.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Netflix";
|
||||
repo = "metaflow";
|
||||
tag = version;
|
||||
hash = "sha256-SOXgIAdbpnAnxxU4fxXd65EoAcJVdCS/owScjb/bBTk=";
|
||||
hash = "sha256-hQ1it/hiTsLAQa5OLWf5tZsZFG6p/TX8Z6+jGZxSTfg=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "open-clip-torch";
|
||||
version = "3.0.0";
|
||||
version = "3.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mlfoundations";
|
||||
repo = "open_clip";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-MMvDg5opsu9ILGHc1rJjWQfTb3T0PZ0i+8GSrQvIu8Y=";
|
||||
hash = "sha256-xDXxhncX0l9qwbV4Gk4rOROH6Qyit/FSTgjrg4Vbk1s=";
|
||||
};
|
||||
|
||||
build-system = [ pdm-backend ];
|
||||
|
||||
@@ -47,7 +47,7 @@ buildPythonPackage rec {
|
||||
pillow
|
||||
pyjpegls
|
||||
#pylibjpeg.optional-dependencies.openjpeg # infinite recursion
|
||||
#pylibjpeg.optional-dependencies.rle # not in nixpkgs
|
||||
#pylibjpeg.optional-dependencies.rle # infinite recursion
|
||||
pylibjpeg-libjpeg
|
||||
gdcm
|
||||
];
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
cargo,
|
||||
rustPlatform,
|
||||
rustc,
|
||||
numpy,
|
||||
pydicom,
|
||||
pylibjpeg-data,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pylibjpeg-rle";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydicom";
|
||||
repo = "pylibjpeg-rle";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-S9QBZEYfM9cwhwycF9TDpHv44z6fXTu3wBr4ZZHxXR8=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit pname version src;
|
||||
hash = "sha256-ZkaDnG7wXQeaefASdsUFxuDKxjLukczyJeUgfG9uIyo=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
cargo
|
||||
rustPlatform.cargoSetupHook
|
||||
rustPlatform.maturinBuildHook
|
||||
rustc
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pydicom
|
||||
pylibjpeg-data
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
mv rle/tests .
|
||||
rm -r rle
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"rle"
|
||||
"rle.rle"
|
||||
"rle.utils"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Fast DICOM RLE plugin for pylibjpeg";
|
||||
homepage = "https://github.com/pydicom/pylibjpeg-rle";
|
||||
changelog = "https://github.com/pydicom/pylibjpeg-rle/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ bcdarwin ];
|
||||
};
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
pylibjpeg-data,
|
||||
pylibjpeg-libjpeg,
|
||||
pylibjpeg-openjpeg,
|
||||
pylibjpeg-rle,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -30,11 +31,15 @@ buildPythonPackage rec {
|
||||
|
||||
dependencies = [ numpy ];
|
||||
|
||||
optional-dependencies = {
|
||||
libjpeg = [ pylibjpeg-libjpeg ];
|
||||
openjpeg = [ pylibjpeg-openjpeg ];
|
||||
#rle = [ pylibjpeg-rle ]; # not in Nixpkgs
|
||||
};
|
||||
optional-dependencies =
|
||||
let
|
||||
extras = {
|
||||
libjpeg = [ pylibjpeg-libjpeg ];
|
||||
openjpeg = [ pylibjpeg-openjpeg ];
|
||||
rle = [ pylibjpeg-rle ];
|
||||
};
|
||||
in
|
||||
extras // { all = lib.concatLists (lib.attrValues extras); };
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pythonAtLeast,
|
||||
|
||||
# build-system
|
||||
packaging,
|
||||
setuptools,
|
||||
wheel,
|
||||
|
||||
# dependencies
|
||||
alembic,
|
||||
@@ -25,50 +27,64 @@
|
||||
python-magic,
|
||||
redis,
|
||||
requests,
|
||||
rich,
|
||||
sqlalchemy,
|
||||
statsd,
|
||||
stomp-py,
|
||||
tabulate,
|
||||
typing-extensions,
|
||||
urllib3,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "rucio";
|
||||
version = "37.7.1";
|
||||
pyproject = true;
|
||||
let
|
||||
version = "38.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rucio";
|
||||
repo = "rucio";
|
||||
tag = version;
|
||||
hash = "sha256-PZ6g/ILs1ed+lxcH2GyV1YJyJqLgYb5/xQ31OXiXnBU=";
|
||||
hash = "sha256-/uA1PfP5K/Z22QcqQKez70dQJ4lTOLiQHQwEi1mkLPo=";
|
||||
};
|
||||
in
|
||||
buildPythonPackage {
|
||||
pname = "rucio";
|
||||
inherit version src;
|
||||
pyproject = true;
|
||||
|
||||
# future-1.0.0 not supported for interpreter python3.13
|
||||
disabled = pythonAtLeast "3.13";
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"alembic"
|
||||
"argcomplete"
|
||||
"boto3"
|
||||
"dogpile.cache"
|
||||
"flask"
|
||||
"geoip2"
|
||||
"google-auth"
|
||||
"jsonschema"
|
||||
"oic"
|
||||
"packaging"
|
||||
"paramiko"
|
||||
"prometheus_client"
|
||||
"python-dateutil"
|
||||
"redis"
|
||||
"requests"
|
||||
"rich"
|
||||
"sqlalchemy"
|
||||
"stomp.py"
|
||||
"typing_extensions"
|
||||
"urllib3"
|
||||
];
|
||||
|
||||
pythonRemoveDeps = [ "boto" ];
|
||||
|
||||
build-system = [
|
||||
packaging
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
@@ -82,6 +98,7 @@ buildPythonPackage rec {
|
||||
google-auth
|
||||
jsonschema
|
||||
oic
|
||||
packaging
|
||||
paramiko
|
||||
prometheus-client
|
||||
pymemcache
|
||||
@@ -89,10 +106,12 @@ buildPythonPackage rec {
|
||||
python-magic
|
||||
redis
|
||||
requests
|
||||
rich
|
||||
sqlalchemy
|
||||
statsd
|
||||
stomp-py
|
||||
tabulate
|
||||
typing-extensions
|
||||
urllib3
|
||||
];
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sphinxext-opengraph";
|
||||
version = "0.12.0";
|
||||
version = "0.13.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "wpilibsuite";
|
||||
repo = "sphinxext-opengraph";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-2ch9BxgrqbfIJ8fzFKYscha4+G7OAVz+OIOqYwX2gSA=";
|
||||
hash = "sha256-rdV6XWHfNj+TFgIfqFPWYxn6bGG5w/frUHl9+qMALi4=";
|
||||
};
|
||||
|
||||
build-system = [ flit-core ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
callPackage,
|
||||
fetchurl,
|
||||
fetchgit,
|
||||
lib,
|
||||
stdenv,
|
||||
gtk3,
|
||||
@@ -16,11 +16,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sparse";
|
||||
version = "0.6.4";
|
||||
version = "0.6.4-unstable-2024-02-03";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/software/devel/sparse/dist/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-arKLSZG8au29c1UCkTYKpqs99B9ZIGqb3paQIIpuOHw=";
|
||||
src = fetchgit {
|
||||
url = "https://git.kernel.org/pub/scm/devel/sparse/sparse.git";
|
||||
rev = "0196afe16a50c76302921b139d412e82e5be2349";
|
||||
hash = "sha256-Fft3hm988Xw92WIwXEoVoX7xzzkDhKy+bn9YuQIOhSk=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
pkg-config,
|
||||
qttools,
|
||||
@@ -24,23 +23,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gammaray";
|
||||
version = "3.1.0";
|
||||
version = "3.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KDAB";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mJw9yckbkFVYZlcakai/hH/gAD0xOQir5JqGMNnB/dE=";
|
||||
hash = "sha256-tQZg8i83TGUvl2BgYrv2kMEzZZI9SXKr5DQhqJ2nBrU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "fix-build-for-Qt-6_9.patch";
|
||||
url = "https://github.com/KDAB/GammaRay/commit/750195c8172bc7c2e805cbf28d3993d65c17b5a0.patch";
|
||||
hash = "sha256-HQLOOkNmrGMoBDAK5am/NePnAF3Jsa5F0WyUjaJ2tYw=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mongodb_exporter";
|
||||
version = "0.47.0";
|
||||
version = "0.47.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "percona";
|
||||
repo = "mongodb_exporter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZLZhWOuFjyJgUi7ygn0fNf7z2PGj21Dl2EVmUsluyyc=";
|
||||
hash = "sha256-UYV72Q+dDWiS4/sg4sVi68ZA67iSe7J5H/Iq4i7tNgY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-iKlwb2ig5yil2ekemC6NKzJ1t3tYFGu6R/QPXITJJxc=";
|
||||
vendorHash = "sha256-CE2gSvMEXeOuevFrD3b6bhlFrfQ6Y0Qa+HIhcTp9oiQ=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -4,26 +4,36 @@
|
||||
fetchFromGitHub,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
subPackages = [ "cmd" ];
|
||||
postInstall = ''
|
||||
mv $out/bin/cmd $out/bin/script_exporter
|
||||
'';
|
||||
|
||||
pname = "script_exporter";
|
||||
version = "1.2.0";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "adhocteam";
|
||||
owner = "ricoberger";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-t/xgRalcHxEcT1peU1ePJUItD02rQdfz1uWpXDBo6C0=";
|
||||
hash = "sha256-09WpxXPNk2Pza9RrD3OLru4aY0LR98KgsHK7It/qRgs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Hs1SNpC+t1OCcoF3FBgpVGkhR97ulq6zYhi8BQlgfVc=";
|
||||
postPatch = ''
|
||||
# Patch out failing test assertion in handler_test.go
|
||||
# Insert t.Skip at the start of TestHandler to skip it cleanly
|
||||
sed -i '/func TestHandler/a\\ t.Skip("skipped in Nix build")' prober/handler_test.go
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-Rs7P7uVvfhWteiR10LeG4fWZqbNqDf3QQotgNvTMTX4=";
|
||||
|
||||
passthru.tests = { inherit (nixosTests.prometheus-exporters) script; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Shell script prometheus exporter";
|
||||
mainProgram = "script_exporter";
|
||||
homepage = "https://github.com/adhocteam/script_exporter";
|
||||
homepage = "https://github.com/ricoberger/script_exporter";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Flakebi ];
|
||||
platforms = platforms.linux;
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
bzip2,
|
||||
zlib,
|
||||
autoconf,
|
||||
automake,
|
||||
cmake,
|
||||
help2man,
|
||||
texinfo,
|
||||
libtool,
|
||||
cppzmq,
|
||||
libarchive,
|
||||
avro-cpp,
|
||||
boost,
|
||||
zeromq,
|
||||
openssl,
|
||||
pam,
|
||||
libiodbc,
|
||||
libkrb5,
|
||||
gcc,
|
||||
libcxx,
|
||||
which,
|
||||
catch2,
|
||||
nanodbc,
|
||||
fmt,
|
||||
nlohmann_json,
|
||||
curl,
|
||||
spdlog_rods,
|
||||
bison,
|
||||
flex,
|
||||
}:
|
||||
|
||||
# Common attributes of irods packages
|
||||
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
cmake
|
||||
help2man
|
||||
texinfo
|
||||
which
|
||||
gcc
|
||||
bison
|
||||
flex
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
zlib
|
||||
libtool
|
||||
cppzmq
|
||||
libarchive
|
||||
avro-cpp
|
||||
zeromq
|
||||
openssl
|
||||
pam
|
||||
libiodbc
|
||||
libkrb5
|
||||
boost
|
||||
libcxx
|
||||
catch2
|
||||
nanodbc
|
||||
fmt
|
||||
nlohmann_json
|
||||
spdlog_rods
|
||||
curl
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DIRODS_EXTERNALS_FULLPATH_CLANG=${stdenv.cc}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_CLANG_RUNTIME=${stdenv.cc}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_ARCHIVE=${libarchive.lib}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_AVRO=${avro-cpp}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_BOOST=${boost}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_ZMQ=${zeromq}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_CPPZMQ=${cppzmq}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_CATCH2=${catch2}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_NANODBC=${nanodbc}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_FMT=${fmt}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_JSON=${nlohmann_json}"
|
||||
"-DIRODS_EXTERNALS_FULLPATH_SPDLOG=${spdlog_rods}"
|
||||
"-DIRODS_LINUX_DISTRIBUTION_NAME=nix"
|
||||
"-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=1.0"
|
||||
"-DCPACK_GENERATOR=TGZ"
|
||||
"-DCMAKE_CXX_FLAGS=-I${lib.getDev libcxx}/include/c++/v1"
|
||||
"-DPAM_LIBRARY=${pam}/lib/libpam.so"
|
||||
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
|
||||
"-DIRODS_HOME_DIRECTORY=${placeholder "out"}"
|
||||
"-DCMAKE_INSTALL_SBINDIR=${placeholder "out"}/sbin"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./packaging ./scripts
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Integrated Rule-Oriented Data System (iRODS)";
|
||||
longDescription = ''
|
||||
The Integrated Rule-Oriented Data System (iRODS) is open source data management
|
||||
software used by research organizations and government agencies worldwide.
|
||||
iRODS is released as a production-level distribution aimed at deployment in mission
|
||||
critical environments. It virtualizes data storage resources, so users can take
|
||||
control of their data, regardless of where and on what device the data is stored.
|
||||
As data volumes grow and data services become more complex, iRODS is increasingly
|
||||
important in data management. The development infrastructure supports exhaustive
|
||||
testing on supported platforms; plug-in support for microservices, storage resources,
|
||||
drivers, and databases; and extensive documentation, training and support services.'';
|
||||
homepage = "https://irods.org";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [ lib.maintainers.bzizou ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,169 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
bzip2,
|
||||
zlib,
|
||||
autoconf,
|
||||
automake,
|
||||
cmake,
|
||||
help2man,
|
||||
texinfo,
|
||||
libtool,
|
||||
cppzmq,
|
||||
libarchive,
|
||||
avro-cpp_llvm,
|
||||
boost,
|
||||
zeromq,
|
||||
openssl,
|
||||
pam,
|
||||
libiodbc,
|
||||
libkrb5,
|
||||
gcc,
|
||||
libcxx,
|
||||
which,
|
||||
catch2,
|
||||
nanodbc_llvm,
|
||||
fmt,
|
||||
nlohmann_json,
|
||||
spdlog_llvm,
|
||||
curl,
|
||||
bison,
|
||||
flex,
|
||||
}:
|
||||
|
||||
let
|
||||
spdlog_rods = spdlog_llvm.overrideAttrs (attrs: {
|
||||
inherit stdenv;
|
||||
version = "1.10.0";
|
||||
src = attrs.src.override {
|
||||
rev = "v1.10.0";
|
||||
hash = "sha256-c6s27lQCXKx6S1FhZ/LiKh14GnXMhZtD1doltU4Avws=";
|
||||
};
|
||||
postPatch = ''
|
||||
substituteInPlace cmake/spdlog.pc.in \
|
||||
--replace-fail '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
|
||||
'';
|
||||
});
|
||||
in
|
||||
let
|
||||
avro-cpp = avro-cpp_llvm;
|
||||
nanodbc = nanodbc_llvm;
|
||||
|
||||
common = import ./common.nix {
|
||||
inherit
|
||||
lib
|
||||
stdenv
|
||||
bzip2
|
||||
zlib
|
||||
autoconf
|
||||
automake
|
||||
cmake
|
||||
help2man
|
||||
texinfo
|
||||
libtool
|
||||
cppzmq
|
||||
libarchive
|
||||
zeromq
|
||||
openssl
|
||||
pam
|
||||
libiodbc
|
||||
libkrb5
|
||||
gcc
|
||||
libcxx
|
||||
boost
|
||||
avro-cpp
|
||||
which
|
||||
catch2
|
||||
nanodbc
|
||||
fmt
|
||||
nlohmann_json
|
||||
curl
|
||||
spdlog_rods
|
||||
bison
|
||||
flex
|
||||
;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
|
||||
# irods: libs and server package
|
||||
irods = stdenv.mkDerivation (
|
||||
finalAttrs:
|
||||
common
|
||||
// {
|
||||
version = "4.3.3";
|
||||
pname = "irods";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "irods";
|
||||
repo = "irods";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-SmN2FzeoA2/gjiDfGs2oifOVj0mK2WdQCgiSdIlENfk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# fix build with recent llvm versions
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-deprecated-register -Wno-deprecated-declarations";
|
||||
|
||||
cmakeFlags = common.cmakeFlags or [ ] ++ [
|
||||
"-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${placeholder "out"}/lib -D_GLIBCXX_USE_CXX11_ABI=0"
|
||||
"-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,${placeholder "out"}/lib"
|
||||
"-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath,${placeholder "out"}/lib"
|
||||
];
|
||||
|
||||
postPatch = common.postPatch + ''
|
||||
patchShebangs ./test
|
||||
substituteInPlace plugins/database/CMakeLists.txt --replace-fail "COMMAND cpp" "COMMAND ${gcc.cc}/bin/cpp"
|
||||
for file in unit_tests/cmake/test_config/*.cmake
|
||||
do
|
||||
substituteInPlace $file --replace-quiet "CATCH2}/include" "CATCH2}/include/catch2"
|
||||
done
|
||||
|
||||
substituteInPlace server/auth/CMakeLists.txt --replace-fail SETUID ""
|
||||
'';
|
||||
|
||||
meta = common.meta // {
|
||||
longDescription = common.meta.longDescription + "This package provides the servers and libraries.";
|
||||
mainProgram = "irodsServer";
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
# icommands (CLI) package, depends on the irods package
|
||||
irods-icommands = stdenv.mkDerivation (
|
||||
finalAttrs:
|
||||
common
|
||||
// {
|
||||
version = "4.3.3";
|
||||
pname = "irods-icommands";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "irods";
|
||||
repo = "irods_client_icommands";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-cc0V6BztJk3njobWt27VeJNmQUXyH6aBJkvYIDFEzWY=";
|
||||
};
|
||||
|
||||
buildInputs = common.buildInputs ++ [ irods ];
|
||||
|
||||
postPatch = common.postPatch + ''
|
||||
patchShebangs ./bin
|
||||
'';
|
||||
|
||||
cmakeFlags = common.cmakeFlags ++ [
|
||||
"-DCMAKE_INSTALL_PREFIX=${stdenv.out}"
|
||||
"-DIRODS_DIR=${irods}/lib/irods/cmake"
|
||||
"-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
|
||||
"-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
|
||||
"-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
|
||||
];
|
||||
|
||||
meta = common.meta // {
|
||||
description = common.meta.description + " CLI clients";
|
||||
longDescription =
|
||||
common.meta.longDescription + "This package provides the CLI clients, called 'icommands'.";
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -1,18 +1,5 @@
|
||||
From be4c852769e260e3a9b516bb5626a6a6a68a2cd3 Mon Sep 17 00:00:00 2001
|
||||
From: roblabla <unfiltered@roblab.la>
|
||||
Date: Wed, 31 Jan 2024 13:19:55 +0100
|
||||
Subject: [PATCH] Use com.google.protobuf:protobuf-gradle-plugin
|
||||
|
||||
---
|
||||
Ghidra/Debug/Debugger-isf/build.gradle | 8 +-
|
||||
Ghidra/Debug/Debugger-rmi-trace/build.gradle | 16 ++--
|
||||
build.gradle | 6 ++
|
||||
gradle/hasProtobuf.gradle | 94 --------------------
|
||||
4 files changed, 22 insertions(+), 102 deletions(-)
|
||||
delete mode 100644 gradle/hasProtobuf.gradle
|
||||
|
||||
diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle
|
||||
index f6c8464405..396b52d188 100644
|
||||
index 2db94ed67e..925f394cf0 100644
|
||||
--- a/Ghidra/Debug/Debugger-isf/build.gradle
|
||||
+++ b/Ghidra/Debug/Debugger-isf/build.gradle
|
||||
@@ -18,11 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
||||
@@ -32,10 +19,10 @@ index f6c8464405..396b52d188 100644
|
||||
+}
|
||||
+
|
||||
dependencies {
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':ProposedUtils')
|
||||
}
|
||||
diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||
index 8b6589f035..05da5a7a7e 100644
|
||||
index 4fa3b9a539..2663aeaeb0 100644
|
||||
--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||
+++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||
@@ -19,12 +19,17 @@ apply from: "${rootProject.projectDir}/gradle/helpProject.gradle"
|
||||
@@ -56,25 +43,27 @@ index 8b6589f035..05da5a7a7e 100644
|
||||
+}
|
||||
+
|
||||
dependencies {
|
||||
api project(':ProposedUtils')
|
||||
api project(':Pty')
|
||||
api project(':Debugger')
|
||||
@@ -44,12 +49,9 @@ task generateProtoPy {
|
||||
ext.outdir = file("build/generated/source/proto/main/py")
|
||||
outputs.dir(outdir)
|
||||
inputs.files(src)
|
||||
@@ -37,13 +42,10 @@ dependencies {
|
||||
}
|
||||
|
||||
task configureGenerateProtoPy {
|
||||
- dependsOn(configurations.protocArtifact)
|
||||
+ dependsOn(protobuf.generateProtoTasks.all())
|
||||
doLast {
|
||||
|
||||
- doLast {
|
||||
- def exe = configurations.protocArtifact.first()
|
||||
- if (!isCurrentWindows()) {
|
||||
- exe.setExecutable(true)
|
||||
- }
|
||||
+ doLast {
|
||||
+ def exe = protobuf.tools.protoc.path
|
||||
exec {
|
||||
commandLine exe, "--python_out=$outdir", "-I$srcdir"
|
||||
args src
|
||||
generateProtoPy.commandLine exe
|
||||
generateProtoPy.args "--python_out=${generateProtoPy.outdir}"
|
||||
generateProtoPy.args "--pyi_out=${generateProtoPy.stubsOutdir}"
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 2d75307a08..aa8f1d7604 100644
|
||||
index 159eb7dd7b..ef4add1ad8 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -80,6 +80,12 @@ if (flatRepo.isDirectory()) {
|
||||
@@ -92,19 +81,19 @@ index 2d75307a08..aa8f1d7604 100644
|
||||
else {
|
||||
diff --git a/gradle/hasProtobuf.gradle b/gradle/hasProtobuf.gradle
|
||||
deleted file mode 100644
|
||||
index 23b4ce74bb..0000000000
|
||||
index a8c176bcbe..0000000000
|
||||
--- a/gradle/hasProtobuf.gradle
|
||||
+++ /dev/null
|
||||
@@ -1,94 +0,0 @@
|
||||
@@ -1,98 +0,0 @@
|
||||
-/* ###
|
||||
- * IP: GHIDRA
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@@ -157,7 +146,22 @@ index 23b4ce74bb..0000000000
|
||||
- }
|
||||
-}*/
|
||||
-
|
||||
-task generateProto {
|
||||
-task configureGenerateProto {
|
||||
- dependsOn(configurations.protocArtifact)
|
||||
-
|
||||
- doLast {
|
||||
- def exe = configurations.protocArtifact.first()
|
||||
- if (!isCurrentWindows()) {
|
||||
- exe.setExecutable(true)
|
||||
- }
|
||||
- generateProto.commandLine exe, "--java_out=${generateProto.outdir}", "-I${generateProto.srcdir}"
|
||||
- generateProto.args generateProto.src
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-// Can't use providers.exec, or else we see no output
|
||||
-task generateProto(type:Exec) {
|
||||
- dependsOn(configureGenerateProto)
|
||||
- ext.srcdir = file("src/main/proto")
|
||||
- ext.src = fileTree(srcdir) {
|
||||
- include "**/*.proto"
|
||||
@@ -165,17 +169,6 @@ index 23b4ce74bb..0000000000
|
||||
- ext.outdir = file("build/generated/source/proto/main/java")
|
||||
- outputs.dir(outdir)
|
||||
- inputs.files(src)
|
||||
- dependsOn(configurations.protocArtifact)
|
||||
- doLast {
|
||||
- def exe = configurations.protocArtifact.first()
|
||||
- if (!isCurrentWindows()) {
|
||||
- exe.setExecutable(true)
|
||||
- }
|
||||
- exec {
|
||||
- commandLine exe, "--java_out=$outdir", "-I$srcdir"
|
||||
- args src
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-tasks.compileJava.dependsOn(tasks.generateProto)
|
||||
@@ -190,6 +183,3 @@ index 23b4ce74bb..0000000000
|
||||
- }
|
||||
-}
|
||||
-zipSourceSubproject.dependsOn generateProto
|
||||
--
|
||||
2.47.0
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
let
|
||||
pkg_path = "$out/lib/ghidra";
|
||||
pname = "ghidra";
|
||||
version = "11.3.2";
|
||||
version = "11.4.2";
|
||||
|
||||
isMacArm64 = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
|
||||
|
||||
@@ -30,7 +30,7 @@ let
|
||||
owner = "NationalSecurityAgency";
|
||||
repo = "Ghidra";
|
||||
rev = "Ghidra_${version}_build";
|
||||
hash = "sha256-EvIOC/VIUaEl7eneVzgEt2fhLSP9DaawMAutk4ouFp8=";
|
||||
hash = "sha256-/veSp2WuGOF0cYwUC4QFJD6kaMae5NuKrQ5Au4LjDe8=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
||||
@@ -28,12 +28,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghidra";
|
||||
version = "11.3.2";
|
||||
versiondate = "20250415";
|
||||
|
||||
version = "11.4.2";
|
||||
versiondate = "20250826";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_${version}_build/ghidra_${version}_PUBLIC_${versiondate}.zip";
|
||||
hash = "sha256-97L3BueekbZfFAdiLX1DHlVSzNyspu4exafpFVraMWE=";
|
||||
hash = "sha256-5illpD+kWZfwtN8QpSJFcnsTrOPpvll3zNXR5r5q7jA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
Generated
+69
-31
@@ -99,11 +99,14 @@
|
||||
}
|
||||
},
|
||||
"https://ftp.postgresql.org": {
|
||||
"pub/source/v15.10/postgresql-15.10": {
|
||||
"tar.gz": "sha256-FzNmYFJZqD3BicQyf/TDclSv7WW0+GbL2KXvLqRJ6PM="
|
||||
"pub/source/v15.13/postgresql-15.13": {
|
||||
"tar.gz": "sha256-r9wisKblvse2VyN1a5DUTqkR5hsvewHE3FUkq4E7TYk="
|
||||
}
|
||||
},
|
||||
"https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.3.2": {
|
||||
"https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.4.2": {
|
||||
"Debugger/dbgmodel": {
|
||||
"tlb": "sha256-jPXzouuBFgqjSQVqXKTCxyaxtumL8wl81BNRRxYzQ8c="
|
||||
},
|
||||
"FunctionID/vs2012_x64": {
|
||||
"fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw="
|
||||
},
|
||||
@@ -283,6 +286,10 @@
|
||||
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
||||
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
|
||||
},
|
||||
"commons-codec#commons-codec/1.18.0": {
|
||||
"jar": "sha256-ugBfMEzvkqPe3iSjitWsm4r8zw2PdYOdbBM4Y0z39uQ=",
|
||||
"pom": "sha256-dLkW2ksDhMYZ5t1MGN7+iqQ4f3lSBSU8+0u7L0WM3c4="
|
||||
},
|
||||
"commons-collections#commons-collections/3.2.2": {
|
||||
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
|
||||
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
|
||||
@@ -291,6 +298,10 @@
|
||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"commons-io#commons-io/2.19.0": {
|
||||
"jar": "sha256-gkJokZtLYvn0DwjFQ4HeWZOwePWGZ+My0XNIrgGdcrk=",
|
||||
"pom": "sha256-VCt6UC7WGVDRuDEStRsWF9NAfjpN9atWqY12Dg+MWVA="
|
||||
},
|
||||
"commons-lang#commons-lang/2.6": {
|
||||
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
|
||||
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
|
||||
@@ -332,9 +343,9 @@
|
||||
"jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=",
|
||||
"pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik="
|
||||
},
|
||||
"junit#junit/4.12": {
|
||||
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"kr/motd/maven#os-maven-plugin/1.7.0": {
|
||||
"jar": "sha256-lDBTUBpCnlPRxNYhUu7BJfo2Yg4NxmtzkKiVCXz96s4=",
|
||||
@@ -432,6 +443,9 @@
|
||||
"org/apache#apache/27": {
|
||||
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
||||
},
|
||||
"org/apache#apache/33": {
|
||||
"pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU="
|
||||
},
|
||||
"org/apache#apache/7": {
|
||||
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
||||
},
|
||||
@@ -443,9 +457,9 @@
|
||||
"jar": "sha256-Hfi5QwtcjtFD14FeQD4z71NxskAKrb6b2giDdi4IRtE=",
|
||||
"pom": "sha256-JxvWc4Oa9G5zr/lX4pGNS/lvWsT2xs9NW+k/0fEnHE0="
|
||||
},
|
||||
"org/apache/commons#commons-compress/1.21": {
|
||||
"jar": "sha256-auz9VFlyillWAc+gcljRMZcv/Dm0kutIvdWWV3ovJEo=",
|
||||
"pom": "sha256-Z1uwI8m+7d4yMpSZebl0Kl/qlGKApVobRi1Mp4AQiM0="
|
||||
"org/apache/commons#commons-compress/1.27.1": {
|
||||
"jar": "sha256-KT2A9UtTa3QJXc1+o88KKbv8NAJRkoEzJJX0Qg03DRY=",
|
||||
"pom": "sha256-34zBqDh9TOhCNjtyCf3G0135djg5/T/KtVig+D+dhBw="
|
||||
},
|
||||
"org/apache/commons#commons-dbcp2/2.9.0": {
|
||||
"jar": "sha256-iHcgkSxcu83/bg4h1QNJN1Vfj/xZc4Hv+Pp38zzm1k4=",
|
||||
@@ -454,9 +468,9 @@
|
||||
"org/apache/commons#commons-lang3/3.11": {
|
||||
"pom": "sha256-mA1mXYP+0EZlE08FeOUHRCoOdQaRBzeEORsKeYhySnU="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.12.0": {
|
||||
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
|
||||
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
|
||||
"org/apache/commons#commons-lang3/3.17.0": {
|
||||
"jar": "sha256-bucx31yOWil2ocoCO2uzIOqNNTn75kyKHVy3ZRJ8M7Q=",
|
||||
"pom": "sha256-NRxuSUDpObHzMN9H9g8Tujg9uB7gCBga9UHzoqbSpWw="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.9": {
|
||||
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
|
||||
@@ -488,6 +502,18 @@
|
||||
"org/apache/commons#commons-parent/54": {
|
||||
"pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M="
|
||||
},
|
||||
"org/apache/commons#commons-parent/72": {
|
||||
"pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA="
|
||||
},
|
||||
"org/apache/commons#commons-parent/73": {
|
||||
"pom": "sha256-TtRFYLB/hEhHnf0eg6Qiuk6D5gs25RsocaxQKm1cG+o="
|
||||
},
|
||||
"org/apache/commons#commons-parent/79": {
|
||||
"pom": "sha256-Yo3zAUis08SRz8trc8euS1mJ5VJqsTovQo3qXUrRDXo="
|
||||
},
|
||||
"org/apache/commons#commons-parent/81": {
|
||||
"pom": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ="
|
||||
},
|
||||
"org/apache/commons#commons-pool2/2.11.1": {
|
||||
"jar": "sha256-6gUF7nUV5YsawOaG5NGl2ffYCOJRphvDcaoFlbmWP4M=",
|
||||
"pom": "sha256-wbsCmUpK34loDfepitujPFUnaDAUJy1liFuzA27NSMM="
|
||||
@@ -523,17 +549,17 @@
|
||||
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||
},
|
||||
"org/bouncycastle#bcpkix-jdk15on/1.69": {
|
||||
"jar": "sha256-QIN20Xqqh4nnrNBV/kBCiaEfozX9fGinUykEn7fSjtI=",
|
||||
"pom": "sha256-WrvkytLCMJR0ZvsgmiJn48xqDTgKajGRWVnTqtm4F2w="
|
||||
"org/bouncycastle#bcpkix-jdk18on/1.80": {
|
||||
"jar": "sha256-T0umqSYX6hncGD8PpdtJLu5Cb93ioKLWyUd3/9GvZBM=",
|
||||
"pom": "sha256-pKEiETRntyjhjyb7DP1X8LGg18SlO4Zxis5wv4uG7Uc="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.69": {
|
||||
"jar": "sha256-5Gm9Ofk2mZ8lYAJjEAP/AioilR2p1b2Xicer+pdjopI=",
|
||||
"pom": "sha256-/YHicUSVvOeeauazAp2s0kzyz/NAJB2lgQVYlae6eN4="
|
||||
"org/bouncycastle#bcprov-jdk18on/1.80": {
|
||||
"jar": "sha256-6K0gn4xY0pGjfKl1Dp6frGBZaVbJg+Sd2Cgjgd2LMkk=",
|
||||
"pom": "sha256-oKdcdtkcQh7qVtD2Bi+49j7ff6x+xyT9QgzNytcYHUM="
|
||||
},
|
||||
"org/bouncycastle#bcutil-jdk15on/1.69": {
|
||||
"jar": "sha256-KeQOJGbQQNgqbw6ZY10LwrujqUJRz3k5zwtpMhyu/Ak=",
|
||||
"pom": "sha256-p2e8fzQtGTKJfso8i6zHAEygOAv6dSnyOpc0VJZcffw="
|
||||
"org/bouncycastle#bcutil-jdk18on/1.80": {
|
||||
"jar": "sha256-Iuymh/eVVBH0Vq8z5uqOaPxzzYDLizKqX3qLGCfXxng=",
|
||||
"pom": "sha256-Qhp95L/rnFs4sfxHxCagh9kIeJVdQQf1t6gusde3R7Y="
|
||||
},
|
||||
"org/checkerframework#checker-compat-qual/2.5.2": {
|
||||
"pom": "sha256-da9ztewybj29yUayH9RoAtXafGEsO/Hlh1N0yY1+pP0="
|
||||
@@ -547,10 +573,10 @@
|
||||
"module": "sha256-clinadyqJrmBVNIp2FzHLls2ZrC8tjfS2vFuxJiVZjg=",
|
||||
"pom": "sha256-AjkvvUziGQH5RWFUcrHU1NNZGzqr3wExBfXJLsMstPA="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.42.0": {
|
||||
"jar": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc=",
|
||||
"module": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y=",
|
||||
"pom": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo="
|
||||
"org/checkerframework#checker-qual/3.49.3": {
|
||||
"jar": "sha256-Nn7b8v6fYGwf21qLpuHJwnYlmT4f+VTjho3nC8xkFrc=",
|
||||
"module": "sha256-dv9CWNsfoaC8bOeur0coPfEGD9Q3oJvm7zxcMmnqWtM=",
|
||||
"pom": "sha256-i+QBdkYoXZFCx/sibPuARFwXfcfBNjsj2UH6bJuwXc8="
|
||||
},
|
||||
"org/codehaus#codehaus-parent/3": {
|
||||
"pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE="
|
||||
@@ -579,6 +605,10 @@
|
||||
"jar": "sha256-YwKKfV6V7sjibuBCSxQfh+nalccYTypaSbtD371TsQQ=",
|
||||
"pom": "sha256-zMoEy/7Z60gzSM+6aexh9gvdyfPjwJJLZLsZ0cqy4s0="
|
||||
},
|
||||
"org/commonmark#commonmark-ext-gfm-tables/0.23.0": {
|
||||
"jar": "sha256-WfO2Gthywhg7guygUn14GspFThF31xmMl5WydH0XC3s=",
|
||||
"pom": "sha256-x6/bJCGgs9hFDewHWaPrfBHEqZfTlLd8VR3Bgi3S2Uk="
|
||||
},
|
||||
"org/commonmark#commonmark-ext-heading-anchor/0.23.0": {
|
||||
"jar": "sha256-7O27O1jbcgxhNXwb4boTKlweeczr4B8NPZo25VJCDL0=",
|
||||
"pom": "sha256-95zHry5Zpgc70UwPNKezU0JDO5FxqhdLYzeHRaVuASw="
|
||||
@@ -669,9 +699,17 @@
|
||||
"jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=",
|
||||
"pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.1": {
|
||||
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||
"org/junit#junit-bom/5.11.0": {
|
||||
"module": "sha256-9+2+Z/IgQnCMQQq8VHQI5cR29An1ViNqEXkiEnSi7S0=",
|
||||
"pom": "sha256-5nRZ1IgkJKxjdPQNscj0ouiJRrNAugcsgL6TKivkZE0="
|
||||
},
|
||||
"org/junit#junit-bom/5.11.0-M2": {
|
||||
"module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=",
|
||||
"pom": "sha256-Sj/8Sk7c/sLLXWGZInBqlAcWF5hXGTn4VN/ac+ThfMg="
|
||||
},
|
||||
"org/junit#junit-bom/5.11.4": {
|
||||
"module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=",
|
||||
"pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
@@ -735,9 +773,9 @@
|
||||
"jar": "sha256-jK3UOsXrbQneBfrsyji5F6BAu5E5x+3rTMgcdAtxMoE=",
|
||||
"pom": "sha256-cimwOzCnPukQCActnkVppR2FR/roxQ9SeEGu9MGwuqg="
|
||||
},
|
||||
"org/postgresql#postgresql/42.7.3": {
|
||||
"jar": "sha256-omRMv7obqhRf9+jI71gqbu16fsTKeS9/BUEivex1Ymg=",
|
||||
"pom": "sha256-wqy2hFfZlqjkntB3flklW3RlCXZSOVHxAa25QHXhWIU="
|
||||
"org/postgresql#postgresql/42.7.6": {
|
||||
"jar": "sha256-8qHMA1LdXlxvZdut/ye+4Awy5DLGrQMNB0R/ilmDxCo=",
|
||||
"pom": "sha256-SfNzCJO2khPK99foymodjHaf9mhCHVJS3gBSvFVGp8c="
|
||||
},
|
||||
"org/python#jython-standalone/2.7.4": {
|
||||
"jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=",
|
||||
|
||||
@@ -653,6 +653,7 @@ mapAliases {
|
||||
crystal_1_7 = throw "'crystal_1_7' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13
|
||||
crystal_1_8 = throw "'crystal_1_8' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13
|
||||
crystal_1_9 = throw "'crystal_1_9' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13
|
||||
crystal_1_11 = throw "'crystal_1_11' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-09-04
|
||||
crystal_1_12 = throw "'crystal_1_12' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-19
|
||||
clash-geoip = throw "'clash-geoip' has been removed. Consider using 'dbip-country-lite' instead."; # added 2024-10-19
|
||||
clash-verge = throw "'clash-verge' has been removed, as it was broken and unmaintained. Consider using 'clash-verge-rev' or 'clash-nyanpasu' instead"; # Added 2024-09-17
|
||||
|
||||
@@ -3137,8 +3137,6 @@ with pkgs;
|
||||
|
||||
hockeypuck-web = callPackage ../servers/hockeypuck/web.nix { };
|
||||
|
||||
homesick = callPackage ../tools/misc/homesick { };
|
||||
|
||||
host = bind.host;
|
||||
|
||||
hotdoc = python3Packages.callPackage ../development/tools/hotdoc { };
|
||||
@@ -3169,20 +3167,6 @@ with pkgs;
|
||||
|
||||
icepeak = haskell.lib.compose.justStaticExecutables haskellPackages.icepeak;
|
||||
|
||||
inherit
|
||||
(callPackages ../tools/filesystems/irods rec {
|
||||
stdenv = llvmPackages_13.libcxxStdenv;
|
||||
libcxx = llvmPackages_13.libcxx;
|
||||
boost = boost178.override { inherit stdenv; };
|
||||
fmt = fmt_9.override { inherit stdenv; };
|
||||
nanodbc_llvm = nanodbc.override { inherit stdenv; };
|
||||
avro-cpp_llvm = avro-cpp.override { inherit stdenv boost; };
|
||||
spdlog_llvm = spdlog.override { inherit stdenv fmt; };
|
||||
})
|
||||
irods
|
||||
irods-icommands
|
||||
;
|
||||
|
||||
ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
|
||||
inherit (haskellPackages) ghcWithPackages;
|
||||
|
||||
@@ -3358,8 +3342,6 @@ with pkgs;
|
||||
|
||||
kzipmix = pkgsi686Linux.callPackage ../tools/compression/kzipmix { };
|
||||
|
||||
mailcatcher = callPackage ../development/web/mailcatcher { };
|
||||
|
||||
maskromtool = qt6Packages.callPackage ../tools/graphics/maskromtool { };
|
||||
|
||||
matrix-synapse-plugins = recurseIntoAttrs matrix-synapse-unwrapped.plugins;
|
||||
@@ -4700,7 +4682,6 @@ with pkgs;
|
||||
corretto21 = javaPackages.compiler.corretto21;
|
||||
|
||||
inherit (callPackage ../development/compilers/crystal { })
|
||||
crystal_1_11
|
||||
crystal_1_14
|
||||
crystal_1_15
|
||||
crystal_1_16
|
||||
@@ -7125,9 +7106,7 @@ with pkgs;
|
||||
|
||||
snowman = qt5.callPackage ../development/tools/analysis/snowman { };
|
||||
|
||||
sparse = callPackage ../development/tools/analysis/sparse {
|
||||
llvm = llvm_14;
|
||||
};
|
||||
sparse = callPackage ../development/tools/analysis/sparse { };
|
||||
|
||||
speedtest-cli = with python3Packages; toPythonApplication speedtest-cli;
|
||||
|
||||
|
||||
@@ -13292,6 +13292,8 @@ self: super: with self; {
|
||||
|
||||
pylibjpeg-openjpeg = callPackage ../development/python-modules/pylibjpeg-openjpeg { };
|
||||
|
||||
pylibjpeg-rle = callPackage ../development/python-modules/pylibjpeg-rle { };
|
||||
|
||||
pyliblo3 = callPackage ../development/python-modules/pyliblo3 { };
|
||||
|
||||
pylibmc = callPackage ../development/python-modules/pylibmc { };
|
||||
|
||||
Reference in New Issue
Block a user