bracket-lib icon indicating copy to clipboard operation
bracket-lib copied to clipboard

Bevy support doesn't appear to be usable

Open chris-janidlo opened this issue 3 years ago • 4 comments

I'm new to rust, so I might be missing something, but it appears that there isn't any way to install the bevy plugin, at least through cargo.toml. The bracket-bevy crate doesn't seem to have been uploaded to crates.io:

$ cargo add bracket-bevy
    Updating crates.io index
error: the crate `bracket-bevy` could not be found in registry index.

and the bevy feature in bracket-lib appears to be broken due to asking for the bevy feature from bracket-geometry, which doesn't exist:

[dependencies]
bevy = "0.9.1"
bracket-lib = { version = "0.8.7", features = ["bevy"] }
$ cargo run
    Blocking waiting for file lock on package cache
    Updating crates.io index
error: failed to select a version for `bracket-geometry`.
    ... required by package `bracket-lib v0.8.7`
    ... which satisfies dependency `bracket-lib = "^0.8.7"` of package `<>`
versions that meet the requirements `~0.8` are: 0.8.7, 0.8.3, 0.8.2, 0.8.1, 0.8.0

the package `bracket-lib` depends on `bracket-geometry`, with features: `bevy` but `bracket-geometry` does not have these features.


all possible versions conflict with previously selected packages.

  previously selected package `bevy v0.9.1`
    ... which satisfies dependency `bevy = "^0.9.1"` of package `<>`

failed to select a version for `bracket-geometry` which could resolve this conflict

chris-janidlo avatar Dec 15 '22 02:12 chris-janidlo

I'm also fairly new to Rust/Cargo so I don't necessarily have a good answer for why but removing your dependency for bevy = "0.9.1" should solve your issue. My guess is that the bracket-bevy crate only has a dependency for bevy = "0.9" and pinning it to bevy = "0.9.1" is too restrictive.

EDIT: The actual issue is that the main branch of bracket-lib specifies bevy v0.9 however, the bracket-lib that was published has bevy v0.8. If you specify your dependency instead as bracket-lib = { git = "https://github.com/amethyst/bracket-lib", features=["bevy"] }, you can use the version that is in the main branch. Not sure if this is necessarily stable though, but cargo build works.

nwilson314 avatar Dec 29 '22 00:12 nwilson314

I'll be back from vacation tomorrow, was going to do some updates.

I haven't published the crate (or its dependencies) yet, ran into a few minor issues to resolve.

It should work as a git dependency, probably with just bevy "0.9" - haven't had a chance to test 0.9.1 with it yet.

On Wed, Dec 28, 2022, 6:55 PM Nate Wilson @.***> wrote:

I'm also fairly new to Rust/Cargo so I don't necessarily have a good answer for why but removing your dependency for bevy = "0.9.1" should solve your issue. My guess is that the bracket-bevy crate only has a dependency for bevy = "0.9" and pinning it to bevy = "0.9.1" is too restrictive

— Reply to this email directly, view it on GitHub https://github.com/amethyst/bracket-lib/issues/324#issuecomment-1367005194, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADRU43ZHRX55W7C3V3Y7W2TWPTOOPANCNFSM6AAAAAAS7GVXBI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

thebracket avatar Dec 29 '22 01:12 thebracket

It looks like bracket-lib.features = ["bevy"] is broken.

But here's what works as of right now:

[dependencies]
bevy = { version = "0.9.1" }
bracket-bevy = { git = "https://github.com/amethyst/bracket-lib" }

sbaranov avatar Feb 09 '23 22:02 sbaranov

I have this mostly working now on 0.11.0, just waiting on a pull request. There are a couple of rare stability bugs I detailed that need to get ironed out first however.

IAmSegfault avatar Aug 09 '23 08:08 IAmSegfault