Commit Graph

379 Commits

Author SHA1 Message Date
Ivan Petkov
bd65e0e473
inheritCargoArtifactsHook: symlink dependency rlib and rmeta files (#344)
* cargoTarpaulin: do not clean by default

---------

Co-authored-by: Philipp Mildenberger <philipp@mildenberger.me>
Co-authored-by: Philipp Mildenberger <philipp.mildenberger@artfabrik.at>
2023-06-19 21:50:17 +00:00
Roman Volosatovs
9f6e7286c5
fix: do not install bindep artifacts by default (#298)
- Add support for installing crates utilizing `bindeps` feature
by only installing binaries of workspace packages

---------

Signed-off-by: Roman Volosatovs <rvolosatovs@riseup.net>
Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-06-18 23:41:59 +00:00
Ivan Petkov
a0d1df4631
Fix alt-registry example (#343)
* crates.io uses the sparse registry by default, and trying to
  explicitly register a sparse registry for it results in errors
* Also set nixConfig to include binary cache
2023-06-18 23:16:45 +00:00
James Baker
75f7d715f8
Natively support sparse registries (#324)
With Cargo 1.68.0, sparse registries were made stable. With sparse
registries, index metadata is stored in an HTTP api rather than in
a git repository.

As relevant to Crane, the relevant changes are mostly that registries
do not always start with `registry+` and mostly start with `registry+`
or `sparse+` depending on whether the registry is sparse or not.

This PR adjusts the core of Crane to differentiate between `registry`
and `sparse`, and adds a new sparse registry factory to make things
easy.

---------

Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-06-13 02:03:18 +00:00
Ivan Petkov
057d95721e
Add support for installing dylib crate types (#340)
---------

Signed-off-by: Roman Volosatovs <rvolosatovs@riseup.net>
Co-authored-by: Roman Volosatovs <rvolosatovs@riseup.net>
2023-06-08 01:00:25 +00:00
Ivan Petkov
f31931d6f8
Update support to nixos-23.05 (#339)
Dropping support for nixos-22.11
2023-06-08 00:15:38 +00:00
Uosis
3acc7230ee
Clean install hooks from buildDepsOnly invocation (#334)
---------

Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-06-07 05:38:53 +00:00
Quentin
bff08cbecc
fix(Trunk): Set the wasm-opt version as expected by Trunk (#338)
Trunk expect a version number with this specific format: "version_{num}"
2023-06-06 20:54:50 -07:00
Ivan Petkov
8ab1a49432
Update CHANGELOG 2023-06-06 20:35:16 -07:00
dependabot[bot]
4bdf5595ae
chore(deps): bump cachix/install-nix-action from 20 to 21 (#333)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 20 to 21.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v20...v21)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-04 16:36:59 +00:00
Ivan Petkov
ff578e0dbc
Update flake.lock (#335)
flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/cfacdce06f30d2b68473a46042957675eebb3401' (2023-04-11)
  → 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/44f30edf5661d86fb3a95841c35127f3d0ea8b0f' (2023-05-02)
  → 'github:NixOS/nixpkgs/c6ffce3d5df7b4c588ce80a0c6e2d2348a611707' (2023-06-02)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/d59c3fa0cba8336e115b376c2d9e91053aa59e56' (2023-05-03)
  → 'github:oxalica/rust-overlay/c535b4f3327910c96dcf21851bbdd074d0760290' (2023-06-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-04 09:29:59 -07:00
Leonardo Eugênio
35110cccf2
fix: Strip store references in buildTrunkPackage (#330)
The output of buildTrunkPackage should never have runtime dependencies.
Not only are they redundant but they also increase the closure greatly.
2023-05-25 02:17:57 +00:00
Antti Keränen
99de890b6e
Keep "resolver" when cleaning Cargo.toml (#327)
For projects using version != 2021 and resolver = 2, the resolver
information needs to be kept or otherwise the dependency build might
fail.

---------

Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-05-18 21:03:02 -07:00
Alexandru Scvorțov
1d1186cb32
docs: typo lib.filterCargoSources -> craneLib.filterCargoSources (#326) 2023-05-19 03:57:50 +00:00
Ivan Petkov
2f8dd307c5
checks: Update libc branch (#328) 2023-05-19 00:12:15 +00:00
Ivan Petkov
7b5bd9e5ac
examples: remove darwin SDKs from cross compile example (#321) 2023-05-07 17:18:21 -07:00
Dawid Ciężarkiewicz
263552d2b6
Advise on using nix show-derivation or nix-diff to debug rebuilds (#315) 2023-05-07 16:01:08 -07:00
Ivan Petkov
8708b19627
Update flake.lock (#317) 2023-05-03 17:26:52 +00:00
Leonardo Eugênio
dd77ba5f6c
fix: incremental compilation in trunk examples, set target using env var (#316) 2023-05-03 17:24:02 +00:00
Leonardo Eugênio
7d74bfafea
fix: building trunk projects that use sass, add test (#314) 2023-05-02 17:23:35 -07:00
dependabot[bot]
841b3f7017
chore(deps): bump DeterminateSystems/update-flake-lock from 18 to 19 (#309)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 18 to 19.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v18...v19)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-01 16:58:42 -07:00
Leonardo Eugênio
db21a44eb0
Trunk support (#299)
[Trunk](https://trunkrs.dev) is a tool that allow you to build web apps
using Rust and webassembly, including compiling scss, and distributing
other assets.

Adds `craneLib.buildTrunkPackage`, a function that builds a Trunk
project returning a directory with the resulting dist files for that
project

---------

Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-04-29 12:34:39 -07:00
Ivan Petkov
54b63c8eae
chore: update all Cargo.locks (#304) 2023-04-16 21:28:36 +00:00
Ivan Petkov
a4d54e5d6f
docs: document using overrideScope' (#303) 2023-04-16 20:55:46 +00:00
Ivan Petkov
0c9f468ff0
buildPackage: don't inherit installPhase when calling buildDepsOnly (#297) 2023-04-11 01:37:58 +00:00
Ivan Petkov
445a3d2229
Update CHANGELOG 2023-04-10 18:16:16 -07:00
Ivan Petkov
65d3f6a397
Update flake.lock (#290)
* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13)
  → 'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ae8bdd2de4c23b239b5a771501641d2ef5e027d0' (2023-03-01)
  → 'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/e53e8853aa7b0688bc270e9e6a681d22e01cf299' (2023-03-03)
  → 'github:oxalica/rust-overlay/7ec2ff598a172c6e8584457167575b3a1a5d80d8' (2023-04-03)

* Filter out build-std example on macOS
* Update cross-overlay example

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-04 05:08:23 +00:00
Ivan Petkov
aab6d4f865
vendorMultipleCargoDeps: fix deduplication logic (#289)
* We should ignore the package.dependencies array since it can cause
  problems
2023-04-02 23:46:24 +00:00
Ivan Petkov
0222df9e59
Fix unfortunate typo 2023-04-02 11:19:35 -07:00
Ivan Petkov
f491bee4f9
Add support for building standard library crates (#287)
* vendorCargoRegistries: accept `registries` from the caller if specified
* Add vendorMultipleCargoDeps
2023-04-02 17:57:17 +00:00
dependabot[bot]
9297a5fde1
chore(deps): bump DeterminateSystems/update-flake-lock from 16 to 18 (#286)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 16 to 18.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v16...v18)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-01 17:08:15 -07:00
Ivan Petkov
6736e8be8e
crateNameFromCargoToml: make warnings more useful (#282)
* The warning now shows a more in-depth explanation on how to silence it
2023-03-29 04:21:28 +00:00
Ivan Petkov
72fa29510a
chore: bump all Cargo.locks (#280) 2023-03-26 06:21:21 +00:00
Ivan Petkov
ec69da6973
vendorCargoDeps: skip checking for cargoConfigs if src not set (#278) 2023-03-22 04:57:14 +00:00
Ivan Petkov
81d95a1fb8
quick-start: remove bogus follows clause (#277) 2023-03-22 04:46:10 +00:00
Ivan Petkov
2552a2d1cc
Update CHANGELOG 2023-03-19 21:15:09 -07:00
Ivan Petkov
141943d26a
docs: replace references to lib with craneLib (#274)
* `lib` is already a common import representing `pkgs.lib`
* Consistently using `craneLib` in the docs and examples will ensure
  better clarity
2023-03-20 04:13:23 +00:00
Ivan Petkov
6fd78bc66a
Add path as a convenience wrapper around builtins.path (#273) 2023-03-19 20:57:15 -07:00
figsoda
77435dad14
feat: add cargoLockParsed option (#270)
---------

Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-03-20 00:33:17 +00:00
figsoda
475de74fa2
feat: add cargoLlvmCov (#267)
* feat: add cargoLlvmCov
* cargoHelperFunctionsHook: prefer `--release` over `--profile release`
Some tools (e.g. cargo-llvm-cov) don't understand `--profile release` as
an alias for `--release`, so `cargoWithProfile` should prefer passing
`--release` when `$CARGO_PROFILE` == "release"

---------

Co-authored-by: Ivan Petkov <ivanppetkov@gmail.com>
2023-03-19 23:44:14 +00:00
Roman Volosatovs
56b875b6eb
fix: target workspace dependency resolution (#265) 2023-03-19 12:47:29 -07:00
Roman Volosatovs
5291dd0aa7
feat: add support for bindeps feature (#258)
Write a `main.rs` to `src/bin/dummy` within the generated dummy source,
rather than `src/main.rs` to account for `illegalBin` test case

Signed-off-by: Roman Volosatovs <rvolosatovs@riseup.net>
2023-03-06 17:24:21 -08:00
Ivan Petkov
105e27adb7
Update flake.lock (#259)
flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6d33e5e14fd12f99ba621683ae90cebadda753ca' (2023-02-15)
  → 'github:NixOS/nixpkgs/ae8bdd2de4c23b239b5a771501641d2ef5e027d0' (2023-03-01)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/a619538647bd03e3ee1d7b947f7c11ff289b376e' (2023-02-15)
  → 'github:oxalica/rust-overlay/e53e8853aa7b0688bc270e9e6a681d22e01cf299' (2023-03-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-03 17:13:23 -08:00
Ivan Petkov
f3f763e4d9
ci: ensure all dependent jobs actually pass, not just run 2023-02-28 19:50:23 -08:00
dependabot[bot]
88dc927720
chore(deps): bump cachix/install-nix-action from 18 to 20 (#257)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 18 to 20.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v18...v20)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 16:47:19 -08:00
Ivan Petkov
ac145b7ae5
docs: add section about using different toolchains (#256) 2023-03-01 01:27:29 +00:00
Ivan Petkov
685e7494b0
examples: correctly propagate devShell inputs from checks (#255) 2023-02-26 00:08:09 +00:00
Ivan Petkov
746a603a61
templates: add .gitignore file (#254) 2023-02-25 23:01:57 +00:00
Ivan Petkov
ba201b5632
docs: add various new sections and examples (#252)
* add a section on customizing builds
* add an example for building custom command helpers
* add example on adding custom devShell env vars
* add local development section
2023-02-23 04:47:24 +00:00
Ivan Petkov
953b70da28
Update CHANGELOG 2023-02-19 14:46:28 -08:00