aboutsummaryrefslogtreecommitdiff
path: root/package.nix
AgeCommit message (Collapse)Author
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-26meson: implement unit testsQyriad
Unit tests can be run with `meson test -C build --suite check`. `--suite check` is optional, as right now that's the only test suite, but when functional tests are added those will be in a separate suite. Change-Id: I7f22f1cde4b489b3cdb5f9a36a544f0c409fcc1f
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-14Backport PR#9633 by cole-h: package: don't set sysconfdir in devShellsCole Helbling
(cherry-picked from commit ba0087316acc2aba999cabe5e1a159da636b2569) Change-Id: I5a50afb3b7b65516df798ee51b74f06727a91928
2024-03-13support <program>_ENV variableseldritch horrors
this lets us set per-test-program environment variables rather than only a single, global default. this was supported in nix originally but might've gone partially missing in the upstream backports process? Change-Id: Iad0919841b1b6d11e0b7ebd3920449a62f544e77
2024-03-11package: cleanup of all intermediariesQyriad
Change-Id: I0da5182de6b01c192cfcba407959d659d70c6dc9
2024-03-11package: migrate internal-api-docsQyriad
Change-Id: I344d73a412c2c6e4bb2eb14bd4859056324f1ba7
2024-03-11package: migrate testNixVersionsQyriad
Change-Id: I71845f8a6d7b77c3617d055e726ed4a28cd05fa3
2024-03-11package: use pname, version, and dontBuild (first change with diff hash)Qyriad
The src fileset, preConfigure, and separateDebugInfo also respond to doBuild if its overridden This commit is logically just a continuation of the previous commit's refactor, but exists separately to delineate when the core Nix derivation hash changed (this commit). Change-Id: I67a61bc9608d91b6a833ebc5c3894b2d2e694050
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