On 2/27/19 10:25 PM, Drew DeVault via aur-general wrote:
Aye, this is first I've heard of namcap. Is there a reason that this isn't included with makepkg by default?
It brings a hard dependency on python, and its output is often useful but also often not -- for example when it tries to calculate "needed dependencies", it will more or less accurately tell you what you need for shared library linkage, then tell you that all other dependencies are "unnecessary" (this does not work out remotely well for any python software). However, devtools does utilize namcap as an optional post-build step in makechrootpkg, and enforces it when using the extra-x86_64 build wrapper (so you will always see namcap warnings when building official repository packages). There are also thoughts about reimplementing it as libmakepkg extensions.
I updated several of the packages you mentioned to address your feedback, and ran namcap on them. Can you take another look when you have time?
Regarding your Python feedback in particular, I appreciate the tips - I have a lot of Python packages I need to make but have found resources for making Arch Linux packages for Python software to be somewhat lacking. I put a note on my todo list to take the feedback on these AUR packages and summarize them for the Arch Wiki.
https://wiki.archlinux.org/index.php/Python_package_guidelines
It can often be difficult to know from an inside perspective, what needs to be documented -- I thought that that Python page was pretty decent though. It definitely mentions the setuptools bit. I guess the difference between PyPI and Github sources could be clarified, but really I'd much rather upstreams would get in the habit of using a MANIFEST.in which ensured the license and testsuite was correctly included in the source dist. Maybe it would help to add a section on how to parse dependencies from a setup.py or requirements.txt?
It may be abandoned but I actually do remember why I need this package - and I still do. The test suite runs on Python 3 but you have to jump through some hoops - setup.py runs the whole codebase through 2to3 before installing. Jumped through said hoops and updated the package.
Ancient software written back when people thought 2to3 was a good idea is the bane of us all. :D -- Eli Schwartz Bug Wrangler and Trusted User