Commit graph

45 commits

Author SHA1 Message Date
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
55a1efa08f Initial commit 2024-10-04 15:08:26 +00:00