libmir / mir

Mir (backports): Sparse tensors, Hoffman
http://mir.libmir.org
Boost Software License 1.0
210 stars 20 forks source link

Package mir contains invalid dependency cpuid (ci=1) #373

Closed timotheecour closed 7 years ago

timotheecour commented 7 years ago

i need to compile a project with dmd that depends on mir; that forces me to put "mir": "==0.17.0-alpha9", in dub.json; that old version probably required cpuid but now dub search cpuid only shows mir-cpuid (0.4.2) ; I am now getting this error: Package mir contains invalid dependency cpuid (ci=1)

What should we do? FYI @s-ludwig

indeed, https://code.dlang.org/packages/cpuid/0.2.6 seems unavailable

NOTE: a workaround could be to create a new git tag (eg:dmd_compat) with the fix, eg: "mir-cpuid": "~>0.4.2" in dub.json instead of "cpuid": "~>0.2.6"

more generally, we probably should not remove packages registered in dub that are still requried (as was the case for cpuid)

9il commented 7 years ago

I will return dmd support back

9il commented 7 years ago

but level 3 glas will be removed

9il commented 7 years ago

l3 requires LDC to compile. But can be linked as common C library with DMD

s-ludwig commented 7 years ago

@timotheecour: WRT to the cpuid module, it would be necessary to re-register it on code.dlang.org, either the original one, or a dummy package that forwards to mir-cpuid. At some point we should store all releases on code.dlang.org itself and keep them available even if the author removes the package, but for now renaming a package without breakage requires some care.

Edit: as a local workaround, dub add-override cpuid 0.2.6 /path/to/mir-cpuid should work as long as mir-cpuid is still API compatible or is checked out at a compatible revision.

9il commented 7 years ago

@timotheecour Fixed in Mir version v0.21.0. Please note, that GLAS level 3 was moved to https://github.com/libmir/mir-glas. GLAS L3 requires LDC for compilation, in the same time you can use it with DMD, because it has full binary compatibility and D/C headers like a common C library.