On 5/17/23 16:56, Jude DaShiell wrote:
I found pipenv works well. A package jrnl wouldn't run once built with
pip but does run inside pipenv. This creates a virtual environment for
building and running packages so once jrnl got built doing pipenv run jrnl
runs the program.
I'm now following how the above helps package maintainers. Quite
possibly I'm missing something.
To build a package, makepkg first builds the wheel within the build()
macro in PKGBUILD, then the next step is the install() macro which
installs the wheel into $pkgdir. These are then wrapped into the package
file (foo.zst)
At present this is accomplished (say) by using for the install part
something like
pip --root $pkgdir dist/*.whl
which changes the default install "root" from /usr to $pkgdir. The newly
created package now has all the right files so that the package
(foo.zst) is installable using pacman once its in available in a repo etc.
If foo has an executable, then it should be in a standard place
(/usr/bin or possibly /usr/local/bin) - no venv's should be needed by
any user that installed the package.
Best
gene