Comments (18)
to start achieving this you can first create a separate homebrew tap, and then as it is popular, request it to be merged in..
from conan.
Yes, I think is good idea to have it in brew. Maybe not necessary to creat a new tap, but use homebrew cask? what do you think about it?
from conan.
Personally, I would just create a formula and request it to be merged in Homebrew's main trunk, but I wouldn't care if it was in a tap too.
Homebrew casks are for .app applications, not simple command-line utilities. Clearly, conan
is the latter, which brings me to a separate issue. Right now, conan installs a bunch of stuff into your /Applications/conan
directory, which is really bad-behaved for a command line utility on OS X. It would be preferable for it to be a self-standing executable (like every single command line tool I know), and to leave the /Applications
folder alone.
Without exageration, I almost wet my pants when I saw this:
This is definitely not the canonical way of installing command-line utilities on OS X.
from conan.
By the way, if you provide me with a sensibly-packaged command-line utility, I don't mind creating the Homebrew formula. I've done it before, and I think it might be easier for me since you guys don't seem to be on OS X.
from conan.
We are using pyinstaller to create the conan client application from a bunch of python files. All those files are packaged there by pyinstaller and are required to run the application. It is true that pyinstaller can create a "single executable" file, but it is kind of fake, as it is just a container for all those files, explodes it for every invocation, and then delete those temporary files. The result: it is sensible slower as command than the "exploded" installation, so we chose the "exploded" one for the installer, and as it lives inside a "conan" folder, having there lots of files didn't feel a problem.
Also, the installer contains 2 executables, the client and the server, not just one. Most of the shared libraries included within that installation folder are shared by both client and server, so embedding them duplicated in client and server could probably cause issues while on the fly exploding them to run.
Thanks very much for your offer, please tell me what you think about the above issues, so we could try to provide both versions of the packaged command line utility, so you can try yourself and check if the loss in speed for the single file executable is acceptable.
from conan.
In the last homebrew community has been reluctant to take any packages and only those that are widely used. That's why I suggested the tap.
from conan.
As a first step, we will release the pyinstaller (creation of the binaries from python sources) stuff asap, so anybody can easily create binaries for their platform, and package creators can also create packages from such binaries for their respective systems. This should be in next release 0.5
from conan.
Sorry for the late reply; I had my end-of-semester exams.
Actually, perhaps a good option would be to make conan available through PyPI? So basically, one could just use pip install conan
instead of doing what the documentation says here.
Then, it would probably be straightforward to create a Homebrew formula that uses pip
to install conan, or even not provide a Homebrew formula at all. I'm not sure yet what's the best way to go for Python formulas on Homebrew; I know it's possible, but I think they recommend handling dependencies manually (and not relying on pip
), which would be a pain (and I'm not sure it's worth it).
Plus, having the package available through PyPI will benefit not only OS X users, but everyone. What do you think?
from conan.
@ldionne FWIW I like the pip approach. Homebrew would be the most convenient, but pip already goes a long way, especially when used with pipsi. I'd like to help if such an effort were to be undertaken.
from conan.
Thanks @ldionne for your interest, no need to apologize for late replies. Yes, I definitely think that providing a pip package is a good thing and should be easy to provide. Let's do both (releasing the creation of binaries from python and the pip package) for next release if possible. @bjoernpollex, thanks, we will probably try to address the pip package Monday or Tuesday, post here our progress. Feel free to advance things and propose, PR..., whatever contribution is valuable.
from conan.
@memsharded I just installed conan through pip, and it seems to work well. Do you know how can I uninstall what was installed by pyinstaller?
from conan.
Sure. Besides the Applications/conan folder, the only thing that the installer does is:
sudo ln -s -f /Applications/conan/conan /usr/local/bin/conan
sudo ln -s -f /Applications/conan/conan_server /usr/local/bin/conan_server
So removing Applications/conan folder and those 2 links, the system should be clean.
User conf and cached binaries packages are stored in ~/.conan. You might want to remove it too, though not necessary.
from conan.
Thanks! No need to remove ~/.conan
, since this is still used by the pip installation, correct?
from conan.
You are welcome. Yes, it is used by any installation of conan (source, pip, binary), no need to remove it, but if you remove it, it will be regenerated by next conan command.
I meant that typically there is no problem to remove this folder, unless you have made explicit changes to the default configuration files that live there, or you don't want to lose the local package binaries in the cache, because you have not uploaded them to a server yet.
from conan.
any feedback about the "pip install conan". Is it enough, or still a homebrew package should be the way to go?
from conan.
Installing through pip
seems to work fine. It is sufficient for my needs, and I'd be OK with closing this issue. We can always reopen it if someone really wants a Homebrew package.
from conan.
Great, thanks for your feedback!
from conan.
The brew package is available since 0.8.
from conan.
Related Issues (20)
- [question] compressing packages before exporting is taking forever with the CPU doing nothing HOT 1
- [question] Conan tries to download the latest revision from conan remote repository when using local repository HOT 9
- [question] ability to call cppstd helpers in conan.tools.build within a package_id() method HOT 1
- [feature] easy fallback at recipe create/build when cppstd is not invalid for building, but not for consuming
- [bug] detect_default_compiler fails in ubuntu 22 docker when cc is '/usr/bin/cc' HOT 5
- How to instruct Conan to generate conanbuild.csh files if using csh or tcsh as default shell. HOT 4
- [bug] conan new --help formatting issue HOT 1
- tell me what is this and how can i resolve this. HOT 1
- [question] CONAN_DISABLE_CHECK_COMPILER can be set via env var? HOT 1
- Conan to generate conanbuild.csh/tcsh files if using csh or tcsh as default shell.
- [bug] Chevron versions with prereleases include breaking changes HOT 4
- [question] Override requirements from command line HOT 5
- [question] Library header files can't be found HOT 3
- What is the correct setting for a package built with the Intel classic compilers part of the Intel oneAPI 2023.1 package? HOT 1
- [question] conan graph explain is unclear HOT 1
- [bug] editable mode broken for untypical header locations HOT 4
- [bug] libraries with components broken in editable mode HOT 3
- [question] Editable libs not removable if deleted HOT 5
- [question] `conan remove` pattern format HOT 1
- [bug] latest conan 2.3.0-git does not install `fftw` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conan.