On Tue, Feb 04, 2020 at 07:18:17AM -0500, Martin Becze wrote: > Here is the another version of the recursive semver crate importer! And hopefully the best one so far. The first 3 commits actully implement the and add semver support. The rest are mainly ergonomics such as > * triming version numbers from package name > * better deduplication of dependencies > * top level importing of development dependenies Wow, this is great! It makes it possible to get a (very close to) working rav1e package. The only things really missing are non-Rust dependencies of rav1e but I think that is not in scope for your importer. > I think it has incorpated the feedback i got from everyone so far, but if i forgot something or if there is more to add let me know! A minor bug: Sometimes if a dependency is already existing, the importer will construct its variable name incorrectly. For example, some of the packages I imported require version 2.33 of rust-clap. We already have this package, and the variable is named 'rust-clap-2', but the importer makes the packages depend on 'rust-clap-2.33'. It has to be adjusted by hand. You should be able to reproduce the bug with the following command. It doesn't matter if guile-semver is a hard dependency or autoloaded. `guix environment guix --ad-hoc guile-json guile-semver -- ./pre-inst-env guix import crate --recursive rav1e` Also, it prints the skip-build? argument on multiple lines, like this... #:skip-build? #t