Subject: bug#36470: Cargo-build-system guix-vendor does not provide packages correctly 2 levels down

From: swedebugia <[email-masked]>
Date: Tue, 2 Jul 2019 10:54:13 +0200

Hi

I have been playing with cargo for some days.

I found that while this:
(define-public rust-autocfg 

   (package 

     (name "rust-autocfg") 

     (version "0.1.4") 

     (source 

       (origin 

         (method url-fetch) 

         (uri (crate-uri "autocfg" version)) 

         (file-name 

           (string-append name "-" version ".tar.gz")) 

         (sha256 

           (base32 

             "1gvpf03pdl08k29j9hjv7r7cs5zn39ib97f7wwvzv9992fjyyj8f")))) 

     (build-system cargo-build-system) 

     (home-page "https://github.com/cuviper/autocfg") 

     (synopsis 

       "Automatic cfg for Rust compiler features") 

     (description 

       "Automatic cfg for Rust compiler features") 

     (license #f)))

Itself builds correctly:
/gnu/store/hph74vg8k37r4akanx2z4kxzbid791yy-rust-autocfg-0.1.4

Cargo can also find it when it is a dependency of rust-rand-pcg:

(define-public rust-rand-pcg 

   (package 

     (name "rust-rand-pcg") 

     (version "0.2.0") 

     (source 

       (origin 

         (method url-fetch) 

         (uri (crate-uri "rand_pcg" version)) 

         (file-name 

           (string-append name "-" version ".tar.gz")) 

         (sha256 

           (base32 

             "1dljwilv3640l1c5vlg4isiq7qz8gqa2cjbvgv3p0p5wrd36669y")))) 

     (build-system cargo-build-system) 

     (arguments 

       `(#:cargo-inputs 

         (("rust-rand-core" ,rust-rand-core) 

          ("rust-serde" ,rust-serde)) 

         #:cargo-development-inputs 

         (("rust-autocfg" ,rust-autocfg) 

          ("rust-bincode" ,rust-bincode)))) 

     (home-page "https://crates.io/crates/rand_pcg") 

     (synopsis 

       "Selected PCG random number generators 

") 

     (description 

       "Selected PCG random number generators 

") 

     (license #f)))

Built succesfully:
/gnu/store/9mqdr7y0yqqh9q0ba4pbagix48aznp86-rust-rand-pcg-0.2.0

Cargo cannot find it when it is a dependency of a dependency for some 
reason:

starting phase `build'
error: no matching package named `autocfg` found
location searched: registry `https://github.com/rust-lang/crates.io-index`
required by package `rand_pcg v0.2.0`
     ... which is depended on by `rand v0.7.0 
(/tmp/guix-build-rust-rand-0.7.0.drv-0/rand-0.7.0)`

It seems to be missing in the guix-vendor directory:
$ ls /tmp/guix-build-rust-rand-0.7.0.drv-2/rand-0.7.0/guix-vendor/ -1 
|grep auto

Which contains this:
$ ls /tmp/guix-build-rust-rand-0.7.0.drv-2/rand-0.7.0/guix-vendor/ -1
034x4n8i3myvmjkv3ymp6d19572bq7zs-rust-rand-isaac-0.2.0.tar.gz
03xd5c4zipcrvv5z2lf71j1f0l79zpxv-rust-proc-macro-nested-0.1.3.tar.gz
0b6w1r982xgwggf9664cmpfk2k1jlibk-rust-iovec-0.1.2.tar.gz
1fndxnsmwv9rc97r4ad5ik4sbawcsy48-rust-rand-xoshiro-0.3.0.tar.gz
1i6hp3kw9ygsqnra3njb335hbhd3wh16-rust-generic-array-0.13.0.tar.gz
1iy73v0m06hgnc47yphvg4y8i39ykni2-rust-winapi-0.3.7.tar.gz
23xv07r9kb8z25qc644b8lzvcnfijpq7-rust-stream-cipher-0.3.0.tar.gz
284y0i1fckk47wrfp29dv5xj81c5jm1m-rust-typenum-1.10.0.tar.gz
28rs1f64vxv9msvanp95l63cxns32c29-rust-discard-1.0.4.tar.gz
2ijhz12dgzkfn61d5lji83srpg5c9pkm-rust-rand-pcg-0.2.0.tar.gz
35xqi5mml9p1mmnday9r6rmgs68rpgdx-rust-ppv-lite86-0.2.5.tar.gz
39gyji21c2s71h32zsf8vpssg48bld60-rust-futures-io-preview-0.3.0-alpha.16.tar.gz
3ijfk23k9sl159cijl038w8nr804bipa-rust-rand-xorshift-0.2.0.tar.gz
3x2avqcwrh8n80vgihp5i6sv03ihap8f-rust-quote-0.6.12.tar.gz
3xcq8g1k6k0267a0w4kb88gkdi93zyd0-rust-wasm-bindgen-backend-0.2.47.tar.gz
4bqcai0fw7918gcwha7iiakqb0z66fhr-rust-itoa-0.4.4.tar.gz
4hv9rn0v3a4k21ycgaxz12m5jjd5hf2c-rust-core-arch-0.1.5.tar.gz
50rkzy280j01i449p5rij7fzmdxwnz5y-rust-proc-macro-hack-0.5.7.tar.gz
5zvb6m1m4w72518nq36m0i4cd1k50yl5-rust-pin-utils-0.1.0-alpha.4.tar.gz
6l21cpq23s52gwpwvgvrjvdxnk20m3bn-rust-blobby-0.1.2.tar.gz
6np7n3k6yzf4abnms96ydk1xsj2y7f87-rust-unicode-xid-0.1.0.tar.gz
7ivcy5xazmrl0x9sndgyqwb2kgy34h6z-rust-rand-hc-0.2.0.tar.gz
7zcfd6bgjmspzasb6h682phjpsnl9qd8-rust-c2-chacha-0.2.2.tar.gz
814in3q897lrjn28z44ackyvdzbq3dic-rust-winapi-i686-pc-windows-gnu-0.4.0.tar.gz
887zniyw54qm623i80vzyalgfafykdqm-rust-futures-core-preview-0.3.0-alpha.16.tar.gz
88v4kzciqmz1ps6mmdv7z5viw4z91qpq-rust-packed-simd-0.3.3.tar.gz
89hq78pxjwviqbn158sna2rbv60wmzgq-rust-wasm-bindgen-macro-support-0.2.47.tar.gz
8c4s2vb0g0w9z0hmhajnl87vpwd0zr95-rust-fuchsia-cprng-0.1.1.tar.gz
8j4596z4rmx20dz7n2ksj85b4xwcj82n-rust-no-panic-0.1.10.tar.gz
8zrx5cb9k5j40xvkkm26mxcbssmj4q5w-rust-spin-0.5.0.tar.gz
9v9fn8pxga2s62abp01b6bnm48aqm31h-rust-proc-macro2-0.4.30.tar.gz
9xmsk8wgh4x00yv8sm814qfz7y2illdg-rust-sha1-0.6.0.tar.gz
a0qiiii25rai2f8m7dp3qyiym105jq4l-rust-rustc-std-workspace-core-1.0.0.tar.gz
aqzplg1gkgicgvkmwfil1sj8blp46x4r-rust-futures-sink-preview-0.3.0-alpha.16.tar.gz
arvqax1rx6l77fvs6yiqrxk7s3lnpf8l-rust-rand-0.7.0.tar.gz
b3kkqrqdax2pmj91zpnkxxi7rzrj938a-rust-tokio-io-0.1.12.tar.gz
b60bz8gvxbrh8kk4wa27mkpwkri8aiym-rust-futures-util-preview-0.3.0-alpha.16.tar.gz
bps30q8cy6r18a9rxp21962hbrvsfrch-rust-byteorder-1.3.2.tar.gz
c14ya6ar7c45xdqr74aww12xk64n3h79-rust-winapi-x86-64-pc-windows-gnu-0.4.0.tar.gz
cfakwfgalsb0xrjy720m0j50afznccf3-rust-rand-chacha-0.2.0.tar.gz
ddimmgrxscz3a8y8413r994cjn8p73yf-rust-cloudabi-0.0.3.tar.gz
f27731si4sc45gv64agpz5s57s5ac3k4-rust-serde-json-1.0.39.tar.gz
f4h94l6ljcdmbxis5gzql7ani97vivr7-rust-syn-0.15.36.tar.gz
f59c4pp8k0xnlpq0l1wm99hpdjcyv0k3-rust-log-0.4.6.tar.gz
f94hizdiczyz9nzzxbm2lb5r01i7g03x-rust-bumpalo-2.4.3.tar.gz
gqj9d8l9h667vfygl1006k372irrgxsg-rust-wasm-bindgen-macro-0.2.47.tar.gz
gqmcc1ywp0syibbzr35rczwzban053bn-rust-rand-core-0.5.0.tar.gz
h01aj6kr4j09y8hczqv4daar1ndf49dy-rust-serde-derive-1.0.92.tar.gz
h1q966x6y47kxgcxmvh7j5qv7fsc2k8w-rust-either-1.5.2.tar.gz
h5rlrwczhij9gkvw6z24mficbp1zrgwj-rust-futures-channel-preview-0.3.0-alpha.16.tar.gz
ila4gbnrpz4x5id868aparckfk4vb169-rust-ryu-0.2.8.tar.gz
kv06lhvddv6414d00fzsfbm90fy16qdq-rust-futures-select-macro-preview-0.3.0-alpha.16.tar.gz
kym5nf8sn86xaalpqx8nyv7xhjvnms7m-rust-libc-0.2.58.tar.gz
lpq63d6wg1g3kbadkbaagby1pkis6idc-rust-stdweb-internal-runtime-0.1.4.tar.gz
lvcb77lnfassdxld9czvcysg4mgv8bni-rust-stdweb-derive-0.5.1.tar.gz
n58x8mk64xdinkl48vdnj4r2vhz6mibv-rust-serde-1.0.92.tar.gz
nlck01s3z87i5cg46i58wvqp2jqh9rrb-rust-lazy-static-1.3.0.tar.gz
pyc1m2krsa01brnmmhp90wx0mfnq76zr-rust-wasm-bindgen-shared-0.2.47.tar.gz
qimw16af0wj7ni9zpz8i658ajqc0ijnl-rust-getrandom-0.1.3.tar.gz
riiwnrm9mvrfsdjcbg6bjqy32vg3jd6l-rust-bytes-0.4.12.tar.gz
s3m0xl87y896mmkyrggblazpzpz70n4h-rust-num-cpus-1.10.1.tar.gz
sfv6hfvkw758bipikibmxv660h7rqsd7-rust-cfg-if-0.1.9.tar.gz
w11jlzwf651i4lgl9n5gx3i790fdi53g-rust-indexmap-1.0.2.tar.gz
w3y8hhvgn6qk7sfh0jbhcnldyk8p1jvw-rust-stdweb-0.4.17.tar.gz
w58qvp7a4zh4ya9r8qsf3y80fcb7mqyr-rust-memchr-2.2.0.tar.gz
vcd5wpbkwaq6qv5pl61l2l8h4fp0yfm1-rust-stdweb-internal-macros-0.2.7.tar.gz
vmavixzi4fjbhj5irn96ycapx3zndkki-rust-futures-0.1.27.tar.gz
wqfi720xc7c64xm8c38jkqqgnyjvayjz-rust-slab-0.4.2.tar.gz
vynzkgjr7mcpi3j7hr36739bq5643d3y-rust-futures-executor-preview-0.3.0-alpha.16.tar.gz
xbbw6p4j2vw5ba3i7rbyjl7yilqy0vak-rust-wasm-bindgen-0.2.47.tar.gz
y0r3rsndbs9ai9dixnl6004scv1ccgbq-rust-base-x-0.2.5.tar.gz
z041qw8r4hd92r62zj82ccn4piar6f0x-rust-bitflags-1.1.0.tar.gz
z6f6xaz94lxcv2nfk9gwf3sdp0mbf6hh-rust-sleef-sys-0.1.2.tar.gz

-- 
Cheers Swedebugia