cartr / homebrew-qt4

Homebrew tap for Qt4 and dependent formulae on Sierra
BSD 2-Clause "Simplified" License
105 stars 42 forks source link

Name conflict - resolve by using Homebrew versions #16

Closed bblacey closed 7 years ago

bblacey commented 7 years ago

Carter, FreeCAD is migrating to Qt5 but for licensing reasons we must use Pyside (i.e we can not use PyQt). Qt.io took over the Pyside project as of version 2 that is required for Qt 5.x and has breathed new life into the project. I have created formula for Shiboken, Pyside and Pyside-tools for the qt.io 2.0-dev branch. Long story short, I run into name conflicts when tapping your Qt4 repo and trying to install shiboken.

$ brew install --only-dependencies freecad/freecad/freecad --with-qt4
==> Installing freecad from freecad/freecad
==> Installing dependencies for freecad/freecad/freecad: cartr/qt4/shiboken, cartr/qt4/pyside, cartr/qt4/pyside-tools
==> Installing freecad/freecad/freecad dependency: cartr/qt4/shiboken
==> Downloading https://dl.bintray.com/cartr/bottle-qt4/shiboken-1.2.2.yosemite.bottle.2.tar.gz
Already downloaded: /Users/blacey/Library/Caches/Homebrew/shiboken-1.2.2.yosemite.bottle.2.tar.gz
==> Pouring shiboken-1.2.2.yosemite.bottle.2.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Formulae found in multiple taps: 
 * cartr/qt4/shiboken
 * freecad/freecad/shiboken

Please use the fully-qualified name e.g. cartr/qt4/shiboken to refer the formula.
Error: Formulae found in multiple taps: 
 * cartr/qt4/shiboken
 * freecad/freecad/shiboken

Please use the fully-qualified name e.g. cartr/qt4/shiboken to refer the formula.
VMWare-10:homebrew-freecad blacey$ vi shiboken.rb 
VMWare-10:homebrew-freecad blacey$ brew link cartr/qt4/shiboken
Linking /usr/local/Cellar/shiboken/1.2.2... Error: Formulae found in multiple taps: 
 * cartr/qt4/shiboken
 * freecad/freecad/shiboken

Please use the fully-qualified name e.g. cartr/qt4/shiboken to refer the formula.

I see several options:

1) Rename the formula here to pyside@1.2, shiboken@1.2, pyside-tools@1.2. This will be future-proof because with the new qt.io vigor for pyside, I plan to submit the pyside formula to HomeBrew once qt.io achieves qt5.7 compatibility (the Home-brew Qt default). Currently qt.io only supports Qt 5.5.x and Qt 5.6.x because shiboken can not yet handle c++11 syntax but that is actively under development. 2) Rename the formula in FreeCAD/freecad to shiboken@2, pyside@2, pyside-tools@2 or some other unique name. This is a work-around and does not follow the Homebrew naming convention where older, non-default, formula use version numbers. Furthermore, I will have to change the names when I ultimately submit the formula to Homebrew. 3) Move the FreeCAD Qt formula to a new repo FreeCAD/homebrew-qt5 to avoid collisions.

Do you see any other options/solutions? If not, are you open to option 1? I'de be happy to prepare a PR with the name changes and rebottle as needed but would want to do it fairly quickly to minimize the impact of the collisions we are experiencing.

cartr commented 7 years ago

I'd be happy to accept a pull request that implements option 1.

With regard to bottling, I'm curious as to how you're making bottles for the older OS versions. Do you just have Macs lying around with the older versions, or is there a virtual-machine program you use?

bblacey commented 7 years ago

Excellent. I will prepare a PR for option 1. For versions, do you want fully-qualified versions or what I proposed? For example shiboken@1.2.2 or shiboken@1.2. The later will be immune to patch releases and probably sufficient but let me know at your earliest convenience.

With respect to bottling, I use VMWare to build the bottles on various OSes. I will follow the process we used last time - create the bottles and upload them for your access but I will have to upload them to my bintray account because GitHub does not permit '@' in a filename.

cartr commented 7 years ago

I think shiboken@1, pyside@1, pyside-tools@1 might be simplest, but I'm not super-familiar with PySide's versioning system so I'm willing to go with what you suggested if you think it'd be better.

bblacey commented 7 years ago

Interesting option but a bit non-standard for the Homebrew versioning conventions - I think it would more accurate and closer to the established conventions if we use "@1.2".

cartr commented 7 years ago

Sure, then @1.2 is fine.

bblacey commented 7 years ago

Thanks. I'm working on it now.

bblacey commented 7 years ago

Carter, it looks like I need to rename coin as well because I have developed a coin 4.0 formula that I also plan to contribute once the upstream team addresses two patches that I submitted. Do you mind if I rename the coin formula as well?

cartr commented 7 years ago

Sure, no problem. Thanks for putting in all this work to get these renamed!

bblacey commented 7 years ago

PR #17 submitted. Bottles uploaded to https://bintray.com/bblacey/Cartr/bottles/1.2#files

bblacey commented 7 years ago

Everything looks good with the name changes applied. No more name conflicts with aforementioned formulae. Thanks.