guix-play/guix/build
Ivan Petkov 1d3acde508
build-system/cargo: refactor phases to successfully build
* guix/build-system/cargo.scm (%cargo-build-system-modules):
Add (json parser).
(cargo-build):
[vendor-dir]: Define flag and pass it to builder code.
[cargo-test-flags]: Likewise.
[skip-build?]: Likewise.
* guix/build/cargo-build/system.scm (#:use-module): use (json parser).
(package-name->crate-name): Delete it.
(manifest-targets): Add it.
(has-executable-target?): Add it.
(configure): Add #:vendor-dir name and use it.
Don't touch Cargo.toml.
Don't symlink to duplicate inputs.
Remove useless registry line from cargo config.
Define RUSTFLAGS to lift lint restrictions.
(build): Add #:skip-build? flag and use it.
(check): Likewise.
Add #:cargo-test-flags and pass it to cargo.
(install): Factor source logic to install-source.
Define #:skip-build? flag and use it.
Only install if executable targets are present.
(install-source): Copy entire crate directory not just src.
[generate-checksums] pass dummy file for unused second argument.
(%standard-phases): Add install-source phase.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-04-09 03:09:00 -07:00
..
android-ndk-build-system.scm build-system: android-ndk: Let upstream install header files. 2018-05-10 01:06:22 +02:00
ant-build-system.scm guix: ant-build-system: Reorder before generating INDEX.LIST. 2018-07-19 19:46:31 +02:00
asdf-build-system.scm build-system/gnu: Add 'bootstrap' phase. 2018-03-11 22:04:40 +01:00
bournish.scm bournish: 'ls' adjusts the column width depending on the entries. 2017-05-13 16:52:11 +02:00
cargo-build-system.scm build-system/cargo: refactor phases to successfully build 2019-04-09 03:09:00 -07:00
cargo-utils.scm gnu: rust: Factor out "cargo-utils" from "cargo-build-system". 2019-03-01 08:20:50 +01:00
clojure-build-system.scm build-system: Add 'clojure-build-system'. 2018-11-19 12:07:44 +01:00
clojure-utils.scm build-system: Add 'clojure-build-system'. 2018-11-19 12:07:44 +01:00
cmake-build-system.scm build-system/cmake: Use invoke instead of system*. 2018-03-16 05:01:50 -04:00
compile.scm compile: Let compiler warnings through during the load phase. 2019-01-22 23:04:05 +01:00
cvs.scm cvs-download: Use invoke instead of system*. 2018-03-16 05:02:32 -04:00
debug-link.scm grafts: Add (guix build debug-link) and use it. 2018-08-24 18:01:05 +02:00
download-nar.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
download.scm download: Ask not to use TLS 1.3. 2019-01-26 23:18:14 +01:00
dub-build-system.scm build-system/dub: Let all phases return #T unconditionally. 2018-11-13 10:46:00 +01:00
dune-build-system.scm guix: dune-build-system: Add a package parameter. 2019-03-23 22:58:52 +01:00
emacs-build-system.scm Merge branch 'master' into core-updates 2018-04-21 05:02:52 -04:00
emacs-utils.scm Merge branch 'master' into core-updates 2018-05-06 15:56:24 +02:00
font-build-system.scm build-system/gnu: Add 'bootstrap' phase. 2018-03-11 22:04:40 +01:00
git.scm git-download: Use 'invoke'. 2019-01-06 00:22:05 +01:00
glib-or-gtk-build-system.scm build-system/glib-or-gtk: Use invoke instead of system*. 2018-03-16 05:01:47 -04:00
gnu-build-system.scm build-system/gnu: If a phase returns #f, the build fails. 2018-08-03 23:12:33 -04:00
gnu-dist.scm gnu-dist: Use invoke instead of system*. 2018-03-16 05:01:43 -04:00
go-build-system.scm build-system/go: Build with a filesystem union of Go dependencies. 2019-03-14 15:34:26 -04:00
graft.scm grafts: Add (guix build debug-link) and use it. 2018-08-24 18:01:05 +02:00
gremlin.scm gremlin: Add 'strip-runpath'. 2018-05-07 11:21:36 +02:00
guile-build-system.scm build-system: Add 'guile-build-system'. 2018-07-23 12:25:31 +02:00
haskell-build-system.scm build-system/haskell: Fix register phase. 2018-11-12 18:21:04 +01:00
hg.scm hg-fetch: Remove .hg directories of sub-repositories. 2018-12-03 12:29:08 +01:00
java-utils.scm java-utils: Use 'strip-store-file-name'. 2018-10-19 23:11:07 +02:00
lisp-utils.scm build-system/asdf: Properly handle dependency specification casing. 2018-10-02 14:53:39 +02:00
make-bootstrap.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
meson-build-system.scm build-system/meson: Strip RUNPATH and remove PatchELF traces. 2018-08-22 18:01:09 +02:00
minify-build-system.scm build-system/gnu: Add 'bootstrap' phase. 2018-03-11 22:04:40 +01:00
ocaml-build-system.scm build-system/ocaml: Use invoke and return #t. 2018-11-18 18:40:53 +01:00
perl-build-system.scm build-system/perl: Use invoke instead of system*. 2018-03-16 05:01:52 -04:00
profiles.scm profiles: Allow a profile to be added as an entry of another profile. 2019-01-20 01:42:11 +01:00
python-build-system.scm gnu: python: Update to 3.7.0. 2018-07-28 15:52:26 +02:00
qt-utils.scm build: Add wrap-qt-program. 2016-08-30 22:38:28 +02:00
r-build-system.scm build-system/r: Fix type error. 2018-06-06 23:30:30 +02:00
rakudo-build-system.scm build: Add rakudo-build-system. 2019-03-23 22:26:48 +02:00
rpath.scm Add (guix build rpath). 2013-05-08 23:45:02 +02:00
ruby-build-system.scm ruby-build-system: Make phase "replace-git-ls-files" handle more cases. 2018-07-24 22:55:38 +02:00
scons-build-system.scm build-system/scons: Use invoke instead of system*. 2018-03-16 05:01:57 -04:00
store-copy.scm store-copy: Canonicalize the mtime and permissions of the store copy. 2018-11-06 23:21:24 +01:00
svn.scm guix: svn: Remove all .svn folders. 2018-08-19 17:34:22 +02:00
syscalls.scm syscalls: 'device-in-use?' returns #f upon EINVAL. 2019-01-17 14:04:28 +01:00
texlive-build-system.scm build-system: texlive: Do not hide build output. 2019-01-10 22:43:09 +01:00
union.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
utils.scm utils: Generate valid substitutions in 'wrap-program'. 2018-08-20 17:00:45 +02:00
waf-build-system.scm build-system/waf: Use invoke. 2018-06-19 10:48:14 +02:00