|
55 | 55 | useSharedTemporal=builtins.hasAttr"temporal_capi"sharedLibDeps; |
56 | 56 | needsRustCompiler=withTemporal&&!useSharedTemporal; |
57 | 57 |
|
58 | | -usePkcs11=pkcs11!=false&&pkcs11!=null; |
59 | | -pkcs11Fixture= |
60 | | -ifpkcs11==truethen |
61 | | -import./tools/nix/pkcs11.nix{ |
62 | | -inheritpkgs; |
63 | | -inherit(sharedLibDeps)openssl; |
64 | | -} |
65 | | -else |
66 | | -pkcs11; |
67 | | - |
68 | 58 | nativeBuildInputs= |
69 | 59 | pkgs.nodejs-slim_latest.nativeBuildInputs |
70 | 60 | ++pkgs.lib.optionalsneedsRustCompiler[ |
|
88 | 78 | ++pkgs.lib.optional(withTemporal&&useSharedTemporal)"--shared-temporal_capi" |
89 | 79 | ++pkgs.lib.optionalwithPerfetto"--with-perfetto"; |
90 | 80 | in |
91 | | -pkgs.mkShell( |
92 | | -{ |
93 | | -inheritnativeBuildInputs; |
| 81 | +pkgs.mkShell{ |
| 82 | +inheritnativeBuildInputs; |
94 | 83 |
|
95 | | -buildInputs= |
96 | | -builtins.attrValuessharedLibDeps |
97 | | -++buildInputs |
98 | | -++pkgs.lib.optional(useSeparateDerivationForV8!=false)( |
99 | | -ifuseSeparateDerivationForV8==truethen |
100 | | -let |
101 | | -sharedLibsToMock=pkgs.callPackage./tools/nix/non-v8-deps-mock.nix{}; |
102 | | -in |
103 | | -pkgs.callPackage./tools/nix/v8.nix{ |
104 | | -inheritnativeBuildInputsicu; |
| 84 | +buildInputs= |
| 85 | +builtins.attrValuessharedLibDeps |
| 86 | +++buildInputs |
| 87 | +++pkgs.lib.optional(useSeparateDerivationForV8!=false)( |
| 88 | +ifuseSeparateDerivationForV8==truethen |
| 89 | +let |
| 90 | +sharedLibsToMock=pkgs.callPackage./tools/nix/non-v8-deps-mock.nix{}; |
| 91 | +in |
| 92 | +pkgs.callPackage./tools/nix/v8.nix{ |
| 93 | +inheritnativeBuildInputsicu; |
105 | 94 |
|
106 | | -configureFlags=configureFlags++sharedLibsToMock.configureFlags++["--ninja"]; |
107 | | -buildInputs=buildInputs++[sharedLibsToMock]; |
108 | | -} |
109 | | -else |
110 | | -useSeparateDerivationForV8 |
111 | | -); |
| 95 | +configureFlags=configureFlags++sharedLibsToMock.configureFlags++["--ninja"]; |
| 96 | +buildInputs=buildInputs++[sharedLibsToMock]; |
| 97 | +} |
| 98 | +else |
| 99 | +useSeparateDerivationForV8 |
| 100 | +); |
112 | 101 |
|
113 | | -packages=devTools++benchmarkTools++pkgs.lib.optional(ccache!=null)ccache; |
| 102 | +packages=devTools++benchmarkTools++pkgs.lib.optional(ccache!=null)ccache; |
114 | 103 |
|
115 | | -shellHook=pkgs.lib.optionalString(ccache!=null)'' |
116 | | -export CC="${pkgs.lib.getExeccache} $CC" |
117 | | -export CXX="${pkgs.lib.getExeccache} $CXX" |
118 | | -''; |
| 104 | +shellHook=pkgs.lib.optionalString(ccache!=null)'' |
| 105 | + export CC="${pkgs.lib.getExeccache} $CC" |
| 106 | + export CXX="${pkgs.lib.getExeccache} $CXX" |
| 107 | + ''; |
119 | 108 |
|
| 109 | +env={ |
120 | 110 | BUILD_WITH=if(ninja!=null)then"ninja"else"make"; |
121 | 111 | NINJA=pkgs.lib.optionalString(ninja!=null)"${pkgs.lib.getExeninja}"; |
122 | 112 | CONFIG_FLAGS=builtins.toString( |
@@ -154,9 +144,22 @@ pkgs.mkShell ( |
154 | 144 | //pkgs.lib.optionalAttrs(!withSQLite){ |
155 | 145 | NOSQLITE="1"; |
156 | 146 | } |
157 | | -//pkgs.lib.optionalAttrsusePkcs11{ |
158 | | -NODE_TEST_PKCS11_OPENSSL_CONF="${pkcs11Fixture.opensslConf}"; |
159 | | -NODE_TEST_PKCS11_PIN=pkcs11Fixture.softhsmDir.pin; |
160 | | -NODE_TEST_PKCS11_SOFTHSM_DIR="${pkcs11Fixture.softhsmDir}"; |
161 | | -} |
162 | | -) |
| 147 | +//pkgs.lib.optionalAttrs(pkcs11!=false&&pkcs11!=null)( |
| 148 | +let |
| 149 | +pkcs11'= |
| 150 | +ifpkcs11==truethen |
| 151 | +import./tools/nix/pkcs11.nix{ |
| 152 | +inheritpkgs; |
| 153 | +# Building pkcs11-provider without a shared OpenSSL is not supported. |
| 154 | +inherit(sharedLibDeps)openssl; |
| 155 | +} |
| 156 | +else |
| 157 | +pkcs11; |
| 158 | +in |
| 159 | +{ |
| 160 | +NODE_TEST_PKCS11_OPENSSL_CONF=pkcs11'.opensslConf; |
| 161 | +NODE_TEST_PKCS11_PIN=pkcs11'.softhsmDir.pin; |
| 162 | +NODE_TEST_PKCS11_SOFTHSM_DIR=pkcs11'.softhsmDir; |
| 163 | +} |
| 164 | +); |
| 165 | +} |
0 commit comments