* don't assume all .so files are the exectuable
* don't rebuild support or the compiler if only the buildIdris nix function has changed
* fixes to nix buildIdris function
- align buildIdris function with direction of nixpkgs version.
- tangentially, update naming of local variables to follow nixpkgs.
- use pname/version instead of name for buildIdris derivations.
* Fix `buildIdris` on non-macos machines
We build the support library as its own derivation for Nix builds so we do not want to copy it as part of the `buildIdris` install phase and we certainly don't want to wrap it as if it were an executable.
* Update nix/buildIdris.nix
* Refactor buildIdris slightly and support installing libraries with source. Add the Idris2 API package as an output of the flake.
* update templates and simplify construction of a search path.
* use newer method of specifying default package
* swap out trace function for warn function. fix warnings in template generation
- `idris2 --version` correctly displays hash again
- `idris2 --install <ipkg>` defaults to $HOME/idris2 instead of a
literal `~/.idris2`.
- allows building in Nix on latest MacOS
This allows for cross-flake testing of content-addressible nix derivations without
affecting other users of the flake (which would be the cases if CA-drvs would be
hard-coded upstream) and without losing the ability to quickly update to the latest
idris2 version (which would happen if a fork of the repo would be used).
See also: https://discourse.nixos.org/t/content-addressed-nix-call-for-testers/12881
The flake can still be used as usual, but it will gain an output `overrideOptions`, which can be used like e.g.
```nix
let
idrisx = idris.overrideOptions {
config.contentAddressedByDefault = true;
};
in { ... }
```
* Add utility functions to treat All as a heterogeneous container
* Distinguish RefC Int and Bits types
* Change RefC Integers to be arbitrary precision
* Add RefC Bits maths operations
* Make RefC div and mod Euclidean
* Add RefC bit-ops tests
* Add RefC integer comparison tests
* Add RefC IntN support