Package Base Details: virtualfish

Git Clone URL: https://aur.archlinux.org/virtualfish.git (read-only)
Keywords: environment fish python virtual
Submitter: XenGi
Maintainer: XenGi
Last Packager: XenGi
Votes: 2
Popularity: 0.003526
First Submitted: 2017-09-24 15:17
Last Updated: 2018-10-23 19:39

Latest Comments

XenGi commented on 2018-10-23 19:35

@efficientbug this is a split package. That means it builds both, the python2 and the python3 version. After that it only installs the one you want. So if you want the python3 version just do a:

$aur_helper -S python-virtualfish

And for the python2 version use:

$aur_helper -S python2-virtualfish

There is no need to do:

$aur_helper -S virtualfish

After that you can use the virtualfish tool to create python2 and python3 virtualenvs with the -p flag.

efficientbug commented on 2018-10-23 02:20

Thanks for the package! However, I'm a bit confused about all the makedeps, why would I need python2 dependencies on this package if there's a separate python2-virtualfish? Arch defaults to Python 3 anyway, and I don't believe anything else is required even if you change the -p flag to use another version of Python.

eschwartz commented on 2018-07-02 12:56

Thanks, that looks much better.

FWIW, my solution to split package dependency duplication can best be seen here: https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/python-pip&id=4c4d5a582da433dfb7b3ebde701a1c6ce4a7fc04#n13

python-pip has 17 dependencies, which are then duplicated across python/python2

setuptools itself does the same with 2 dependencies and 7 checkdepends... https://git.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/python-setuptools&id=d6afbec6050b4616c1893e14411d56c263883d4c

XenGi commented on 2018-07-02 12:31

thx Eli, I hope this is correct now. python split packages are a bit of a mess. ;)

eschwartz commented on 2018-07-01 15:04

Uh.

That's not how it works.

This package abuses depends=() to provide makedepends

They do, all four of them, need to be makedepends... And makedepends inside the package_*() function is not makepkg metadata, it is just line noise. You might as well define the useless variable uselessvariable=('python-setuptools'), because inside a package function they both do the same (i.e. nothing).

Incidentally, the setup.py claims that this depends on python-xdg and python-psutil (for the new loader that does not ask you to eval things in your shell configuration, which is slow.)

So you'll need to add all of these dependencies for both python and python2, to the global makedepends, then additionally add all of them for python to the package_python-virtualfish() depends, and likewise for the python2 ones in package_python2-virtualfish.

setuptools is absolutely a runtime dependency, as it uses automatic script creation per https://wiki.archlinux.org/index.php/Python_package_guidelines#setuptools

XenGi commented on 2018-07-01 14:40

Fixed it. Thx for helping out!

eschwartz commented on 2018-01-28 18:29

This package abuses depends=() to provide makedepends, and then overwrites the depends=() array in the split package functions.

Please fix this by properly using makedepends, as this breaks reliable determination of the build dependency tree.