3f841baa1a
(zilch lang ninja build): properly elide meson-private
...
Change-Id: I6a6a69647cac0ffa083525236e6b23b7e418ebd6
2025-11-14 13:01:04 +00:00
268b6fb8c2
(zilch lang ninja): support CMake
...
Change-Id: I6a6a696445c5513215b7e1df512514586a1dfd3a
2025-11-14 13:01:04 +00:00
48692fc50d
(zilch lang ninja): support include
...
Change-Id: I6a6a69643a4a1d2b96386851a26d13237737f645
2025-11-14 13:01:04 +00:00
a6757baf0e
(zilch lang ninja): fix off-by-one on end of file
...
Change-Id: I6a6a69645dd013d565efccfd634ed0744e5a688c
2025-11-14 13:01:04 +00:00
23ce8304f5
(zilch lang ninja): support swapping out the build phase of nixpkgs-style drv
...
Change-Id: I6a6a69649c5c37c67dbe05a0795356b78caff528
2025-11-14 13:01:04 +00:00
c6504571e8
(zilch ninja build): elide vfs per-build as much as possible
...
This should limit the amount of spurious rebuilds.
Change-Id: I6a6a6964b8ba2672c376d848f362f18a599c45d9
2025-11-14 13:01:04 +00:00
c685ff31df
(zilch lang ninja build): add shared object stubs for linked libraries
...
This adds a second derivation containing a .so (stubbed) to all `.so.symbols`
edges, which represents a shared object stub. This stub is then used for all
linking afterwards, rather than the bubbled-up .so file, which was used as
workaround.
Change-Id: I6a6a69649ff04f8efe329c59e4d0172532aa7adb
2025-11-14 13:01:04 +00:00
c94279fcb2
(zilch lang ninja build): expose phony build edges better
2025-11-14 13:01:04 +00:00
11709a3eed
(zilch lang ninja build): support per-project patches
2025-11-14 13:01:04 +00:00
7cdf45ef96
(zilch lang ninja build): support phony rules
2025-11-14 13:01:04 +00:00
ca920c0ae3
(zilch lang ninja build): fix relative-to normalisation for empty paths
2025-11-14 13:01:04 +00:00
ec05d19a1e
(zilch lang ninja build): don't print missing errors for nix store paths
2025-11-14 13:01:04 +00:00
40638ad666
(zilch lang ninja build): workaround Meson .so linking
...
Meson implements early-cutoff for shared library linking by having each .so
generate a .symbols file, and only relinking when that changes. The issue is
that this loses the direct dependency to the .so, and I'm unwilling to commit
to putting every transitive dependency in the environment's VFS. Instead,
work around it specifically for Meson.
2025-11-14 13:01:04 +00:00
be1b4c3792
(zilch lang ninja build): improve build environment + setup times
...
Turns out generating one full VFS for every single build step is really
expensive.
2025-11-14 13:01:04 +00:00
95e7ca1277
(zilch lang ninja build): don't generate empty derivation names
2025-11-14 13:01:04 +00:00
559350369c
(zilch lang ninja): parse (then throw away) pool information
2025-11-14 13:01:04 +00:00
0cf6d7a9af
(zilch lang ninja): improve parser performance
2025-11-14 13:01:04 +00:00
499bacd9c8
(zilch lang ninja): support processing simple build scripts
2025-11-14 13:01:04 +00:00
40d213520a
(zilch lang ninja): add ninja build file parser
2025-11-14 13:01:04 +00:00
f610d937b3
(zilch lang rust resolver): fix feature detection for some proc-macros
2025-03-02 22:14:12 +00:00
c6364fa6aa
(zilch lang rust cargo): find target-specific build dependencies
2025-03-02 22:13:55 +00:00
307b1c7218
(ziclh lang rust): use compile-time path for yj
...
This will have to be replaced with a small Rust program, but I don't
want to resolve the chicken-egg problem right now.
2025-03-02 22:13:05 +00:00
fb1977a45c
(zilch lang rust): more fixes
2025-03-02 20:32:52 +00:00
313cca66cc
(zilch lang rust cargo): track check-cfg flags in Cargo files
2025-03-02 20:29:57 +00:00
8a4cfe91fa
(zilch lang rust registry): don't substitute cargo tarballs
2025-03-02 14:11:05 +00:00
5721c8263b
(zilch lang rust registry): skip git fetch if revspec already fetched
2025-03-02 14:11:05 +00:00
493f6712de
(zilch lang rust cargo): misc fixes
2025-03-02 14:11:05 +00:00
1a0fbbe7c7
(zilch lang rust): recursively resolve pkg-config paths
2025-03-02 14:11:05 +00:00
de31b96fc8
(zilch lang rust): add CARGO_TARGET_DIR
2025-03-02 14:11:05 +00:00
5306246cdd
(zilch lang rust registry): add git support
2025-03-02 14:11:05 +00:00
77c1de2e8e
rust: support dependency-based env overrides for build scripts
2025-02-12 13:55:39 +00:00
8c129e33db
rust: various build script fixes
2025-02-12 13:12:04 +00:00
e42315e67a
(zilch lang rust): remove lack-of-vfs workarounds
2024-11-27 17:32:13 +00:00
a008d0c0c2
(zilch lang go vfs): move to (zilch vfs)
...
It really wasn't that go-specific anymore.
2024-11-27 15:43:29 +00:00
c68f3852e0
(zilch lang resolver): fix(?) parsing of "< 3" as version requirement
2024-11-27 14:26:50 +00:00
8cc567a075
(zilch lang rust resolver): misc fixes
2024-11-27 14:26:50 +00:00
b55e725e2f
(zilch lang rust resolver): Workaround multiple crate-type values
2024-11-27 14:26:50 +00:00
afd268c46d
(zilch lang rust): various workspace fixes
2024-11-27 14:26:50 +00:00
a5a59ea9e8
(zilch lang rust cargo): workaround non-VFS'd crates
...
This will be unhacked once a (vfs-from-store) exists.
2024-11-27 14:26:50 +00:00
d1800e8a9d
(zilch lang rust cargo): Check if build.rs exists manually
2024-11-27 14:26:50 +00:00
054b320f27
(zilch lang rust cargo): parse cfg values at runtime
2024-11-27 14:26:50 +00:00
9f23179d46
(zilch lang rust): parse workspaces
2024-11-27 14:16:59 +00:00
2f069f2cdd
(zilch lang go vfs): actually handle empty directories
...
In cases where a directory only contains files which are filtered out,
the VFS would break on importing the directory. This fixes that.
2024-11-27 14:10:22 +00:00
5380ac9307
(zilch lang rust): initial commit
2024-11-25 22:06:44 +00:00
b59fd781d0
(zilch lang go): fix go file parser with all: go:embed patterns
...
Technically this isn't quite right, as the full list of files is not
available to the go parser (some files are filtered out too early in
the process), but it should do the job for now.
2024-11-17 18:24:00 +00:00
a2bae93771
(zilch lang go vfs): create multiple parent directories
2024-11-16 16:44:32 +00:00
fe53998fcc
(zilch lang go vfs): fix directories not making it to the store
...
Sadly, iterating twice won't work, as this will create directory
associations in the wrong direction, and there's no way mappings
let you iterate backwards. Let's mark the entries as directories
and then swap them out with the directories when building a zdir
tree instead.
2024-11-16 16:41:56 +00:00
fc8aea8fb4
(zilch lang go): introduce proper vfs record
...
This should hopefully make the code a bit clearer, and is preparation
for Rust support.
2024-11-01 00:12:04 +00:00
145cf85e5d
(zilch lang go fetch): passed too many parameters to nix-prefetch-url
2024-10-04 15:08:26 +00:00
83d41ef778
Clean up documentation
2024-10-04 15:08:26 +00:00