aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
AgeCommit message (Collapse)Author
2024-04-07flake: fix rl-next and rl-next-dev checks after 32eaa8a29 (fix nix flake check)Qyriad
follow-up to 32eaa8a29[1] "flake: move release note checks to hydraJobs", this commit fixes a load-bearing typo for`checks.rl-next` and `checks.rl-next-dev`. [1]: 32eaa8a2910793538deab31f85534faf7e722ef7 Change-Id: I9383ed21f7eccc337c0c2f65525418b735a94a1d
2024-04-07package: put boehmgc patch logic in package.nixQyriad
In our view it really doesn't make sense to not have this in in package.nix in some way. These patches aren't just for performance or something -- Lix flat out doesn't build without these patches. (Arguably that makes them a buildsystem responsibility as well, but that can wait for when we're ready to start adding subproject fallback dependency resolution to Meson.) This is a step towards making `package.nix` more self-sufficient and `callPackage`able without excessive external logic. With this change the following command is enough to build Lix from out of the flake: nix-build -E 'let pkgs = import <nixpkgs> { }; in pkgs.callPackage ./package.nix { build-release-notes = false; inherit (pkgs.lib) fileset; nix-doc = pkgs.callPackage ./nix-doc/package.nix { }; }' Change-Id: Ia37fe8171f87d3293033de8be07d9bab12716f1d
2024-04-06flake: move release note checks to hydraJobseldritch horrors
having them in checks only does not run them in CI, which can cause broken release notes entries to pass. fixes #228 Change-Id: If0ba7b1be0b6525fc884a27e941cbc84b5a160f9
2024-04-03repl: improve `:doc` builtin repl command to support lambdas.Lunaphied
For a long time `nix repl` has supported displaying documentation set on builtins, however, it has long been convention to use Markdown comments on Nix functions themselves for documentation. This exposes that information to `nix repl` users in a nice and formatted way. NixOS/rfcs#145 doc-comments are primarily what this feature is intended to consume, however, support for lambda documentation in the repl is experimental. We do our best effort to support the RFC here. These changes are based on [the nix-doc library](https://github.com/lf-/nix-doc) and are licensed under the terms described in the relevant source files. Change-Id: Ic6fe947d39a22540705d890737e336c4720b0a22
2024-04-03Merge "Add `treefmt` `pre-commit` hook" into mainrebecca “wiggles” turner
2024-04-02Merge "Use upstream `cachix/git-hooks.nix` for pre-commit" into mainrebecca “wiggles” turner
2024-04-01Use upstream `cachix/git-hooks.nix` for pre-commitRebecca Turner
Change-Id: I6bbc7d6da9accd7d2daffa9d780384df7226670e
2024-03-31flake: Add cmake to devShellArtemis Tosini
Meson fails to setup when cmake is not found. Add cmake to the default devShell so meson build works. Change-Id: I4d933efac9540c564f3171e43c23e7a645722ef7
2024-03-29Add `treefmt` `pre-commit` hookRebecca Turner
This lets us use different formatters for different filetypes. Change-Id: Ib52383dd5097c8919a65e299aca2b5a55412223c
2024-03-29Add `pre-commit` checksRebecca Turner
The big ones here are `trim-trailing-whitespace` and `end-of-file-fixer` (which makes sure that every file ends with exactly one newline character). Change-Id: Idca73b640883188f068f9903e013cf0d82aa1123
2024-03-30Add a `justfile` to make `meson` friendly :)Rebecca Turner
Change-Id: Id6e4528392266c6f2444e030b67293abe297ed17
2024-03-27Enable clang build timing analysisJade Lovelace
I didn't enable this by default for clang due to making the build time 10% worse or so. Unfortunate, but tbh devs for whom 10% of build time is not *that* bad should probably simply enable this. Change-Id: I8d1e5b6f3f76c649a4e2f115f534f7f97cee46e6
2024-03-27Add release notes system for dev facing release notesJade Lovelace
We keep changing dev stuff and we probably should keep the news up to date? Change-Id: I819da6a29f1c56c8ab8d758c159a9c96164cb04e
2024-03-27flake: always build release notes in devshelleldritch horrors
Change-Id: I0e02567fe8f102a8a8f1558aa094eefacdac9393
2024-03-27build: replace changelog-d with local scripteldritch horrors
hacking changelog-d to support not just github but also forgejo and gerrit is a lot more complicated than it's worth, even moreso since the entire thing can just as well be done with ~60 lines of python. this new script is also much cheaper to instantiate (being python), so having it enabled in all shells is far less of a hassle. we've also adjusted existing release notes that referenced a gerrit cl to auto-link to the cl in question, making the diff a bit bigger closes https://git.lix.systems/lix-project/lix/issues/176 Change-Id: I8ba7dd0070aad9ba4474401731215fcf5d9d2130
2024-03-25flake.nix: linearize meson buildseldritch horrors
parallel meson builds need too much ram. linearize them for now, and hopefully we can remove the make build system and this hack soonish. Change-Id: I42c092db8b0c63680e77da2263cdfe9e7f6575be
2024-03-22build: optionally build and install with mesonQyriad
This commit adds several meson.build, which successfully build and install Lix executables, libraries, and headers. Meson does not yet build docs, Perl bindings, or run tests, which will be added in following commits. As such, this commit does not remove the existing build system, or make it the default, and also as such, this commit has several FIXMEs and TODOs as notes for what should be done before the existing autoconf + make buildsystem can be removed and Meson made the default. This commit does not modify any source files. A Meson-enabled build is also added as a Hydra job, and to `nix flake check`. Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21Merge "clang-tidy check infrastructure" into mainjade
2024-03-21flake: fix arm32 Linux cross devShell on macOS (fix nix flake check)Qyriad
Change-Id: Iacac97de0b3d5f2df52c7bc985148624a351f45d
2024-03-18clang-tidy check infrastructureJade Lovelace
This brings in infrastructure for developing new custom clang-tidy lints and refactors for Lix. Change-Id: I3df5f5855712ab4f97d4e84d771e5e818f81f881
2024-03-17flake: fix musl static stdenv devShell (fix nix flake check)Qyriad
pkgs.pkgsStatic.glibcLocales is null, so the string coercion was failing for devShells against static stdenvs Change-Id: Iee8e1042a852133ce0432627d72a85e97c17055e
2024-03-14Backport PR#9633 by cole-h: package: don't set sysconfdir in devShellsCole Helbling
(cherry-picked from commit ba0087316acc2aba999cabe5e1a159da636b2569) Change-Id: I5a50afb3b7b65516df798ee51b74f06727a91928
2024-03-14Only set `LOCALE_ARCHIVE` on LinuxRebecca Turner
`macOS` does not have `glibcLocales`: error: … while calling the 'derivationStrict' builtin at /derivation-internal.nix:9:12: 8| 9| strict = derivationStrict drvAttrs; | ^ 10| … while evaluating derivation 'nix-2.90.0' whose name attribute is located at /nix/store/y0c95bwyvs80pm69hdd4b11pyq2ghiwh-source /pkgs/stdenv/generic/make-derivation.nix:348:7 … while evaluating attribute 'LOCALE_ARCHIVE' of derivation 'nix-2.90.0' at /nix/store/ng5qzbyv4902b4pw7g35caqw5cnmryf9-source/flake.nix:331:15: 330| # Required to make non-NixOS Linux not complain about missing loc Change-Id: I4464484a0eca12b5e073d49d900b6f25886245c1
2024-03-14Merge "Delete the existing installer" into mainPuck Meerburg
2024-03-14Delete the existing installerPuck Meerburg
We're not going to use it. Fixes: #31 Change-Id: Ib17a2eb6cae1ecbbf9ad1062e576ba6107a3c13b
2024-03-13flake: dev shells should include the LOCALE_ARCHIVE so configure does not ↵Jade Lovelace
complain Change-Id: Id661bd8c90696cb663a25503878a697f596d1e77
2024-03-11package: cleanup of all intermediariesQyriad
Change-Id: I0da5182de6b01c192cfcba407959d659d70c6dc9
2024-03-11package: migrate devShellsQyriad
Change-Id: Ic63721667edd4bef79aa699a0de8411639e5159b
2024-03-11package: migrate internal-api-docsQyriad
Change-Id: I344d73a412c2c6e4bb2eb14bd4859056324f1ba7
2024-03-11package: migrate testNixVersionsQyriad
Change-Id: I71845f8a6d7b77c3617d055e726ed4a28cd05fa3
2024-03-11package: refactor Nix out of flake.nix and into package.nixQyriad
This series takes a somewhat different approach from the flake rework done in NixOS/nix. The package.nix here does not provide callPackage options for all the various settings in the build, and instead the other places Nix derivations are used (like internal-api-docs) will .overrideAttrs the normal Nix package derivation. This more closely matches how these things were structured originally, and results in less churn and more atomicity in these changes. In the future, package.nix likely will migrate to have more build options in the callPackage arguments, but we are also planning to rewrite the build system anyway. Change-Id: I170c4e5a4184bab62e1fd75e56db876d4ff116cf
2024-03-10remove getDerivations deduplicationeldritch horrors
deduplication does not currently work fully, showing derivations multiple times if they have different underlying values. this can happen by selecting the same derivation twice for two different attributes of a set, using inherit-from (which reduces to the previous), importing nixpkgs twice, or any other number of things. since users already have to deal with duplicates for this reason it won't hurt to add *more* duplicates. the alternative would be to deduplicate fully, which would drop derivations that are currently returned and those pose a regression risk. Change-Id: I64b397351237e10375d270f1bddecb71f62aa131
2024-03-09Disable bear on all the things with darwin as hostPlatformeldritch horrors
Just `stdenv.isDarwin` isn't enough because it doesn't apply to the build platform, which mean that cross packages building from darwin to another platform will have `isDarwin` set to false. Replace it by `stdenv.buildPlatform.isDarwin`. (cherry picked from commit a0cb75d96f76a3be48b9319e26d8ad78ef4e4525) (h/t jade for finding this one) Change-Id: If3cb74e6feaa5d51de550d9a140c71683c2214cd
2024-03-08flake.nix: upgrade to nixos-23.11Puck Meerburg
This also bypasses the Objective-C fork safety during tests. Change-Id: I92bf9f911e8a1fbd32eae13255f9a9dabde40b21
2024-03-08flake.nix: remove unused hydraJobsPuck Meerburg
This is in preparation for setting buildbot up to use hydraJobs instead of checks. Change-Id: Ie971e7db3940d9fbb7ed2f53d6429f607e00051f
2024-03-05Merge pull request #9608 from NixOS/default-lowdowneldritch horrors
Remove custom lowdown (cherry picked from commit 790cf13c268c7197c276cc02efda4cfe64a3a688) Change-Id: Ie01f9a69e81e793fc7ac869de943da370dc75e36
2024-03-05Merge pull request #9105 from Ericson2314/split-out-nixos-testseldritch horrors
Define NixOS tests in `tests/nixos/default.nix` rather than `flake.nix` (cherry picked from commit c29b8ba142a0650d1182ca838ddc1b2d273dcd2a) Change-Id: Ieae1b6476d95024485df7067e008013bc5542039
2024-03-04Merge pull request #9692 from 9999years/update-clang-stdenveldritch horrors
Remove `clang11Stdenv` (cherry picked from commit cbf99c71c6f58579174c1c7649a5421c1d2ba9b0) Change-Id: I716ce1a54f2006c4a9dc9716e8529fe7858ecebb
2024-03-04Merge pull request #9690 from obsidiansystems/nixos-23.05-small-againeldritch horrors
flake: Go back to regular `nixos-23.05-small` (cherry picked from commit 1ed245a60672c123c1348a63061fb4d64fb95212) Change-Id: I33f5fe20cd6bc658a461f560e458b440b3b7e18e
2024-03-04Merge pull request #9575 from hercules-ci/shell-on-hydraeldritch horrors
flake.nix: Cache shell inputs through hydra (cherry picked from commit b1842a4f05113967e8c20c9ebfd79edc39da259b) Change-Id: I9e59b3c7dbf441e74cff3e4f24bbf65170ac505b
2024-03-04Merge pull request #9573 from hercules-ci/rl-next-md-frontmattereldritch horrors
rl-next: Fix and support markdown frontmatter syntax (cherry picked from commit 69b7876a0810269ad71807594cfd99b26cd8a5ff) Change-Id: I8bfb8967af0943080fdd70d257c34abaf0a9fedf
2024-03-04Merge pull request #9518 from NixOS/fix-static-buildeldritch horrors
Update Nixpkgs to fix static build (cherry picked from commit 9817788f6b25fefa731b838391f859e886ae0d24) Change-Id: Ibe07a263f4d8f3b230775fb993881e5151a53784
2024-03-04Merge pull request #9430 from hercules-ci/remove-vlaseldritch horrors
Fix stack overflow in `filter` (cherry picked from commit cb7f25869daa2491eeac5fee49ad8f31b2218c15) Change-Id: Ib90f97a9805bbb4d0e2741551d490f054fc0a675
2024-03-04Merge pull request #9393 from hercules-ci/changelog-deldritch horrors
Automatically compile hand-written release notes with `changelog-d` (cherry picked from commit 928f0c13414d20c1af88b30bd6700fd730ee0bab) Change-Id: Ia0685835c52edf185b64dd696b19305746c077e5
2024-03-04Merge pull request #9152 from obsidiansystems/split-out-perl-nixeldritch horrors
Factor out Perl bindings Nix package (cherry picked from commit d12c614ac75171421844f3706d89913c3d841460) Change-Id: Ie75ccfec8cc815ea95ae9848cb03e33aa8cee5ae
2024-03-04Merge pull request #9131 from obsidiansystems/delete-bootstrap-scripteldritch horrors
Get rid of `bootstrap.sh` (cherry picked from commit aaef47a08eaf54a8856dd25c784fd85d8d7b0e22) Change-Id: I1a74bed0c23d6fda06d5dfd8ecad443b9122da12
2024-03-04Merge pull request #9106 from Ericson2314/positive-source-filteringeldritch horrors
Use positive source filtering for the standalone functional tests job and Perl bindings (cherry picked from commit 6b6bd9003062c86a49d4384381941cf57f269c45) Change-Id: I896be67654f893d543ed6beb5d0d0d6c6d36e027
2024-03-04Merge pull request #9096 from NixOS/dont-rebuild-twice-on-cieldritch horrors
Don't run the tests that require building if we're not building (cherry picked from commit 8cfa582f436db8066eff74cb084990367e014ce6) Change-Id: I6085ca6107349669407340d7a5e52639a2febc90
2024-03-04Merge pull request #8923 from obsidiansystems/test-protoeldritch horrors
Unit test some worker protocol serializers (cherry picked from commit c6faef61a6f31c71146aee5d88168e861df9a22a) Change-Id: I99e36f5f17eb7642211a4e42a16b143424f164b4
2024-03-04Merge pull request #8887 from obsidiansystems/bsd-cross-ciJohn Ericson
Support cross compiling to BSD and CI it (cherry picked from commit 1f3fc08c5994ca69c84c9e745d59ec2bb2fd820a) Change-Id: I415e92952afc661cfb5ef91a76c0637678a04a19