Poudriere is unable to build the www/uwsgi port with the PSGI option enabled, because Perl isn't present in Poudriere's build jail. If you just "cd /usr/ports/www/uwsgi; make install" and select PSGI, it builds and runs just fine as long as Perl is installed. Looks like the port doesn't pull Perl in as a build dependency when PSGI is enabled.
adding "perl5" to USES in the port Makefile is the workaround/fix. I'm trying to figure out how to (temporarily) get that into Poudriere's setname-make.conf file, but no success yet.
....anyone?
I am probably not the best person that can help you about that, but since no one else has answered you, I will give it a try. I think I do not understand your problem completely. Maybe we use poudriere in a different way. What I would do is create a new port tree (or use an existing one) with "poudriere ports -c -p new_porttree_name" then add USES+= perl5 to /usr/local/poudriere/ports/new_porttree_name/www/uwsgi/Makefile and then I could install the port from there or make a package or wathever. For example, to make a package I would do as follows: - configure the port with the options I want by running "poudriere options -p new_porttree_name www/uwsgi"; - make the package with "poudriere bulk -j you_jail_name -p new_porttree_name www/uwsgi". I would then find the package in /usr/local/poudriere/data/packages/you_jail_name-new_porttree_name/All/. Why do you want to add anything to setname-make.conf? And what are you trying to achieve?
Created attachment 196952 [details] diff file with conditional USES+= perl5 I tested the port myself: I confirm that it is broken due to a missing dependency from perl and that Mike Andrew's workaround works. However, this is only a workaround and should not be used to modify the Makefile because it introduces a dependency to perl whatever are the options set. I modified the Makefile adding USES+= perl5 when and only when the PSGI option is selected: you find the modifications in the diff file.
Comment on attachment 196952 [details] diff file with conditional USES+= perl5 This patch works for me.
Created attachment 196955 [details] Better style patch This patch is the same than "diff file witch conditional USES+= perl5" but with a better style. (instead of .include <bsd.port.options.mk> etc. it uses PSGI_USES)
Comment on attachment 196955 [details] Better style patch fwiw if I put this into my poudriere make.conf: .if ${.CURDIR:M*/www/uwsgi} PSGI_USES= perl5 .endif it works. So, I have a temporary workaround until this one gets committed.
Committed, thanks!
A commit references this bug: Author: pi Date: Sun Mar 3 12:50:55 UTC 2019 New revision: 494507 URL: https://svnweb.freebsd.org/changeset/ports/494507 Log: www/uwsgi: add USES=perl5 if PSGI option is selected PR: 229771 Submitted by: Lorenzo Salvadore <phascolarctos@protonmail.ch> Reported by: Mike Andrews <mandrews@bit0.com> Approved by: eugene@zhegan.in (maintainer timeout) Changes: head/www/uwsgi/Makefile