Commit Graph

22 Commits

Author SHA1 Message Date
Reno Dakota
52bf1163fa
treewide: use getLib when accessing clang / libclang / stdenv.cc.cc
In preparation to eliminate the lib output for the unwrapped clang, use
`lib.getLib` to access the `lib` output.
2024-11-07 10:27:41 +00:00
Jade Lovelace
11e9fc6418 lixVersions.lix_2_91: 2.91.0 -> 2.91.1
This release comprises really only a couple of commits:
Fix build bugs found immediately following release:
- cross fix: https://gerrit.lix.systems/c/lix/+/1781
- musl fix: https://gerrit.lix.systems/c/lix/+/1823

Check TLS certificates in builtins:fetchurl: https://gerrit.lix.systems/c/lix/+/1966

Yes, the latter is a bit delayed, sorry.
2024-10-18 18:56:59 -07:00
Emily
b370a686ca treewide: use lowdown-unsandboxed where appropriate 2024-10-07 04:26:56 +01:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
jade
5b6d2fb626
lixVersions.lix_2_91: init (#334269)
This adds Lix 2.91.0 to nixpkgs and sets it as the default Lix release.

Blog post:
https://lix.systems/blog/2024-08-12-lix-2.91-release/

Release notes:
https://docs.lix.systems/manual/lix/stable/release-notes/rl-2.91.html

Change-Id: I6960314bddceb7ab10e3cd6d9842d578f501fd76

Co-authored-by: Atemu <git@atemu.net>
Co-authored-by: Yureka <yureka@cyberchaos.dev>
Co-authored-by: getchoo <48872998+getchoo@users.noreply.github.com>
2024-08-21 10:50:11 +02:00
Emily
8a837af302
Merge pull request #326819 from risicle/ris-shadowstack
cc-wrapper: add support for `shadowstack` hardening flag
2024-07-28 19:07:52 +01:00
Robert Scott
b84da125d0 lix: disable shadowstack hardening flag 2024-07-28 17:40:54 +01:00
Randy Eckenrode
d5f637590e
tree-wide: enable LTO on Darwin 2024-07-20 03:19:54 -04:00
github-actions[bot]
b66506a79e
Merge staging-next into staging 2024-07-12 12:01:44 +00:00
seth
591db34a9b lix: 2.90.0-rc1 -> 2.90.0 2024-07-12 10:37:35 +02:00
Artturin
cde3f1cada treewide: Remove now unnecessary boost vars
`meson` now finds `boost` using `pkg-config`
2024-07-04 11:01:15 +02:00
Raito Bezarius
0f915671e8 lix: 2.90-beta.1 -> 2.90.0-rc1
RC1 is now out, enjoy your "Vanilla" ice cream responsibly!

https: //git.lix.systems/lix-project/lix/commits/tag/2.90.0-rc1
Change-Id: I0a9c5c4d61ba9dac32a841caa03c06090610f3b9
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-20 11:20:42 +02:00
Raito Bezarius
88ad897d2a lix: support lixVersions.buildLix helper
This makes it easier to `buildLix` for automation and reuse `common`
logic.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-09 18:54:08 +02:00
Raito Bezarius
dccc9491ea lix: support docCargoLock propagation to lix-doc
This way, we can pass also a Cargo.lock from the Lix entrypoint.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-09 18:53:44 +02:00
Raito Bezarius
f6c8f4adf6 lix-doc: support path src instead of attribute src
If you pass `src = ./.;`, this should work.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-09 18:53:21 +02:00
Raito Bezarius
97bbd80c1d lix-doc: support cargoLock as well
This makes it easy to override it with a handy Cargo.lock.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-09 18:52:46 +02:00
Raito Bezarius
3c179579c5 lix: drop the self let binding
We had a `self` let binding to pass specific tests with ourselves as a
`passthru`, due to various issues with tests, we removed it.

We should also clean up the `self` then and adopt `finalAttrs`-style
probably.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-09 18:18:19 +02:00
Raito Bezarius
edab8892ee lix: move lix-doc as a formal parameter
This way, it's easier to override it or pass it ourselves if needed.

Useful for test instrumentation from external scripts.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-06-09 18:17:43 +02:00
Sergei Trofimovich
66c4c2c04a lix.tests: fix the eval
Without the change evaluation fails as:

    $ nix build --no-link -f. lix.tests
    error: attribute 'passthru' missing
           at pkgs/tools/package-management/lix/common.nix:263:16:
              262|       tests = {
              263|         misc = nixosTests.nix-misc.lix.passthru.override { nixPackage = self; };
                 |                ^
              264|       };
2024-06-07 09:08:22 +01:00
Artturin
e124b02edd nixosTests.nix-misc: Split from nixosTests.misc
Bit weird to have nix tests in misc

Add `artturin` to maintainers
2024-05-30 19:11:27 +03:00
Raito Bezarius
84419e5c37 lix: build in release mode with link time optimizations
This makes the binary size further reduced and may improve (?)
performance.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-24 16:19:23 +02:00
Raito Bezarius
3388179c48 lix: init at 2.90-beta.1
[Lix](https://lix.systems) is a fork of CppNix, the original Nix implementation. It behaves like `nixVersions.*` in terms of packaging with a big difference: it uses Meson for its build system.

Therefore, it is not possible to share the packaging trees.

The rest is pretty mundane:

- Lix will passthru all the time to the `nixosTests.misc` to smoke test any critical regressions as a last line after all our regression battery on the Lix project side.
- Cross compilation has been extensively tested.
- Static compilation is known to fail on a test.

Internal API documentation is out of scope for this commit.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-11 22:54:02 +02:00