Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2025-10-28 18:07:42 +00:00
committed by GitHub
173 changed files with 3674 additions and 975 deletions
+3
View File
@@ -93,6 +93,9 @@ insert_final_newline = unset
[*.jule]
indent_style = tab
[jule.mod]
insert_final_newline = unset
# Keep this hint at the bottom:
# Please don't add entries for subfolders here.
# Create <subfolder>/.editorconfig instead.
+4
View File
@@ -193,6 +193,10 @@ cffc27daf06c77c0d76bc35d24b929cb9d68c3c9
# nixos/kanidm: inherit lib, nixfmt
8f18393d380079904d072007fb19dc64baef0a3a
# fetchgit, fetchurl, fetchzip:
# format after refactoring with lib.extendMkDerivation (#455994)
aeddd850c6d3485fc1af2edfb111e58141d18dc1
# fetchhg: format after refactoring with lib.extendMkDerivation and make overridable (#423539)
34a5b1eb23129f8fb62c677e3760903f6d43228f
+1
View File
@@ -29,5 +29,6 @@
- .github/actions/*
- .github/workflows/*
- ci/**/*.*
- maintainers/github-teams.json
# keep-sorted end
+1 -1
View File
@@ -75,7 +75,7 @@ jobs:
author: ${{ steps.user.outputs.git-string }}
committer: ${{ steps.user.outputs.git-string }}
commit-message: "maintainers/github-teams.json: Automated sync"
branch: github-team-sync
branch: pr/github-team-sync
title: "maintainers/github-teams.json: Automated sync"
body: |
This is an automated PR to sync the GitHub teams with access to this repository to the `lib.teams` list.
+1 -1
View File
@@ -235,7 +235,7 @@ runCommand "test.pdf" { nativeBuildInputs = [ latex_with_foiltex ]; } ''
The font cache for LuaLaTeX is written to `$HOME`.
Therefore, it is necessary to set `$HOME` to a writable path, e.g. [before using LuaLaTeX in nix derivations](https://github.com/NixOS/nixpkgs/issues/180639):
```nix
runCommandNoCC "lualatex-hello-world" { buildInputs = [ texliveFull ]; } ''
runCommand "lualatex-hello-world" { buildInputs = [ texliveFull ]; } ''
mkdir $out
echo '\documentclass{article} \begin{document} Hello world \end{document}' > main.tex
env HOME=$(mktemp -d) lualatex -interaction=nonstopmode -output-format=pdf -output-directory=$out ./main.tex
+30 -4
View File
@@ -1126,6 +1126,29 @@ let
__toString = _: showOption loc;
};
# Check that a type with v2 merge has a coherent check attribute.
# Throws an error if the type uses an ad-hoc `type // { check }` override.
# Returns the last argument like `seq`, allowing usage: checkV2MergeCoherence loc type expr
checkV2MergeCoherence =
loc: type: result:
if type.check.isV2MergeCoherent or false then
result
else
throw ''
The option `${showOption loc}' has a type `${type.description}' that uses
an ad-hoc `type // { check = ...; }' override, which is incompatible with
the v2 merge mechanism.
Please use `lib.types.addCheck` instead of `type // { check }' to add
custom validation. For example:
lib.types.addCheck baseType (value: /* your check */)
instead of:
baseType // { check = value: /* your check */; }
'';
# Merge definitions of a value of a given type.
mergeDefinitions = loc: type: defs: rec {
defsFinal' =
@@ -1201,10 +1224,13 @@ let
(
if type.merge ? v2 then
let
r = type.merge.v2 {
inherit loc;
defs = defsFinal;
};
# Check for v2 merge coherence
r = checkV2MergeCoherence loc type (
type.merge.v2 {
inherit loc;
defs = defsFinal;
}
);
in
r
// {
+19
View File
@@ -806,6 +806,25 @@ checkConfigError 'A definition for option .* is not of type .signed integer.*' c
checkConfigOutput '^true$' config.v2checkedPass ./add-check.nix
checkConfigError 'A definition for option .* is not of type .attribute set of signed integer.*' config.v2checkedFail ./add-check.nix
# v2 merge check coherence
# Tests checkV2MergeCoherence call in modules.nix (mergeDefinitions for lazyAttrsOf)
checkConfigError 'ad-hoc.*override.*incompatible' config.adhocFail.foo ./v2-check-coherence.nix
# Tests checkV2MergeCoherence call in modules.nix (mergeDefinitions for lazyAttrsOf)
checkConfigError 'ad-hoc.*override.*incompatible' config.adhocOuterFail.bar ./v2-check-coherence.nix
# Tests checkV2MergeCoherence call in types.nix (either t1)
checkConfigError 'ad-hoc.*override.*incompatible' config.eitherLeftFail ./v2-check-coherence.nix
# Tests checkV2MergeCoherence call in types.nix (either t2)
checkConfigError 'ad-hoc.*override.*incompatible' config.eitherRightFail ./v2-check-coherence.nix
# Tests checkV2MergeCoherence call in types.nix (coercedTo coercedType)
checkConfigError 'ad-hoc.*override.*incompatible' config.coercedFromFail.bar ./v2-check-coherence.nix
# Tests checkV2MergeCoherence call in types.nix (coercedTo finalType)
checkConfigError 'ad-hoc.*override.*incompatible' config.coercedToFail.foo ./v2-check-coherence.nix
# Tests checkV2MergeCoherence call in types.nix (addCheck elemType)
checkConfigError 'ad-hoc.*override.*incompatible' config.addCheckNested.foo ./v2-check-coherence.nix
checkConfigError 'Please use.*lib.types.addCheck.*instead' config.adhocFail.foo ./v2-check-coherence.nix
checkConfigError 'A definition for option .* is not of type .*' config.addCheckFail.bar.baz ./v2-check-coherence.nix
checkConfigOutput '^true$' config.result ./v2-check-coherence.nix
cat <<EOF
====== module tests ======
+117
View File
@@ -0,0 +1,117 @@
# Tests for v2 merge check coherence
{ lib, ... }:
let
inherit (lib) types mkOption;
# The problematic pattern: overriding check with //
# This inner type should reject everything (check always returns false)
adhocOverrideType = (types.lazyAttrsOf types.raw) // {
check = _: false;
};
# Using addCheck is the correct way to add custom checks
properlyCheckedType = types.addCheck (types.lazyAttrsOf types.raw) (v: v ? foo);
# Using addCheck with a check that will fail
failingCheckedType = types.addCheck (types.lazyAttrsOf types.raw) (v: v ? foo);
# Ad-hoc override on outer type
adhocOuterType = types.lazyAttrsOf types.int // {
check = _: false;
};
# Ad-hoc override on left side of either
adhocEitherLeft = types.lazyAttrsOf types.raw // {
check = _: false;
};
# Ad-hoc override on coercedType in coercedTo
adhocCoercedFrom = types.lazyAttrsOf types.raw // {
check = _: false;
};
# Ad-hoc override on finalType in coercedTo
adhocCoercedTo = types.lazyAttrsOf types.raw // {
check = _: false;
};
# Ad-hoc override wrapped in addCheck
adhocAddCheck = types.addCheck (types.lazyAttrsOf types.raw // { check = _: false; }) (v: true);
in
{
# Test 1: Ad-hoc check override in nested type should be detected
options.adhocFail = mkOption {
type = types.lazyAttrsOf adhocOverrideType;
default = { };
};
config.adhocFail = {
foo = { };
};
# Test 1b: Ad-hoc check override in outer type should be detected
options.adhocOuterFail = mkOption {
type = adhocOuterType;
default = { };
};
config.adhocOuterFail.bar = 42;
# Test 1c: Ad-hoc check override on left side of either type
options.eitherLeftFail = mkOption {
type = types.either adhocEitherLeft types.int;
};
config.eitherLeftFail.foo = { };
# Test 1d: Ad-hoc check override on right side of either type
options.eitherRightFail = mkOption {
type = types.either types.int (types.lazyAttrsOf types.raw // { check = _: false; });
};
config.eitherRightFail.foo = { };
# Test 1e: Ad-hoc check override on coercedType in coercedTo
options.coercedFromFail = mkOption {
type = types.coercedTo adhocCoercedFrom (x: { bar = 1; }) (types.lazyAttrsOf types.int);
};
config.coercedFromFail = {
foo = { };
};
# Test 1f: Ad-hoc check override on finalType in coercedTo
options.coercedToFail = mkOption {
type = types.coercedTo types.str (x: { }) adhocCoercedTo;
};
config.coercedToFail.foo = { };
# Test 1g: Ad-hoc check override wrapped in addCheck
options.addCheckNested = mkOption {
type = adhocAddCheck;
};
config.addCheckNested.foo = { };
# Test 2: Using addCheck should work correctly
options.addCheckPass = mkOption {
type = types.lazyAttrsOf properlyCheckedType;
default = { };
};
config.addCheckPass.bar.foo = "value";
# Test 3: addCheck should validate values properly
options.addCheckFail = mkOption {
type = types.lazyAttrsOf failingCheckedType;
default = { };
};
config.addCheckFail.bar.baz = "value"; # Missing required 'foo' attribute
# Test 4: Normal v2 types should work without coherence errors
options.normalPass = mkOption {
type = types.lazyAttrsOf (types.attrsOf types.int);
default = { };
};
config.normalPass.foo.bar = 42;
# Success assertion - only checks things that should succeed
options.result = mkOption {
type = types.bool;
default = false;
};
config.result = true;
}
+66 -17
View File
@@ -106,6 +106,29 @@ let
in
if invalidDefs != [ ] then { message = "Definition values: ${showDefs invalidDefs}"; } else null;
# Check that a type with v2 merge has a coherent check attribute.
# Throws an error if the type uses an ad-hoc `type // { check }` override.
# Returns the last argument like `seq`, allowing usage: checkV2MergeCoherence loc type expr
checkV2MergeCoherence =
loc: type: result:
if type.check.isV2MergeCoherent or false then
result
else
throw ''
The option `${showOption loc}' has a type `${type.description}' that uses
an ad-hoc `type // { check = ...; }' override, which is incompatible with
the v2 merge mechanism.
Please use `lib.types.addCheck` instead of `type // { check }' to add
custom validation. For example:
lib.types.addCheck baseType (value: /* your check */)
instead of:
baseType // { check = value: /* your check */; }
'';
outer_types = rec {
isType = type: x: (x._type or "") == type;
@@ -694,7 +717,10 @@ let
optionDescriptionPhrase (class: class == "noun" || class == "composite") elemType
}";
descriptionClass = "composite";
check = isList;
check = {
__functor = _self: isList;
isV2MergeCoherent = true;
};
merge = {
__functor =
self: loc: defs:
@@ -807,7 +833,10 @@ let
(if lazy then "lazy attribute set" else "attribute set")
+ " of ${optionDescriptionPhrase (class: class == "noun" || class == "composite") elemType}";
descriptionClass = "composite";
check = isAttrs;
check = {
__functor = _self: isAttrs;
isV2MergeCoherent = true;
};
merge = {
__functor =
self: loc: defs:
@@ -1219,7 +1248,10 @@ let
name = "submodule";
check = x: isAttrs x || isFunction x || path.check x;
check = {
__functor = _self: x: isAttrs x || isFunction x || path.check x;
isV2MergeCoherent = true;
};
in
mkOptionType {
inherit name;
@@ -1403,7 +1435,10 @@ let
) t2
}";
descriptionClass = "conjunction";
check = x: t1.check x || t2.check x;
check = {
__functor = _self: x: t1.check x || t2.check x;
isV2MergeCoherent = true;
};
merge = {
__functor =
self: loc: defs:
@@ -1413,7 +1448,7 @@ let
let
t1CheckedAndMerged =
if t1.merge ? v2 then
t1.merge.v2 { inherit loc defs; }
checkV2MergeCoherence loc t1 (t1.merge.v2 { inherit loc defs; })
else
{
value = t1.merge loc defs;
@@ -1422,7 +1457,7 @@ let
};
t2CheckedAndMerged =
if t2.merge ? v2 then
t2.merge.v2 { inherit loc defs; }
checkV2MergeCoherence loc t2 (t2.merge.v2 { inherit loc defs; })
else
{
value = t2.merge loc defs;
@@ -1492,7 +1527,10 @@ let
description = "${optionDescriptionPhrase (class: class == "noun") finalType} or ${
optionDescriptionPhrase (class: class == "noun") coercedType
} convertible to it";
check = x: (coercedType.check x && finalType.check (coerceFunc x)) || finalType.check x;
check = {
__functor = _self: x: (coercedType.check x && finalType.check (coerceFunc x)) || finalType.check x;
isV2MergeCoherent = true;
};
merge = {
__functor =
self: loc: defs:
@@ -1507,10 +1545,16 @@ let
// {
value =
let
merged = coercedType.merge.v2 {
inherit loc;
defs = [ def ];
};
merged =
if coercedType.merge ? v2 then
checkV2MergeCoherence loc coercedType (
coercedType.merge.v2 {
inherit loc;
defs = [ def ];
}
)
else
null;
in
if coercedType.merge ? v2 then
if merged.headError == null then coerceFunc def.value else def.value
@@ -1523,10 +1567,12 @@ let
);
in
if finalType.merge ? v2 then
finalType.merge.v2 {
inherit loc;
defs = finalDefs;
}
checkV2MergeCoherence loc finalType (
finalType.merge.v2 {
inherit loc;
defs = finalDefs;
}
)
else
{
value = finalType.merge loc finalDefs;
@@ -1559,7 +1605,10 @@ let
if elemType.merge ? v2 then
elemType
// {
check = x: elemType.check x && check x;
check = {
__functor = _self: x: elemType.check x && check x;
isV2MergeCoherent = true;
};
merge = {
__functor =
self: loc: defs:
@@ -1567,7 +1616,7 @@ let
v2 =
{ loc, defs }:
let
orig = elemType.merge.v2 { inherit loc defs; };
orig = checkV2MergeCoherence loc elemType (elemType.merge.v2 { inherit loc defs; });
headError' = if orig.headError != null then orig.headError else checkDefsForError check loc defs;
in
orig
+2 -14
View File
@@ -211,7 +211,6 @@
"domenkozar": 126339,
"donn": 12652988,
"dwt": 57199,
"eliandoran": 21236836,
"emilazy": 18535642,
"ethancedwards8": 60861925,
"fiddlerwoaroof": 808745,
@@ -502,7 +501,7 @@
"name": "kodi"
},
"kubernetes": {
"description": "",
"description": "Maintain the Kubernetes package and module",
"id": 5536808,
"maintainers": {
"johanot": 998763,
@@ -514,7 +513,7 @@
"name": "kubernetes"
},
"linux-kernel": {
"description": "",
"description": "Maintain the Linux kernel",
"id": 13371617,
"maintainers": {
"alyssais": 2768870
@@ -912,17 +911,6 @@
},
"name": "SDL"
},
"security": {
"description": "Private reports: security@nixos.org",
"id": 2197543,
"maintainers": {
"LeSuisse": 737767,
"mweinelt": 131599,
"risicle": 807447
},
"members": {},
"name": "Security"
},
"static": {
"description": "People interested in static builds (creation of `.a` files, fully static executables, etc.) and keeping them working",
"id": 5906550,
+13
View File
@@ -23530,6 +23530,14 @@
githubId = 5791019;
name = "Jiuyang Liu";
};
Sereja313 = {
name = "Sergey Gulin";
github = "Sereja313";
githubId = 112060595;
email = "sergeygulin96@gmail.com";
matrix = "@sereja:sereja.xyz";
keys = [ { fingerprint = "AEF0 79C6 7618 8929 4124 22DB 3AB4 2DF3 F50E 3420"; } ];
};
serge = {
email = "sb@canva.com";
github = "serge-belov";
@@ -27087,6 +27095,11 @@
githubId = 5155100;
name = "Utkarsh Gupta";
};
utopiatopia = {
github = "utopiatopia";
githubId = 98685984;
name = "utopiatopia";
};
uvnikita = {
email = "uv.nikita@gmail.com";
github = "uvNikita";
+1 -2
View File
@@ -358,8 +358,7 @@ with lib.maintainers;
_0x4A6F
MattSturgeon
jfly
# Not in the maintainer list
# Sereja313
Sereja313
];
scope = "Nix formatting team: https://nixos.org/community/teams/formatting/";
shortName = "Nix formatting team";
+1 -1
View File
@@ -18,7 +18,7 @@ let
[
"# Generated by NixOS module networking.getaddrinfo"
"# Do not edit manually!"
"reload ${if cfg.reload then "yes" else "no"}"
"reload ${lib.boolToYesNo cfg.reload}"
]
++ formatTableEntries "label" cfg.label
++ formatTableEntries "precedence" cfg.precedence
+2 -2
View File
@@ -241,7 +241,7 @@ in
PRUNEFS="${lib.concatStringsSep " " cfg.pruneFS}"
PRUNENAMES="${lib.concatStringsSep " " cfg.pruneNames}"
PRUNEPATHS="${lib.concatStringsSep " " cfg.prunePaths}"
PRUNE_BIND_MOUNTS="${if cfg.pruneBindMounts then "yes" else "no"}"
PRUNE_BIND_MOUNTS="${lib.boolToYesNo cfg.pruneBindMounts}"
'';
systemPackages = [ cfg.package ];
@@ -267,7 +267,7 @@ in
''
exec ${cfg.package}/bin/updatedb \
--output ${toString cfg.output} ${lib.concatStringsSep " " args} \
--prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
--prune-bind-mounts ${lib.boolToYesNo cfg.pruneBindMounts} \
${lib.concatStringsSep " " cfg.extraFlags}
'';
serviceConfig = {
+1 -1
View File
@@ -357,7 +357,7 @@ in
]
++ lib.optional (!config.networking.enableIPv6) "AddressFamily inet"
++ lib.optional cfg.setXAuthLocation "XAuthLocation ${pkgs.xorg.xauth}/bin/xauth"
++ lib.optional (cfg.forwardX11 != null) "ForwardX11 ${if cfg.forwardX11 then "yes" else "no"}"
++ lib.optional (cfg.forwardX11 != null) "ForwardX11 ${lib.boolToYesNo cfg.forwardX11}"
++ lib.optional (
cfg.pubkeyAcceptedKeyTypes != [ ]
) "PubkeyAcceptedKeyTypes ${builtins.concatStringsSep "," cfg.pubkeyAcceptedKeyTypes}"
+1 -1
View File
@@ -86,7 +86,7 @@ let
prepareConfigValue =
v:
if lib.isBool v then
(if v then "yes" else "no")
lib.boolToYesNo v
else if lib.isList v then
lib.concatStringsSep " " (map prepareConfigValue v)
else
+6 -7
View File
@@ -6,8 +6,7 @@
}:
let
cfg = config.security.duosec;
boolToStr = b: if b then "yes" else "no";
inherit (lib) boolToYesNo;
configFilePam = ''
[duo]
@@ -15,15 +14,15 @@ let
host=${cfg.host}
${lib.optionalString (cfg.groups != "") ("groups=" + cfg.groups)}
failmode=${cfg.failmode}
pushinfo=${boolToStr cfg.pushinfo}
autopush=${boolToStr cfg.autopush}
pushinfo=${boolToYesNo cfg.pushinfo}
autopush=${boolToYesNo cfg.autopush}
prompts=${toString cfg.prompts}
fallback_local_ip=${boolToStr cfg.fallbackLocalIP}
fallback_local_ip=${boolToYesNo cfg.fallbackLocalIP}
'';
configFileLogin = configFilePam + ''
motd=${boolToStr cfg.motd}
accept_env_factor=${boolToStr cfg.acceptEnvFactor}
motd=${boolToYesNo cfg.motd}
accept_env_factor=${boolToYesNo cfg.acceptEnvFactor}
'';
in
{
+1 -3
View File
@@ -170,9 +170,7 @@ in
<pam_mount>
<debug enable="${toString cfg.debugLevel}" />
<!-- if activated, requires ofl from hxtools to be present -->
<logout wait="${toString cfg.logoutWait}" hup="${if cfg.logoutHup then "yes" else "no"}" term="${
if cfg.logoutTerm then "yes" else "no"
}" kill="${if cfg.logoutKill then "yes" else "no"}" />
<logout wait="${toString cfg.logoutWait}" hup="${lib.boolToYesNo cfg.logoutHup}" term="${lib.boolToYesNo cfg.logoutTerm}" kill="${lib.boolToYesNo cfg.logoutKill}" />
<!-- set PATH variable for pam_mount module -->
<path>${lib.makeBinPath ([ pkgs.util-linux ] ++ cfg.additionalSearchPaths)}</path>
<!-- create mount point if not present -->
+1 -1
View File
@@ -39,7 +39,7 @@ let
ima_log_file = cfg.fapi.imaLogFile;
}
// lib.optionalAttrs (cfg.fapi.ekCertLess != null) {
ek_cert_less = if cfg.fapi.ekCertLess then "yes" else "no";
ek_cert_less = lib.boolToYesNo cfg.fapi.ekCertLess;
}
// lib.optionalAttrs (cfg.fapi.ekFingerprint != null) { ek_fingerprint = cfg.fapi.ekFingerprint; }
)
+3 -3
View File
@@ -10,6 +10,7 @@
let
inherit (lib)
boolToYesNo
concatStringsSep
literalExpression
mapAttrsToList
@@ -21,16 +22,15 @@ let
;
libDir = "/var/lib/bacula";
yes_no = bool: if bool then "yes" else "no";
tls_conf =
tls_cfg:
optionalString tls_cfg.enable (
concatStringsSep "\n" (
[ "TLS Enable = yes;" ]
++ optional (tls_cfg.require != null) "TLS Require = ${yes_no tls_cfg.require};"
++ optional (tls_cfg.require != null) "TLS Require = ${boolToYesNo tls_cfg.require};"
++ optional (tls_cfg.certificate != null) ''TLS Certificate = "${tls_cfg.certificate}";''
++ [ ''TLS Key = "${tls_cfg.key}";'' ]
++ optional (tls_cfg.verifyPeer != null) "TLS Verify Peer = ${yes_no tls_cfg.verifyPeer};"
++ optional (tls_cfg.verifyPeer != null) "TLS Verify Peer = ${boolToYesNo tls_cfg.verifyPeer};"
++ optional (
tls_cfg.allowedCN != [ ]
) "TLS Allowed CN = ${concatStringsSep " " (tls_cfg.allowedCN)};"
@@ -504,7 +504,7 @@ in
MAX_HEAP_SIZE = toString cfg.maxHeapSize;
HEAP_NEWSIZE = toString cfg.heapNewSize;
MALLOC_ARENA_MAX = toString cfg.mallocArenaMax;
LOCAL_JMX = if cfg.remoteJmx then "no" else "yes";
LOCAL_JMX = lib.boolToYesNo (!cfg.remoteJmx);
JMX_PORT = toString cfg.jmxPort;
};
wantedBy = [ "multi-user.target" ];
+2 -1
View File
@@ -15,6 +15,7 @@ let
optionalString
generators
mapAttrsToList
boolToYesNo
;
inherit (lib.strings) concatStringsSep;
inherit (lib.types)
@@ -63,7 +64,7 @@ let
mkValueString =
v:
if builtins.isBool v then
if v then "yes" else "no"
boolToYesNo v
else if builtins.isList v then
concatStringsSep " " v
else
+1 -3
View File
@@ -211,9 +211,7 @@ let
''
worker "${value.type}" {
type = "${value.type}";
${optionalString (value.enable != null)
"enabled = ${if value.enable != false then "yes" else "no"};"
}
${optionalString (value.enable != null) "enabled = ${lib.boolToYesNo (value.enable != false)};"}
${mkBindSockets value.enable value.bindSockets}
${optionalString (value.count != null) "count = ${toString value.count};"}
${concatStringsSep "\n " (map (each: ".include \"${each}\"") value.includes)}
@@ -48,7 +48,7 @@ in
options.services.dockerRegistry = {
enable = lib.mkEnableOption "Docker Registry";
package = lib.mkPackageOption pkgs "docker-distribution" {
package = lib.mkPackageOption pkgs "distribution" {
example = "gitlab-container-registry";
};
+1 -1
View File
@@ -11,7 +11,7 @@ let
[gammu]
Device = ${cfg.device.path}
Connection = ${cfg.device.connection}
SynchronizeTime = ${if cfg.device.synchronizeTime then "yes" else "no"}
SynchronizeTime = ${lib.boolToYesNo cfg.device.synchronizeTime}
LogFormat = ${cfg.log.format}
${lib.optionalString (cfg.device.pin != null) "PIN = ${cfg.device.pin}"}
${cfg.extraConfig.gammu}
+4 -4
View File
@@ -588,12 +588,12 @@ in
if versionAtLeast config.system.stateVersion "23.11" then
pkgs.gitlab-container-registry
else
pkgs.docker-distribution;
defaultText = literalExpression "pkgs.docker-distribution";
pkgs.distribution;
defaultText = literalExpression "pkgs.distribution";
description = ''
Container registry package to use.
External container registries such as `pkgs.docker-distribution` are not supported
External container registries such as `pkgs.distribution` are not supported
anymore since GitLab 16.0.0.
'';
};
@@ -1179,7 +1179,7 @@ in
(
cfg.registry.enable
&& versionAtLeast (getVersion cfg.packages.gitlab) "16.0.0"
&& cfg.registry.package == pkgs.docker-distribution
&& cfg.registry.package == pkgs.distribution
)
''
Support for container registries other than gitlab-container-registry has ended since GitLab 16.0.0 and is scheduled for removal in a future release.
+3 -4
View File
@@ -12,7 +12,6 @@ let
opt = options.services.mediatomb;
name = cfg.package.pname;
pkg = cfg.package;
optionYesNo = option: if option then "yes" else "no";
# configuration on media directory
mediaDirectory = {
options = {
@@ -36,7 +35,7 @@ let
};
toMediaDirectory =
d:
"<directory location=\"${d.path}\" mode=\"inotify\" recursive=\"${optionYesNo d.recursive}\" hidden-files=\"${optionYesNo d.hidden-files}\" />\n";
"<directory location=\"${d.path}\" mode=\"inotify\" recursive=\"${lib.boolToYesNo d.recursive}\" hidden-files=\"${lib.boolToYesNo d.hidden-files}\" />\n";
transcodingConfig =
if cfg.transcoding then
@@ -89,13 +88,13 @@ let
<home>${cfg.dataDir}</home>
<interface>${cfg.interface}</interface>
<webroot>${pkg}/share/${name}/web</webroot>
<pc-directory upnp-hide="${optionYesNo cfg.pcDirectoryHide}"/>
<pc-directory upnp-hide="${lib.boolToYesNo cfg.pcDirectoryHide}"/>
<storage>
<sqlite3 enabled="yes">
<database-file>${name}.db</database-file>
</sqlite3>
</storage>
<protocolInfo extend="${optionYesNo cfg.ps3Support}"/>
<protocolInfo extend="${lib.boolToYesNo cfg.ps3Support}"/>
${lib.optionalString cfg.dsmSupport ''
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
@@ -50,8 +50,8 @@ let
</DataHandleRanges>
<StorageHints>
TroveSyncMeta ${if fs.troveSyncMeta then "yes" else "no"}
TroveSyncData ${if fs.troveSyncData then "yes" else "no"}
TroveSyncMeta ${lib.boolToYesNo fs.troveSyncMeta}
TroveSyncData ${lib.boolToYesNo fs.troveSyncData}
${fs.extraStorageHints}
</StorageHints>
@@ -7,8 +7,6 @@
let
cfg = config.services.avahi;
yesNo = yes: if yes then "yes" else "no";
avahiDaemonConf =
with cfg;
pkgs.writeText "avahi-daemon.conf" ''
@@ -21,8 +19,8 @@ let
lib.optionalString (hostName != "") "host-name=${hostName}"
}
browse-domains=${lib.concatStringsSep ", " browseDomains}
use-ipv4=${yesNo ipv4}
use-ipv6=${yesNo ipv6}
use-ipv4=${lib.boolToYesNo ipv4}
use-ipv6=${lib.boolToYesNo ipv6}
${lib.optionalString (
allowInterfaces != null
) "allow-interfaces=${lib.concatStringsSep "," allowInterfaces}"}
@@ -30,22 +28,22 @@ let
denyInterfaces != null
) "deny-interfaces=${lib.concatStringsSep "," denyInterfaces}"}
${lib.optionalString (domainName != null) "domain-name=${domainName}"}
allow-point-to-point=${yesNo allowPointToPoint}
allow-point-to-point=${lib.boolToYesNo allowPointToPoint}
${lib.optionalString (cacheEntriesMax != null) "cache-entries-max=${toString cacheEntriesMax}"}
[wide-area]
enable-wide-area=${yesNo wideArea}
enable-wide-area=${lib.boolToYesNo wideArea}
[publish]
disable-publishing=${yesNo (!publish.enable)}
disable-user-service-publishing=${yesNo (!publish.userServices)}
publish-addresses=${yesNo (publish.userServices || publish.addresses)}
publish-hinfo=${yesNo publish.hinfo}
publish-workstation=${yesNo publish.workstation}
publish-domain=${yesNo publish.domain}
disable-publishing=${lib.boolToYesNo (!publish.enable)}
disable-user-service-publishing=${lib.boolToYesNo (!publish.userServices)}
publish-addresses=${lib.boolToYesNo (publish.userServices || publish.addresses)}
publish-hinfo=${lib.boolToYesNo publish.hinfo}
publish-workstation=${lib.boolToYesNo publish.workstation}
publish-domain=${lib.boolToYesNo publish.domain}
[reflector]
enable-reflector=${yesNo reflector}
enable-reflector=${lib.boolToYesNo reflector}
${extraConfig}
'';
in
@@ -6,7 +6,6 @@
}:
let
cfg = config.services.ddclient;
boolToStr = bool: if bool then "yes" else "no";
dataDir = "/var/lib/ddclient";
StateDirectory = builtins.baseNameOf dataDir;
RuntimeDirectory = StateDirectory;
@@ -33,10 +32,10 @@ let
${lib.optionalString (cfg.script != "") "script=${cfg.script}"}
${lib.optionalString (cfg.server != "") "server=${cfg.server}"}
${lib.optionalString (cfg.zone != "") "zone=${cfg.zone}"}
ssl=${boolToStr cfg.ssl}
ssl=${lib.boolToYesNo cfg.ssl}
wildcard=YES
quiet=${boolToStr cfg.quiet}
verbose=${boolToStr cfg.verbose}
quiet=${lib.boolToYesNo cfg.quiet}
verbose=${lib.boolToYesNo cfg.verbose}
${cfg.extraConfig}
${lib.concatStringsSep "," cfg.domains}
'';
+1 -1
View File
@@ -82,7 +82,7 @@ let
isEnabled = service: cfg.${service}.enable;
daemonLine = d: "${d}=${if isEnabled d then "yes" else "no"}";
daemonLine = d: "${d}=${lib.boolToYesNo (isEnabled d)}";
configFile =
if cfg.configFile != null then
@@ -11,8 +11,8 @@ let
cfg = config.services.miniupnpd;
configFile = pkgs.writeText "miniupnpd.conf" ''
ext_ifname=${cfg.externalInterface}
enable_natpmp=${if cfg.natpmp then "yes" else "no"}
enable_upnp=${if cfg.upnp then "yes" else "no"}
enable_natpmp=${boolToYesNo cfg.natpmp}
enable_upnp=${boolToYesNo cfg.upnp}
${concatMapStrings (range: ''
listening_ip=${range}
+12 -13
View File
@@ -100,19 +100,19 @@ let
# interfaces
${forEach " ip-address: " cfg.interfaces}
ip-freebind: ${yesOrNo cfg.ipFreebind}
hide-version: ${yesOrNo cfg.hideVersion}
ip-freebind: ${boolToYesNo cfg.ipFreebind}
hide-version: ${boolToYesNo cfg.hideVersion}
identity: "${cfg.identity}"
ip-transparent: ${yesOrNo cfg.ipTransparent}
do-ip4: ${yesOrNo cfg.ipv4}
ip-transparent: ${boolToYesNo cfg.ipTransparent}
do-ip4: ${boolToYesNo cfg.ipv4}
ipv4-edns-size: ${toString cfg.ipv4EDNSSize}
do-ip6: ${yesOrNo cfg.ipv6}
do-ip6: ${boolToYesNo cfg.ipv6}
ipv6-edns-size: ${toString cfg.ipv6EDNSSize}
log-time-ascii: ${yesOrNo cfg.logTimeAscii}
log-time-ascii: ${boolToYesNo cfg.logTimeAscii}
${maybeString "nsid: " cfg.nsid}
port: ${toString cfg.port}
reuseport: ${yesOrNo cfg.reuseport}
round-robin: ${yesOrNo cfg.roundRobin}
reuseport: ${boolToYesNo cfg.reuseport}
round-robin: ${boolToYesNo cfg.roundRobin}
server-count: ${toString cfg.serverCount}
${maybeToString "statistics: " cfg.statistics}
tcp-count: ${toString cfg.tcpCount}
@@ -121,7 +121,7 @@ let
verbosity: ${toString cfg.verbosity}
${maybeString "version: " cfg.version}
xfrd-reload-timeout: ${toString cfg.xfrdReloadTimeout}
zonefiles-check: ${yesOrNo cfg.zonefilesCheck}
zonefiles-check: ${boolToYesNo cfg.zonefilesCheck}
zonefiles-write: ${toString cfg.zonefilesWrite}
${maybeString "rrl-ipv4-prefix-length: " cfg.ratelimit.ipv4PrefixLength}
@@ -134,7 +134,7 @@ let
${keyConfigFile}
remote-control:
control-enable: ${yesOrNo cfg.remoteControl.enable}
control-enable: ${boolToYesNo cfg.remoteControl.enable}
control-key-file: "${cfg.remoteControl.controlKeyFile}"
control-cert-file: "${cfg.remoteControl.controlCertFile}"
${forEach " control-interface: " cfg.remoteControl.interfaces}
@@ -147,7 +147,6 @@ let
${cfg.extraConfig}
'';
yesOrNo = b: if b then "yes" else "no";
maybeString = prefix: x: optionalString (x != null) ''${prefix} "${x}"'';
maybeToString = prefix: x: optionalString (x != null) ''${prefix} ${toString x}'';
forEach = pre: l: concatMapStrings (x: pre + x + "\n") l;
@@ -183,8 +182,8 @@ let
${maybeToString "max-retry-time: " zone.maxRetrySecs}
${maybeToString "min-retry-time: " zone.minRetrySecs}
allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback}
multi-master-check: ${yesOrNo zone.multiMasterCheck}
allow-axfr-fallback: ${boolToYesNo zone.allowAXFRFallback}
multi-master-check: ${boolToYesNo zone.multiMasterCheck}
${forEach " allow-notify: " zone.allowNotify}
${forEach " request-xfr: " zone.requestXFR}
@@ -21,7 +21,6 @@ let
];
configType = with types; attrsOf (nullOr (oneOrMore valueType));
toBool = val: if val then "yes" else "no";
serialize =
val:
with types;
@@ -32,7 +31,7 @@ let
else if path.check val then
toString val
else if bool.check val then
toBool val
boolToYesNo val
else if builtins.isList val then
(concatMapStringsSep "," serialize val)
else
@@ -23,7 +23,7 @@ let
with generators;
toKeyValue {
mkKeyValue = mkKeyValueDefault {
mkValueString = v: if isBool v then if v then "yes" else "no" else mkValueStringDefault { } v;
mkValueString = v: if isBool v then boolToYesNo v else mkValueStringDefault { } v;
} " ";
listsAsDuplicateKeys = true; # Allowing duplications because we need to deal with multiple entries with the same key.
} cfg.settings
@@ -484,7 +484,6 @@ in
};
UseDns = lib.mkOption {
type = lib.types.nullOr lib.types.bool;
# apply if cfg.useDns then "yes" else "no"
default = false;
description = ''
Specifies whether {manpage}`sshd(8)` should look up the remote host name, and to check that the resolved host name for
@@ -97,7 +97,7 @@ rec {
default = null;
description = documentDefault description strongswanDefault;
};
render = single (b: if b then "yes" else "no");
render = single boolToYesNo;
};
yes = true;
no = false;
@@ -7,7 +7,6 @@
let
cfg = config.services.stunnel;
yesNo = val: if val then "yes" else "no";
verifyRequiredField = type: field: n: c: {
assertion = lib.hasAttr field c;
@@ -23,13 +22,7 @@ let
removeNulls = lib.mapAttrs (_: lib.filterAttrs (_: v: v != null));
mkValueString =
v:
if v == true then
"yes"
else if v == false then
"no"
else
lib.generators.mkValueStringDefault { } v;
v: if lib.isBool v then lib.boolToYesNo v else lib.generators.mkValueStringDefault { } v;
generateConfig =
c:
lib.generators.toINI {
+1 -1
View File
@@ -28,7 +28,7 @@ let
log ${concatStringsSep " " cfg.log}
''}
wkpf-strict ${if cfg.wkpfStrict then "yes" else "no"}
wkpf-strict ${boolToYesNo cfg.wkpfStrict}
'';
addrOpts =
@@ -9,8 +9,6 @@ with lib;
let
cfg = config.services.unbound;
yesOrNo = v: if v then "yes" else "no";
toOption =
indent: n: v:
"${indent}${toString n}: ${v}";
@@ -22,7 +20,7 @@ let
else if isInt v then
(toOption indent n (toString v))
else if isBool v then
(toOption indent n (yesOrNo v))
(toOption indent n (lib.boolToYesNo v))
else if isString v then
(toOption indent n v)
else if isList v then
+1 -1
View File
@@ -31,7 +31,7 @@ let
${optionalString (srv.flags != "") "flags = ${srv.flags}"}
socket_type = ${if srv.protocol == "udp" then "dgram" else "stream"}
${optionalString (srv.port != 0) "port = ${toString srv.port}"}
wait = ${if srv.protocol == "udp" then "yes" else "no"}
wait = ${lib.boolToYesNo (srv.protocol == "udp")}
user = ${srv.user}
server = ${srv.server}
${optionalString (srv.serverArgs != "") "server_args = ${srv.serverArgs}"}
@@ -18,7 +18,7 @@ let
interfaceRoutes = i: i.ipv4.routes ++ optionals cfg.enableIPv6 i.ipv6.routes;
dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "yes" else "no";
dhcpStr = useDHCP: boolToYesNo (useDHCP == true || useDHCP == null);
slaves =
concatLists (map (bond: bond.interfaces) (attrValues cfg.bonds))
+1 -1
View File
@@ -126,7 +126,7 @@ in
DNS.1 = ${config.networking.fqdn}
'';
csrData =
pkgs.runCommandNoCC "csr-and-key"
pkgs.runCommand "csr-and-key"
{
buildInputs = [ pkgs.openssl ];
}
+1 -1
View File
@@ -4,7 +4,7 @@ let
serverDomain = certs.domain;
# copy certs to store to work around mount namespacing
certsPath = pkgs.runCommandNoCC "snakeoil-certs" { } ''
certsPath = pkgs.runCommand "snakeoil-certs" { } ''
mkdir $out
cp ${certs."${serverDomain}".cert} $out/snakeoil.crt
cp ${certs."${serverDomain}".key} $out/snakeoil.key
+1 -1
View File
@@ -8,7 +8,7 @@ let
};
# copy certs to store to work around mount namespacing
certsPath = pkgs.runCommandNoCC "snakeoil-certs" { } ''
certsPath = pkgs.runCommand "snakeoil-certs" { } ''
mkdir $out
cp ${certs."${serverDomain}".cert} $out/snakeoil.crt
cp ${certs."${serverDomain}".key} $out/snakeoil.key
@@ -3,7 +3,7 @@
feature,
}:
pkgs.runCommandNoCC "${feature}-not-present" { } ''
pkgs.runCommand "${feature}-not-present" { } ''
if [[ -e /${feature}-files ]]; then
echo "No ${feature} in requiredSystemFeatures, but /${feature}-files was mounted anyway"
exit 1
@@ -3,7 +3,7 @@
feature,
}:
pkgs.runCommandNoCC "${feature}-present" { requiredSystemFeatures = [ feature ]; } ''
pkgs.runCommand "${feature}-present" { requiredSystemFeatures = [ feature ]; } ''
if [[ ! -e /${feature}-files ]]; then
echo "The host declares ${feature} support, but doesn't expose /${feature}-files" >&2
exit 1
@@ -2,7 +2,6 @@
pkgs ? import <nixpkgs> { },
}:
pkgs.runCommandNoCC "nix-required-mounts-structured-attrs-no-features" { __structuredAttrs = true; }
''
touch $out
''
pkgs.runCommand "nix-required-mounts-structured-attrs-no-features" { __structuredAttrs = true; } ''
touch $out
''
@@ -3,7 +3,7 @@
feature,
}:
pkgs.runCommandNoCC "${feature}-present-structured"
pkgs.runCommand "${feature}-present-structured"
{
__structuredAttrs = true;
requiredSystemFeatures = [ feature ];
@@ -17004,6 +17004,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
vim-buftabline = buildVimPlugin {
pname = "vim-buftabline";
version = "2020-12-13";
src = fetchFromGitHub {
owner = "ap";
repo = "vim-buftabline";
rev = "73b9ef5dcb6cdf6488bc88adb382f20bc3e3262a";
sha256 = "1vs4km7fb3di02p0771x42y2bsn1hi4q6iwlbrj0imacd9affv5y";
};
meta.homepage = "https://github.com/ap/vim-buftabline/";
meta.hydraPlatforms = [ ];
};
vim-caddyfile = buildVimPlugin {
pname = "vim-caddyfile";
version = "2025-07-22";
@@ -1305,6 +1305,7 @@ https://github.com/mtikekar/vim-bsv/,,
https://github.com/jeetsukumaran/vim-buffergator/,,
https://github.com/bling/vim-bufferline/,,
https://github.com/qpkorr/vim-bufkill/,,
https://github.com/ap/vim-buftabline/,HEAD,
https://github.com/isobit/vim-caddyfile/,HEAD,
https://github.com/tpope/vim-capslock/,,
https://github.com/kristijanhusak/vim-carbon-now-sh/,,
@@ -1,46 +1,53 @@
{
lib,
mkDerivation,
stdenv,
fetchFromGitHub,
gtest,
cmake,
pkg-config,
libchewing,
qt5,
qtbase,
qttools,
}:
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "chewing-editor";
version = "0.1.1";
version = "0.1.2";
src = fetchFromGitHub {
owner = "chewing";
repo = "chewing-editor";
rev = version;
sha256 = "0kc2hjx1gplm3s3p1r5sn0cyxw3k1q4gyv08q9r6rs4sg7xh2w7w";
tag = version;
hash = "sha256-gF3OotO/xb3Dc0YjVwAKIYnuEPIrgjpGR2tdjOBT4aI=";
};
doCheck = true;
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
qt5.wrapQtAppsHook
];
buildInputs = [
gtest
libchewing
qtbase
qttools
];
meta = with lib; {
meta = {
description = "Cross platform chewing user phrase editor";
mainProgram = "chewing-editor";
longDescription = ''
chewing-editor is a cross platform chewing user phrase editor. It provides a easy way to manage user phrase. With it, user can customize their user phrase to increase input performance.
'';
homepage = "https://github.com/chewing/chewing-editor";
license = licenses.gpl2Plus;
maintainers = [ maintainers.ShamrockLee ];
platforms = platforms.all;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ ShamrockLee ];
platforms = lib.platforms.all;
broken = stdenv.hostPlatform.isDarwin;
};
}
+143 -104
View File
@@ -4,105 +4,108 @@ version = 3
[[package]]
name = "ahash"
version = "0.7.6"
version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
dependencies = [
"cfg-if",
"getrandom",
"once_cell",
"serde",
"version_check",
"zerocopy",
]
[[package]]
name = "aho-corasick"
version = "1.1.1"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
dependencies = [
"memchr",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
[[package]]
name = "edit-distance"
version = "2.1.0"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b"
checksum = "e3f497e87b038c09a155dfd169faa5ec940d0644635555ef6bd464ac20e97397"
[[package]]
name = "emojicon"
version = "0.3.1"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349cbfb1ca5301d8492ff741487f98fed75957c5e8fee41485e3413359099ef9"
checksum = "328e1bb7f1b2b87859d560af9ca245e7a0ca664adad1879cb6bd2d49b7501fd4"
[[package]]
name = "fst"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a"
[[package]]
name = "getrandom"
version = "0.2.10"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
dependencies = [
"cfg-if",
"libc",
"r-efi",
"wasi",
]
[[package]]
name = "itoa"
version = "1.0.9"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]]
name = "libc"
version = "0.2.148"
version = "0.2.176"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
[[package]]
name = "matches"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174"
[[package]]
name = "memchr"
version = "2.6.3"
version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
[[package]]
name = "okkhor"
version = "0.5.2"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6ef452078c9fb34be8842a52484bf9271e01ac2795e3d15ee90357fb45c102f"
checksum = "0bc911c392067af1e3c7cde21774ea70dd285b4125b5e3d5febc283b76b9d6a4"
[[package]]
name = "once_cell"
version = "1.18.0"
version = "1.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
[[package]]
name = "phf"
version = "0.10.1"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
dependencies = [
"phf_macros",
"phf_shared",
"proc-macro-hack",
]
[[package]]
name = "phf_generator"
version = "0.10.0"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
dependencies = [
"phf_shared",
"rand",
@@ -110,85 +113,65 @@ dependencies = [
[[package]]
name = "phf_macros"
version = "0.10.0"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
dependencies = [
"phf_generator",
"phf_shared",
"proc-macro-hack",
"proc-macro2",
"quote",
"syn 1.0.109",
"syn",
]
[[package]]
name = "phf_shared"
version = "0.10.0"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
dependencies = [
"siphasher",
]
[[package]]
name = "poriborton"
version = "0.2.2"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c081c9ef49e856f39ccd59e4943582b1e47225eb01b0debc1d388c4daa55b0dd"
checksum = "964aa77aab32f321000ec0b121ab2a27565e051fb7ff979c22d6e21a90376f14"
dependencies = [
"matches",
"phf",
]
[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "proc-macro-hack"
version = "0.5.20+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
version = "1.0.67"
version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.33"
version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
dependencies = [
"proc-macro2",
]
[[package]]
name = "r-efi"
version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "rand"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
]
@@ -197,9 +180,6 @@ name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
"getrandom",
]
[[package]]
name = "regex"
@@ -240,52 +220,72 @@ dependencies = [
"okkhor",
"poriborton",
"regex",
"rustversion",
"serde_json",
"stringplus",
"upodesh",
]
[[package]]
name = "ryu"
version = "1.0.15"
name = "rustversion"
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ryu"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
[[package]]
name = "serde"
version = "1.0.188"
version = "1.0.226"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd"
dependencies = [
"serde_core",
"serde_derive",
]
[[package]]
name = "serde_core"
version = "1.0.226"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.188"
version = "1.0.226"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.37",
"syn",
]
[[package]]
name = "serde_json"
version = "1.0.107"
version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
dependencies = [
"itoa",
"memchr",
"ryu",
"serde",
"serde_core",
]
[[package]]
name = "siphasher"
version = "0.3.11"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
[[package]]
name = "stringplus"
@@ -295,20 +295,9 @@ checksum = "9057d3b491a3eee749e52560657c4d93b0badc04fb3fa8dae3c942c5c066f222"
[[package]]
name = "syn"
version = "1.0.109"
version = "2.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
dependencies = [
"proc-macro2",
"quote",
@@ -317,18 +306,68 @@ dependencies = [
[[package]]
name = "unicode-ident"
version = "1.0.12"
version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
[[package]]
name = "upodesh"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af0dcd57dc7aa39411df5c9c8046ee7439a619e7881a43aba328bd533ae54a91"
dependencies = [
"fst",
"once_cell",
"serde",
"serde_json",
]
[[package]]
name = "version_check"
version = "0.9.4"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
version = "0.14.7+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c"
dependencies = [
"wasip2",
]
[[package]]
name = "wasip2"
version = "1.0.1+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
dependencies = [
"wit-bindgen",
]
[[package]]
name = "wit-bindgen"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
[[package]]
name = "zerocopy"
version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
@@ -12,34 +12,22 @@
ibus,
qtbase,
zstd,
fetchpatch,
withFcitx5Support ? false,
withIbusSupport ? false,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "openbangla-keyboard";
version = "unstable-2023-07-21";
version = "2.0.0-unstable-2025-08-19";
src = fetchFromGitHub {
owner = "openbangla";
repo = "openbangla-keyboard";
# no upstream release in 3 years
# fcitx5 support was added over a year after the last release
rev = "780bd40eed16116222faff044bfeb61a07af158f";
hash = "sha256-4CR4lgHB51UvS/RLc0AEfIKJ7dyTCOfDrQdGLf9de8E=";
rev = "723e348ad2cb0607684d907ce8a9457e12993f4f";
hash = "sha256-XAcL4gBcu84DMR6o9JSJ/PmI1PsDdTETknD6C48E8ek=";
fetchSubmodules = true;
};
patches = [
# prevents runtime crash when fcitx5-based IM attempts to look in /usr
(fetchpatch {
name = "use-CMAKE_INSTALL_PREFIX-for-loading-data.patch";
url = "https://github.com/OpenBangla/OpenBangla-Keyboard/commit/f402472780c29eaa6b4cc841a70289adf171462b.diff";
hash = "sha256-YahvtyOxe8F40Wfe+31C6fdmm197QN26/Q67oinOplk=";
})
];
nativeBuildInputs = [
cmake
pkg-config
@@ -62,8 +50,8 @@ stdenv.mkDerivation rec {
];
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src cargoRoot postPatch;
hash = "sha256-qZMTZi7eqEp5kSmVx7qdS7eDKOzSv9fMjWT0h/MGyeY=";
inherit (finalAttrs) src cargoRoot postPatch;
hash = "sha256-UrS12fcXIIT3xhl/nyegwROBMCIepi6n07CS5CEA2BY=";
};
cmakeFlags =
@@ -76,7 +64,7 @@ stdenv.mkDerivation rec {
cargoRoot = "src/engine/riti";
postPatch = ''
cp ${./Cargo.lock} ${cargoRoot}/Cargo.lock
cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock
'';
meta = {
@@ -85,9 +73,12 @@ stdenv.mkDerivation rec {
mainProgram = "openbangla-gui";
homepage = "https://openbangla.github.io/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ hqurve ];
maintainers = with lib.maintainers; [
hqurve
johnrtitor
];
platforms = lib.platforms.linux;
# never built on aarch64-linux since first introduction in nixpkgs
broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64;
};
}
})
+6 -6
View File
@@ -70,12 +70,12 @@ let
++ lib.optionals (pname == "gammastep") [ wayland-scanner ];
configureFlags = [
"--enable-randr=${if withRandr then "yes" else "no"}"
"--enable-geoclue2=${if withGeoclue then "yes" else "no"}"
"--enable-drm=${if withDrm then "yes" else "no"}"
"--enable-vidmode=${if withVidmode then "yes" else "no"}"
"--enable-quartz=${if withQuartz then "yes" else "no"}"
"--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
"--enable-randr=${lib.boolToYesNo withRandr}"
"--enable-geoclue2=${lib.boolToYesNo withGeoclue}"
"--enable-drm=${lib.boolToYesNo withDrm}"
"--enable-vidmode=${lib.boolToYesNo withVidmode}"
"--enable-quartz=${lib.boolToYesNo withQuartz}"
"--enable-corelocation=${lib.boolToYesNo withCoreLocation}"
]
++ lib.optionals (pname == "gammastep") [
"--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user/"
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
asciidoctor,
autoreconfHook,
pkg-config,
@@ -42,6 +43,12 @@ stdenv.mkDerivation rec {
# https://github.com/dns-stats/compactor/pull/91
./patches/update-golden-cbor2diag-output.patch
# https://github.com/dns-stats/compactor/commit/f7deaf89f55a12c586b6662a3a7d04b10a4c7bcb
(fetchpatch {
url = "https://github.com/dns-stats/compactor/commit/f7deaf89f55a12c586b6662a3a7d04b10a4c7bcb.patch";
hash = "sha256-eEaVS5rfrLkRGc668PwVfb/xw3n1SoCm30xEf1NjbeY=";
})
];
nativeBuildInputs = [
@@ -25,6 +25,7 @@
libpcap,
libsmi,
libssh,
libxml2,
lua5_4,
lz4,
makeWrapper,
@@ -56,7 +57,7 @@ assert withQt -> qt6 != null;
stdenv.mkDerivation rec {
pname = "wireshark-${if withQt then "qt" else "cli"}";
version = "4.4.9";
version = "4.6.0";
outputs = [
"out"
@@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
repo = "wireshark";
owner = "wireshark";
rev = "v${version}";
hash = "sha256-0+uPXSNabsYNGn+4753WNoUBe9lJ2EH3i3J36lqI4Ak=";
hash = "sha256-XkHcVN3xCYwnS69nJ4/AT76Iaggt1GXA6JWi+IG15IM=";
};
patches = [
@@ -111,6 +112,7 @@ stdenv.mkDerivation rec {
libpcap
libsmi
libssh
libxml2
lua5_4
lz4
minizip
@@ -0,0 +1,10 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 08f56a33..c5291fd7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.7)
+cmake_minimum_required(VERSION 3.10)
if(POLICY CMP0046)
cmake_policy(SET CMP0046 NEW)
endif()
@@ -112,9 +112,11 @@ stdenv.mkDerivation rec {
propagatedBuildOutputs = [ ]; # otherwise propagates out -> bin cycle
patches = [
./cmake-minimum-required.patch
./darwin.patch
./glog-cmake.patch
./random-shuffle.patch
./random-shuffle-includes.patch
(fetchpatch {
name = "support-opencv4";
url = "https://github.com/BVLC/caffe/pull/6638/commits/0a04cc2ccd37ba36843c18fea2d5cbae6e7dd2b5.patch";
@@ -0,0 +1,14 @@
diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp
index 01213691..f42e7bea 100644
--- a/src/caffe/layers/hdf5_data_layer.cpp
+++ b/src/caffe/layers/hdf5_data_layer.cpp
@@ -6,7 +6,9 @@ TODO:
:: don't forget to update hdf5_daa_layer.cu accordingly
- add ability to shuffle filenames if flag is set
*/
+#include <algorithm>
#include <fstream> // NOLINT(readability/streams)
+#include <random>
#include <string>
#include <vector>
+176 -157
View File
@@ -23,181 +23,200 @@ let
in
lib.makeOverridable (
lib.fetchers.withNormalizedHash { } (
# NOTE Please document parameter additions or changes in
# ../../../doc/build-helpers/fetchers.chapter.md
{
url,
tag ? null,
rev ? null,
name ? urlToName {
inherit url;
rev = lib.revOrTag rev tag;
# when rootDir is specified, avoid invalidating the result when rev changes
append = if rootDir != "" then "-${lib.strings.sanitizeDerivationName rootDir}" else "";
},
leaveDotGit ? deepClone || fetchTags,
outputHash ? lib.fakeHash,
outputHashAlgo ? null,
fetchSubmodules ? true,
deepClone ? false,
branchName ? null,
sparseCheckout ? lib.optional (rootDir != "") rootDir,
nonConeMode ? rootDir != "",
nativeBuildInputs ? [ ],
# Shell code executed before the file has been fetched. This, in
# particular, can do things like set NIX_PREFETCH_GIT_CHECKOUT_HOOK to
# run operations between the checkout completing and deleting the .git
# directory.
preFetch ? "",
# Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
postFetch ? "",
preferLocalBuild ? true,
fetchLFS ? false,
# Shell code to build a netrc file for BASIC auth
netrcPhase ? null,
# Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase
netrcImpureEnvVars ? [ ],
passthru ? { },
meta ? { },
allowedRequisites ? null,
# fetch all tags after tree (useful for git describe)
fetchTags ? false,
# make this subdirectory the root of the result
rootDir ? "",
# GIT_CONFIG_GLOBAL (as a file)
gitConfigFile ? config.gitConfigFile,
}:
lib.extendMkDerivation {
constructDrv = stdenvNoCC.mkDerivation;
/*
NOTE:
fetchgit has one problem: git fetch only works for refs.
This is because fetching arbitrary (maybe dangling) commits creates garbage collection risks
and checking whether a commit belongs to a ref is expensive. This may
change in the future when some caching is added to git (?)
Usually refs are either tags (refs/tags/*) or branches (refs/heads/*)
Cloning branches will make the hash check fail when there is an update.
But not all patches we want can be accessed by tags.
excludeDrvArgNames = [
# Passed via `passthru`
"tag"
The workaround is getting the last n commits so that it's likely that they
still contain the hash we want.
# Hashes, handled by `lib.fetchers.withNormalizedHash`
# whose outputs contain outputHash* attributes.
"hash"
"sha256"
];
for now : increase depth iteratively (TODO)
extendDrvArgs =
finalAttrs:
lib.fetchers.withNormalizedHash { } (
# NOTE Please document parameter additions or changes in
# ../../../doc/build-helpers/fetchers.chapter.md
{
url,
tag ? null,
rev ? null,
name ? urlToName {
inherit url;
rev = lib.revOrTag rev tag;
# when rootDir is specified, avoid invalidating the result when rev changes
append = if rootDir != "" then "-${lib.strings.sanitizeDerivationName rootDir}" else "";
},
leaveDotGit ? deepClone || fetchTags,
outputHash ? lib.fakeHash,
outputHashAlgo ? null,
fetchSubmodules ? true,
deepClone ? false,
branchName ? null,
sparseCheckout ? lib.optional (rootDir != "") rootDir,
nonConeMode ? rootDir != "",
nativeBuildInputs ? [ ],
# Shell code executed before the file has been fetched. This, in
# particular, can do things like set NIX_PREFETCH_GIT_CHECKOUT_HOOK to
# run operations between the checkout completing and deleting the .git
# directory.
preFetch ? "",
# Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
postFetch ? "",
preferLocalBuild ? true,
fetchLFS ? false,
# Shell code to build a netrc file for BASIC auth
netrcPhase ? null,
# Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase
netrcImpureEnvVars ? [ ],
passthru ? { },
meta ? { },
allowedRequisites ? null,
# fetch all tags after tree (useful for git describe)
fetchTags ? false,
# make this subdirectory the root of the result
rootDir ? "",
# GIT_CONFIG_GLOBAL (as a file)
gitConfigFile ? config.gitConfigFile,
}:
real fix: ask git folks to add a
git fetch $HASH contained in $BRANCH
facility because checking that $HASH is contained in $BRANCH is less
expensive than fetching --depth $N.
Even if git folks implemented this feature soon it may take years until
server admins start using the new version?
*/
/*
NOTE:
fetchgit has one problem: git fetch only works for refs.
This is because fetching arbitrary (maybe dangling) commits creates garbage collection risks
and checking whether a commit belongs to a ref is expensive. This may
change in the future when some caching is added to git (?)
Usually refs are either tags (refs/tags/*) or branches (refs/heads/*)
Cloning branches will make the hash check fail when there is an update.
But not all patches we want can be accessed by tags.
assert nonConeMode -> (sparseCheckout != [ ]);
assert fetchTags -> leaveDotGit;
assert rootDir != "" -> !leaveDotGit;
The workaround is getting the last n commits so that it's likely that they
still contain the hash we want.
for now : increase depth iteratively (TODO)
real fix: ask git folks to add a
git fetch $HASH contained in $BRANCH
facility because checking that $HASH is contained in $BRANCH is less
expensive than fetching --depth $N.
Even if git folks implemented this feature soon it may take years until
server admins start using the new version?
*/
assert nonConeMode -> (sparseCheckout != [ ]);
assert fetchTags -> leaveDotGit;
assert rootDir != "" -> !leaveDotGit;
let
revWithTag =
let
warningMsg = "fetchgit requires one of either `rev` or `tag` to be provided (not both).";
otherIsNull = other: lib.assertMsg (other == null) warningMsg;
revWithTag =
let
warningMsg = "fetchgit requires one of either `rev` or `tag` to be provided (not both).";
otherIsNull = other: lib.assertMsg (other == null) warningMsg;
in
if tag != null then
assert (otherIsNull rev);
"refs/tags/${tag}"
else if rev != null then
assert (otherIsNull tag);
rev
else
# FIXME fetching HEAD if no rev or tag is provided is problematic at best
"HEAD";
in
if tag != null then
assert (otherIsNull rev);
"refs/tags/${tag}"
else if rev != null then
assert (otherIsNull tag);
rev
if builtins.isString sparseCheckout then
# Changed to throw on 2023-06-04
throw
"Please provide directories/patterns for sparse checkout as a list of strings. Passing a (multi-line) string is not supported any more."
else
# FIXME fetching HEAD if no rev or tag is provided is problematic at best
"HEAD";
in
{
inherit name;
if builtins.isString sparseCheckout then
# Changed to throw on 2023-06-04
throw
"Please provide directories/patterns for sparse checkout as a list of strings. Passing a (multi-line) string is not supported any more."
else
stdenvNoCC.mkDerivation {
inherit name;
builder = ./builder.sh;
fetcher = ./nix-prefetch-git;
builder = ./builder.sh;
fetcher = ./nix-prefetch-git;
nativeBuildInputs = [
git
cacert
]
++ lib.optionals fetchLFS [ git-lfs ]
++ nativeBuildInputs;
nativeBuildInputs = [
git
cacert
]
++ lib.optionals fetchLFS [ git-lfs ]
++ nativeBuildInputs;
inherit outputHash outputHashAlgo;
outputHashMode = "recursive";
inherit outputHash outputHashAlgo;
outputHashMode = "recursive";
# git-sparse-checkout(1) says:
# > When the --stdin option is provided, the directories or patterns are read
# > from standard in as a newline-delimited list instead of from the arguments.
sparseCheckout = builtins.concatStringsSep "\n" sparseCheckout;
# git-sparse-checkout(1) says:
# > When the --stdin option is provided, the directories or patterns are read
# > from standard in as a newline-delimited list instead of from the arguments.
sparseCheckout = builtins.concatStringsSep "\n" sparseCheckout;
inherit
url
leaveDotGit
fetchLFS
fetchSubmodules
deepClone
branchName
nonConeMode
preFetch
postFetch
fetchTags
rootDir
gitConfigFile
;
rev = revWithTag;
inherit
url
leaveDotGit
fetchLFS
fetchSubmodules
deepClone
branchName
nonConeMode
preFetch
postFetch
fetchTags
rootDir
gitConfigFile
;
rev = revWithTag;
postHook =
if netrcPhase == null then
null
else
''
${netrcPhase}
# required that git uses the netrc file
mv {,.}netrc
export NETRC=$PWD/.netrc
export HOME=$PWD
'';
postHook =
if netrcPhase == null then
null
else
''
${netrcPhase}
# required that git uses the netrc file
mv {,.}netrc
export NETRC=$PWD/.netrc
export HOME=$PWD
'';
impureEnvVars =
lib.fetchers.proxyImpureEnvVars
++ netrcImpureEnvVars
++ [
"GIT_PROXY_COMMAND"
"NIX_GIT_SSL_CAINFO"
"SOCKS_SERVER"
impureEnvVars =
lib.fetchers.proxyImpureEnvVars
++ netrcImpureEnvVars
++ [
"GIT_PROXY_COMMAND"
"NIX_GIT_SSL_CAINFO"
"SOCKS_SERVER"
# This is a parameter intended to be set by setup hooks or preFetch
# scripts that want per-URL control over HTTP proxies used by Git
# (if per-URL control isn't needed, `http_proxy` etc. will
# suffice). It must be a whitespace-separated (with backslash as an
# escape character) list of pairs like this:
#
# http://domain1/path1 proxy1 https://domain2/path2 proxy2
#
# where the URLs are as documented in the `git-config` manual page
# under `http.<url>.*`, and the proxies are as documented on the
# same page under `http.proxy`.
"FETCHGIT_HTTP_PROXIES"
];
# This is a parameter intended to be set by setup hooks or preFetch
# scripts that want per-URL control over HTTP proxies used by Git
# (if per-URL control isn't needed, `http_proxy` etc. will
# suffice). It must be a whitespace-separated (with backslash as an
# escape character) list of pairs like this:
#
# http://domain1/path1 proxy1 https://domain2/path2 proxy2
#
# where the URLs are as documented in the `git-config` manual page
# under `http.<url>.*`, and the proxies are as documented on the
# same page under `http.proxy`.
"FETCHGIT_HTTP_PROXIES"
];
inherit preferLocalBuild meta allowedRequisites;
inherit preferLocalBuild meta allowedRequisites;
passthru = {
gitRepoUrl = url;
inherit tag;
}
// passthru;
}
);
passthru = {
gitRepoUrl = url;
inherit tag;
}
// passthru;
}
)
# No ellipsis.
inheritFunctionArgs = false;
}
)
+234 -213
View File
@@ -53,252 +53,273 @@ let
in
{
# URL to fetch.
url ? "",
lib.extendMkDerivation {
constructDrv = stdenvNoCC.mkDerivation;
# Alternatively, a list of URLs specifying alternative download
# locations. They are tried in order.
urls ? [ ],
excludeDrvArgNames = [
# Passed via passthru
"url"
# Additional curl options needed for the download to succeed.
# Warning: Each space (no matter the escaping) will start a new argument.
# If you wish to pass arguments with spaces, use `curlOptsList`
curlOpts ? "",
# Hash attributes will be map to the corresponding outputHash*
"hash"
"sha1"
"sha256"
"sha512"
];
# Additional curl options needed for the download to succeed.
curlOptsList ? [ ],
extendDrvArgs =
finalAttrs:
{
# URL to fetch.
url ? "",
# Name of the file. If empty, use the basename of `url' (or of the
# first element of `urls').
name ? "",
# Alternatively, a list of URLs specifying alternative download
# locations. They are tried in order.
urls ? [ ],
# for versioned downloads optionally take pname + version.
pname ? "",
version ? "",
# Additional curl options needed for the download to succeed.
# Warning: Each space (no matter the escaping) will start a new argument.
# If you wish to pass arguments with spaces, use `curlOptsList`
curlOpts ? "",
# SRI hash.
hash ? "",
# Additional curl options needed for the download to succeed.
curlOptsList ? [ ],
# Legacy ways of specifying the hash.
outputHash ? "",
outputHashAlgo ? "",
sha1 ? "",
sha256 ? "",
sha512 ? "",
# Name of the file when pname + version is unspecified.
# Default to the basename of `url' (or of the first element of `urls').
name ? null,
recursiveHash ? false,
# for versioned downloads optionally take pname + version.
pname ? null,
version ? null,
# Shell code to build a netrc file for BASIC auth
netrcPhase ? null,
# SRI hash.
hash ? "",
# Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase
netrcImpureEnvVars ? [ ],
# Legacy ways of specifying the hash.
outputHash ? "",
outputHashAlgo ? "",
sha1 ? "",
sha256 ? "",
sha512 ? "",
# Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
postFetch ? "",
recursiveHash ? false,
# Whether to download to a temporary path rather than $out. Useful
# in conjunction with postFetch. The location of the temporary file
# is communicated to postFetch via $downloadedFile.
downloadToTemp ? false,
# Shell code to build a netrc file for BASIC auth
netrcPhase ? null,
# If true, set executable bit on downloaded file
executable ? false,
# Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase
netrcImpureEnvVars ? [ ],
# If set, don't download the file, but write a list of all possible
# URLs (resulting from resolving mirror:// URLs) to $out.
showURLs ? false,
# Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
postFetch ? "",
# Meta information, if any.
meta ? { },
# Whether to download to a temporary path rather than $out. Useful
# in conjunction with postFetch. The location of the temporary file
# is communicated to postFetch via $downloadedFile.
downloadToTemp ? false,
# Passthru information, if any.
passthru ? { },
# Doing the download on a remote machine just duplicates network
# traffic, so don't do that by default
preferLocalBuild ? true,
# If true, set executable bit on downloaded file
executable ? false,
# Additional packages needed as part of a fetch
nativeBuildInputs ? [ ],
}@args:
# If set, don't download the file, but write a list of all possible
# URLs (resulting from resolving mirror:// URLs) to $out.
showURLs ? false,
let
preRewriteUrls =
if urls != [ ] && url == "" then
(
if lib.isList urls then urls else throw "`urls` is not a list: ${lib.generators.toPretty { } urls}"
)
else if urls == [ ] && url != "" then
(
if lib.isString url then
[ url ]
else
throw "`url` is not a string: ${lib.generators.toPretty { } urls}"
)
else
throw "fetchurl requires either `url` or `urls` to be set: ${lib.generators.toPretty { } args}";
# Meta information, if any.
meta ? { },
# Passthru information, if any.
passthru ? { },
# Doing the download on a remote machine just duplicates network
# traffic, so don't do that by default
preferLocalBuild ? true,
# Additional packages needed as part of a fetch
nativeBuildInputs ? [ ],
}@args:
urls_ =
let
u = lib.lists.filter (url: lib.isString url) (map rewriteURL preRewriteUrls);
in
if u == [ ] then throw "urls is empty after rewriteURL (was ${toString preRewriteUrls})" else u;
hash_ =
if
with lib.lists;
length (
filter (s: s != "") [
hash
outputHash
sha1
sha256
sha512
]
) > 1
then
throw "multiple hashes passed to fetchurl: ${lib.generators.toPretty { } urls_}"
else
if hash != "" then
{
outputHashAlgo = null;
outputHash = hash;
}
else if outputHash != "" then
if outputHashAlgo != "" then
{ inherit outputHashAlgo outputHash; }
else
throw "fetchurl was passed outputHash without outputHashAlgo: ${lib.generators.toPretty { } urls_}"
else if sha512 != "" then
{
outputHashAlgo = "sha512";
outputHash = sha512;
}
else if sha256 != "" then
{
outputHashAlgo = "sha256";
outputHash = sha256;
}
else if sha1 != "" then
{
outputHashAlgo = "sha1";
outputHash = sha1;
}
else if cacert != null then
{
outputHashAlgo = "sha256";
outputHash = "";
}
else
throw "fetchurl requires a hash for fixed-output derivation: ${lib.generators.toPretty { } urls_}";
resolvedUrl =
let
mirrorSplit = lib.match "mirror://([[:alpha:]]+)/(.+)" url;
mirrorName = lib.head mirrorSplit;
mirrorList =
if lib.hasAttr mirrorName mirrors then
mirrors."${mirrorName}"
preRewriteUrls =
if urls != [ ] && url == "" then
(
if lib.isList urls then urls else throw "`urls` is not a list: ${lib.generators.toPretty { } urls}"
)
else if urls == [ ] && url != "" then
(
if lib.isString url then
[ url ]
else
throw "`url` is not a string: ${lib.generators.toPretty { } urls}"
)
else
throw "unknown mirror:// site ${mirrorName}";
in
if mirrorSplit == null || mirrorName == null then
url
else
"${lib.head mirrorList}${lib.elemAt mirrorSplit 1}";
in
throw "fetchurl requires either `url` or `urls` to be set: ${lib.generators.toPretty { } args}";
assert
(lib.isList curlOpts)
-> lib.warn ''
fetchurl for ${toString (builtins.head urls_)}: curlOpts is a list (${
lib.generators.toPretty { multiline = false; } curlOpts
}), which is not supported anymore.
- If you wish to get the same effect as before, for elements with spaces (even if escaped) to expand to multiple curl arguments, use a string argument instead:
curlOpts = ${lib.strings.escapeNixString (toString curlOpts)};
- If you wish for each list element to be passed as a separate curl argument, allowing arguments to contain spaces, use curlOptsList instead:
curlOptsList = [ ${lib.concatMapStringsSep " " lib.strings.escapeNixString curlOpts} ];'' true;
urls_ =
let
u = lib.lists.filter (url: lib.isString url) (map rewriteURL preRewriteUrls);
in
if u == [ ] then throw "urls is empty after rewriteURL (was ${toString preRewriteUrls})" else u;
stdenvNoCC.mkDerivation (
(
if (pname != "" && version != "") then
{ inherit pname version; }
else
{
name =
if showURLs then
"urls"
else if name != "" then
name
hash_ =
if
with lib.lists;
length (
filter (s: s != "") [
hash
outputHash
sha1
sha256
sha512
]
) > 1
then
throw "multiple hashes passed to fetchurl: ${lib.generators.toPretty { } urls_}"
else
if hash != "" then
{
outputHashAlgo = null;
outputHash = hash;
}
else if outputHash != "" then
if outputHashAlgo != "" then
{ inherit outputHashAlgo outputHash; }
else
baseNameOf (toString (builtins.head urls_));
}
)
// {
builder = ./builder.sh;
throw "fetchurl was passed outputHash without outputHashAlgo: ${lib.generators.toPretty { } urls_}"
else if sha512 != "" then
{
outputHashAlgo = "sha512";
outputHash = sha512;
}
else if sha256 != "" then
{
outputHashAlgo = "sha256";
outputHash = sha256;
}
else if sha1 != "" then
{
outputHashAlgo = "sha1";
outputHash = sha1;
}
else if cacert != null then
{
outputHashAlgo = "sha256";
outputHash = "";
}
else
throw "fetchurl requires a hash for fixed-output derivation: ${lib.generators.toPretty { } urls_}";
nativeBuildInputs = [ curl ] ++ nativeBuildInputs;
resolvedUrl =
let
mirrorSplit = lib.match "mirror://([[:alpha:]]+)/(.+)" url;
mirrorName = lib.head mirrorSplit;
mirrorList =
if lib.hasAttr mirrorName mirrors then
mirrors."${mirrorName}"
else
throw "unknown mirror:// site ${mirrorName}";
in
if mirrorSplit == null || mirrorName == null then
url
else
"${lib.head mirrorList}${lib.elemAt mirrorSplit 1}";
in
urls = urls_;
{
name =
if pname != null && version != null then
"${finalAttrs.pname}-${finalAttrs.version}"
else if showURLs then
"urls"
else if name != null then
name
else
baseNameOf (toString (lib.head urls_));
# If set, prefer the content-addressable mirrors
# (http://tarballs.nixos.org) over the original URLs.
preferHashedMirrors = false;
builder = ./builder.sh;
# New-style output content requirements.
inherit (hash_) outputHashAlgo outputHash;
nativeBuildInputs = [ curl ] ++ nativeBuildInputs;
# Disable TLS verification only when we know the hash and no credentials are
# needed to access the resource
SSL_CERT_FILE =
if
(
hash_.outputHash == ""
|| hash_.outputHash == lib.fakeSha256
|| hash_.outputHash == lib.fakeSha512
|| hash_.outputHash == lib.fakeHash
|| netrcPhase != null
)
then
"${cacert}/etc/ssl/certs/ca-bundle.crt"
else
"/no-cert-file.crt";
urls = urls_;
outputHashMode = if (recursiveHash || executable) then "recursive" else "flat";
# If set, prefer the content-addressable mirrors
# (http://tarballs.nixos.org) over the original URLs.
preferHashedMirrors = false;
inherit curlOpts;
curlOptsList = lib.escapeShellArgs curlOptsList;
inherit
showURLs
mirrorsFile
postFetch
downloadToTemp
executable
;
# New-style output content requirements.
inherit (hash_) outputHashAlgo outputHash;
impureEnvVars = impureEnvVars ++ netrcImpureEnvVars;
# Disable TLS verification only when we know the hash and no credentials are
# needed to access the resource
SSL_CERT_FILE =
if
(
hash_.outputHash == ""
|| hash_.outputHash == lib.fakeSha256
|| hash_.outputHash == lib.fakeSha512
|| hash_.outputHash == lib.fakeHash
|| netrcPhase != null
)
then
"${cacert}/etc/ssl/certs/ca-bundle.crt"
else
"/no-cert-file.crt";
nixpkgsVersion = lib.trivial.release;
outputHashMode = if (recursiveHash || executable) then "recursive" else "flat";
inherit preferLocalBuild;
postHook =
if netrcPhase == null then
null
else
curlOpts = lib.warnIf (lib.isList curlOpts) (
let
url = toString (builtins.head urls_);
curlOptsRepresentation = lib.generators.toPretty { multiline = false; } curlOpts;
curlOptsAsStringRepresentation = lib.strings.escapeNixString (toString curlOpts);
curlOptsListElementsRepresentation =
lib.concatMapStringsSep " " lib.strings.escapeNixString
curlOpts;
in
''
${netrcPhase}
curlOpts="$curlOpts --netrc-file $PWD/netrc"
'';
fetchurl for ${url}: curlOpts is a list (${curlOptsRepresentation}), which is not supported anymore.
- If you wish to get the same effect as before, for elements with spaces (even if escaped) to expand to multiple curl arguments, use a string argument instead:
curlOpts = ${curlOptsAsStringRepresentation};
- If you wish for each list element to be passed as a separate curl argument, allowing arguments to contain spaces, use curlOptsList instead:
curlOptsList = [ ${curlOptsListElementsRepresentation} ];
''
) curlOpts;
inherit meta;
passthru = {
inherit url resolvedUrl;
}
// passthru;
}
)
curlOptsList = lib.escapeShellArgs curlOptsList;
inherit
showURLs
mirrorsFile
postFetch
downloadToTemp
executable
;
impureEnvVars = impureEnvVars ++ netrcImpureEnvVars;
nixpkgsVersion = lib.trivial.release;
inherit preferLocalBuild;
postHook =
if netrcPhase == null then
null
else
''
${netrcPhase}
curlOpts="$curlOpts --netrc-file $PWD/netrc"
'';
inherit meta;
passthru = {
inherit url resolvedUrl;
}
// passthru;
};
# No ellipsis
inheritFunctionArgs = false;
}
+94 -90
View File
@@ -14,96 +14,100 @@
glibcLocalesUtf8,
}:
{
url ? "",
urls ? [ ],
name ? repoRevToNameMaybe (if url != "" then url else builtins.head urls) null "unpacked",
nativeBuildInputs ? [ ],
postFetch ? "",
extraPostFetch ? "",
lib.extendMkDerivation {
constructDrv = fetchurl;
# Optionally move the contents of the unpacked tree up one level.
stripRoot ? true,
# Allows to set the extension for the intermediate downloaded
# file. This can be used as a hint for the unpackCmdHooks to select
# an appropriate unpacking tool.
extension ? null,
# the rest are given to fetchurl as is
...
}@args:
assert
(extraPostFetch != "")
-> lib.warn "use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub' or 'fetchFromGitLab'." true;
let
tmpFilename =
if extension != null then
"download.${extension}"
else
baseNameOf (if url != "" then url else builtins.head urls);
in
fetchurl (
{
inherit name;
recursiveHash = true;
downloadToTemp = true;
# Have to pull in glibcLocalesUtf8 for unzip in setup-hook.sh to handle
# UTF-8 aware locale:
# https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263
nativeBuildInputs =
lib.optionals withUnzip [
unzip
glibcLocalesUtf8
]
++ nativeBuildInputs;
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
renamed="$TMPDIR/${tmpFilename}"
mv "$downloadedFile" "$renamed"
unpackFile "$renamed"
chmod -R +w "$unpackDir"
''
+ (
if stripRoot then
''
if [ $(ls -A "$unpackDir" | wc -l) != 1 ]; then
echo "error: zip file must contain a single file or directory."
echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files."
exit 1
fi
fn=$(cd "$unpackDir" && ls -A)
if [ -f "$unpackDir/$fn" ]; then
mkdir $out
fi
mv "$unpackDir/$fn" "$out"
''
else
''
mv "$unpackDir" "$out"
''
)
+ ''
${postFetch}
${extraPostFetch}
chmod 755 "$out"
'';
# ^ Remove non-owner write permissions
# Fixes https://github.com/NixOS/nixpkgs/issues/38649
}
// removeAttrs args [
"stripRoot"
excludeDrvArgNames = [
"extraPostFetch"
"postFetch"
# TODO(@ShamrockLee): Move these arguments to derivationArgs when available.
"extension"
"nativeBuildInputs"
]
)
"stripRoot"
];
extendDrvArgs =
finalAttrs:
{
url ? "",
urls ? [ ],
name ? repoRevToNameMaybe (if url != "" then url else builtins.head urls) null "unpacked",
nativeBuildInputs ? [ ],
postFetch ? "",
extraPostFetch ? "",
# Optionally move the contents of the unpacked tree up one level.
stripRoot ? true,
# Allows to set the extension for the intermediate downloaded
# file. This can be used as a hint for the unpackCmdHooks to select
# an appropriate unpacking tool.
extension ? null,
# the rest are given to fetchurl as is
...
}@args:
let
tmpFilename =
if extension != null then
"download.${extension}"
else
baseNameOf (if url != "" then url else builtins.head urls);
in
{
inherit name;
recursiveHash = true;
downloadToTemp = true;
# Have to pull in glibcLocalesUtf8 for unzip in setup-hook.sh to handle
# UTF-8 aware locale:
# https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263
nativeBuildInputs =
lib.optionals withUnzip [
unzip
glibcLocalesUtf8
]
++ nativeBuildInputs;
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
renamed="$TMPDIR/${tmpFilename}"
mv "$downloadedFile" "$renamed"
unpackFile "$renamed"
chmod -R +w "$unpackDir"
''
+ (
if stripRoot then
''
if [ $(ls -A "$unpackDir" | wc -l) != 1 ]; then
echo "error: zip file must contain a single file or directory."
echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files."
exit 1
fi
fn=$(cd "$unpackDir" && ls -A)
if [ -f "$unpackDir/$fn" ]; then
mkdir $out
fi
mv "$unpackDir/$fn" "$out"
''
else
''
mv "$unpackDir" "$out"
''
)
+ ''
${postFetch}
${lib.warnIf (extraPostFetch != "")
"use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub' or 'fetchFromGitLab'."
extraPostFetch
}
chmod 755 "$out"
'';
# ^ Remove non-owner write permissions
# Fixes https://github.com/NixOS/nixpkgs/issues/38649
};
}
+1 -1
View File
@@ -69,7 +69,7 @@ vmTools.runInLinuxImage (
# the log file
export PAGER=cat
${checkinstall}/sbin/checkinstall --nodoc -y -D \
--fstrans=${if fsTranslation then "yes" else "no"} \
--fstrans=${lib.boolToYesNo fsTranslation} \
--requires="${lib.concatStringsSep "," debRequires}" \
--provides="${lib.concatStringsSep "," debProvides}" \
${
+2 -2
View File
@@ -5,7 +5,7 @@
}:
let
version = "6.1.7";
version = "6.1.8";
in
stdenvNoCC.mkDerivation {
pname = "activemq";
@@ -13,7 +13,7 @@ stdenvNoCC.mkDerivation {
src = fetchurl {
url = "mirror://apache/activemq/${version}/apache-activemq-${version}-bin.tar.gz";
hash = "sha256-dcxBEJqJd0XUSsonNYVo88vgzVj8a7/wNag8Td9I0xY=";
hash = "sha256-BCrdMR698xAsl+8nY8DpwdZZH6LH2C5FBNZ2sRUmtBk=";
};
installPhase = ''
+1 -1
View File
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
# These answers are valid on x86_64-linux and aarch64-linux.
# TODO: provide all valid answers for BSD.
"ac_cv_file__dev_zero=yes"
"ac_cv_func_setpgrp_void=${if stdenv.hostPlatform.isBSD then "no" else "yes"}"
"ac_cv_func_setpgrp_void=${lib.boolToYesNo (!stdenv.hostPlatform.isBSD)}"
"apr_cv_tcp_nodelay_with_cork=yes"
"ac_cv_define_PTHREAD_PROCESS_SHARED=yes"
"apr_cv_process_shared_works=yes"
+2 -2
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation rec {
pname = "async-profiler";
version = "4.1";
version = "4.2";
src = fetchFromGitHub {
owner = "jvm-profiling-tools";
repo = "async-profiler";
rev = "v${version}";
hash = "sha256-82aZK9y1Y5PaYtIG7FqnrbYU+bQ3nNzOCn+3lFzyeCA=";
hash = "sha256-y/MQgXoaJSwc6QjTPGQRFNyVoR1ENQ7rDmtCwR5F/oM=";
};
nativeBuildInputs = [ makeWrapper ];
+28
View File
@@ -0,0 +1,28 @@
{
"depends": [
{
"method": "fetchzip",
"path": "/nix/store/w556rbsnv2fxb229av2iq180ri9x0d9j-source",
"rev": "77469f58916369bc3863194cabb05238577fb257",
"sha256": "18wjz5yqzr1dz6286p2w02fk2xjr54l477g90bz4pskjcqrqnjbv",
"url": "https://github.com/khchen/tinyre/archive/77469f58916369bc3863194cabb05238577fb257.tar.gz",
"ref": "1.6.0",
"packages": [
"tinyre"
],
"srcDir": ""
},
{
"method": "fetchzip",
"path": "/nix/store/6aph9sfwcws7pd2725fwjnibdfrv7qmw-source",
"rev": "f8f6bd34bfa3fe12c64b919059ad856a96efcba0",
"sha256": "11m1rb6rzk70kvskppf97ddzgf5fnh9crjziqc6hib0jgsm5d615",
"url": "https://github.com/nim-lang/checksums/archive/f8f6bd34bfa3fe12c64b919059ad856a96efcba0.tar.gz",
"ref": "v0.2.1",
"packages": [
"checksums"
],
"srcDir": "src"
}
]
}
+81 -20
View File
@@ -1,43 +1,100 @@
{
lib,
python3Packages,
buildNimPackage,
fetchFromGitHub,
withHEVC ? true,
withWhisper ? false,
ffmpeg,
yt-dlp,
lame,
libopus,
libvpx,
x264,
x265,
dav1d,
svt-av1,
whisper-cpp,
python3,
python3Packages,
nimble,
nim,
}:
python3Packages.buildPythonApplication rec {
buildNimPackage rec {
pname = "auto-editor";
version = "28.0.2";
pyproject = true;
version = "29.2.0";
src = fetchFromGitHub {
owner = "WyattBlue";
repo = "auto-editor";
tag = version;
hash = "sha256-ozw5ZPvKP7aTBBItQKNx85hZ1T4IxX9NYCcNHC5UuuM=";
hash = "sha256-2EpdrFGkeISiCnwtBMFikfWOzEdHO/ut2NbVbIAutdk=";
};
postPatch = ''
substituteInPlace auto_editor/__main__.py \
--replace-fail '"yt-dlp"' '"${lib.getExe yt-dlp}"'
'';
lockFile = ./lock.json;
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
basswood-av
numpy
buildInputs = [
ffmpeg
lame
libopus
libvpx
x264
dav1d
svt-av1
]
++ lib.optionals withHEVC [
x265
]
++ lib.optionals withWhisper [
whisper-cpp
];
checkPhase = ''
runHook preCheck
nimFlags = [
"--passc:-Wno-incompatible-pointer-types"
]
++ lib.optionals withHEVC [
"-d:enable_hevc"
]
++ lib.optionals withWhisper [
"-d:enable_whisper"
];
$out/bin/auto-editor test all
postPatch = ''
substituteInPlace src/log.nim \
--replace-fail '"yt-dlp"' '"${lib.getExe yt-dlp}"'
runHook postCheck
# buildNimPackage hack
substituteInPlace ae.nimble \
--replace-fail '"main=auto-editor"' '"main"'
'';
pythonImportsCheck = [ "auto_editor" ];
# TODO: Fix checks
/*
nativeCheckInputs = [
python3Packages.av
python3
];
checkPhase = ''
runHook preCheck
nim c \
${if withHEVC then "-d:enable_hevc" else ""} \
${if withWhisper then "-d:enable_whisper" else ""} \
-r $src/src/rationals
python3 $src/tests/test.py
runHook postCheck
'';
*/
postInstall = ''
mv $out/bin/main $out/bin/auto-editor
'';
meta = {
changelog = "https://github.com/WyattBlue/auto-editor/releases/tag/${src.tag}";
@@ -45,6 +102,10 @@ python3Packages.buildPythonApplication rec {
homepage = "https://auto-editor.com/";
license = lib.licenses.unlicense;
mainProgram = "auto-editor";
maintainers = with lib.maintainers; [ tomasajt ];
maintainers = with lib.maintainers; [
tomasajt
utopiatopia
];
platforms = lib.platforms.unix;
};
}
+1 -1
View File
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
]
++
lib.optional (stdenv.buildPlatform != stdenv.hostPlatform)
"ac_cv_func_setpgrp_void=${if stdenv.hostPlatform.isBSD then "no" else "yes"}"
"ac_cv_func_setpgrp_void=${lib.boolToYesNo (!stdenv.hostPlatform.isBSD)}"
++ lib.optionals stdenv.hostPlatform.isDarwin [
# baculas `configure` script fails to detect CoreFoundation correctly,
# but these symbols are available in the nixpkgs CoreFoundation framework.
+3 -3
View File
@@ -9,14 +9,14 @@
stdenv.mkDerivation {
pname = "bicpl";
version = "unstable-2024-05-14";
version = "0-unstable-2025-10-24";
# master is not actively maintained, using develop and develop-apple branches
src = fetchFromGitHub {
owner = "BIC-MNI";
repo = "bicpl";
rev = "7e1e791483cf135fe29b8eecd7a360aa892823ae";
hash = "sha256-SvbtPUfEYp3IGivG+5yFdJF904miyMk+s15zwW7e7b4=";
rev = "dc9828841e38c6b7c523f3ab8a4c23eeb9e4272b";
hash = "sha256-wU/Qmtk6rbwxYqealV2On7W0schrYH85oKIUCpT4IXQ=";
};
nativeBuildInputs = [ cmake ];
+1 -1
View File
@@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
(makeDesktopItem {
name = "BlueJ";
desktopName = "BlueJ";
exec = "BlueJ";
exec = "bluej";
icon = "bluej";
comment = "A simple powerful Java IDE";
categories = [
+1 -1
View File
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook ];
configureFlags = [
"--enable-openmp=${if stdenv.hostPlatform.isLinux then "yes" else "no"}"
"--enable-openmp=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
"--enable-examples=no"
];
+2 -2
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "converseen";
version = "0.15.0.3";
version = "0.15.1.0";
src = fetchFromGitHub {
owner = "Faster3ck";
repo = "Converseen";
tag = "v${finalAttrs.version}";
hash = "sha256-ZC7D+0tonAIkbDaoqw+RarIVuNcDQe410JrfC2kG+B8=";
hash = "sha256-loWwwleiBgwV/6t33HgIqEHU9y/pqyocmwBn0Qg01RY=";
};
strictDeps = true;
@@ -47,7 +47,7 @@ rustPlatform.buildRustPackage {
meta = {
description = "Caffeine Applet for the COSMIC desktop";
homepage = "https://github.com/tropicbliss/cosmic-ext-applet-caffeine";
license = lib.licenses.mit;
license = lib.licenses.gpl2Only;
mainProgram = "cosmic-ext-applet-caffeine";
maintainers = [ lib.maintainers.HeitorAugustoLN ];
platforms = lib.platforms.linux;
+2 -2
View File
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "distrobox";
version = "1.8.1.2";
version = "1.8.2.0";
src = fetchFromGitHub {
owner = "89luca89";
repo = "distrobox";
rev = finalAttrs.version;
hash = "sha256-wTu+8SQZaf8TKkjyvKqTvIWnCZTiPnozybTu5uKXEJk=";
hash = "sha256-uwJD7HsWoQ/LxYL0mSSxMni676qqEnMHndpL01M5ySE=";
};
dontConfigure = true;
@@ -1,5 +1,5 @@
{ runCommandNoCC, doctoc }:
runCommandNoCC "doctoc-test-generates-valid-markdown.md" { nativeBuildInputs = [ doctoc ]; } ''
{ runCommand, doctoc }:
runCommand "doctoc-test-generates-valid-markdown.md" { nativeBuildInputs = [ doctoc ]; } ''
cp ${./input.md} ./target.md && chmod +w ./target.md
doctoc ./target.md
@@ -0,0 +1,789 @@
diff --git a/package-lock.json b/package-lock.json
index 1a647e8..d44033c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,6 @@
"@documenso/prisma": "^0.0.0",
"@lingui/conf": "^5.2.0",
"@lingui/core": "^5.2.0",
- "inngest-cli": "^0.29.1",
"luxon": "^3.5.0",
"mupdf": "^1.0.0",
"react": "^18",
@@ -41,7 +40,7 @@
"prisma-extension-kysely": "^3.0.0",
"prisma-kysely": "^1.8.0",
"rimraf": "^5.0.1",
- "turbo": "^1.9.3",
+ "turbo": "^2.5.8",
"vite": "^6.3.5"
},
"engines": {
@@ -13223,15 +13222,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/adm-zip": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
- "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
- "license": "MIT",
- "engines": {
- "node": ">=12.0"
- }
- },
"node_modules/agent-base": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
@@ -14705,6 +14695,7 @@
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"license": "ISC",
+ "optional": true,
"engines": {
"node": ">=10"
}
@@ -19315,6 +19306,7 @@
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"license": "ISC",
+ "optional": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -19327,6 +19319,7 @@
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"license": "ISC",
+ "optional": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -19338,7 +19331,8 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/fs.realpath": {
"version": "1.0.0",
@@ -21227,23 +21221,6 @@
}
}
},
- "node_modules/inngest-cli": {
- "version": "0.29.9",
- "resolved": "https://registry.npmjs.org/inngest-cli/-/inngest-cli-0.29.9.tgz",
- "integrity": "sha512-H02T7DGG53WV38RswpWmz7JsZXajx+uXDi1Zgq/ON5a+fNQi4hVRkxfoiZLngNeROVVXlokMTBwOShdsrnr7WA==",
- "hasInstallScript": true,
- "license": "SEE LICENSE IN LICENSE.md",
- "dependencies": {
- "adm-zip": "^0.5.10",
- "debug": "^4.3.4",
- "node-fetch": "2.6.7",
- "tar": "6.2.1"
- },
- "bin": {
- "inngest": "bin/inngest",
- "inngest-cli": "bin/inngest"
- }
- },
"node_modules/inngest/node_modules/@opentelemetry/api": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
@@ -25470,6 +25447,7 @@
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"license": "MIT",
+ "optional": true,
"dependencies": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
@@ -25483,6 +25461,7 @@
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"license": "ISC",
+ "optional": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -25494,13 +25473,15 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"license": "MIT",
+ "optional": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -32780,6 +32761,7 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
"license": "ISC",
+ "optional": true,
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -32838,6 +32820,7 @@
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"license": "ISC",
+ "optional": true,
"engines": {
"node": ">=8"
}
@@ -32846,7 +32829,8 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "license": "ISC"
+ "license": "ISC",
+ "optional": true
},
"node_modules/temp-dir": {
"version": "2.0.0",
@@ -34050,102 +34034,102 @@
}
},
"node_modules/turbo": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.4.tgz",
- "integrity": "sha512-1q7+9UJABuBAHrcC4Sxp5lOqYS5mvxRrwa33wpIyM18hlOCpRD/fTJNxZ0vhbMcJmz15o9kkVm743mPn7p6jpQ==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.5.8.tgz",
+ "integrity": "sha512-5c9Fdsr9qfpT3hA0EyYSFRZj1dVVsb6KIWubA9JBYZ/9ZEAijgUEae0BBR/Xl/wekt4w65/lYLTFaP3JmwSO8w==",
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"bin": {
"turbo": "bin/turbo"
},
"optionalDependencies": {
- "turbo-darwin-64": "1.13.4",
- "turbo-darwin-arm64": "1.13.4",
- "turbo-linux-64": "1.13.4",
- "turbo-linux-arm64": "1.13.4",
- "turbo-windows-64": "1.13.4",
- "turbo-windows-arm64": "1.13.4"
+ "turbo-darwin-64": "2.5.8",
+ "turbo-darwin-arm64": "2.5.8",
+ "turbo-linux-64": "2.5.8",
+ "turbo-linux-arm64": "2.5.8",
+ "turbo-windows-64": "2.5.8",
+ "turbo-windows-arm64": "2.5.8"
}
},
"node_modules/turbo-darwin-64": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.13.4.tgz",
- "integrity": "sha512-A0eKd73R7CGnRinTiS7txkMElg+R5rKFp9HV7baDiEL4xTG1FIg/56Vm7A5RVgg8UNgG2qNnrfatJtb+dRmNdw==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.5.8.tgz",
+ "integrity": "sha512-Dh5bCACiHO8rUXZLpKw+m3FiHtAp2CkanSyJre+SInEvEr5kIxjGvCK/8MFX8SFRjQuhjtvpIvYYZJB4AGCxNQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/turbo-darwin-arm64": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.4.tgz",
- "integrity": "sha512-eG769Q0NF6/Vyjsr3mKCnkG/eW6dKMBZk6dxWOdrHfrg6QgfkBUk0WUUujzdtVPiUIvsh4l46vQrNVd9EOtbyA==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.5.8.tgz",
+ "integrity": "sha512-f1H/tQC9px7+hmXn6Kx/w8Jd/FneIUnvLlcI/7RGHunxfOkKJKvsoiNzySkoHQ8uq1pJnhJ0xNGTlYM48ZaJOQ==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/turbo-linux-64": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.4.tgz",
- "integrity": "sha512-Bq0JphDeNw3XEi+Xb/e4xoKhs1DHN7OoLVUbTIQz+gazYjigVZvtwCvgrZI7eW9Xo1eOXM2zw2u1DGLLUfmGkQ==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.5.8.tgz",
+ "integrity": "sha512-hMyvc7w7yadBlZBGl/bnR6O+dJTx3XkTeyTTH4zEjERO6ChEs0SrN8jTFj1lueNXKIHh1SnALmy6VctKMGnWfw==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/turbo-linux-arm64": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.4.tgz",
- "integrity": "sha512-BJcXw1DDiHO/okYbaNdcWN6szjXyHWx9d460v6fCHY65G8CyqGU3y2uUTPK89o8lq/b2C8NK0yZD+Vp0f9VoIg==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.5.8.tgz",
+ "integrity": "sha512-LQELGa7bAqV2f+3rTMRPnj5G/OHAe2U+0N9BwsZvfMvHSUbsQ3bBMWdSQaYNicok7wOZcHjz2TkESn1hYK6xIQ==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/turbo-windows-64": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.4.tgz",
- "integrity": "sha512-OFFhXHOFLN7A78vD/dlVuuSSVEB3s9ZBj18Tm1hk3aW1HTWTuAw0ReN6ZNlVObZUHvGy8d57OAGGxf2bT3etQw==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.5.8.tgz",
+ "integrity": "sha512-3YdcaW34TrN1AWwqgYL9gUqmZsMT4T7g8Y5Azz+uwwEJW+4sgcJkIi9pYFyU4ZBSjBvkfuPZkGgfStir5BBDJQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/turbo-windows-arm64": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.4.tgz",
- "integrity": "sha512-u5A+VOKHswJJmJ8o8rcilBfU5U3Y1TTAfP9wX8bFh8teYF1ghP0EhtMRLjhtp6RPa+XCxHHVA2CiC3gbh5eg5g==",
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.5.8.tgz",
+ "integrity": "sha512-eFC5XzLmgXJfnAK3UMTmVECCwuBcORrWdewoiXBnUm934DY6QN8YowC/srhNnROMpaKaqNeRpoB5FxCww3eteQ==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MPL-2.0",
+ "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -36114,7 +36098,9 @@
},
"engines": {
"node": ">=18"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.52.0.tgz",
+ "integrity": "sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g=="
},
"packages/app-tests/node_modules/start-server-and-test": {
"version": "2.0.12",
@@ -36136,25 +36122,33 @@
},
"engines": {
"node": ">=16"
- }
+ },
+ "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.12.tgz",
+ "integrity": "sha512-U6QiS5qsz+DN5RfJJrkAXdooxMDnLZ+n5nR8kaX//ZH19SilF6b58Z3zM9zTfrNIkJepzauHo4RceSgvgUSX9w=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/bluebird": {
"version": "3.7.2",
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/check-more-types": {
"version": "2.24.0",
"license": "MIT",
"engines": {
"node": ">= 0.8.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
+ "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/lazy-ass": {
"version": "1.6.0",
"license": "MIT",
"engines": {
"node": "> 0.8"
- }
+ },
+ "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
+ "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree": {
"version": "1.2.0",
@@ -36167,7 +36161,9 @@
},
"engines": {
"node": ">= 0.10"
- }
+ },
+ "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz",
+ "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream": {
"version": "3.3.4",
@@ -36180,18 +36176,26 @@
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
- }
+ },
+ "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream/node_modules/duplexer": {
"version": "0.1.2",
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream/node_modules/from": {
"version": "0.1.7",
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream/node_modules/map-stream": {
- "version": "0.1.0"
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream/node_modules/pause-stream": {
"version": "0.0.11",
@@ -36201,7 +36205,9 @@
],
"dependencies": {
"through": "~2.3"
- }
+ },
+ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream/node_modules/split": {
"version": "0.3.3",
@@ -36211,14 +36217,18 @@
},
"engines": {
"node": "*"
- }
+ },
+ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/ps-tree/node_modules/event-stream/node_modules/stream-combiner": {
"version": "0.0.4",
"license": "MIT",
"dependencies": {
"duplexer": "~0.1.1"
- }
+ },
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on": {
"version": "8.0.3",
@@ -36235,7 +36245,9 @@
},
"engines": {
"node": ">=12.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.3.tgz",
+ "integrity": "sha512-nQFqAFzZDeRxsu7S3C7LbuxslHhk+gnJZHyethuGKAn2IVleIbTB9I3vJSQiSR+DifUqmdzfPMoMPJfLqMF2vw=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/joi": {
"version": "17.13.3",
@@ -36246,40 +36258,54 @@
"@sideway/address": "^4.1.5",
"@sideway/formula": "^3.0.1",
"@sideway/pinpoint": "^2.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz",
+ "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/joi/node_modules/@hapi/hoek": {
"version": "9.3.0",
- "license": "BSD-3-Clause"
+ "license": "BSD-3-Clause",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/joi/node_modules/@hapi/topo": {
"version": "5.1.0",
"license": "BSD-3-Clause",
"dependencies": {
"@hapi/hoek": "^9.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/joi/node_modules/@sideway/address": {
"version": "4.1.5",
"license": "BSD-3-Clause",
"dependencies": {
"@hapi/hoek": "^9.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
+ "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/joi/node_modules/@sideway/formula": {
"version": "3.0.1",
- "license": "BSD-3-Clause"
+ "license": "BSD-3-Clause",
+ "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+ "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/joi/node_modules/@sideway/pinpoint": {
"version": "2.0.0",
- "license": "BSD-3-Clause"
+ "license": "BSD-3-Clause",
+ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
},
"packages/app-tests/node_modules/start-server-and-test/node_modules/wait-on/node_modules/rxjs": {
"version": "7.8.2",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
+ "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="
},
"packages/assets": {
"name": "@documenso/assets",
@@ -36718,7 +36744,9 @@
},
"packages/signing/node_modules/ts-pattern": {
"version": "5.7.1",
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.7.1.tgz",
+ "integrity": "sha512-EGs8PguQqAAUIcQfK4E9xdXxB6s2GK4sJfT/vcc9V1ELIvC4LH/zXu2t/5fajtv6oiRCxdv7BgtVK3vWgROxag=="
},
"packages/signing/node_modules/vitest": {
"version": "3.1.4",
@@ -36787,7 +36815,9 @@
"jsdom": {
"optional": true
}
- }
+ },
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.4.tgz",
+ "integrity": "sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/expect": {
"version": "3.1.4",
@@ -36801,7 +36831,9 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.4.tgz",
+ "integrity": "sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/mocker": {
"version": "3.1.4",
@@ -36826,7 +36858,9 @@
"vite": {
"optional": true
}
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.4.tgz",
+ "integrity": "sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/mocker/node_modules/estree-walker": {
"version": "3.0.3",
@@ -36834,7 +36868,9 @@
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/pretty-format": {
"version": "3.1.4",
@@ -36845,7 +36881,9 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.4.tgz",
+ "integrity": "sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/runner": {
"version": "3.1.4",
@@ -36857,7 +36895,9 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.4.tgz",
+ "integrity": "sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/snapshot": {
"version": "3.1.4",
@@ -36870,7 +36910,9 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.4.tgz",
+ "integrity": "sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/spy": {
"version": "3.1.4",
@@ -36881,7 +36923,9 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.4.tgz",
+ "integrity": "sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/spy/node_modules/tinyspy": {
"version": "3.0.2",
@@ -36889,7 +36933,9 @@
"license": "MIT",
"engines": {
"node": ">=14.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
+ "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/utils": {
"version": "3.1.4",
@@ -36902,12 +36948,16 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.4.tgz",
+ "integrity": "sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg=="
},
"packages/signing/node_modules/vitest/node_modules/@vitest/utils/node_modules/loupe": {
"version": "3.1.3",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
+ "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug=="
},
"packages/signing/node_modules/vitest/node_modules/chai": {
"version": "5.2.0",
@@ -36922,7 +36972,9 @@
},
"engines": {
"node": ">=12"
- }
+ },
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz",
+ "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw=="
},
"packages/signing/node_modules/vitest/node_modules/chai/node_modules/assertion-error": {
"version": "2.0.1",
@@ -36930,7 +36982,9 @@
"license": "MIT",
"engines": {
"node": ">=12"
- }
+ },
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="
},
"packages/signing/node_modules/vitest/node_modules/chai/node_modules/check-error": {
"version": "2.1.1",
@@ -36938,7 +36992,9 @@
"license": "MIT",
"engines": {
"node": ">= 16"
- }
+ },
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
+ "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw=="
},
"packages/signing/node_modules/vitest/node_modules/chai/node_modules/deep-eql": {
"version": "5.0.2",
@@ -36946,12 +37002,16 @@
"license": "MIT",
"engines": {
"node": ">=6"
- }
+ },
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
+ "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q=="
},
"packages/signing/node_modules/vitest/node_modules/chai/node_modules/loupe": {
"version": "3.1.3",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
+ "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug=="
},
"packages/signing/node_modules/vitest/node_modules/chai/node_modules/pathval": {
"version": "2.0.0",
@@ -36959,7 +37019,9 @@
"license": "MIT",
"engines": {
"node": ">= 14.16"
- }
+ },
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
+ "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA=="
},
"packages/signing/node_modules/vitest/node_modules/expect-type": {
"version": "1.2.1",
@@ -36967,27 +37029,37 @@
"license": "Apache-2.0",
"engines": {
"node": ">=12.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz",
+ "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw=="
},
"packages/signing/node_modules/vitest/node_modules/pathe": {
"version": "2.0.3",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="
},
"packages/signing/node_modules/vitest/node_modules/std-env": {
"version": "3.9.0",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz",
+ "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw=="
},
"packages/signing/node_modules/vitest/node_modules/tinybench": {
"version": "2.9.0",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
+ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="
},
"packages/signing/node_modules/vitest/node_modules/tinyexec": {
"version": "0.3.2",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
+ "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="
},
"packages/signing/node_modules/vitest/node_modules/tinypool": {
"version": "1.0.2",
@@ -36995,7 +37067,9 @@
"license": "MIT",
"engines": {
"node": "^18.0.0 || >=20.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
+ "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA=="
},
"packages/signing/node_modules/vitest/node_modules/tinyrainbow": {
"version": "2.0.0",
@@ -37003,7 +37077,9 @@
"license": "MIT",
"engines": {
"node": ">=14.0.0"
- }
+ },
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
+ "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw=="
},
"packages/signing/node_modules/vitest/node_modules/vite-node": {
"version": "3.1.4",
@@ -37024,7 +37100,9 @@
},
"funding": {
"url": "https://opencollective.com/vitest"
- }
+ },
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.4.tgz",
+ "integrity": "sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA=="
},
"packages/signing/node_modules/vitest/node_modules/why-is-node-running": {
"version": "2.3.0",
@@ -37039,17 +37117,23 @@
},
"engines": {
"node": ">=8"
- }
+ },
+ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
+ "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="
},
"packages/signing/node_modules/vitest/node_modules/why-is-node-running/node_modules/siginfo": {
"version": "2.0.0",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
+ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="
},
"packages/signing/node_modules/vitest/node_modules/why-is-node-running/node_modules/stackback": {
"version": "0.0.2",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
+ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="
},
"packages/tailwind-config": {
"name": "@documenso/tailwind-config",
@@ -37171,4 +37255,4 @@
"license": "MIT"
}
}
-}
+}
\ No newline at end of file
@@ -0,0 +1,40 @@
diff --git a/package.json b/package.json
index 1ff8701..e337979 100644
--- a/package.json
+++ b/package.json
@@ -44,22 +44,22 @@
"@commitlint/cli": "^17.7.1",
"@commitlint/config-conventional": "^17.7.0",
"@lingui/cli": "^5.2.0",
+ "@prisma/client": "^6.8.2",
"dotenv": "^16.5.0",
"dotenv-cli": "^8.0.0",
"eslint": "^8.40.0",
"eslint-config-custom": "*",
"husky": "^9.0.11",
"lint-staged": "^15.2.2",
+ "nodemailer": "^6.10.1",
"playwright": "1.52.0",
"prettier": "^3.3.3",
- "rimraf": "^5.0.1",
- "turbo": "^1.9.3",
- "vite": "^6.3.5",
- "@prisma/client": "^6.8.2",
"prisma": "^6.8.2",
"prisma-extension-kysely": "^3.0.0",
"prisma-kysely": "^1.8.0",
- "nodemailer": "^6.10.1"
+ "rimraf": "^5.0.1",
+ "turbo": "^2.5.8",
+ "vite": "^6.3.5"
},
"name": "@documenso/root",
"workspaces": [
@@ -71,7 +71,6 @@
"@documenso/prisma": "^0.0.0",
"@lingui/conf": "^5.2.0",
"@lingui/core": "^5.2.0",
- "inngest-cli": "^0.29.1",
"luxon": "^3.5.0",
"mupdf": "^1.0.0",
"react": "^18",
+93 -23
View File
@@ -1,50 +1,119 @@
{
lib,
nodejs,
node-gyp,
node-pre-gyp,
pixman,
fetchFromGitHub,
buildNpmPackage,
prisma,
nix-update-script,
prisma-engines,
vips,
pkg-config,
cairo,
pango,
bash,
openssl,
}:
let
version = "0.9";
pname = "documenso";
version = "1.12.6";
in
buildNpmPackage {
pname = "documenso";
inherit version;
inherit version pname;
src = fetchFromGitHub {
owner = "documenso";
repo = "documenso";
rev = "v${version}";
hash = "sha256-uKOJVZ0GRHo/CYvd/Ix/tq1WDhutRji1tSGdcITsNlo=";
hash = "sha256-1TKjsOKJkv3COFgsE4tPAymI0MdeT+T8HiNgnoWHlAY=";
};
nativeBuildInputs = [ prisma ];
npmDepsHash = "sha256-ZddRSBDasa3mMAS2dqXgXRMOc1nvspdXsuTZ7c+einw=";
preBuild = ''
# somehow for linux, npm is not finding the prisma package with the
# packages installed with the lockfile.
# This generates a prisma version incompatibility warning and is a kludge
# until the upstream package-lock is modified.
prisma generate
env.PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
env.PRISMA_QUERY_ENGINE_LIBRARY = "${prisma-engines}/lib/libquery_engine.node";
env.PRISMA_QUERY_ENGINE_BINARY = "${prisma-engines}/bin/query-engine";
env.PRISMA_SCHEMA_ENGINE_BINARY = "${prisma-engines}/bin/schema-engine";
env.TURBO_NO_UPDATE_NOTIFIER = "true";
env.TURBO_FORCE = "true";
env.TURBO_REMOTE_CACHE_ENABLED = "false";
nativeBuildInputs = [
pkg-config
vips
node-gyp
];
buildInputs = [
node-pre-gyp
node-gyp
pixman
cairo
pango
vips
];
patches = [
./package-lock.json.patch
./package.json.patch
./turbo.json.patch
];
buildPhase = ''
runHook preBuild
patchShebangs apps/remix/.bin/build.sh
npm exec turbo -- telemetry disable
npm exec turbo -- build --filter=@documenso/remix
runHook postBuild
'';
npmDepsHash = "sha256-+JbvFMi8xoyxkuL9k96K1Vq0neciCGkkyZUPd15ES2E=";
installPhase = ''
runHook preInstall
runHook preInstall
mkdir $out
cp -r node_modules $out/
cp package-lock.json $out
cp apps/web/package.json $out
cp -r apps/web/public $out/
cp -r apps/web/.next $out/
mkdir -p $out/bin
cp -r . $out/
runHook postInstall
cat > $out/bin/${pname} <<EOF
#!${bash}/bin/bash
export PKG_CONFIG_PATH=${openssl.dev}/lib/pkgconfig;
export PRISMA_QUERY_ENGINE_LIBRARY=${prisma-engines}/lib/libquery_engine.node
export PRISMA_QUERY_ENGINE_BINARY=${prisma-engines}/bin/query-engine
export PRISMA_SCHEMA_ENGINE_BINARY=${prisma-engines}
cd $out/apps/remix
${prisma}/bin/prisma migrate deploy --schema ../../packages/prisma/schema.prisma
${nodejs}/bin/node build/server/main.js
EOF
chmod +x $out/bin/${pname}
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
# cleanup dangling symlinks for workspaces
preFixup = ''
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/assets
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/lib
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/documentation
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/prettier-config
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/signing
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/ui
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/eslint-config
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/tailwind-config
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/email
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/prisma
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/remix
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/openpage-api
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/api
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/tsconfig
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/app-tests
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/trpc
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/ee
rm -Rf $out/lib/node_modules/@documenso/root/node_modules/@documenso/auth
'';
meta = with lib; {
description = "Open Source DocuSign Alternative";
@@ -52,5 +121,6 @@ buildNpmPackage {
license = licenses.agpl3Only;
maintainers = with maintainers; [ happysalada ];
platforms = platforms.unix;
mainProgram = pname;
};
}
+104
View File
@@ -0,0 +1,104 @@
diff --git a/turbo.json b/turbo.json
index d767b46..b2d1ad3 100644
--- a/turbo.json
+++ b/turbo.json
@@ -1,41 +1,8 @@
{
"$schema": "https://turbo.build/schema.json",
- "pipeline": {
- "build": {
- "dependsOn": ["prebuild", "^build"],
- "outputs": [".next/**", "!.next/cache/**"]
- },
- "prebuild": {
- "cache": false,
- "dependsOn": ["^prebuild"]
- },
- "lint": {
- "cache": false
- },
- "lint:fix": {
- "cache": false
- },
- "clean": {
- "cache": false
- },
- "dev": {
- "cache": false,
- "persistent": true
- },
- "start": {
- "dependsOn": ["^build"],
- "cache": false,
- "persistent": true
- },
- "dev:test": {
- "cache": false
- },
- "test:e2e": {
- "dependsOn": ["^build"],
- "cache": false
- }
- },
- "globalDependencies": ["**/.env.*local"],
+ "globalDependencies": [
+ "**/.env.*local"
+ ],
"globalEnv": [
"APP_VERSION",
"NEXT_PRIVATE_ENCRYPTION_KEY",
@@ -119,5 +86,53 @@
"E2E_TEST_AUTHENTICATE_USERNAME",
"E2E_TEST_AUTHENTICATE_USER_EMAIL",
"E2E_TEST_AUTHENTICATE_USER_PASSWORD"
- ]
+ ],
+ "tasks": {
+ "build": {
+ "dependsOn": [
+ "prebuild",
+ "^build"
+ ],
+ "outputs": [
+ ".next/**",
+ "!.next/cache/**"
+ ]
+ },
+ "prebuild": {
+ "cache": false,
+ "dependsOn": [
+ "^prebuild"
+ ]
+ },
+ "lint": {
+ "cache": false
+ },
+ "lint:fix": {
+ "cache": false
+ },
+ "clean": {
+ "cache": false
+ },
+ "dev": {
+ "cache": false,
+ "persistent": true
+ },
+ "start": {
+ "dependsOn": [
+ "^build"
+ ],
+ "cache": false,
+ "persistent": true
+ },
+ "dev:test": {
+ "cache": false
+ },
+ "test:e2e": {
+ "dependsOn": [
+ "^build"
+ ],
+ "cache": false
+ }
+ },
+ "envMode": "loose"
}
+55
View File
@@ -0,0 +1,55 @@
#!/usr/bin/env bash
CMDS=();DESC=();NARGS=$#;ARG1=$1;make_command(){ CMDS+=($1);DESC+=("$2");};usage(){ printf "\nUsage: %s [command]\n\nCommands:\n" $0;line=" ";for((i=0;i<=$(( ${#CMDS[*]} -1));i++));do printf " %s %s ${DESC[$i]}\n" ${CMDS[$i]} "${line:${#CMDS[$i]}}";done;echo;};runme(){ if test $NARGS -eq 1;then eval "$ARG1"||usage;else usage;fi;}
version="1.12.6";
make_command "about" "About this update script."
about(){
echo "Documenso upstream needs some fixing before it can be build in a pure sandbox"
echo "environment. This script does the following:"
echo " - download documenso version ${version} from github in a temp dir"
echo " - uninstall inngest-cli which runs a binary download script at build time."
echo " - upgrade turborepo as the older upstream version 'phones home' at build time."
echo " - update the turbo.json to make it work with preset environment vars"
echo " - fix the lockfile by generating missing hash signatures"
echo " - create patches from changed json files"
}
make_command "update" "Get upstream and prepatch."
update(){
echo "updating documenso for nixpkgs packaging"
current_nixpkgs_dir=${PWD}
temptarfile=/tmp/documenso-v${version}.tar.gz
tempdir=/tmp/documenso-v${version}
if [ ! -f "$temptarfile" ]; then
echo "Tarball does not exist; downloading from github.";
wget https://github.com/documenso/documenso/archive/refs/tags/v${version}.tar.gz -O $temptarfile
fi
rm -Rf $tempdir
mkdir $tempdir
tar -xzvf /tmp/documenso-v${version}.tar.gz -C $tempdir --strip-components=1
cd $tempdir
git init
git add package-lock.json package.json turbo.json
git commit -m "commit4diff" package-lock.json package.json turbo.json
echo "rm inngest-cli from root"
npm uninstall inngest-cli
npx @turbo/codemod migrate . --force
jq '.envMode="loose"' turbo.json > turbo-patched.json
cp turbo-patched.json turbo.json
echo "fix package-lock.json hashes"
nix run nixpkgs#npm-lockfile-fix -- package-lock.json
git diff package-lock.json > $current_nixpkgs_dir/package-lock.json.patch
git diff package.json > $current_nixpkgs_dir/package.json.patch
git diff turbo.json > $current_nixpkgs_dir/turbo.json.patch
}
runme
+3 -3
View File
@@ -155,9 +155,9 @@ stdenv.mkDerivation rec {
"--with-textcat"
]
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"i_cv_epoll_works=${if stdenv.hostPlatform.isLinux then "yes" else "no"}"
"i_cv_posix_fallocate_works=${if stdenv.hostPlatform.isDarwin then "no" else "yes"}"
"i_cv_inotify_works=${if stdenv.hostPlatform.isLinux then "yes" else "no"}"
"i_cv_epoll_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
"i_cv_posix_fallocate_works=${lib.boolToYesNo stdenv.hostPlatform.isDarwin}"
"i_cv_inotify_works=${lib.boolToYesNo stdenv.hostPlatform.isLinux}"
"i_cv_signed_size_t=no"
"i_cv_signed_time_t=yes"
"i_cv_c99_vsnprintf=yes"
+46
View File
@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "drat";
version = "0.1.3-unstable-2024-01-07";
src = fetchFromGitHub {
owner = "jivanpal";
repo = "drat";
rev = "af573b9e067e8b6cbcc4825946e7e636b30c748f";
hash = "sha256-1NmqG73sP25Uqf7DiSPgt7drONOg9ZkrtCS0tYVjSU0=";
};
# Don't blow up on warnings; it makes upgrading the compiler difficult.
postPatch = ''
substituteInPlace Makefile --replace-fail "-Werror" ""
'';
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"LD=${stdenv.cc.targetPrefix}cc"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install drat $out/bin
runHook postInstall
'';
meta = {
description = "Utility for performing data recovery and analysis of APFS partitions/containers";
homepage = "https://github.com/jivanpal/drat";
changelog = "https://github.com/jivanpal/drat/blob/main/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ philiptaron ];
mainProgram = "drat";
platforms = lib.platforms.all;
};
})
+17
View File
@@ -61,6 +61,23 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
substituteInPlace bspinfo/CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
substituteInPlace bsputil/CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
substituteInPlace light/CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
substituteInPlace qbsp/CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
substituteInPlace vis/CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
substituteInPlace man/CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
'';
meta = with lib; {
homepage = "https://ericwa.github.io/ericw-tools/";
description = "Map compile tools for Quake and Hexen 2";
+8 -3
View File
@@ -6,7 +6,7 @@
let
pname = "gate";
version = "0.53.0";
version = "0.57.1";
in
buildGoModule {
inherit pname version;
@@ -15,16 +15,21 @@ buildGoModule {
owner = "minekube";
repo = "gate";
tag = "v${version}";
hash = "sha256-wrvq2opwT4bbplUljasWmT+JF3/lS8AyzBSfyUB3nUw=";
hash = "sha256-G4kmXGiogl/W6SYVWZyQsQE+6YO5Yggk8K4rH+t9znE=";
};
vendorHash = "sha256-0NcfuCZHR4QHbMNqc+ilPouie+9k7FqOG/JdNX8uO8c=";
vendorHash = "sha256-2ZRfvjIGUznHjn7KA20uzEpVbI7EByNUYu6xALJEUfo=";
ldflags = [
"-s"
"-w"
];
# this test requires network access, therefore it should not be run
preCheck = ''
rm ./pkg/edition/bedrock/geyser/managed/download_test.go
'';
excludedPackages = [ ".web" ];
meta = {
+46
View File
@@ -0,0 +1,46 @@
{
lib,
python3Packages,
fetchFromGitHub,
gh,
nix-update-script,
}:
python3Packages.buildPythonApplication rec {
pname = "gitfetch";
version = "1.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Matars";
repo = "gitfetch";
tag = "v${version}";
hash = "sha256-2cOfVv/snhluazyjwDuHEbbMq3cK+bsKYnnRmby0JDo=";
};
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
requests
readchar
];
makeWrapperArgs = [
"--prefix PATH : ${
lib.makeBinPath [
gh
]
}"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Neofetch-style CLI tool for git provider statistics";
homepage = "https://github.com/Matars/gitfetch";
mainProgram = "gitfetch";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ lonerOrz ];
};
}
@@ -2,7 +2,7 @@
lib,
file,
hare,
runCommandNoCC,
runCommand,
writeText,
}:
let
@@ -13,7 +13,7 @@ let
export fn main() void = void;
'';
in
runCommandNoCC "${hare.pname}-cross-compilation-test"
runCommand "${hare.pname}-cross-compilation-test"
{
nativeBuildInputs = [
hare
+2 -2
View File
@@ -1,6 +1,6 @@
{
hare,
runCommandNoCC,
runCommand,
writeText,
}:
let
@@ -18,7 +18,7 @@ let
};
'';
in
runCommandNoCC "mime-module-test" { nativeBuildInputs = [ hare ]; } ''
runCommand "mime-module-test" { nativeBuildInputs = [ hare ]; } ''
HARECACHE="$(mktemp -d)"
export HARECACHE
readonly binout="test-bin"
+1 -1
View File
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
];
makeFlags = [
"USE_UPNP=${if upnpSupport then "yes" else "no"}"
"USE_UPNP=${lib.boolToYesNo upnpSupport}"
];
enableParallelBuilding = true;
@@ -34,5 +34,6 @@ rustPlatform.buildRustPackage rec {
license = lib.licenses.cc0;
maintainers = with lib.maintainers; [ mvs ];
platforms = lib.platforms.linux;
mainProgram = "integrity-scrub";
};
}
-1
View File
@@ -1,6 +1,5 @@
{
julec,
clang,
makeSetupHook,
}:
+1 -1
View File
@@ -28,7 +28,7 @@ julecBuildHook() {
julecSetEnv
mkdir -p "$JULE_OUT_DIR"
julec --opt L2 -p -o "$JULE_OUT_DIR/$JULE_OUT_NAME" "$JULE_SRC_DIR"
julec build --opt L2 -p -o "$JULE_OUT_DIR/$JULE_OUT_NAME" "$JULE_SRC_DIR"
runHook postBuild
+9 -5
View File
@@ -22,23 +22,23 @@ let
in
clangStdenv.mkDerivation (finalAttrs: {
pname = "julec";
version = "0.1.6";
version = "0.1.7";
src = fetchFromGitHub {
owner = "julelang";
repo = "jule";
tag = "jule${finalAttrs.version}";
name = "jule-${finalAttrs.version}";
hash = "sha256-y4v8FdQkB5Si3SYkchFG9fAU4ZhabAMcPkDcLEWW+6k=";
hash = "sha256-7py8QrNMX8LwpI7LCp5XgRFUzgltFP1rTbuzqw/1D8o=";
};
irSrc = fetchFromGitHub {
owner = "julelang";
repo = "julec-ir";
# revision determined by the upstream commit hash in julec-ir/README.md
rev = "aebbd12c0f89f6a04f856f3e23d5ea39741c3e0f";
rev = "81ddbed06a715428a90d3645f7242fa4e522ea16";
name = "jule-ir-${finalAttrs.version}";
hash = "sha256-7eDOYMmCEfW+0zZpESY1+ql3hWZZ/Q75lKT0nBQPktE=";
hash = "sha256-Az9RDrwRY2kuMgL/Lf/x6YctfySr96/imWZeOa+J/rM=";
};
dontConfigure = true;
@@ -76,7 +76,11 @@ clangStdenv.mkDerivation (finalAttrs: {
-o "bin/${finalAttrs.meta.mainProgram}-bootstrap"
echo "Building ${finalAttrs.meta.mainProgram} v${finalAttrs.version} for ${clangStdenv.hostPlatform.system}..."
bin/${finalAttrs.meta.mainProgram}-bootstrap --opt L2 -p -o "bin/${finalAttrs.meta.mainProgram}" "src/${finalAttrs.meta.mainProgram}"
bin/${finalAttrs.meta.mainProgram}-bootstrap build \
-p \
--opt L2 \
-o "bin/${finalAttrs.meta.mainProgram}" \
"src/${finalAttrs.meta.mainProgram}"
runHook postBuild
'';
@@ -0,0 +1 @@
module helloJule
+1 -1
View File
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
makeFlags = [
"lib=lib"
"PAM_CAP=${if usePam then "yes" else "no"}"
"PAM_CAP=${lib.boolToYesNo usePam}"
"BUILD_CC=$(CC_FOR_BUILD)"
"CC:=$(CC)"
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+1 -1
View File
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
]
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
# Can't run this test while cross-compiling
"ac_cv_func_setpgrp_void=${if stdenv.hostPlatform.isBSD then "no" else "yes"}"
"ac_cv_func_setpgrp_void=${lib.boolToYesNo (!stdenv.hostPlatform.isBSD)}"
];
meta = {
+2 -2
View File
@@ -63,8 +63,8 @@ stdenv.mkDerivation (finalAttrs: {
];
mesonFlags = [
"-Degl=${if (x11Support && !stdenv.hostPlatform.isDarwin) then "yes" else "no"}"
"-Dglx=${if x11Support then "yes" else "no"}"
"-Degl=${lib.boolToYesNo (x11Support && !stdenv.hostPlatform.isDarwin)}"
"-Dglx=${lib.boolToYesNo x11Support}"
"-Dtests=${lib.boolToString finalAttrs.finalPackage.doCheck}"
"-Dx11=${lib.boolToString x11Support}"
];
+1 -1
View File
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
];
configureFlags = [
"--enable-tools=${if enable-tools then "yes" else "no"}"
"--enable-tools=${lib.boolToYesNo enable-tools}"
"--enable-bindings-cxx"
];
+1 -1
View File
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
];
configureFlags = [
"--enable-tools=${if enable-tools then "yes" else "no"}"
"--enable-tools=${lib.boolToYesNo enable-tools}"
"--enable-bindings-cxx"
"--prefix=${placeholder "out"}"
]

Some files were not shown because too many files have changed in this diff Show More