Sergei Zimmerman
f3090ef703
packaging/dependencies: Use boost without enableIcu
...
This reduces the closure size on master by 40MiB.
```
$ nix build github:nixos/nix/1e822bd4149a8bce1da81ee2ad9404986b07914c#nix-store --out-link closure-on-master
$ nix build .#nix-store -L --out-link closure-without-icu
$ nix path-info --closure-size -h ./closure-on-master
/nix/store/8gwr38m5h6p7245ji9jv28a2a11w1isx-nix-store-2.29.0pre 124.4 MiB
$ nix path-info --closure-size -h ./closure-without-icu
/nix/store/k0gwfykjqpnmaqbwh23nk55lhanc9g24-nix-store-2.29.0pre 86.6 MiB
```
2025-05-13 08:47:24 +00:00
silvanshade
b1783ff615
Implement memory-mapped IO for Sinks
2025-05-02 15:29:22 -06:00
Dean De Leo
51073607ea
S3: opt-in the STSProfileCredentialsProvider
...
The STSProfileCredentialsProviders allows to assume a specific IAM role
when accessing an S3 repository. Sometimes this is needed to obtain the
permissions to operate on the bucket.
2025-04-11 23:47:56 +02:00
Robert Hensing
4be92e7b82
packaging/dependency: Clarify darwinMinVersion
2025-04-03 23:22:33 +02:00
Robert Hensing
5c4a4aeed7
Revert "remove obsolete stdenv darwinMinVersion override"
...
This reverts commit d91310bb32
.
> Some packages require setting a non-default deployment target
> (or minimum version) to gain access to certain APIs. You do
> that using the darwinMinVersionHook, which takes the deployment
> target version as a parameter.
-- 60b54c7aee/doc/stdenv/platform-notes.chapter.md (what-is-a-deployment-target-or-minimum-version-sec-darwin-troubleshooting-using-deployment-targets)
This will again solve error:
../nix_api_expr.cc:38:18: error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
-- https://hydra.nixos.org/build/294088946
2025-04-03 23:22:19 +02:00
Jörg Thalheim
d91310bb32
remove obsolete stdenv darwinMinVersion override
...
we are more up-to-date now:
nix-repl> stdenv.hostPlatform.darwinMinVersion
"11.3"
2025-04-01 19:20:43 +02:00
Jörg Thalheim
0b61b758fb
libgit2: use upstream version if possible
...
we don't seem to use libgit2 for fetching via ssh, hence it shouldn't
matter if it's using libssh or the ssh binary.
2025-04-01 19:09:21 +02:00
Robert Hensing
5488e29d2f
packaging: Restore libgit2 USE_SSH=exec
...
... when nixpkgs is nixos-unstable or the overlay is used.
2025-02-19 09:38:05 +01:00
Robert Hensing
cca01407a7
packaging: Move layers from dependencies to components
...
This makes it easier to implement batch overriding for the components.
2025-02-18 18:57:02 +01:00
Robert Hensing
3556f6bf4c
Write just ./.version on all components
...
This way it's easier to get right. See previous commit.
2025-02-18 11:41:35 +01:00
Robert Hensing
b0bbb1252a
Support libgit2 1.9.0
...
For when the overlay is used with nixos-unstable.
1.9.0 has our patches.
2025-02-17 17:30:30 +01:00
Robert Hensing
96e550efc5
Format .nix files
...
... with nixfmt (rfc style)
2025-01-24 17:04:02 +01:00
Eelco Dolstra
b09b4dc995
x86_64-darwin: Disable LTO
...
LTO on x86_64-darwin appears to break the ability to catch exceptions
correctly (maybe just for exception types defined in different
libraries). This leads to many weird test failures,
e.g. https://hydra.nixos.org/build/286312387 and
https://hydra.nixos.org/build/286312341 .
2025-01-21 18:10:12 +01:00
Robert Hensing
809f157a49
maint: Disable LTO for static due to build failure
2025-01-20 16:11:48 +01:00
Eelco Dolstra
d8636843b1
mingw: Don't do LTO
...
This breaks the build with "symbol wrong type (4 vs 3)".
https://stackoverflow.com/questions/28267100/dll-linking-failed-with-lto-using-mingw-w64
2025-01-20 14:52:50 +01:00
Robert Hensing
cab347b4eb
refactor: Move ld=gold rule to mesonBuildLayer
2025-01-15 20:01:00 +01:00
Connor Baker
359a0840e2
packaging: use optimization level 3 and LTO by default
2025-01-01 21:59:37 -08:00
Jörg Thalheim
b5ad051b6c
remove upstreamed toml11 package override
2024-12-16 16:50:59 +01:00
Jörg Thalheim
81b6b79a56
remove upstreamed libseccomp
2024-12-16 16:50:58 +01:00
Jörg Thalheim
1a8bd84f55
remove upstreamed busybox-sandbox-shell
2024-12-16 16:50:58 +01:00
Jörg Thalheim
9131905185
use libgit2 from nixpkgs
2024-12-16 16:50:58 +01:00
Robert Hensing
d65fac0fc4
Add --print-errorlogs to mesonCheckFlags
...
This prints the error logs in the tests, including when they're run
with `checkPhase` in the dev shell.
2024-11-18 15:08:32 +01:00
Robert Hensing
15e3e1543b
packaging: Add mkMeson{Library,Executable}
...
and:
- move pkg-config out of mkMesonDerivation, for components that don't
produce any executable code
2024-10-13 23:17:54 +02:00
Robert Hensing
e10ff893e5
packaging: Factor out mkPackageBuilder
2024-10-13 22:43:06 +02:00
Robert Hensing
0aef34b790
packaging: Add mesonLayer
...
... and remove a few unused arguments.
This adds pkg-config to a two or three packages that don't use it,
but we shouldn't let that bother us. It's like our personal stdenv.
2024-10-13 22:39:53 +02:00
Robert Hensing
0a49d1e0d2
refactor: lib.composeManyExtensions
2024-10-13 22:03:52 +02:00
Robert Hensing
459d02672c
fix Windows build
2024-09-16 13:42:46 +02:00
Robert Hensing
c1fe3546ed
libgit2: Add libgit2-packbuilder-callback-interruptible.patch
2024-08-28 17:49:22 +02:00
Robert Hensing
5dd6c4f062
libgit2, GitRepo: Write thin packfiles
...
libgit2 didn't write thin ones, hence the patch.
This should improve performance on systems with weak I/O in ~/.cache,
especially in terms of operations per second, or where system calls
are slower. (macOS, VMs?)
2024-08-28 17:49:21 +02:00
John Ericson
93f58150c9
Coarse versions for constituent packages
...
As discussed in our meeting, we should use a simplified version for the
libraries without the date or commit hash. This will make rebuilding a
lot faster in many cases.
Progress on #10379
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
2024-08-14 12:23:01 -04:00
Robert Hensing
22f943bb1f
dependencies: Centralize aws-sdk-cpp and sync with Nixpkgs
...
By syncing with Nixpkgs, we reuse the same derivation, which is
generally a good idea, and has the benefit that it is transitively
a channel blocker.
Changes:
- https://github.com/NixOS/nixpkgs/pull/163313 (SuperSandro2000)
> nix: disable big-parallel for aws-sdk-cpp
> aws-sdk-cpp only takes ~1m52s on a 4 core machine under 50% load
> which does not justify the requirement on big parallel.
> Tested with `nix-build -A nixVersions.nix_2_6.aws-sdk-cpp`.
> I can finally build nix without requiring a big-parallel machine.
- https://github.com/NixOS/nixpkgs/pull/227506 (Artturin)
> nix: use [ ] instead null to empty requiredSystemFeatures
> fixes 'error: value is null while a list was expected' with 'nixpkgs.hostPlatform.gcc.arch = "x86_64";'
2024-07-27 02:16:05 +02:00
John Ericson
3b49f7a143
Deduplicate our many package.nix
a bit ( #11175 )
...
- They should all be built in parallel
- They should all use strict deps by default
2024-07-25 03:12:39 +00:00
John Ericson
d39bbcabb9
Fix some BSD builds missing pthread functions
...
In addition to adding the missing thread deps in the last commit, we
also appear to need to skip `-Wl,--as-needed` flags that Meson wants to
use, but doesn't work with our *BSD toolchains.
See https://github.com/mesonbuild/meson/issues/3593
2024-07-22 13:10:03 -04:00
Robert Hensing
0395ff9bd3
packaging: Set darwinMinVersion to fix x86_64-darwin build
...
Ported from https://github.com/NixOS/nixpkgs/pull/326172
Co-authored-by: Emily <vcs@emily.moe>
2024-07-11 15:04:38 +02:00
Robert Hensing
bea54d116e
Add resolvePath, filesetToSource indirections for Nixpkgs
2024-07-06 19:49:55 +02:00
Robert Hensing
0729f0a113
packaging: Pass version directly
2024-07-06 17:52:57 +02:00
John Ericson
17c843c5c5
Fix more issues
2024-07-02 09:26:22 -04:00
John Ericson
0b539dea4a
Improve boost hacks
2024-07-02 09:26:22 -04:00
Robert Hensing
e084316130
Add mkMesonPackage for local meson packages
...
This helper makes it easy to use filesets that include files from
parent directories, which we'll need more of in
https://github.com/NixOS/nix/pull/10973
2024-06-30 19:42:19 +02:00
Robert Hensing
409eded541
flake.nix: Move dependencies scope to packaging/dependencies.nix
2024-06-26 10:41:56 +02:00