Skip to content

Publish the executable on crates.io #398

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
kkimdev opened this issue Jan 14, 2017 · 34 comments
Closed

Publish the executable on crates.io #398

kkimdev opened this issue Jan 14, 2017 · 34 comments

Comments

@kkimdev
Copy link

kkimdev commented Jan 14, 2017

Since this is a useful library that is used in also many non-servo projects, I think it will be convinient to have it in crates.io. Then also we can do cargo install servo-rust-bindgen .

@emilio
Copy link
Contributor

emilio commented Jan 15, 2017 via email

@kkimdev
Copy link
Author

kkimdev commented Jan 15, 2017

Oh, didn't know that. :). Not a big deal but executable will be little more convenient for me too, as normally I first need to use command line bindgen and try different options to make it actually work.

@emilio emilio changed the title publish on crates.io ? Publish the executable on crates.io Jan 15, 2017
@emilio
Copy link
Contributor

emilio commented Jan 15, 2017

I think at this point we should also publish the executable. I guess the ideal name would be bindgen, but I don't know...

@Yamakaky, from skimming a few issues at https://github.com/Yamakaky/rust-bindgen, it seems really broken in newer libclang versions. Do you think we should finally coalesce both repos into this one and close #21?

@Yamakaky
Copy link
Contributor

I think so. I don't remember, are there still features missing compared to the other repo?
My main concern was also the requirement for a clang 3.9, even if you only use C.

@emilio
Copy link
Contributor

emilio commented Jan 15, 2017

That's no longer the case since quite a while ago (#335). Now we should be able to use virtually any libclang version.

@Yamakaky
Copy link
Contributor

What should we do on crates.io then? Use bindgen for lib+bin, bindgen for bin and libbindgen for lib, something else? If we do the second, it may be confusing for current users of the upstream library.

@emilio
Copy link
Contributor

emilio commented Jan 18, 2017

Ok, so I replied by email here and it got lost apparently, sorry.

I think if the bindgen name becomes available we should use it, probably deprecating the name libbindgen or something.

We can't just remove libbindgen from crates.io because servo and Gecko uses it, but it seems reasonable to switch crates for an update.

@Yamakaky
Copy link
Contributor

Sure then. Could you make sure semver of your fork > semver of upstream ?
Also, could you add me to this repo?

@emilio
Copy link
Contributor

emilio commented Jan 19, 2017

Yeah, it's going to require a bit more work because we need to "unsplit" the crates, but meanwhile I've added you as a collaborator to this repo.

@Yamakaky
Copy link
Contributor

Cool. I also added you to upstream, it will be easier.

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

I think that moving forward we should ensure that we continue to have @bors-servo (and @highfive) support for the canonical bindgen repo. Maybe that means it is easier to use servo/rust-bindgen as the canonical repo, or maybe getting @bors-servo on non-servo org repos is easy enough.

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

I agree that it is definitely time we merged forks :)

@emilio
Copy link
Contributor

emilio commented Jan 19, 2017

My idea was be making this repo the canonical one tbh. Is that any concern?

@Yamakaky
Copy link
Contributor

I'm good with that.

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

+1

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

@Yamakaky can you also add me and @emilio to the crates.io owners? http://doc.crates.io/crates-io.html#cargo-owner

Thanks!

@Yamakaky
Copy link
Contributor

Done

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

What is left to complete the unforking?

All I can think of is:

  • Make servo/rust-bindgen not have "forked from Yamakaky/rust-bindgen" anymore

@Yamakaky
Copy link
Contributor

also, add a depreciation warning on upstream.

@emilio
Copy link
Contributor

emilio commented Jan 19, 2017

@fitzgen I think we need to contact github for that, do you mind doing that? Otherwise I can do it.

@tschneidereit
Copy link

I think we should at least consider moving it under the rust-lang org. I know that there's at least tentative interest in doing that. Not sure whom best to talk to from the Rust team about that.

@emilio
Copy link
Contributor

emilio commented Jan 19, 2017

I guess that works, though right now we depend on bors-servo for CI, and transferring a repo when there's no fork it's straight-forward (so it can be discussed and done later without the need to contact GitHub).

@tschneidereit
Copy link

transferring a repo when there's no fork it's straight-forward

That's a good point. It makes sense to do this now, and pursue a move to rust-lang afterwards.

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

I think we need to do something like http://stackoverflow.com/a/17366793

  • Import the yamakaky/rust-bindgen/master branch as 0.19.X or classic-bindgen or something for historical purposes
    • Question: are there any other branches whose history we should preserve?
  • Import all tags from yamakaky/rust-bindgen if there are tags we want to preserve
  • Finally, @Yamakaky, then you can delete the yamakaky/rust-bindgen repo and fork from this one

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

If everyone is on board, I'll start the historical import.

@emilio
Copy link
Contributor

emilio commented Jan 19, 2017

@fitzgen: I've already contacted github, and they're making this repo the canonical one.

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

Ah ok, great :)

@emilio
Copy link
Contributor

emilio commented Jan 19, 2017

It's done, yay! Now we need to manage all the renaming business.

@Yamakaky
Copy link
Contributor

Why fork this repo? Can't we just do a redirect from Yamakaky/rust-bindgen to servo/rust-bindgen?

@fitzgen
Copy link
Member

fitzgen commented Jan 19, 2017

@Yamakaky so you have somewhere to make pull requests from ;)

@Yamakaky
Copy link
Contributor

Right ^^
We also need to do an announcement, since it's a pretty big change.
Also, the header of the README could mention the classic-bindgen branch.

@Yamakaky
Copy link
Contributor

Any progress?

@emilio
Copy link
Contributor

emilio commented Jan 22, 2017

#414

@Yamakaky
Copy link
Contributor

Cool.

bors-servo pushed a commit that referenced this issue Jan 23, 2017
Reorganize the crate and rename to bindgen.

Fixes #398
Fixes #21

r? @fitzgen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants