On 2019-11-28 12:22, Efraim Flashner wrote: > On Wed, Nov 27, 2019 at 04:36:20PM -0800, mjbecze@riseup.net wrote: >> >> > I'd love to see what you have so far if you want to share >> >> Okie Dokie, I posted it and cc'd ya. >> >> Also I took a look at your patches. >> 0001-import-crate-Don-t-include-optional-dependencies.patch should work >> just fine with my patch. But >> 0003-import-crate-Honor-versioned-dependencies-when-impor.patch will not >> work. >> >> I took a different route here with the naming. If you are interested take >> a look take a look at my second patch. (recusive-import-semver) only will >> add the version number to the name if the crate being imported is not the >> latest version. I thought this was more inline with the canonical names, >> but if always adding version number the export symbol is desirable it will >> simplify things. >> > > I'll take a look at it in a minute. I figured with the versioned > requirements we would always want to be specific in version numbers for > crate dependents so I figured it made sense. Also, if we did want to > provide an unversioned '-latest' version we could declare an extra > variable '(define-public rust-libc rust-libc-0.2)' and now rust-libc > points to rust-libc-0.2. > >> Also I added a function (find-packages-by-name*/direct) to packages.scm >> which will return the export symbol of a package that already exists. I >> use this in case there are some non-canocal export name already added. >> I added the no-optional-dep logic to the recusive-semver patch (https://issues.guix.gnu.org/issue/38408), but it seems to break packages. I'm testing on the recursive importer on "hello-cli". Attach is the patch to add the logic and the before and after output for "guix import crate -r hello-cli". Removing all the optional deps breaks clap here for some reason which I haven't figured out.