Merge remote-tracking branch 'origin/staging-next' into staging
This commit is contained in:
@@ -196,8 +196,6 @@
|
||||
- `openrgb` was updated to 1.0rc2, which now uses Plugin API version 4.
|
||||
Some existing OpenRGB plugins may be incompatible or require updates.
|
||||
|
||||
- the `neovim` wrapper sets provider-related configuration in its generated config rather than as wrapper arguments. It should not affect configuration unless you set `wrapRc` to false.
|
||||
|
||||
- We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables.
|
||||
|
||||
## Nixpkgs Library {#sec-nixpkgs-release-26.05-lib}
|
||||
|
||||
@@ -30,8 +30,35 @@ let
|
||||
path = "${pkg}/lib/node_modules/${pkg.pname}";
|
||||
}) cfg.customNodes
|
||||
);
|
||||
|
||||
# Runners
|
||||
runnersCfg = cfg.taskRunners;
|
||||
runnersEnv = partitionEnv runnersCfg.environment;
|
||||
commonAllowedEnv = lib.attrNames runnersEnv.regular;
|
||||
enabledRunners = lib.filterAttrs (_name: runnerCfg: runnerCfg.enable) runnersCfg.runners;
|
||||
anyRunnerEnabled = runnersCfg.enable && (enabledRunners != { });
|
||||
runnerTypes = lib.attrNames enabledRunners;
|
||||
runnersStateDir = "n8n-task-runners";
|
||||
taskRunnerConfigs = lib.mapAttrsToList (runnerType: runnerCfg: {
|
||||
runner-type = runnerType;
|
||||
workdir = "/var/lib/${runnersStateDir}";
|
||||
command = runnerCfg.command;
|
||||
args = runnerCfg.args;
|
||||
allowed-env = commonAllowedEnv;
|
||||
env-overrides = runnerCfg.environment;
|
||||
health-check-server-port = toString runnerCfg.healthCheckPort;
|
||||
}) enabledRunners;
|
||||
|
||||
launcherConfigFile = pkgs.writeText "n8n-task-runners.json" (
|
||||
builtins.toJSON { task-runners = taskRunnerConfigs; }
|
||||
);
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
sweenu
|
||||
gepbird
|
||||
];
|
||||
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [ "services" "n8n" "settings" ] "Use services.n8n.environment instead.")
|
||||
(lib.mkRemovedOptionModule [
|
||||
@@ -128,13 +155,188 @@ in
|
||||
When enabled, n8n sends notifications of new versions and security updates.
|
||||
'';
|
||||
};
|
||||
N8N_CUSTOM_EXTENSIONS = lib.mkOption {
|
||||
internal = true;
|
||||
type = with lib.types; nullOr path;
|
||||
default = if cfg.customNodes != [ ] then toString customNodesDir else null;
|
||||
description = ''
|
||||
Specify the path to directories containing your custom nodes.
|
||||
'';
|
||||
};
|
||||
N8N_RUNNERS_MODE = lib.mkOption {
|
||||
internal = true;
|
||||
type =
|
||||
with lib.types;
|
||||
enum [
|
||||
"internal"
|
||||
"external"
|
||||
];
|
||||
default = if runnersCfg.enable then "external" else "internal";
|
||||
description = ''
|
||||
How to launch and run the task runner.
|
||||
`internal` means n8n will launch a task runner as child process.
|
||||
`external` means an external orchestrator will launch the task runner.
|
||||
'';
|
||||
};
|
||||
N8N_RUNNERS_BROKER_PORT = lib.mkOption {
|
||||
type = with lib.types; coercedTo port toString str;
|
||||
default = 5679;
|
||||
description = ''
|
||||
Port the task broker listens on for task runner connections.
|
||||
'';
|
||||
};
|
||||
N8N_RUNNERS_BROKER_LISTEN_ADDRESS = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "127.0.0.1";
|
||||
description = ''
|
||||
Address the task broker listens on.
|
||||
'';
|
||||
};
|
||||
N8N_RUNNERS_AUTH_TOKEN_FILE = lib.mkOption {
|
||||
type = with lib.types; nullOr path;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to a file containing the shared authentication token
|
||||
used between the n8n server (task broker) and the task runners.
|
||||
|
||||
This option is required when {option}`services.n8n.taskRunners.enable` is true.
|
||||
The file should be readable by the service and not stored in the Nix store.
|
||||
Use tools like `agenix` or `sops-nix` to manage this secret.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
taskRunners = {
|
||||
enable = lib.mkEnableOption "n8n task runners for sandboxed Code node execution";
|
||||
|
||||
launcherPackage = lib.mkPackageOption pkgs "n8n-task-runner-launcher" { };
|
||||
|
||||
environment = lib.mkOption {
|
||||
description = ''
|
||||
Environment variables for the task runner launcher and runners.
|
||||
These are common to all runners and passed via `allowed-env` in the launcher config.
|
||||
See <https://docs.n8n.io/hosting/configuration/environment-variables/task-runners/> for available options.
|
||||
|
||||
Environment variables ending with `_FILE` are automatically handled as secrets:
|
||||
they are loaded via systemd credentials for secure access with `DynamicUser=true`.
|
||||
|
||||
Note: The authentication token should be set via {option}`services.n8n.environment.N8N_RUNNERS_AUTH_TOKEN_FILE`.
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT = 15;
|
||||
N8N_RUNNERS_MAX_CONCURRENCY = 10;
|
||||
}
|
||||
'';
|
||||
type = lib.types.submodule {
|
||||
freeformType =
|
||||
with lib.types;
|
||||
attrsOf (oneOf [
|
||||
str
|
||||
(coercedTo int toString str)
|
||||
(coercedTo bool builtins.toJSON str)
|
||||
]);
|
||||
options = {
|
||||
N8N_RUNNERS_CONFIG_PATH = lib.mkOption {
|
||||
internal = true;
|
||||
type = with lib.types; nullOr path;
|
||||
default = launcherConfigFile;
|
||||
description = ''
|
||||
Path to the configuration file for the task runner launcher.
|
||||
'';
|
||||
};
|
||||
N8N_RUNNERS_AUTH_TOKEN_FILE = lib.mkOption {
|
||||
type = with lib.types; nullOr path;
|
||||
default = cfg.environment.N8N_RUNNERS_AUTH_TOKEN_FILE;
|
||||
defaultText = lib.literalExpression "config.services.n8n.environment.N8N_RUNNERS_AUTH_TOKEN_FILE";
|
||||
description = ''
|
||||
Path to the authentication token file for the task runner.
|
||||
'';
|
||||
};
|
||||
N8N_RUNNERS_TASK_BROKER_URI = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "http://${cfg.environment.N8N_RUNNERS_BROKER_LISTEN_ADDRESS}:${cfg.environment.N8N_RUNNERS_BROKER_PORT}";
|
||||
defaultText = lib.literalExpression ''"http://''${config.services.n8n.environment.N8N_RUNNERS_BROKER_LISTEN_ADDRESS}:''${config.services.n8n.environment.N8N_RUNNERS_BROKER_PORT}"'';
|
||||
description = ''
|
||||
URI of the n8n task broker that the runner connects to.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
runners = lib.mkOption {
|
||||
type = lib.types.attrsOf (
|
||||
lib.types.submodule (
|
||||
{ name, ... }:
|
||||
{
|
||||
options = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable the ${name} task runner.
|
||||
Only takes effect when {option}`services.n8n.taskRunners.enable` is true.
|
||||
'';
|
||||
};
|
||||
|
||||
command = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Command to execute for this runner.";
|
||||
};
|
||||
|
||||
healthCheckPort = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
description = "Port for the runner's health check server.";
|
||||
};
|
||||
|
||||
args = lib.mkOption {
|
||||
type = with lib.types; listOf str;
|
||||
default = [ ];
|
||||
description = "Additional command-line arguments to pass to the task runner.";
|
||||
};
|
||||
|
||||
environment = lib.mkOption {
|
||||
type = with lib.types; attrsOf str;
|
||||
default = { };
|
||||
description = "Environment variables specific to this task runner.";
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
);
|
||||
default = { };
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
javascript = {
|
||||
enable = true;
|
||||
command = lib.getExe' config.services.n8n.package "n8n-task-runner";
|
||||
healthCheckPort = 5681;
|
||||
};
|
||||
python = {
|
||||
enable = true;
|
||||
command = lib.getExe' config.services.n8n.package "n8n-task-runner-python";
|
||||
healthCheckPort = 5682;
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = "Configuration for individual task runners.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = anyRunnerEnabled -> cfg.environment.N8N_RUNNERS_AUTH_TOKEN_FILE != null;
|
||||
message = "services.n8n.environment.N8N_RUNNERS_AUTH_TOKEN_FILE must be set when task runners are enabled.";
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.n8n = {
|
||||
description = "n8n service";
|
||||
after = [ "network.target" ];
|
||||
@@ -144,15 +346,12 @@ in
|
||||
// {
|
||||
HOME = cfg.environment.N8N_USER_FOLDER;
|
||||
}
|
||||
// lib.optionalAttrs (cfg.customNodes != [ ]) {
|
||||
N8N_CUSTOM_EXTENSIONS = toString customNodesDir;
|
||||
}
|
||||
// n8nEnv.fileBasedTransformed;
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
Restart = "on-failure";
|
||||
StateDirectory = "n8n";
|
||||
StateDirectory = baseNameOf cfg.environment.N8N_USER_FOLDER;
|
||||
|
||||
LoadCredential = lib.mapAttrsToList (
|
||||
varName: secretPath: "${envVarToCredName varName}:${secretPath}"
|
||||
@@ -178,6 +377,62 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
warnings = lib.optional (runnersCfg.enable && !anyRunnerEnabled) ''
|
||||
services.n8n.taskRunners.enable is true, but both JavaScript and Python runners are disabled.
|
||||
Enable at least one runner or disable taskRunners.
|
||||
'';
|
||||
|
||||
# We set the defaults here to ease adding attributes
|
||||
services.n8n.taskRunners.runners = {
|
||||
javascript = lib.mapAttrs (_: lib.mkDefault) {
|
||||
enable = true;
|
||||
command = lib.getExe' cfg.package "n8n-task-runner";
|
||||
healthCheckPort = 5681;
|
||||
};
|
||||
python = lib.mapAttrs (_: lib.mkDefault) {
|
||||
enable = true;
|
||||
command = lib.getExe' cfg.package "n8n-task-runner-python";
|
||||
healthCheckPort = 5682;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.n8n-task-runner = lib.mkIf anyRunnerEnabled {
|
||||
description = "n8n task runner";
|
||||
after = [ "n8n.service" ];
|
||||
requires = [ "n8n.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = runnersEnv.regular // runnersEnv.fileBasedTransformed;
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${lib.getExe runnersCfg.launcherPackage} ${lib.concatStringsSep " " runnerTypes}";
|
||||
Restart = "on-failure";
|
||||
|
||||
StateDirectory = runnersStateDir;
|
||||
|
||||
LoadCredential = lib.mapAttrsToList (
|
||||
varName: secretPath: "${envVarToCredName varName}:${secretPath}"
|
||||
) runnersEnv.fileBased;
|
||||
|
||||
# Hardening
|
||||
DynamicUser = "true";
|
||||
NoNewPrivileges = "yes";
|
||||
PrivateTmp = "yes";
|
||||
PrivateDevices = "yes";
|
||||
DevicePolicy = "closed";
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = "read-only";
|
||||
ProtectControlGroups = "yes";
|
||||
ProtectKernelModules = "yes";
|
||||
ProtectKernelTunables = "yes";
|
||||
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
|
||||
RestrictNamespaces = "yes";
|
||||
RestrictRealtime = "yes";
|
||||
RestrictSUIDSGID = "yes";
|
||||
MemoryDenyWriteExecute = "no"; # v8 JIT requires memory segments to be Writable-Executable.
|
||||
LockPersonality = "yes";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = lib.mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ (lib.toInt cfg.environment.N8N_PORT) ];
|
||||
};
|
||||
|
||||
+56
-2
@@ -1,12 +1,18 @@
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
port = 5678;
|
||||
brokerPort = 5679;
|
||||
webhookUrl = "http://example.com";
|
||||
secretFile = toString (pkgs.writeText "n8n-encryption-key" "test-encryption-key-12345");
|
||||
authTokenFile = toString (pkgs.writeText "n8n-runner-auth-token" "test-runner-auth-token-12345");
|
||||
in
|
||||
{
|
||||
name = "n8n";
|
||||
meta.maintainers = with lib.maintainers; [ k900 ];
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
k900
|
||||
sweenu
|
||||
gepbird
|
||||
];
|
||||
|
||||
node.pkgsReadOnly = false;
|
||||
|
||||
@@ -20,8 +26,26 @@ in
|
||||
WEBHOOK_URL = webhookUrl;
|
||||
N8N_TEMPLATES_ENABLED = false;
|
||||
DB_PING_INTERVAL_SECONDS = 2;
|
||||
# !!! Don't do this with real keys. The /nix store is world-readable!
|
||||
# !!! Don't do this with real keys/tokens. The /nix store is world-readable!
|
||||
N8N_ENCRYPTION_KEY_FILE = secretFile;
|
||||
N8N_RUNNERS_AUTH_TOKEN_FILE = authTokenFile;
|
||||
};
|
||||
taskRunners = {
|
||||
enable = true;
|
||||
environment = {
|
||||
# Common env var for all runners
|
||||
N8N_RUNNERS_MAX_CONCURRENCY = 10;
|
||||
};
|
||||
runners = {
|
||||
javascript = {
|
||||
args = [ "--disallow-code-generation-from-strings" ];
|
||||
environment.NODE_FUNCTION_ALLOW_BUILTIN = "*";
|
||||
};
|
||||
python = {
|
||||
args = [ "--test-arg" ];
|
||||
environment.N8N_RUNNERS_STDLIB_ALLOW = "*";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -48,5 +72,35 @@ in
|
||||
custom_extensions_dir = machine.succeed("grep -oP 'N8N_CUSTOM_EXTENSIONS=\\K[^\"]+' /etc/systemd/system/n8n.service").strip()
|
||||
machine.succeed(f"test -L {custom_extensions_dir}/n8n-nodes-carbonejs")
|
||||
machine.succeed(f"test -f {custom_extensions_dir}/n8n-nodes-carbonejs/package.json")
|
||||
|
||||
# Test task runner integration on n8n service
|
||||
machine.succeed("grep -qF 'N8N_RUNNERS_MODE=external' /etc/systemd/system/n8n.service")
|
||||
machine.succeed("grep -qF 'N8N_RUNNERS_BROKER_PORT=${toString brokerPort}' /etc/systemd/system/n8n.service")
|
||||
machine.succeed("grep -qF 'LoadCredential=n8n_runners_auth_token_file:${authTokenFile}' /etc/systemd/system/n8n.service")
|
||||
|
||||
# Test task runner service
|
||||
machine.wait_for_unit("n8n-task-runner.service")
|
||||
machine.succeed("systemctl is-active n8n-task-runner.service")
|
||||
|
||||
# Test that both runner types are enabled
|
||||
machine.succeed("grep -qF 'javascript python' /etc/systemd/system/n8n-task-runner.service")
|
||||
|
||||
# Test common environment variables are passed to launcher
|
||||
machine.succeed("grep -qF 'N8N_RUNNERS_MAX_CONCURRENCY=10' /etc/systemd/system/n8n-task-runner.service")
|
||||
machine.succeed("grep -qF 'N8N_RUNNERS_TASK_BROKER_URI=http://127.0.0.1:${toString brokerPort}' /etc/systemd/system/n8n-task-runner.service")
|
||||
|
||||
# Test auth token is loaded via credentials
|
||||
machine.succeed("grep -qF 'LoadCredential=n8n_runners_auth_token_file:${authTokenFile}' /etc/systemd/system/n8n-task-runner.service")
|
||||
|
||||
# Test launcher config file
|
||||
config_path = machine.succeed("grep -oP 'N8N_RUNNERS_CONFIG_PATH=\\K[^[:space:]\"]+' /etc/systemd/system/n8n-task-runner.service").strip()
|
||||
config = machine.succeed(f"cat {config_path}")
|
||||
assert "NODE_FUNCTION_ALLOW_BUILTIN" in config, "JavaScript env-override not in config"
|
||||
assert "N8N_RUNNERS_STDLIB_ALLOW" in config, "Python env-override not in config"
|
||||
assert "N8N_RUNNERS_MAX_CONCURRENCY" in config, "Common allowed-env not in config"
|
||||
assert "--disallow-code-generation-from-strings" in config, "JavaScript args not in config"
|
||||
assert "--test-arg" in config, "Python args not in config"
|
||||
assert '"health-check-server-port":"5681"' in config, "JavaScript health check port not in config"
|
||||
assert '"health-check-server-port":"5682"' in config, "Python health check port not in config"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -140,21 +140,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
pytest-xdist
|
||||
]);
|
||||
|
||||
pytestFlags = [
|
||||
# missing translation strings in potfiles
|
||||
"--deselect=tests/test_po.py::TPOTFILESIN::test_missing"
|
||||
# require networking
|
||||
"--deselect=tests/plugin/test_covers.py::test_live_cover_download"
|
||||
"--deselect=tests/test_browsers_iradio.py::TInternetRadio::test_click_add_station"
|
||||
# upstream does actually not enforce source code linting
|
||||
"--ignore=tests/quality"
|
||||
# marked as flaky, breaks in sandbox
|
||||
"--deselect=tests/test_library_file.py::TWatchedFileLibrary::test_watched_adding"
|
||||
]
|
||||
++ lib.optionals (withXineBackend || !withGstPlugins) [
|
||||
"--ignore=tests/plugin/test_replaygain.py"
|
||||
];
|
||||
|
||||
env.LC_ALL = "en_US.UTF-8";
|
||||
|
||||
preCheck = ''
|
||||
@@ -162,15 +147,32 @@ python3.pkgs.buildPythonApplication rec {
|
||||
export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS"
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
checkPhase =
|
||||
let
|
||||
pytestFlags = [
|
||||
# missing translation strings in potfiles
|
||||
"--deselect=tests/test_po.py::TPOTFILESIN::test_missing"
|
||||
# require networking
|
||||
"--deselect=tests/plugin/test_covers.py::test_live_cover_download"
|
||||
"--deselect=tests/test_browsers_iradio.py::TInternetRadio::test_click_add_station"
|
||||
# upstream does actually not enforce source code linting
|
||||
"--ignore=tests/quality"
|
||||
# marked as flaky, breaks in sandbox
|
||||
"--deselect=tests/test_library_file.py::TWatchedFileLibrary::test_watched_adding"
|
||||
]
|
||||
++ lib.optionals (withXineBackend || !withGstPlugins) [
|
||||
"--ignore=tests/plugin/test_replaygain.py"
|
||||
];
|
||||
in
|
||||
''
|
||||
runHook preCheck
|
||||
|
||||
xvfb-run -s '-screen 0 1920x1080x24' \
|
||||
dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf \
|
||||
pytest $pytestFlags
|
||||
xvfb-run -s '-screen 0 1920x1080x24' \
|
||||
dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf \
|
||||
pytest ${lib.concatStringsSep " " pytestFlags}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
preFixup = lib.optionalString (kakasi != null) ''
|
||||
gappsWrapperArgs+=(--prefix PATH : ${lib.getBin kakasi})
|
||||
|
||||
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
|
||||
# Find FLTK without requiring an OpenGL library in buildInputs
|
||||
++ lib.optional (guiModule == "fltk") "-DFLTK_SKIP_OPENGL=ON";
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
# GCC 13: error: 'uint8_t' does not name a type
|
||||
"-include cstdint"
|
||||
];
|
||||
|
||||
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
|
||||
zeromq
|
||||
];
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
"-I${lib.getDev utf8cpp}/include/utf8cpp"
|
||||
"-I${lib.getDev cxx-rs}/include"
|
||||
];
|
||||
|
||||
@@ -104,16 +104,13 @@ let
|
||||
packpathDirs.myNeovimPackages = vimPackageInfo.vimPackage;
|
||||
finalPackdir = neovimUtils.packDir packpathDirs;
|
||||
|
||||
rcContent = lib.concatStringsSep "\n" (
|
||||
[
|
||||
providerLuaRc
|
||||
]
|
||||
++ lib.optional (luaRcContent != "") luaRcContent
|
||||
++ lib.optional (neovimRcContent' != "") ''
|
||||
vim.cmd.source "${writeText "init.vim" neovimRcContent'}"
|
||||
''
|
||||
++ lib.optionals autoconfigure vimPackageInfo.pluginAdvisedLua
|
||||
);
|
||||
rcContent = ''
|
||||
${luaRcContent}
|
||||
''
|
||||
+ lib.optionalString (neovimRcContent' != "") ''
|
||||
vim.cmd.source "${writeText "init.vim" neovimRcContent'}"
|
||||
''
|
||||
+ lib.optionalString autoconfigure (lib.concatStringsSep "\n" vimPackageInfo.pluginAdvisedLua);
|
||||
|
||||
python3Env =
|
||||
lib.warnIf (attrs ? python3Env)
|
||||
@@ -128,7 +125,12 @@ let
|
||||
|
||||
wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;
|
||||
|
||||
generatedWrapperArgs =
|
||||
generatedWrapperArgs = [
|
||||
# vim accepts a limited number of commands so we join all the provider ones
|
||||
"--add-flags"
|
||||
''--cmd "lua ${providerLuaRc}"''
|
||||
]
|
||||
++
|
||||
lib.optionals
|
||||
(
|
||||
finalAttrs.packpathDirs.myNeovimPackages.start != [ ]
|
||||
@@ -140,17 +142,17 @@ let
|
||||
"--add-flags"
|
||||
''--cmd "set rtp^=${finalPackdir}"''
|
||||
]
|
||||
++ lib.optionals finalAttrs.withRuby [
|
||||
"--set"
|
||||
"GEM_HOME"
|
||||
"${rubyEnv}/${rubyEnv.ruby.gemPath}"
|
||||
]
|
||||
++ lib.optionals (finalAttrs.runtimeDeps != [ ]) [
|
||||
"--suffix"
|
||||
"PATH"
|
||||
":"
|
||||
(lib.makeBinPath finalAttrs.runtimeDeps)
|
||||
];
|
||||
++ lib.optionals finalAttrs.withRuby [
|
||||
"--set"
|
||||
"GEM_HOME"
|
||||
"${rubyEnv}/${rubyEnv.ruby.gemPath}"
|
||||
]
|
||||
++ lib.optionals (finalAttrs.runtimeDeps != [ ]) [
|
||||
"--suffix"
|
||||
"PATH"
|
||||
":"
|
||||
(lib.makeBinPath finalAttrs.runtimeDeps)
|
||||
];
|
||||
|
||||
providerLuaRc = neovimUtils.generateProviderRc {
|
||||
inherit (finalAttrs)
|
||||
@@ -179,7 +181,7 @@ let
|
||||
++ lib.optionals finalAttrs.wrapRc [
|
||||
"--set-default"
|
||||
"VIMINIT"
|
||||
"lua dofile('${writeText "init.lua" finalAttrs.luaRcContent}')"
|
||||
"lua dofile('${writeText "init.lua" rcContent}')"
|
||||
]
|
||||
++ finalAttrs.generatedWrapperArgs;
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
opencl-headers
|
||||
];
|
||||
|
||||
LIBLEPT_HEADERSDIR = "${leptonica}/include";
|
||||
env.LIBLEPT_HEADERSDIR = "${leptonica}/include";
|
||||
|
||||
meta = {
|
||||
description = "OCR engine";
|
||||
|
||||
@@ -75,7 +75,7 @@ buildGoModule (finalAttrs: {
|
||||
];
|
||||
|
||||
# Passing boringcrypto to GOEXPERIMENT variable to build with goboring library
|
||||
GOEXPERIMENT = "boringcrypto";
|
||||
env.GOEXPERIMENT = "boringcrypto";
|
||||
|
||||
# https://github.com/rancher/rke2/blob/104ddbf3de65ab5490aedff36df2332d503d90fe/scripts/build-binary#L27-L39
|
||||
ldflags =
|
||||
|
||||
@@ -191,7 +191,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.cmakeBool "USE_SVMLIGHT" withSvmLight)
|
||||
];
|
||||
|
||||
CXXFLAGS = "-faligned-new";
|
||||
env.CXXFLAGS = "-faligned-new";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
|
||||
{} +
|
||||
'';
|
||||
|
||||
CXXFLAGS = " --std=c++11 ";
|
||||
env.CXXFLAGS = " --std=c++11 ";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -114,8 +114,6 @@ stdenv.mkDerivation rec {
|
||||
"doc"
|
||||
];
|
||||
|
||||
FONTCONFIG_FILE = toString fontsConf;
|
||||
|
||||
propagatedUserEnvPkgs = [ hicolor-icon-theme ];
|
||||
buildInputs = [
|
||||
cairo
|
||||
@@ -150,11 +148,14 @@ stdenv.mkDerivation rec {
|
||||
]
|
||||
++ lib.optional lua.pkgs.isLuaJIT "-DLUA_LIBRARY=${lua}/lib/libluajit-5.1.so";
|
||||
|
||||
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
|
||||
# LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
|
||||
# below for how awesome finds the libraries it needs at runtime.
|
||||
LUA_CPATH = "${luaEnv}/lib/lua/${lua.luaversion}/?.so";
|
||||
LUA_PATH = "${luaEnv}/share/lua/${lua.luaversion}/?.lua;;";
|
||||
env = {
|
||||
FONTCONFIG_FILE = toString fontsConf;
|
||||
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
|
||||
# LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
|
||||
# below for how awesome finds the libraries it needs at runtime.
|
||||
LUA_CPATH = "${luaEnv}/lib/lua/${lua.luaversion}/?.so";
|
||||
LUA_PATH = "${luaEnv}/share/lua/${lua.luaversion}/?.lua;;";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
# Don't use wrapProgram or the wrapper will duplicate the --search
|
||||
|
||||
@@ -603,7 +603,7 @@ stdenvNoCC.mkDerivation {
|
||||
installPhase =
|
||||
if targetPlatform.isCygwin then
|
||||
''
|
||||
echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_bin}/lib" >> $out
|
||||
echo addToSearchPath "_linkDeps_inputPath" "${cc_solib}/bin" >> $out
|
||||
# Work around build failure caused by the gnulib workaround for
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114870. remove after
|
||||
# gnulib is updated in core packages (e.g. iconv, gnupatch, gnugrep)
|
||||
|
||||
@@ -13,9 +13,11 @@ stdenv.mkDerivation {
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
GOFLAGS = "-trimpath";
|
||||
GO111MODULE = "off";
|
||||
env = {
|
||||
CGO_ENABLED = 0;
|
||||
GOFLAGS = "-trimpath";
|
||||
GO111MODULE = "off";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
addLinkDLLPaths() {
|
||||
addToSearchPath "LINK_DLL_FOLDERS" "$1/lib"
|
||||
addToSearchPath "LINK_DLL_FOLDERS" "$1/bin"
|
||||
}
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
addEnvHooks "$targetOffset" addLinkDLLPaths
|
||||
|
||||
addOutputDLLPaths() {
|
||||
for output in $(getAllOutputNames); do
|
||||
addToSearchPath "LINK_DLL_FOLDERS" "${!output}/lib"
|
||||
addToSearchPath "LINK_DLL_FOLDERS" "${!output}/bin"
|
||||
done
|
||||
}
|
||||
|
||||
postInstallHooks+=(addOutputDLLPaths)
|
||||
|
||||
_dllDeps() {
|
||||
"$OBJDUMP" -p "$1" \
|
||||
| sed -n 's/.*DLL Name: \(.*\)/\1/p' \
|
||||
| sort -u
|
||||
}
|
||||
|
||||
_linkDeps() {
|
||||
local target="$1" dir="$2" check="$3"
|
||||
echo 'target:' "$target"
|
||||
local dll
|
||||
_dllDeps "$target" | while read -r dll; do
|
||||
echo ' dll:' "$dll"
|
||||
if [[ -e "$dir/$dll" ]]; then continue; fi
|
||||
# Locate the DLL - it should be an *executable* file on $LINK_DLL_FOLDERS.
|
||||
local dllPath
|
||||
if ! dllPath="$(PATH="$(dirname "$target"):$LINK_DLL_FOLDERS" type -P "$dll")"; then
|
||||
if [[ -z "$check" || -n "${allowedImpureDLLsMap[$dll]}" ]]; then
|
||||
continue
|
||||
fi
|
||||
echo unable to find "$dll" in "$LINK_DLL_FOLDERS" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo ' linking to:' "$dllPath"
|
||||
CYGWIN+=\ winsymlinks:nativestrict ln -sr "$dllPath" "$dir"
|
||||
# That DLL might have its own (transitive) dependencies,
|
||||
# so add also all DLLs from its directory to be sure.
|
||||
_linkDeps "$dllPath" "$dir" ""
|
||||
done
|
||||
}
|
||||
|
||||
linkDLLs() {
|
||||
# shellcheck disable=SC2154
|
||||
if [ ! -d "$prefix" ]; then return; fi
|
||||
(
|
||||
set -e
|
||||
shopt -s globstar nullglob
|
||||
|
||||
local -a allowedImpureDLLsArray
|
||||
concatTo allowedImpureDLLsArray allowedImpureDLLs
|
||||
|
||||
local -A allowedImpureDLLsMap;
|
||||
|
||||
for dll in "${allowedImpureDLLsArray[@]}"; do
|
||||
allowedImpureDLLsMap[$dll]=1
|
||||
done
|
||||
|
||||
cd "$prefix"
|
||||
|
||||
# Iterate over any DLL that we depend on.
|
||||
local target
|
||||
for target in {bin,libexec}/**/*.{exe,dll}; do
|
||||
[[ ! -f "$target" || ! -x "$target" ]] ||
|
||||
_linkDeps "$target" "$(dirname "$target")" "1"
|
||||
done
|
||||
)
|
||||
}
|
||||
|
||||
fixupOutputHooks+=(linkDLLs)
|
||||
@@ -34,21 +34,23 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"iasl"
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
"-O3"
|
||||
];
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString [
|
||||
"-O3"
|
||||
];
|
||||
|
||||
# i686 builds fail with hardening enabled (due to -Wformat-overflow). Disable
|
||||
# -Werror altogether to make this derivation less fragile to toolchain
|
||||
# updates.
|
||||
NOWERROR = "TRUE";
|
||||
|
||||
# We can handle stripping ourselves.
|
||||
# Unless we are on Darwin. Upstream makefiles degrade coreutils install to cp if _APPLE is detected.
|
||||
INSTALLFLAGS = lib.optionals (!stdenv.hostPlatform.isDarwin) "-m 555";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# i686 builds fail with hardening enabled (due to -Wformat-overflow). Disable
|
||||
# -Werror altogether to make this derivation less fragile to toolchain
|
||||
# updates.
|
||||
NOWERROR = "TRUE";
|
||||
|
||||
# We can handle stripping ourselves.
|
||||
# Unless we are on Darwin. Upstream makefiles degrade coreutils install to cp if _APPLE is detected.
|
||||
INSTALLFLAGS = lib.optionals (!stdenv.hostPlatform.isDarwin) "-m 555";
|
||||
|
||||
installFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -192,14 +192,17 @@ stdenv.mkDerivation (
|
||||
]
|
||||
++ lib.optional optimize "--optimize";
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
# 'ioprio_set' syscall support:
|
||||
"-D_GNU_SOURCE"
|
||||
# compiler doesn't find headers without these:
|
||||
"-I${lib.getDev serd}/include/serd-0"
|
||||
"-I${lib.getDev sratom}/include/sratom-0"
|
||||
"-I${lib.getDev sord}/include/sord-0"
|
||||
];
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString [
|
||||
# 'ioprio_set' syscall support:
|
||||
"-D_GNU_SOURCE"
|
||||
# compiler doesn't find headers without these:
|
||||
"-I${lib.getDev serd}/include/serd-0"
|
||||
"-I${lib.getDev sratom}/include/sratom-0"
|
||||
"-I${lib.getDev sord}/include/sord-0"
|
||||
];
|
||||
LINKFLAGS = "-lpthread";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
# wscript does not install these for some reason
|
||||
@@ -227,8 +230,6 @@ stdenv.mkDerivation (
|
||||
}"
|
||||
'';
|
||||
|
||||
LINKFLAGS = "-lpthread";
|
||||
|
||||
meta = {
|
||||
description = "Multi-track hard disk recording software";
|
||||
longDescription = ''
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
diff --git a/config.yaml b/config.yaml
|
||||
index 2f07ea7..0f90432 100644
|
||||
--- a/config.yaml
|
||||
+++ b/config.yaml
|
||||
@@ -4,3 +4,4 @@ additionalProperties:
|
||||
packageName: api
|
||||
enumClassPrefix: true
|
||||
useOneOfDiscriminatorLookup: true
|
||||
+ disallowAdditionalPropertiesIfNotPresent: false
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
buildGoModule,
|
||||
authentik,
|
||||
apiGoVendorHook,
|
||||
vendorHash,
|
||||
}:
|
||||
|
||||
@@ -9,6 +10,8 @@ buildGoModule {
|
||||
inherit (authentik) version src;
|
||||
inherit vendorHash;
|
||||
|
||||
nativeBuildInputs = [ apiGoVendorHook ];
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
subPackages = [ "cmd/ldap" ];
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{
|
||||
callPackage,
|
||||
authentik,
|
||||
apiGoVendorHook ? authentik.apiGoVendorHook,
|
||||
vendorHash ? authentik.proxy.vendorHash,
|
||||
}:
|
||||
{
|
||||
ldap = callPackage ./ldap.nix { inherit vendorHash; };
|
||||
proxy = callPackage ./proxy.nix { inherit vendorHash; };
|
||||
radius = callPackage ./radius.nix { inherit vendorHash; };
|
||||
ldap = callPackage ./ldap.nix { inherit apiGoVendorHook vendorHash; };
|
||||
proxy = callPackage ./proxy.nix { inherit apiGoVendorHook vendorHash; };
|
||||
radius = callPackage ./radius.nix { inherit apiGoVendorHook vendorHash; };
|
||||
}
|
||||
|
||||
@@ -10,18 +10,23 @@
|
||||
nodejs_24,
|
||||
python3,
|
||||
makeWrapper,
|
||||
openapi-generator-cli,
|
||||
go,
|
||||
typescript,
|
||||
makeSetupHook,
|
||||
writeShellScript,
|
||||
}:
|
||||
|
||||
let
|
||||
nodejs = nodejs_24;
|
||||
|
||||
version = "2025.10.1";
|
||||
version = "2025.12.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "goauthentik";
|
||||
repo = "authentik";
|
||||
tag = "version/${version}";
|
||||
hash = "sha256-HowB6DTGCqz770fKYbnE+rQ11XRV0WSNkLD+HSWZwz8=";
|
||||
hash = "sha256-alTyrMBbjZbw4jhEna8saabf93sqSrZCu+Z5xH3pZ7M=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -39,6 +44,90 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
client-go = stdenvNoCC.mkDerivation {
|
||||
pname = "authentik-client-go";
|
||||
version = "3.${version}";
|
||||
inherit meta;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "goauthentik";
|
||||
repo = "client-go";
|
||||
tag = "v3.${version}";
|
||||
hash = "sha256-+/CfOE2HkBU+ZddvdXGenB/z8xNFk8cujpZpMXyh3cY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./client-go-config.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./config.yaml \
|
||||
--replace-fail '/local' "$(pwd)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
openapi-generator-cli
|
||||
go
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
openapi-generator-cli generate \
|
||||
-i ${src}/schema.yml -o $out \
|
||||
-g go \
|
||||
-c ./config.yaml
|
||||
|
||||
gofmt -w $out
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp go.mod go.sum $out
|
||||
|
||||
cd $out
|
||||
rm -rf test
|
||||
rm -f .travis.yml git_push.sh
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
client-ts = stdenvNoCC.mkDerivation {
|
||||
pname = "authentik-client-ts";
|
||||
inherit version src meta;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./scripts/api/ts-config.yaml \
|
||||
--replace-fail '/local' "$(pwd)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
openapi-generator-cli
|
||||
typescript
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
openapi-generator-cli generate \
|
||||
-i ./schema.yml -o $out \
|
||||
-g typescript-fetch \
|
||||
-c ./scripts/api/ts-config.yaml \
|
||||
--additional-properties=npmVersion=${version} \
|
||||
--git-repo-id authentik --git-user-id goauthentik
|
||||
|
||||
cd $out
|
||||
npm run build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
};
|
||||
|
||||
# prefetch-npm-deps does not save all dependencies even though the lockfile is fine
|
||||
website-deps = stdenvNoCC.mkDerivation {
|
||||
pname = "authentik-website-deps";
|
||||
@@ -48,8 +137,8 @@ let
|
||||
|
||||
outputHash =
|
||||
{
|
||||
"aarch64-linux" = "sha256-aXXlzTsZp5mOrsxy9oHNzcc+1cFSnbC9RmtawBohmLI=";
|
||||
"x86_64-linux" = "sha256-Hi0HXzwTLuer0v4IKF3aim0tVe7AVLi67DiMimrIq5s=";
|
||||
"aarch64-linux" = "sha256-GL5FPIBnoEXYtw8DPJpRPe3tT3qioN4AdoeOmCoiYsM=";
|
||||
"x86_64-linux" = "sha256-AnceTipq6uUvTbOAZanVshAbAJ9LS1kwImbttTOcWxc=";
|
||||
}
|
||||
.${stdenvNoCC.hostPlatform.system} or (throw "authentik-website-deps: unsupported host platform");
|
||||
|
||||
@@ -119,8 +208,8 @@ let
|
||||
|
||||
outputHash =
|
||||
{
|
||||
"aarch64-linux" = "sha256-t/jyzG3ibTW3fu8Gl1tWkSjMG6Lek/7JDccDrZX6sD0=";
|
||||
"x86_64-linux" = "sha256-8I1YAKvgWjM3p9O1mCetZvhZelrfB31w0ZwkZBUEoh4=";
|
||||
"aarch64-linux" = "sha256-eZZ5Ynj81KwFsU5emPtYZ2CxO8MFvWbJnCHs+L88KQQ=";
|
||||
"x86_64-linux" = "sha256-yUAyyO1NFav1EptrRYGSzC8dxCxYVj0FmzHk8IckFZM=";
|
||||
}
|
||||
.${stdenvNoCC.hostPlatform.system} or (throw "authentik-webui-deps: unsupported host platform");
|
||||
outputHashMode = "recursive";
|
||||
@@ -172,6 +261,10 @@ let
|
||||
find -type d -name node_modules -prune -print -exec cp -rT {} $buildRoot/{} \;
|
||||
popd
|
||||
|
||||
chmod -R +w node_modules/@goauthentik
|
||||
rm -R node_modules/@goauthentik/api
|
||||
ln -sn ${client-ts} node_modules/@goauthentik/api
|
||||
|
||||
pushd node_modules/.bin
|
||||
patchShebangs $(readlink rollup)
|
||||
patchShebangs $(readlink wireit)
|
||||
@@ -208,6 +301,21 @@ let
|
||||
# https://github.com/goauthentik/authentik/pull/16324
|
||||
django = final.django_5;
|
||||
|
||||
ak-guardian = final.buildPythonPackage {
|
||||
pname = "ak-guardian";
|
||||
inherit version src meta;
|
||||
pyproject = true;
|
||||
|
||||
sourceRoot = "${src.name}/packages/ak-guardian";
|
||||
|
||||
build-system = with final; [ hatchling ];
|
||||
|
||||
propagatedBuildInputs = with final; [
|
||||
django
|
||||
typing-extensions
|
||||
];
|
||||
};
|
||||
|
||||
django-channels-postgres = final.buildPythonPackage {
|
||||
pname = "django-channels-postgres";
|
||||
inherit version src meta;
|
||||
@@ -330,14 +438,15 @@ let
|
||||
pyproject = true;
|
||||
|
||||
postPatch = ''
|
||||
rm lifecycle/system_migrations/tenant_files.py
|
||||
substituteInPlace authentik/root/settings.py \
|
||||
--replace-fail 'Path(__file__).absolute().parent.parent.parent' "Path(\"$out\")"
|
||||
substituteInPlace authentik/lib/default.yml \
|
||||
--replace-fail '/blueprints' "$out/blueprints" \
|
||||
--replace-fail './media' '/var/lib/authentik/media'
|
||||
--replace-fail '/blueprints' "$out/blueprints"
|
||||
substituteInPlace authentik/stages/email/utils.py \
|
||||
--replace-fail 'web/' '${webui}/'
|
||||
# allways allow file upload if the data directoy exists
|
||||
substituteInPlace authentik/admin/files/backends/file.py \
|
||||
--replace-fail "and (self._base_dir.is_mount() or (self._base_dir / self.usage.value).is_mount())" ""
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
@@ -351,6 +460,7 @@ let
|
||||
dependencies =
|
||||
with final;
|
||||
[
|
||||
ak-guardian
|
||||
argon2-cffi
|
||||
cachetools
|
||||
channels
|
||||
@@ -364,7 +474,6 @@ let
|
||||
django-cte
|
||||
django-dramatiq-postgres
|
||||
django-filter
|
||||
django-guardian
|
||||
django-model-utils
|
||||
django-pglock
|
||||
django-pgtrigger
|
||||
@@ -375,7 +484,6 @@ let
|
||||
django-tenants
|
||||
djangoql
|
||||
djangorestframework
|
||||
djangorestframework-guardian
|
||||
docker
|
||||
drf-orjson-renderer
|
||||
drf-spectacular
|
||||
@@ -440,6 +548,31 @@ let
|
||||
|
||||
inherit (python.pkgs) authentik-django;
|
||||
|
||||
# Provide a setup-hook to configure the Go vendor directory with up-to-date API bindings.
|
||||
# This is done to avoid the `vendorHash` depending on anything in the `client-go` build (e.g.
|
||||
# openapi-generator-cli version updates changing the produced content) and invalidating the hash.
|
||||
apiGoVendorHook =
|
||||
makeSetupHook
|
||||
{
|
||||
name = "authentik-api-go-vendor-hook";
|
||||
}
|
||||
(
|
||||
writeShellScript "authentik-api-go-vendor-hook" ''
|
||||
authentikApiGoVendorHook() {
|
||||
chmod -R +w vendor/goauthentik.io/api
|
||||
rm -rf vendor/goauthentik.io/api/v3
|
||||
cp -r ${client-go} vendor/goauthentik.io/api/v3
|
||||
|
||||
echo "Finished authentikApiGoVendorHook"
|
||||
}
|
||||
|
||||
# don't run for FOD, e.g. the `goModules` build
|
||||
if [ -z ''${outputHash-} ]; then
|
||||
postConfigureHooks+=(authentikApiGoVendorHook)
|
||||
fi
|
||||
''
|
||||
);
|
||||
|
||||
proxy = buildGoModule {
|
||||
pname = "authentik-proxy";
|
||||
inherit version src meta;
|
||||
@@ -453,9 +586,14 @@ let
|
||||
--replace-fail './web' "${authentik-django}/web"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ apiGoVendorHook ];
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
vendorHash = "sha256-m2shrCwoVdbtr8B83ZcAyG+J6dEys2xdjtlfFFF4CDo=";
|
||||
# calculate the vendorHash without other dependencies, so it is only based on the `go.sum` file
|
||||
overrideModAttrs.postPatch = "";
|
||||
|
||||
vendorHash = "sha256-pdQg02f1K4nOhsnadoplQYOhEybqZxn+yDQRN5RNygM=";
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/server $out/bin/authentik
|
||||
@@ -500,9 +638,10 @@ stdenvNoCC.mkDerivation {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit proxy;
|
||||
inherit proxy apiGoVendorHook;
|
||||
outposts = callPackages ./outposts.nix {
|
||||
inherit (proxy) vendorHash;
|
||||
inherit apiGoVendorHook;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
buildGoModule,
|
||||
authentik,
|
||||
apiGoVendorHook,
|
||||
vendorHash,
|
||||
}:
|
||||
|
||||
@@ -9,6 +10,8 @@ buildGoModule {
|
||||
inherit (authentik) version src;
|
||||
inherit vendorHash;
|
||||
|
||||
nativeBuildInputs = [ apiGoVendorHook ];
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
subPackages = [ "cmd/proxy" ];
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
buildGoModule,
|
||||
authentik,
|
||||
apiGoVendorHook,
|
||||
vendorHash,
|
||||
}:
|
||||
|
||||
@@ -9,6 +10,8 @@ buildGoModule {
|
||||
inherit (authentik) version src;
|
||||
inherit vendorHash;
|
||||
|
||||
nativeBuildInputs = [ apiGoVendorHook ];
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
subPackages = [ "cmd/radius" ];
|
||||
|
||||
@@ -33,7 +33,10 @@ buildBazelPackage rec {
|
||||
"--registry"
|
||||
"file://${registry}"
|
||||
];
|
||||
LIBTOOL = lib.optionalString stdenv.hostPlatform.isDarwin "${cctools}/bin/libtool";
|
||||
|
||||
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
|
||||
LIBTOOL = "${cctools}/bin/libtool";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs scripts/create-workspace-status.sh
|
||||
|
||||
@@ -177,12 +177,17 @@ stdenv.mkDerivation rec {
|
||||
cctools
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (
|
||||
lib.optionals (stdenv.cc.isClang) [
|
||||
# wide_data.cxx:1750:15: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
|
||||
"-Wno-error"
|
||||
]
|
||||
);
|
||||
env =
|
||||
lib.optionalAttrs (stdenv.cc.isClang) {
|
||||
NIX_CFLAGS_COMPILE = toString [
|
||||
# wide_data.cxx:1750:15: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
|
||||
"-Wno-error"
|
||||
];
|
||||
}
|
||||
// lib.optionalAttrs (withSuiteCheck && stdenv.hostPlatform.isLinux) {
|
||||
# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
|
||||
LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"NO_DEPS_CHECKS=1" # skip the subrepo check (this deriviation uses yices-src instead of the subrepo)
|
||||
@@ -235,11 +240,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
checkTarget = if withSuiteCheck then "checkparallel" else "check-smoke"; # this is the shortest check but "check-suite" tests much more
|
||||
|
||||
# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
|
||||
LOCALE_ARCHIVE = lib.optionalString (
|
||||
withSuiteCheck && stdenv.hostPlatform.isLinux
|
||||
) "${glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
nativeCheckInputs = [
|
||||
gmp-static
|
||||
iverilog
|
||||
|
||||
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
|
||||
--replace "version = 'git'" "version = '${version}'"
|
||||
'';
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
||||
@@ -39,7 +39,7 @@ buildGoModule (finalAttrs: {
|
||||
sed -i -e 's/INSTALL =.*/INSTALL = install/' Makefile
|
||||
'';
|
||||
|
||||
DESTDIR = placeholder "out";
|
||||
env.DESTDIR = placeholder "out";
|
||||
|
||||
postConfigure = ''
|
||||
make configure
|
||||
|
||||
@@ -42,7 +42,7 @@ buildNpmPackage {
|
||||
patchShebangs packages/*/node_modules
|
||||
'';
|
||||
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
@@ -84,7 +84,7 @@ buildNpmPackage rec {
|
||||
patchShebangs packages/*/node_modules
|
||||
'';
|
||||
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
|
||||
# remove giflib dependency
|
||||
npmRebuildFlags = [ "--ignore-scripts" ];
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
# Used during the configure phase
|
||||
ENVCMD = "${coreutils}/bin/env";
|
||||
env.ENVCMD = "${coreutils}/bin/env";
|
||||
|
||||
buildInputs = [ perl ];
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ buildNpmPackage rec {
|
||||
hash = "sha256-hBGsqOqKMHNy2SNw1kHCQq1lPDd2S36L5pdKgD2O8FA=";
|
||||
};
|
||||
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
|
||||
npmDepsHash = "sha256-FgOHuMMUX92VHF6hdznoi7bhO/27t6+l038kmpqjctQ=";
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-expand";
|
||||
version = "1.0.120";
|
||||
version = "1.0.121";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dtolnay";
|
||||
repo = "cargo-expand";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-KXnAKv8202Trkkr9D9HRmxTOZ67M2Jt4dhZ9o7D86uI=";
|
||||
hash = "sha256-Mwc1toL3kF+ZSmSwE24FRHXtIGHB0IVBiKtHGEpsn2E=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-eCDjGKLPy98SuknzzIE2GZEsxFjNZKuV30Y5nBQao3s=";
|
||||
cargoHash = "sha256-F5g70cQYSiz63DD4uQTYIQ6I7Xf6fXL4ZwfDzOYpXzQ=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-hack";
|
||||
version = "0.6.42";
|
||||
version = "0.6.43";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-ebKnXTEWROIy4MREcBQ+ahbQoQZCSttiCMrgW+/buj4=";
|
||||
hash = "sha256-5C2qqmP+k7WtvjEOPuhlcj2MbcOJJEMsAwmr928Uw4E=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-4Vg0JD2FeZV8SiD5Kzg1KLkPnQ20NVlkbiguwbpYip8=";
|
||||
cargoHash = "sha256-sG+ltuEbptHeYgXAUIOlQ82f5z8MvKwHWHsU9aGC/K0=";
|
||||
|
||||
# some necessary files are absent in the crate version
|
||||
doCheck = false;
|
||||
|
||||
@@ -57,10 +57,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
};
|
||||
};
|
||||
|
||||
# `cargo-llvm-cov` reads these environment variables to find these binaries,
|
||||
# which are needed to run the tests
|
||||
LLVM_COV = "${llvm}/bin/llvm-cov";
|
||||
LLVM_PROFDATA = "${llvm}/bin/llvm-profdata";
|
||||
env = {
|
||||
# `cargo-llvm-cov` reads these environment variables to find these binaries,
|
||||
# which are needed to run the tests
|
||||
LLVM_COV = "${llvm}/bin/llvm-cov";
|
||||
LLVM_PROFDATA = "${llvm}/bin/llvm-profdata";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
gitMinimal
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cdk8s-cli";
|
||||
version = "2.204.7";
|
||||
version = "2.204.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cdk8s-team";
|
||||
repo = "cdk8s-cli";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-+VY9vGGb/Fk2YhqDLDsdA/2jjKsiyGEOgaY+YNr0LCo=";
|
||||
hash = "sha256-FV9/v8/UFrLtNPIZCh8No8A7n5oIzd9BlyjP1np8VZY=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-BFkXKEpK/iTaO7MnkqyTt0VX+yYbSy0y8eqrQb88JdM=";
|
||||
hash = "sha256-4/1euuWSaZcRO2gwMj55g+m+K46D/bEd+yFJojGap5k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
fixup-yarn-lock,
|
||||
go,
|
||||
makeWrapper,
|
||||
nodejs,
|
||||
nodejs_20,
|
||||
nix-update-script,
|
||||
patchelf,
|
||||
removeReferencesTo,
|
||||
@@ -18,26 +18,26 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cdktf-cli";
|
||||
version = "0.21.0";
|
||||
pname = "cdktn-cli";
|
||||
version = "0.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hashicorp";
|
||||
repo = "terraform-cdk";
|
||||
owner = "open-constructs";
|
||||
repo = "cdk-terrain";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-iqy8j1bqwjSRBOj8kjFtAq9dLiv6dDbJsiFGQUhGW7k=";
|
||||
hash = "sha256-KgDRQ76ePLJEdULMCTJTouMaWu0SCeV4NwNW2WpoaNY=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash = "sha256-qGjzy/+u8Ui9aHK0sX3MfYbkj5Cqab4RlhOgrwbEmGs=";
|
||||
hash = "sha256-0aOwRdfCTiQHmWzOk+ExLX+/EAryxheyILe7L7oyd4w=";
|
||||
};
|
||||
|
||||
hcl2json-go-modules =
|
||||
(buildGoModule {
|
||||
pname = "cdktf-hcl2json-go-modules";
|
||||
pname = "cdktn-hcl2json-go-modules";
|
||||
inherit (finalAttrs) version src;
|
||||
modRoot = "packages/@cdktf/hcl2json";
|
||||
modRoot = "packages/@cdktn/hcl2json";
|
||||
vendorHash = "sha256-OiKPq0CHkOxJaFzgsaNJ02tasvHtHWylmaPRPayJob4=";
|
||||
proxyVendor = true;
|
||||
doCheck = false;
|
||||
@@ -46,9 +46,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
hcltools-go-modules =
|
||||
(buildGoModule {
|
||||
pname = "cdktf-hcltools-go-modules";
|
||||
pname = "cdktn-hcltools-go-modules";
|
||||
inherit (finalAttrs) version src;
|
||||
modRoot = "packages/@cdktf/hcl-tools";
|
||||
modRoot = "packages/@cdktn/hcl-tools";
|
||||
vendorHash = "sha256-orGxkYEQVtTKvXb7/FD/CLwqSINgBQFTF5arbR0xAvE=";
|
||||
proxyVendor = true;
|
||||
doCheck = false;
|
||||
@@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fixup-yarn-lock
|
||||
go
|
||||
makeWrapper
|
||||
nodejs
|
||||
nodejs_20
|
||||
patchelf
|
||||
removeReferencesTo
|
||||
yarn
|
||||
@@ -71,9 +71,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
postPatch = ''
|
||||
# wasm_exec has moved to lib in newer versions of Go
|
||||
substituteInPlace packages/@cdktf/hcl-tools/prebuild.sh \
|
||||
substituteInPlace packages/@cdktn/hcl-tools/prebuild.sh \
|
||||
--replace-fail "misc/wasm/wasm_exec.js" "lib/wasm/wasm_exec.js"
|
||||
substituteInPlace packages/@cdktf/hcl2json/prebuild.sh \
|
||||
substituteInPlace packages/@cdktn/hcl2json/prebuild.sh \
|
||||
--replace-fail "misc/wasm/wasm_exec.js" "lib/wasm/wasm_exec.js"
|
||||
'';
|
||||
|
||||
@@ -114,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook preCheck
|
||||
|
||||
# Skip tests that require terraform (unfree)
|
||||
yarn --offline workspace cdktf-cli test -- \
|
||||
yarn --offline workspace cdktn-cli test -- \
|
||||
--testPathIgnorePatterns \
|
||||
"src/test/cmds/(convert|init).test.ts"
|
||||
|
||||
@@ -126,11 +126,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
yarn --offline --production install
|
||||
|
||||
mkdir -p "$out/lib/node_modules/cdktf-cli"
|
||||
cp -rL node_modules packages/cdktf-cli/bundle packages/cdktf-cli/package.json "$out/lib/node_modules/cdktf-cli/"
|
||||
mkdir -p "$out/lib/node_modules/cdktn-cli"
|
||||
cp -rL node_modules packages/cdktn-cli/bundle packages/cdktn-cli/package.json "$out/lib/node_modules/cdktn-cli/"
|
||||
|
||||
makeWrapper "${lib.getExe nodejs}" "$out/bin/cdktf" \
|
||||
--add-flags "$out/lib/node_modules/cdktf-cli/bundle/bin/cdktf.js"
|
||||
makeWrapper "${lib.getExe nodejs_20}" "$out/bin/cdktn" \
|
||||
--add-flags "$out/lib/node_modules/cdktn-cli/bundle/bin/cdktn.js"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@@ -138,8 +138,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
postInstall = ''
|
||||
# Go isn't needed at runtime, so remove these to decrease the closure size
|
||||
remove-references-to -t ${go} \
|
||||
"$out/lib/node_modules/cdktf-cli/node_modules/@cdktf/hcl-tools/main.wasm" \
|
||||
"$out/lib/node_modules/cdktf-cli/node_modules/@cdktf/hcl2json/main.wasm"
|
||||
"$out/lib/node_modules/cdktn-cli/node_modules/@cdktn/hcl-tools/main.wasm" \
|
||||
"$out/lib/node_modules/cdktn-cli/node_modules/@cdktn/hcl2json/main.wasm"
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
@@ -154,10 +154,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
description = "CDK for Terraform CLI";
|
||||
homepage = "https://github.com/hashicorp/terraform-cdk";
|
||||
changelog = "https://github.com/hashicorp/terraform-cdk/releases/tag/${finalAttrs.src.tag}";
|
||||
homepage = "https://cdktn.io";
|
||||
changelog = "https://github.com/open-constructs/cdk-terrain/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "cdktf";
|
||||
mainProgram = "cdktn";
|
||||
maintainers = with lib.maintainers; [ deejayem ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
@@ -24,7 +24,7 @@ buildNpmPackage rec {
|
||||
};
|
||||
|
||||
makeCacheWritable = true; # sharp tries to build stuff in node_modules
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = true;
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = true;
|
||||
|
||||
npmDepsHash = "sha256-jvGvhgNhY+wz/DFS7NDtmzKXbhHbNF3i0qVQoFFeB0M=";
|
||||
|
||||
|
||||
@@ -37,14 +37,14 @@ with py.pkgs;
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "checkov";
|
||||
version = "3.2.501";
|
||||
version = "3.2.504";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bridgecrewio";
|
||||
repo = "checkov";
|
||||
tag = version;
|
||||
hash = "sha256-kvUPhCuKWcklrrTnzbNWIg2Vqhv5dFP52+QkYas3kww=";
|
||||
hash = "sha256-w6U8XW/hSPy/WJy4a6N41Hu+i9OVqiwI5buAE2uFjoI=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -25,7 +25,9 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
./log-path.diff
|
||||
];
|
||||
|
||||
KSRC = lib.optionalString withDriver "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
env = lib.optionalAttrs withDriver {
|
||||
KSRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nasm
|
||||
|
||||
@@ -32,9 +32,9 @@ appimageTools.wrapType2 {
|
||||
-t $out/share/applications
|
||||
substituteInPlace \
|
||||
$out/share/applications/Chrysalis.desktop \
|
||||
--replace-fail 'Exec=Chrysalis' 'Exec=${pname}'
|
||||
--replace-fail 'Exec=Chrysalis' 'Exec=chrysalis'
|
||||
|
||||
install -Dm444 ${appimageContents}/usr/share/icons/hicolor/256x256/chrysalis.png -t $out/share/pixmaps
|
||||
cp -r ${appimageContents}/usr/share $out/share
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
@@ -86,6 +86,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
install -Dm444 $out/share/pixmaps/cider.png \
|
||||
$out/share/icons/hicolor/256x256/apps/cider.png
|
||||
|
||||
rm -r $out/share/pixmaps
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./updater.sh;
|
||||
|
||||
@@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
# cannot use lib.optionalString as it creates an empty string, disabling all tests
|
||||
LIT_FILTER_OUT =
|
||||
env.LIT_FILTER_OUT =
|
||||
let
|
||||
lit-filters =
|
||||
# There are some tests depending on `clang-tools` to work. They are activated only when detected
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
buildNpmPackage rec {
|
||||
pname = "clever-tools";
|
||||
|
||||
version = "4.5.3";
|
||||
version = "4.6.0";
|
||||
|
||||
nodejs = nodejs_22;
|
||||
|
||||
@@ -19,10 +19,10 @@ buildNpmPackage rec {
|
||||
owner = "CleverCloud";
|
||||
repo = "clever-tools";
|
||||
rev = version;
|
||||
hash = "sha256-/PVVnTzRPy4AM3OEfTdrSrvdWfbPSrP/LoenzPA0d2Q=";
|
||||
hash = "sha256-0c2SBArtMUffQ7hd2fH9l5DMGm+UIWNeY/aSU0cUHzg=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-i9cZI+P363EqODlnggqKT6XxoDYTNVrg5rTYNWWHm8A=";
|
||||
npmDepsHash = "sha256-Quzpdmu9qvJ4P77nsXzqLg3k7tQvuYtvEioDuUSU0+M=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
# https://github.com/clMathLibraries/clFFT/issues/237
|
||||
CXXFLAGS = "-std=c++98";
|
||||
env.CXXFLAGS = "-std=c++98";
|
||||
|
||||
meta = {
|
||||
description = "Library containing FFT functions written in OpenCL";
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
buildGraalvmNativeImage (finalAttrs: {
|
||||
pname = "cljfmt";
|
||||
version = "0.15.6";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/weavejester/cljfmt/releases/download/${finalAttrs.version}/cljfmt-${finalAttrs.version}-standalone.jar";
|
||||
hash = "sha256-/ihm/b/B9cSay2Zgshie7D0KwaKuIjiNI5FOnWOHfOw=";
|
||||
hash = "sha256-56llKSnJJzjv9mf33ir7b3gk8Jp+jxyuax6vEXj0xDk=";
|
||||
};
|
||||
|
||||
extraNativeImageBuildArgs = [
|
||||
|
||||
@@ -60,12 +60,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
MKLROOT = "${mkl}";
|
||||
clBLAS = "${clblas}";
|
||||
env = {
|
||||
MKLROOT = mkl;
|
||||
clBLAS = clblas;
|
||||
|
||||
# Otherwise build looks for it in /run/opengl-driver/etc/OpenCL/vendors,
|
||||
# which is not available.
|
||||
OPENCL_VENDOR_PATH = "${intel-ocl}/etc/OpenCL/vendors";
|
||||
# Otherwise build looks for it in /run/opengl-driver/etc/OpenCL/vendors,
|
||||
# which is not available.
|
||||
OPENCL_VENDOR_PATH = "${intel-ocl}/etc/OpenCL/vendors";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
# By default it tries to use GPU, and thus fails for CPUs
|
||||
|
||||
@@ -19,7 +19,7 @@ appimageTools.wrapType2 rec {
|
||||
in
|
||||
''
|
||||
install -Dm 444 ${appimageContents}/clockify.desktop -t $out/share/applications
|
||||
install -Dm 444 ${appimageContents}/clockify.png -t $out/share/pixmaps
|
||||
install -Dm 444 ${appimageContents}/clockify.png -t $out/share/icons/hicolor/1024x1024/apps
|
||||
|
||||
substituteInPlace $out/share/applications/clockify.desktop \
|
||||
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
||||
|
||||
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
nodejs
|
||||
];
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
nodejs
|
||||
];
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
nodejs
|
||||
];
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
nodejs
|
||||
];
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
nodejs
|
||||
];
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
nodejs
|
||||
];
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -42,7 +42,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
hardeningDisable = [ "fortify" ];
|
||||
CXXFLAGS = lib.optionals withOpenMP [ "-fopenmp" ];
|
||||
|
||||
env = lib.optionalAttrs withOpenMP {
|
||||
CXXFLAGS = "-fopenmp";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
SysCPU
|
||||
]);
|
||||
|
||||
CXXFLAGS = "-std=c++98";
|
||||
env.CXXFLAGS = "-std=c++98";
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace $out/bin/compiler_test.pl \
|
||||
|
||||
@@ -119,7 +119,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
env = lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) {
|
||||
env = {
|
||||
CXX = "${stdenv.cc.targetPrefix}c++";
|
||||
CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) {
|
||||
# Not having this causes curl’s `configure` script to fail with static builds on Darwin because
|
||||
# some of curl’s propagated inputs need libiconv.
|
||||
NIX_LDFLAGS = "-liconv";
|
||||
@@ -209,9 +213,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"--with-ca-path=/etc/ssl/certs"
|
||||
];
|
||||
|
||||
CXX = "${stdenv.cc.targetPrefix}c++";
|
||||
CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
|
||||
|
||||
# takes 14 minutes on a 24 core and because many other packages depend on curl
|
||||
# they cannot be run concurrently and are a bottleneck
|
||||
# tests are available in passthru.tests.withCheck
|
||||
|
||||
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
"-DCOMPILE_WITH_LZFSE=1"
|
||||
"-llzfse"
|
||||
];
|
||||
|
||||
@@ -58,7 +58,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
|
||||
# to avoid running gtk-update-icon-cache, update-desktop-database and glib-compile-schemas
|
||||
DESTDIR = "/";
|
||||
env.DESTDIR = "/";
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
|
||||
|
||||
@@ -18,8 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoHash = "sha256-tZlh7+END6oOy3uWOrjle+nwqFhMU6bbXmr4hdt6gqY=";
|
||||
|
||||
LIBPCAP_LIBDIR = lib.makeLibraryPath [ libpcap ];
|
||||
LIBPCAP_VER = libpcap.version;
|
||||
env = {
|
||||
LIBPCAP_LIBDIR = lib.makeLibraryPath [ libpcap ];
|
||||
LIBPCAP_VER = libpcap.version;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Spy on the DNS queries your computer is making";
|
||||
|
||||
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# configure tries to find osx in PATH and hardcodes the resulting path
|
||||
# (if any) on the Perl code. this fails under strictDeps, so override
|
||||
# the autoconf test:
|
||||
OSX = "${opensp}/bin/osx";
|
||||
env.OSX = "${opensp}/bin/osx";
|
||||
|
||||
postConfigure = ''
|
||||
# Broken substitution is used for `perl/config.pl', which leaves literal
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
buildDotnetGlobalTool rec {
|
||||
pname = "dotnet-outdated";
|
||||
nugetName = "dotnet-outdated-tool";
|
||||
version = "4.6.9";
|
||||
version = "4.7.0";
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_10_0;
|
||||
|
||||
nugetHash = "sha256-LVe/b18hxM9A0Kni6Kl4sE38KgzIihDuc+xRw8qaKv0=";
|
||||
nugetHash = "sha256-96tYVEN6sWw2H5xB6UaDUO7EtOn839Nfagamxf8bLvA=";
|
||||
|
||||
meta = {
|
||||
description = ".NET Core global tool to display and update outdated NuGet packages in a project";
|
||||
|
||||
@@ -61,9 +61,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-DDRACO_TINYGLTF_PATH=${tinygltf}"
|
||||
];
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
# error: expected ')' before 'value' in 'explicit GltfValue(uint8_t value)'
|
||||
"-include cstdint"
|
||||
"-include"
|
||||
"cstdint"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
darwin.autoSignDarwinBinariesHook
|
||||
];
|
||||
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = true;
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = true;
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
@@ -24,8 +24,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
|
||||
OPENSSL_DIR = "${lib.getDev openssl}";
|
||||
env = {
|
||||
OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
|
||||
OPENSSL_DIR = "${lib.getDev openssl}";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
openssl
|
||||
|
||||
@@ -100,7 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
# these fail inside of the sandbox due to missing access
|
||||
# to the FUSE device
|
||||
GTEST_FILTER =
|
||||
env.GTEST_FILTER =
|
||||
let
|
||||
disabledTests = [
|
||||
"dwarfs/tools_test.end_to_end/*"
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "eask-cli";
|
||||
version = "0.12.5";
|
||||
version = "0.12.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-eask";
|
||||
repo = "cli";
|
||||
rev = version;
|
||||
hash = "sha256-GYpFbCEgS9GgZs/XC3NwA8GuCiovaUTL1bVqlsnyFKI=";
|
||||
hash = "sha256-eH46NlHQs+OVbc3WVUKHQGgXi9rvFMTrbd3UB8WCB6k=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-712QW0tTKg7THsBzvEHcG97FBMw3ESzpoqdw0kv3mMU=";
|
||||
npmDepsHash = "sha256-U/VKtefL31FNYUegt8+Qg2jM6fx4cX660UcNqGsWMOc=";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
CXXFLAGS = "-std=c++11";
|
||||
env.CXXFLAGS = "-std=c++11";
|
||||
configureFlags = [
|
||||
"--enable-liblilv"
|
||||
"--with-extra-cppflags=-Dnullptr=0"
|
||||
|
||||
@@ -169,7 +169,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ attrs.nativeBuildInputs or [ ];
|
||||
strictDeps = true;
|
||||
|
||||
${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix;
|
||||
env.${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix;
|
||||
|
||||
prePatch = ''
|
||||
rm -rf BaseTools
|
||||
|
||||
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
"-O0"
|
||||
"-I${lib.getDev utf8cpp}/include/utf8cpp"
|
||||
];
|
||||
|
||||
@@ -61,7 +61,7 @@ flutter332.buildFlutterApplication rec {
|
||||
];
|
||||
|
||||
# https://github.com/juliansteenbakker/flutter_secure_storage/issues/965
|
||||
CXXFLAGS = [ "-Wno-deprecated-literal-operator" ];
|
||||
env.CXXFLAGS = toString [ "-Wno-deprecated-literal-operator" ];
|
||||
|
||||
# Based on https://github.com/ente-io/ente/blob/main/auth/linux/packaging/rpm/make_config.yaml
|
||||
# and https://github.com/ente-io/ente/blob/main/auth/linux/packaging/enteauth.appdata.xml
|
||||
|
||||
@@ -24,7 +24,8 @@ buildNpmPackage (finalAttrs: {
|
||||
makeCacheWritable = true;
|
||||
dontNpmBuild = true;
|
||||
npmPackFlags = [ "--ignore-scripts" ];
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
env.NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
@@ -35,13 +35,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env = {
|
||||
# Required for compilation with gcc-14
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
|
||||
LDFLAGS = "-lblas -llapack";
|
||||
LDFLAGS = toString [
|
||||
"-lblas"
|
||||
"-llapack"
|
||||
];
|
||||
OMP_NUM_THREADS = 2; # required for check phase
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
OMP_NUM_THREADS = 2; # required for check phase
|
||||
|
||||
# With "fortify3", there are test failures, such as:
|
||||
# Testing cnof CAMB3LYP/6-31G using FMM
|
||||
# *** buffer overflow detected ***: terminated
|
||||
|
||||
@@ -45,9 +45,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-DDISABLE_CRASH_LOG=TRUE"
|
||||
];
|
||||
|
||||
CXXFLAGS = lib.optionals stdenv.cc.isClang [
|
||||
"-std=c++17"
|
||||
];
|
||||
env = lib.optionalAttrs stdenv.cc.isClang {
|
||||
CXXFLAGS = toString [ "-std=c++17" ];
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGo125Module,
|
||||
buildGo126Module,
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
cacert,
|
||||
git,
|
||||
go_1_25,
|
||||
go_1_26,
|
||||
gokrazy,
|
||||
enumer,
|
||||
mockgen,
|
||||
@@ -17,23 +17,23 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.300.8";
|
||||
version = "0.301.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evcc-io";
|
||||
repo = "evcc";
|
||||
tag = version;
|
||||
hash = "sha256-IbyE9Y9crdoaPy1/PkKaA1iOAUFOf2cYzoB9Cj3luSo=";
|
||||
hash = "sha256-ns6Kl0sN8GeF0Br7HrRLdVmKaGMqT3Y5REuH9UJg+Yg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-j+tmZeVUqUpETIg8ILlxRRdN5/OV8pYmgH2FM1uweAY=";
|
||||
vendorHash = "sha256-LGTT7WxBlWA4pCunvFDpsqDkUhTN96PohBKTLAffr0o=";
|
||||
|
||||
commonMeta = {
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
|
||||
decorate = buildGo125Module {
|
||||
decorate = buildGo126Module {
|
||||
pname = "evcc-decorate";
|
||||
inherit version src vendorHash;
|
||||
|
||||
@@ -46,13 +46,13 @@ let
|
||||
};
|
||||
in
|
||||
|
||||
buildGo125Module rec {
|
||||
buildGo126Module rec {
|
||||
pname = "evcc";
|
||||
inherit version src vendorHash;
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit src;
|
||||
hash = "sha256-DGDPbc/N+c3lt1rIx/nAt1i44J//egPQXGWH7tomJTw=";
|
||||
hash = "sha256-fblf49V+fn+9iuIwwOZ/iYMxUbjtWcm3iEs9mP9l59I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -64,7 +64,7 @@ buildGo125Module rec {
|
||||
nativeBuildInputs = [
|
||||
decorate
|
||||
enumer
|
||||
go_1_25
|
||||
go_1_26
|
||||
gokrazy
|
||||
git
|
||||
cacert
|
||||
|
||||
@@ -27,7 +27,7 @@ buildDotnetModule rec {
|
||||
};
|
||||
|
||||
# Fixes application reporting 0.0.0.0 as its version.
|
||||
MINVERVERSIONOVERRIDE = version;
|
||||
env.MINVERVERSIONOVERRIDE = version;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ libpng ];
|
||||
|
||||
GSEXE = "${ghostscript}/bin/gs";
|
||||
env.GSEXE = "${ghostscript}/bin/gs";
|
||||
|
||||
configureFlags = [ "--enable-transfig" ];
|
||||
|
||||
|
||||
@@ -56,8 +56,10 @@ rustPlatform.buildRustPackage rec {
|
||||
];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
FFPWA_EXECUTABLES = ""; # .desktop entries generated without any store path references
|
||||
FFPWA_SYSDATA = "${placeholder "out"}/share/firefoxpwa";
|
||||
env = {
|
||||
FFPWA_EXECUTABLES = ""; # .desktop entries generated without any store path references
|
||||
FFPWA_SYSDATA = "${placeholder "out"}/share/firefoxpwa";
|
||||
};
|
||||
completions = "target/${stdenv.targetPlatform.config}/release/completions";
|
||||
|
||||
gtk_modules = map (x: x + x.gtkModule) [ libcanberra-gtk3 ];
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"version": "12.10.3",
|
||||
"version": "12.10.4",
|
||||
"sources": {
|
||||
"aarch64-linux": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.3/floorp-linux-aarch64.tar.xz",
|
||||
"sha256": "b2f62db7941f819375a9f8627bd55442c30310e93cb270621fdf9e5c707801e3"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.4/floorp-linux-aarch64.tar.xz",
|
||||
"sha256": "6fb5030be0209744dd9aac0fa5645c45a21d135d4e487836a300359a695327e5"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.3/floorp-linux-x86_64.tar.xz",
|
||||
"sha256": "fb866cd00da594c5c6435238e32ac2c13eaca40ead4936656aee88ea3446983f"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.4/floorp-linux-x86_64.tar.xz",
|
||||
"sha256": "1cc457b0b23d29d863749a9a4f000b47fa480aa0579774bb39eff5978160df21"
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.3/floorp-macOS-universal.dmg",
|
||||
"sha256": "56477ebaae97aee37c0a93294f8770ae901bf2e35d2be03540daf0a779db6dae"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.4/floorp-macOS-universal.dmg",
|
||||
"sha256": "1fa4e85c9aa58d989f0aa01389c0b3a5f231ad08485606427498777daba81398"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.3/floorp-macOS-universal.dmg",
|
||||
"sha256": "56477ebaae97aee37c0a93294f8770ae901bf2e35d2be03540daf0a779db6dae"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.10.4/floorp-macOS-universal.dmg",
|
||||
"sha256": "1fa4e85c9aa58d989f0aa01389c0b3a5f231ad08485606427498777daba81398"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
buildNoDefaultFeatures = true;
|
||||
|
||||
MAN_OUT = "./man";
|
||||
env.MAN_OUT = "./man";
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p "./$MAN_OUT";
|
||||
|
||||
@@ -159,17 +159,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error"
|
||||
# https://github.com/signalwire/freeswitch/issues/2495
|
||||
"-Wno-incompatible-pointer-types"
|
||||
];
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error"
|
||||
# https://github.com/signalwire/freeswitch/issues/2495
|
||||
"-Wno-incompatible-pointer-types"
|
||||
];
|
||||
|
||||
# Using c++14 because of build error
|
||||
# gsm_at.h:94:32: error: ISO C++17 does not allow dynamic exception specifications
|
||||
CXXFLAGS = "-std=c++14";
|
||||
# Using c++14 because of build error
|
||||
# gsm_at.h:94:32: error: ISO C++17 does not allow dynamic exception specifications
|
||||
CXXFLAGS = "-std=c++14";
|
||||
|
||||
CFLAGS = "-D_ANSI_SOURCE";
|
||||
CFLAGS = "-D_ANSI_SOURCE";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# Without the std explicitly set, we may run into abseil-cpp
|
||||
# compilation errors.
|
||||
CXXFLAGS = "-std=gnu++23";
|
||||
env.CXXFLAGS = "-std=gnu++23";
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
|
||||
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
cargoHash = "sha256-kH5YTadpaUXDma+7SfBJxrOIsd9Gm0EU3MfhFmQ3U80=";
|
||||
|
||||
# integration tests are not run but the macros need this variable to be set
|
||||
GHC_VERSIONS = "";
|
||||
env.GHC_VERSIONS = "";
|
||||
checkFlags = "--test \"unit\"";
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-vPeODNTptxIjN6qLoIHaKOFf3P3iAK2GloVreHPaAz8=";
|
||||
};
|
||||
|
||||
LIBRARY_PATH = "${stdenv.cc.libc}/lib";
|
||||
env.LIBRARY_PATH = "${stdenv.cc.libc}/lib";
|
||||
|
||||
nativeBuildInputs = [
|
||||
gnat
|
||||
|
||||
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
# https://github.com/AGWA/git-crypt/issues/232
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
"-DOPENSSL_API_COMPAT=0x30000000L"
|
||||
];
|
||||
|
||||
|
||||
@@ -103,10 +103,12 @@ buildDotnetModule (finalAttrs: {
|
||||
'true'
|
||||
'';
|
||||
|
||||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = isNull glibcLocales;
|
||||
LOCALE_ARCHIVE = lib.optionalString (
|
||||
!finalAttrs.DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
|
||||
) "${glibcLocales}/lib/locale/locale-archive";
|
||||
env = {
|
||||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = isNull glibcLocales;
|
||||
}
|
||||
// lib.optionalAttrs (!isNull glibcLocales) {
|
||||
LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive";
|
||||
};
|
||||
|
||||
postConfigure = ''
|
||||
# Generate src/Runner.Sdk/BuildConstants.cs
|
||||
@@ -220,7 +222,7 @@ buildDotnetModule (finalAttrs: {
|
||||
"GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNode20RuntimeVersionInAlpineContainerAsync"
|
||||
"GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNode24RuntimeVersionInAlpineContainerAsync"
|
||||
]
|
||||
++ lib.optionals finalAttrs.DOTNET_SYSTEM_GLOBALIZATION_INVARIANT [
|
||||
++ lib.optionals finalAttrs.env.DOTNET_SYSTEM_GLOBALIZATION_INVARIANT [
|
||||
"GitHub.Runner.Common.Tests.Util.StringUtilL0.FormatUsesInvariantCulture"
|
||||
"GitHub.Runner.Common.Tests.Worker.VariablesL0.Constructor_SetsOrdinalIgnoreCaseComparer"
|
||||
"GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchCancellation"
|
||||
|
||||
@@ -228,14 +228,16 @@ let
|
||||
chmod 777 ee/frontend_islands/yarn.lock
|
||||
'';
|
||||
|
||||
# One of the patches uses this variable - if it's unset, execution
|
||||
# of rake tasks fails.
|
||||
GITLAB_LOG_PATH = "log";
|
||||
FOSS_ONLY = !gitlabEnterprise;
|
||||
SKIP_FRONTEND_ISLANDS_BUILD = lib.optionalString (!gitlabEnterprise) "true";
|
||||
env = {
|
||||
# One of the patches uses this variable - if it's unset, execution
|
||||
# of rake tasks fails.
|
||||
GITLAB_LOG_PATH = "log";
|
||||
FOSS_ONLY = !gitlabEnterprise;
|
||||
SKIP_FRONTEND_ISLANDS_BUILD = lib.optionalString (!gitlabEnterprise) "true";
|
||||
|
||||
SKIP_YARN_INSTALL = 1;
|
||||
NODE_OPTIONS = "--max-old-space-size=8192";
|
||||
SKIP_YARN_INSTALL = 1;
|
||||
NODE_OPTIONS = "--max-old-space-size=8192";
|
||||
};
|
||||
|
||||
postConfigure = ''
|
||||
# Some rake tasks try to run yarn automatically, which won't work
|
||||
|
||||
@@ -252,6 +252,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# we're using plain
|
||||
"-DG_DISABLE_CAST_CHECKS"
|
||||
];
|
||||
DETERMINISTIC_BUILD = 1;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -280,8 +281,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patchShebangs gio/gdbus-2.0/codegen/gdbus-codegen gobject/glib-{genmarshal,mkenums}
|
||||
'';
|
||||
|
||||
DETERMINISTIC_BUILD = 1;
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput "share/glib-2.0" "$dev"
|
||||
moveToOutput "share/glib-2.0/gdb" "$out"
|
||||
|
||||
@@ -26,7 +26,7 @@ in
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "global-platform-pro";
|
||||
version = "25.10.20";
|
||||
GPPRO_VERSION = "v25.10.20-0-g72f85b9"; # git describe --tags --always --long --dirty
|
||||
env.GPPRO_VERSION = "v25.10.20-0-g72f85b9"; # git describe --tags --always --long --dirty
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "martinpaljak";
|
||||
|
||||
@@ -43,12 +43,14 @@ rustPlatform.buildRustPackage rec {
|
||||
(lib.getDev openssl)
|
||||
];
|
||||
|
||||
# Required for golem-wasm-rpc's build.rs to find the required protobuf files
|
||||
# https://github.com/golemcloud/wasm-rpc/blob/v1.0.6/wasm-rpc/build.rs#L7
|
||||
GOLEM_WASM_AST_ROOT = "../golem-wasm-ast-1.1.0";
|
||||
# Required for golem-examples's build.rs to find the required Wasm Interface Type (WIT) files
|
||||
# https://github.com/golemcloud/golem-examples/blob/v1.0.6/build.rs#L9
|
||||
GOLEM_WIT_ROOT = "../golem-wit-1.1.0";
|
||||
env = {
|
||||
# Required for golem-wasm-rpc's build.rs to find the required protobuf files
|
||||
# https://github.com/golemcloud/wasm-rpc/blob/v1.0.6/wasm-rpc/build.rs#L7
|
||||
GOLEM_WASM_AST_ROOT = "../golem-wasm-ast-1.1.0";
|
||||
# Required for golem-examples's build.rs to find the required Wasm Interface Type (WIT) files
|
||||
# https://github.com/golemcloud/golem-examples/blob/v1.0.6/build.rs#L9
|
||||
GOLEM_WIT_ROOT = "../golem-wit-1.1.0";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-zf/L7aNsfQXCdGpzvBZxgoatAGB92bvIuj59jANrXIc=";
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
freetype
|
||||
];
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
# GCC 13: error: 'uint32_t' has not been declared
|
||||
"-include cstdint"
|
||||
];
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "greenmask";
|
||||
version = "0.2.15";
|
||||
version = "0.2.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GreenmaskIO";
|
||||
repo = "greenmask";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/At0boolTyge4VNy1EDpK09Yo7hLAdq6SvCbyBTKGbw=";
|
||||
hash = "sha256-0XWVYkC5ltpJZ1VLG3G1gvTwGdgqY4nzmOvDDnbz0Ss=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-t2U65GAGBGdMRXPTkCQCuXfLuqohA6erTlvAN/xx/ek=";
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gvm-libs";
|
||||
version = "22.35.6";
|
||||
version = "22.35.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "greenbone";
|
||||
repo = "gvm-libs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oXfxgoFxInx3MyolVxzwRP3EpMsa35G5sdt1GxBUmUU=";
|
||||
hash = "sha256-A3FO2el1ytsXUJEWA+7zthcTN2WpEnNIO2fWQI+0bjc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
CXXFLAGS = "-std=c++98";
|
||||
env.CXXFLAGS = "-std=c++98";
|
||||
|
||||
buildInputs = [
|
||||
freetype
|
||||
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
CXXFLAGS = [
|
||||
env.CXXFLAGS = toString [
|
||||
"-DHAVE_LROUND"
|
||||
"-fpermissive"
|
||||
];
|
||||
|
||||
@@ -22,10 +22,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
LANG = "en_US.UTF-8";
|
||||
LOCALE_ARCHIVE = lib.optionalString (
|
||||
stdenvNoCC.buildPlatform.libc == "glibc"
|
||||
) "${buildPackages.glibcLocales}/lib/locale/locale-archive";
|
||||
env = {
|
||||
LANG = "en_US.UTF-8";
|
||||
}
|
||||
// lib.optionalAttrs (stdenvNoCC.buildPlatform.libc == "glibc") {
|
||||
LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive";
|
||||
};
|
||||
|
||||
makeFlags = [ "all" ];
|
||||
enableParallelBuilding = false;
|
||||
|
||||
@@ -17,7 +17,7 @@ buildGoModule (finalAttrs: {
|
||||
hash = "sha256-JHjjaK5WFRzDYuVkenfYowFsPnrF+Wjo85gQAbaVxO8=";
|
||||
};
|
||||
|
||||
NO_REDIS_TEST = true;
|
||||
env.NO_REDIS_TEST = true;
|
||||
|
||||
patches = [
|
||||
# Allows turning off the one test requiring a Redis service during build.
|
||||
|
||||
@@ -32,13 +32,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
HYPERROGUE_USE_GLEW = 1;
|
||||
HYPERROGUE_USE_PNG = 1;
|
||||
HYPERROGUE_USE_ROGUEVIZ = 1;
|
||||
};
|
||||
|
||||
CXXFLAGS = [
|
||||
"-I${lib.getDev SDL}/include/SDL"
|
||||
"-DHYPERPATH='\"${placeholder "out"}/share/hyperrogue/\"'"
|
||||
"-DRESOURCEDESTDIR=HYPERPATH"
|
||||
];
|
||||
CXXFLAGS = toString [
|
||||
"-I${lib.getDev SDL}/include/SDL"
|
||||
"-DHYPERPATH='\"${placeholder "out"}/share/hyperrogue/\"'"
|
||||
"-DRESOURCEDESTDIR=HYPERPATH"
|
||||
];
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -32,7 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pcre
|
||||
];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
CXXFLAGS = [
|
||||
|
||||
env.CXXFLAGS = toString [
|
||||
"-fPIC"
|
||||
"-O2"
|
||||
"-w"
|
||||
|
||||
@@ -27,9 +27,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
];
|
||||
|
||||
GIT_COMMIT = finalAttrs.src.rev;
|
||||
GIT_VERSION = finalAttrs.version;
|
||||
GIT_DATE = "2023-02-14";
|
||||
env = {
|
||||
GIT_COMMIT = finalAttrs.src.rev;
|
||||
GIT_VERSION = finalAttrs.version;
|
||||
GIT_DATE = "2023-02-14";
|
||||
};
|
||||
|
||||
buildInputs = [ libftdi ];
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
# Set the correct install path:
|
||||
LIBVA_DRIVERS_PATH = "${placeholder "out"}/lib/dri";
|
||||
env.LIBVA_DRIVERS_PATH = "${placeholder "out"}/lib/dri";
|
||||
|
||||
postInstall = lib.optionalString enableHybridCodec ''
|
||||
ln -s ${vaapi-intel-hybrid}/lib/dri/* $out/lib/dri/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user