libmir / dcv

Computer Vision Library for D Programming Language
http://dcv.dlang.io/
Boost Software License 1.0
91 stars 18 forks source link

cannot use dcv dependency in a dub.json, http://code.dlang.org/packages/dcv.json broken #106

Closed timotheecour closed 4 months ago

timotheecour commented 7 years ago

@9il @ljubobratovicrelja

Using dcv inside a dub.json causes a world of pain and breaks often, with weird non-reproducible behaviors; eg you can try with:

  "dependencies": {
    "vibe-d": "~>0.7.30",
    "ggplotd": "~>1.1.3",
    "msgpack-d": "~>1.0.0-beta.6",
    "msgpack-rpc": "~>0.1.2",
    "dproto": "~>2.1.1",
    "dcv": "~>0.2.0",
    "dub": "~>1.3.0",
    "mir": "~>1.1.0",
  },

The published dcv.json seems wrong, eg:

curl http://code.dlang.org/packages/dcv.json reveals that it contains paths, eg:

"dependencies":{"dcv":{"path":"../../","version":">=0.0.0"}}}
{"path":"../../","version":">=0.0.0"}}}],"importPaths":["source/"],"name":"dcv","version":"0.1.1","license":"BSL-1.0","copyright":"Copyright © 2016, Relja Ljubobratovic","readmeFile":"/README.md","date":"2016-08-21T17:20:05Z","description":"Computer vision library for D programming language.","commitID":"27e54474cc6b3270fb0d4228790e1692193dcb7d","libs":["gl","glfw"],"dependencies":{"mir":">=0.16.0-alpha8 <0.17.0","imageformats":"~>5.2.0","scid":"~>0.3.0","ffmpeg-d":"2.5.0","ggplotd":"~>0.9.4"},"sourcePaths":["source/"]},{"packageDescriptionFile":"dub.json","authors":["Relja Ljubobratovic"],"configurations":[{"name":"d_source_library","targetType":"sourceLibrary"}],"subPackages":[{"packageDescriptionFile":"dub.json","authors":["Relja Ljubobratovic"],"name":"filter","path":"examples/filter/","copyright":"Copyright © 2016, Relja Ljubobratovic","description":"Image filtering example for DCV library.","dependencies":{"dcv":{"path":"../../","version":">=0.0.0"}}},{"packageDescriptionFile":"dub.json","authors":["relja"],"name":"imgmanip","path":"examples/imgmanip/","copyright":"Copyright © 2016, relja","description":"A minimal D application.","dependencies":{"dcv":{"path":"../../","version":">=0.0.0"}}},

@s-ludwig does this king of package make sense? Shouldn't that be rejected automatically (either at publish time or when dub compiles such a package)? it seems to create hard to find bugs and non-reproducible results.