Third-party package managers like pip from [email protected] #5593
Unanswered
xyzzy-plugh-plover
asked this question in
Tap maintenance and brew development
Replies: 1 comment 5 replies
-
So this proposal is a bit odd to me for two reasons:
I'm not sure what the benefit of this system would be. I think for those reasons it might be easier to start this off as a custom command and if it proves popular you can try and add it to brew |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Output of
brew config
Output of
brew doctor
Description of issue
Would the following proposal be a useful way for brew to handle third-party package managers that are included in a formula/cask (like pip from
[email protected]
)?Instead of requiring formulae to be manually created for external packages (like
cffi
for the cffi Python package from pip), allow any package from any supported third-party package manager to be interacted with in brew via adapters to the package manager (the adapters would be supplied by the formula for the package manager).The packages would be referenced in brew via a generalized formula naming convention like the following (exact syntax could be modified):
No manual formula would be required for
[email protected]~cffi
, which would replace the existingcffi
formula. Adapter code for[email protected]
would forward variousbrew
subcommands topip3.12
for any formula whose name begins with[email protected]~
(likebrew info [email protected]~cffi
getting info frompip3.12 show cffi
, orbrew list
getting info frompip3.12 list
).If an external package requires additional processing by brew that must be manually specified, then a formula could be manually made for it (e.g.,
[email protected]~cffi.rb
), but the default would be handling external packages without manual formulae.If brew needs to perform any additional actions besides just forwarding calls to pip, then, to allow other code to call
pip*
from the command line as per usual (instead of requiringbrew
to be called to manage Python packages), wrappers for all pip executables/scripts would be provided by the[email protected]
formula to be put on thePATH
. The wrappers would perform all processing necessary for Python packages to be properly integrated with brew (e.g., ifpip uninstall
warns about uninstalling packages that other packages depend on,pip3.12 uninstall cffi
could warn if a brew formula depends oncffi
, even if no pip packages depend oncffi
).The same could be done for other formulae or casks that either are, or include, an external package manager.
Beta Was this translation helpful? Give feedback.
All reactions