Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900
2026-02-19 21:22:07 +03:00
263 changed files with 2490 additions and 1225 deletions
-2
View File
@@ -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}
+259 -4
View File
@@ -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
View File
@@ -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"
'';
}
+24 -22
View File
@@ -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"
];
+25 -23
View File
@@ -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
+1 -1
View File
@@ -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)
+5 -3
View File
@@ -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)
+14 -12
View File
@@ -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 { };
+11 -10
View File
@@ -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
+3
View File
@@ -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" ];
+4 -3
View File
@@ -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; };
}
+152 -13
View File
@@ -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;
};
};
+3
View File
@@ -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" ];
+3
View File
@@ -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" ];
+4 -1
View File
@@ -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
+11 -11
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -39,7 +39,7 @@ buildGoModule (finalAttrs: {
sed -i -e 's/INSTALL =.*/INSTALL = install/' Makefile
'';
DESTDIR = placeholder "out";
env.DESTDIR = placeholder "out";
postConfigure = ''
make configure
+1 -1
View File
@@ -42,7 +42,7 @@ buildNpmPackage {
patchShebangs packages/*/node_modules
'';
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
buildPhase = ''
runHook preBuild
+1 -1
View File
@@ -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" ];
+1 -1
View File
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
# Used during the configure phase
ENVCMD = "${coreutils}/bin/env";
env.ENVCMD = "${coreutils}/bin/env";
buildInputs = [ perl ];
+1 -1
View File
@@ -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=";
+3 -3
View File
@@ -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;
+3 -3
View File
@@ -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;
+6 -4
View File
@@ -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
+3 -3
View File
@@ -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;
};
+1 -1
View File
@@ -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=";
+2 -2
View File
@@ -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 = [
+3 -1
View File
@@ -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
+2 -2
View File
@@ -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;
+2
View File
@@ -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;
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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";
+2 -2
View File
@@ -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 = [
+7 -5
View File
@@ -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
+1 -1
View File
@@ -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}'
+1 -1
View File
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nodejs
];
NODE_OPTIONS = "--openssl-legacy-provider";
env.NODE_OPTIONS = "--openssl-legacy-provider";
passthru.updateScript = nix-update-script { };
+1 -1
View File
@@ -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" ]; };
+1 -1
View File
@@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nodejs
];
NODE_OPTIONS = "--openssl-legacy-provider";
env.NODE_OPTIONS = "--openssl-legacy-provider";
passthru.updateScript = nix-update-script { };
+1 -1
View File
@@ -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" ]; };
+1 -1
View File
@@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nodejs
];
NODE_OPTIONS = "--openssl-legacy-provider";
env.NODE_OPTIONS = "--openssl-legacy-provider";
passthru.updateScript = nix-update-script { };
+4 -1
View File
@@ -42,7 +42,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
hardeningDisable = [ "fortify" ];
CXXFLAGS = lib.optionals withOpenMP [ "-fopenmp" ];
env = lib.optionalAttrs withOpenMP {
CXXFLAGS = "-fopenmp";
};
doCheck = true;
+1 -1
View File
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
SysCPU
]);
CXXFLAGS = "-std=c++98";
env.CXXFLAGS = "-std=c++98";
postInstall = ''
substituteInPlace $out/bin/compiler_test.pl \
+5 -4
View File
@@ -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 curls `configure` script to fail with static builds on Darwin because
# some of curls 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
+1 -1
View File
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
CXXFLAGS = [
env.CXXFLAGS = toString [
"-DCOMPILE_WITH_LZFSE=1"
"-llzfse"
];
+1 -1
View File
@@ -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"
+4 -2
View File
@@ -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";
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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";
+3 -2
View File
@@ -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 { };
+1 -1
View File
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
darwin.autoSignDarwinBinariesHook
];
ELECTRON_SKIP_BINARY_DOWNLOAD = true;
env.ELECTRON_SKIP_BINARY_DOWNLOAD = true;
configurePhase = ''
runHook preConfigure
+4 -2
View File
@@ -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
+1 -1
View File
@@ -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/*"
+3 -3
View File
@@ -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;
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
./autogen.sh
'';
CXXFLAGS = [
env.CXXFLAGS = toString [
"-O0"
"-I${lib.getDev utf8cpp}/include/utf8cpp"
];
+1 -1
View File
@@ -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
+2 -1
View File
@@ -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 ];
+5 -3
View File
@@ -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
+3 -3
View File
@@ -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;
+9 -9
View File
@@ -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
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ libpng ];
GSEXE = "${ghostscript}/bin/gs";
env.GSEXE = "${ghostscript}/bin/gs";
configureFlags = [ "--enable-transfig" ];
+4 -2
View File
@@ -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"
}
}
}
+1 -1
View File
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildNoDefaultFeatures = true;
MAN_OUT = "./man";
env.MAN_OUT = "./man";
preBuild = ''
mkdir -p "./$MAN_OUT";
+11 -9
View File
@@ -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" ];
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 = {
+1 -1
View File
@@ -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
+1 -1
View File
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
];
# https://github.com/AGWA/git-crypt/issues/232
CXXFLAGS = [
env.CXXFLAGS = toString [
"-DOPENSSL_API_COMPAT=0x30000000L"
];
+7 -5
View File
@@ -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"
+9 -7
View File
@@ -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
+1 -2
View File
@@ -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";
+8 -6
View File
@@ -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=";
+1 -1
View File
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
freetype
];
CXXFLAGS = [
env.CXXFLAGS = toString [
# GCC 13: error: 'uint32_t' has not been declared
"-include cstdint"
];
+2 -2
View File
@@ -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=";
+2 -2
View File
@@ -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 = ''
+1 -1
View File
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
];
CXXFLAGS = "-std=c++98";
env.CXXFLAGS = "-std=c++98";
buildInputs = [
freetype
+1 -1
View File
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [ pkg-config ];
CXXFLAGS = [
env.CXXFLAGS = toString [
"-DHAVE_LROUND"
"-fpermissive"
];
+6 -4
View File
@@ -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.
+6 -6
View File
@@ -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
+2 -1
View File
@@ -32,7 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
pcre
];
nativeBuildInputs = [ cmake ];
CXXFLAGS = [
env.CXXFLAGS = toString [
"-fPIC"
"-O2"
"-w"
+5 -3
View File
@@ -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