Commit graph

212 commits

Author SHA1 Message Date
Sebastian Ullrich
c35e41ce15 chore: Nix: add lake executable 2023-07-17 10:38:35 +02:00
Enrico Borba
6d583284df
chore: Nix: fix depRoot with huge number of deps (#2179)
If `deps` or `depRoots` are too large, bash will carsh when executing
the modified script. This is because there are OS-level limits on the
size of environment variables. This commit changes the script so that
`deps` and `depRoots` are written to files instead of being passed as
environment variables.
2023-04-01 09:45:38 +02:00
Connor Baker
667d54640d
chore: Nix: use strings instead of URL literals (#2172) 2023-03-28 10:10:24 +02:00
Sebastian Ullrich
db2e710072 chore: Nix: update lean4-mode 2023-03-15 10:52:03 +01:00
Sebastian Ullrich
2a7ae7b28a chore: Nix: explicit src 2023-01-26 13:32:42 +01:00
Sebastian Ullrich
67a5846742 chore: Nix: more sanitizing 2023-01-12 15:05:14 +01:00
Sebastian Ullrich
707e762d78 chore: Nix: remove redundant link flags 2023-01-12 13:00:09 +01:00
Sebastian Ullrich
da2ea1fa98 chore: Nix: fix symbol interposition 2023-01-12 12:50:17 +01:00
Sebastian Ullrich
74b3d101e9 chore: Nix: avoid store copies 2023-01-07 20:22:42 +01:00
Sebastian Ullrich
222a8140a7 chore: Nix: avoid quadratic attrset accumulation 2023-01-07 20:22:42 +01:00
Siddharth
b6eb780144
feat: LLVM backend (#1837) 2022-12-30 12:45:30 +01:00
Sebastian Ullrich
10d2403e83 chore: Nix: link dynamically by default
The Nix way
2022-12-22 12:13:22 +01:00
Sebastian Ullrich
cbf1b433d7 chore: Nix: linkFarm, not symlinkJoin 2022-12-21 20:06:18 +01:00
Sebastian Ullrich
73f9377322 chore: Nix: cache depRoots 2022-12-21 15:22:13 +01:00
Sebastian Ullrich
0b243f0ca3 chore: Nix: avoid import errors for now
Gotta refactor this anyway
2022-12-04 18:52:33 +01:00
Sebastian Ullrich
9e83115072 chore: Nix: lazy-trees compatibility 2022-12-04 18:52:33 +01:00
Sebastian Ullrich
768ef310a0 refactor: Nix: LeanInk rendering based on packages, not directories 2022-12-03 15:14:17 +01:00
Sebastian Ullrich
ed3fa37341 chore: Nix: add overrideBuildModAttrs 2022-12-03 14:13:31 +01:00
Siddharth Bhat
dfb5548cab fix: update libleanrt.bc, rename to lean.h.bc
This adds `lean.h.bc`, a LLVM bitcode file of the Lean
runtime that is to be inlined. This is programatically generated.

1. This differs from the previous `libleanrt.ll`, since it produces an
   LLVM bitcode file, versus a textual IR file. The bitcode file
   is faster to parse and build an in-memory LLVM module from.
2. We build `lean.h.bc` by adding it as a target to `shell`,
   which ensures that it is always built.

3. We eschew the need for:

```cpp
```

which causes breakage in the build, since changing the meaning of
`static` messes with definitions in the C++ headers.

Instead, we build `lean.h.bc` by copying everything in
`src/include/lean/lean.h`, renaming `inline` to
`__attribute__(alwaysinline)` [which forces LLVM to generate
`alwaysinline` annotations], then running the `-O3` pass pipeline
to get reasonably optimised IR, and will be perfectly inlined
when linked into the generated LLVM code by
`src/Lean/Compiler/IR/EmitLLVM.lean`.

Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2022-11-28 16:20:12 +01:00
Siddharth
4d47c8abc6
feat: add LLVM C API bindings (#1497)
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2022-11-21 09:50:01 +01:00
Sebastian Ullrich
9c3a283eb1 chore: update-stage0: simplify 2022-11-20 10:22:20 -08:00
Sebastian Ullrich
bcd1673231 chore: abort build on panic 2022-11-11 16:24:04 +01:00
Sebastian Ullrich
1ddfb72106 chore: Nix: handle huge packages 2022-10-14 22:21:08 +02:00
Sebastian Ullrich
50a0c9bda7 chore: Nix: remove dead ileans 2022-10-13 18:12:55 +02:00
Mario Carneiro
37252e5fa7 chore: remove Bootstrap package 2022-09-02 16:39:03 -07:00
Mario Carneiro
bf89c5a0f5 chore: move Std -> Bootstrap 2022-08-29 01:26:12 -07:00
Sebastian Ullrich
4562fcfbd7 chore: Nix: include orphan modules like lean.mk does 2022-08-27 17:41:46 +02:00
Sebastian Ullrich
d1beded289 chore: Nix: sanitize drv names 2022-08-12 15:30:22 +02:00
Sebastian Ullrich
f4de40d7dc feat: turn on warningAsError 2022-07-29 10:31:19 -07:00
Sebastian Ullrich
556358e84c chore: Nix: better solution for filtering test output 2022-07-28 17:12:17 +02:00
Sebastian Ullrich
8972cc9baf chore: Nix: cache Leanc-deps 2022-07-16 16:19:01 +02:00
Sebastian Ullrich
0f6bda61c9 chore: Nix: buildLeanPackage devShell 2022-07-08 23:24:04 +02:00
Sebastian Ullrich
8f70c346fd chore: Nix: fix develop shell 2022-07-08 21:49:50 +02:00
Sebastian Ullrich
4f1c3faa6e chore: Nix: re-enable nix develop on bare derivations 2022-07-08 14:49:08 +02:00
Sebastian Ullrich
d679044a9b chore: Nix: use --deps-json for faster, single IFD per package 2022-07-06 16:12:30 +02:00
Sebastian Ullrich
a16eff2996 chore: Nix: implement roots 2022-07-06 16:12:30 +02:00
Sebastian Ullrich
02e5865a02 chore: Nix: stop pinning Nix in ciShell 2022-06-21 22:57:39 +02:00
Sebastian Ullrich
ce73728be3 chore: Nix: avoid build closure dependencies on stdenv 2022-06-21 21:11:59 +02:00
Sebastian Ullrich
d15934c0ac chore: Nix: Bring-Your-Own-Emacs .#emacs-path-dev 2022-06-03 13:41:04 +02:00
Sebastian Ullrich
4a1885f997 chore: update benchmark suite 2022-05-25 18:26:36 +02:00
Sebastian Ullrich
19925f8ec1 chore: Nix: move docs build into sub-flake
workflow is not ideal right now because of poor support for sub-flakes,
but I also don't want the doc input in the main flake...
2022-03-26 22:50:04 +01:00
Sebastian Ullrich
4a9bc88a4e chore: fix USE_GMP=OFF by removing GMP linking customization 2022-03-26 16:29:52 +01:00
Sebastian Ullrich
720e445755 chore: Nix: update inputs 2022-03-24 12:33:33 +01:00
Sebastian Ullrich
5c6e054e24 chore: update to LLVM 14 2022-03-24 12:33:33 +01:00
Sebastian Ullrich
147a5c2933 chore: prefer LEAN_SRC_PATH 2022-03-14 17:24:25 +01:00
Sebastian Ullrich
db9b963af7 chore: Nix: adjust message 2022-03-09 10:31:32 +01:00
Sebastian Ullrich
202258cc87 chore: Nix: remove debug flag 2022-03-09 10:30:37 +01:00
Sebastian Ullrich
a7438e9eae chore: Nix: remove debug flag 2022-03-09 10:30:09 +01:00
Sebastian Ullrich
126c7dd4ea chore: Nix: command for (one-time) linking .ileans 2022-03-09 10:29:25 +01:00
Sebastian Ullrich
2221cc8141 chore: Nix: emulate lake serve 2022-03-09 10:14:43 +01:00