There is a `plugins` folder in the uwsgi source folder, which its included Makefile references. Its contents doesn't get built properly by the port, and there are no options for including them. Personally, I was most interested in building its `cgi` plugin. I've found that uwsgi offers a much nicer configuration/debugging experience than `fcgiwrap` and so was exploring using it in its place. My workaround is to build the port with > make UWSGI_EMBED_PLUGINS=cgi and then use `cgi-mode` instead of `plugins=cgi` in my uwsgi ini file.
Auto-assigned to maintainer demon@FreeBSD.org
Instead of embedding specific plugins, or creating ~120 uwsgi-plugin-<foo> ports right away, I would much rather go with a port uwsgi-plugins that has an option for using the different build configurations specified in ${WRKSRC}/buildconf/*.ini. Most of them seem to inherit from base - which is what www/uwsgi is built off at the moment - and the cgi.ini one looks much like the one Eli Gwynn could want.
In the short term, can we simply add "cgi = true" to files/patch-buildconf-base.ini? There are no new deps and I suspect it is a wanted default feature by many ports users.
I edited the port Makefile with: MAKE_ARGS= UWSGI_EMBED_PLUGINS=cgi It does what I need for now, and respects the ports patches to base.ini.
I enabled cgi plugin by default.
A commit references this bug: Author: demon Date: Sun Oct 25 12:17:28 UTC 2015 New revision: 400149 URL: https://svnweb.freebsd.org/changeset/ports/400149 Log: Build cgi plugin by default. PR: 197492 Requested by: kevin.bowling@kev009.com Changes: head/www/uwsgi/Makefile
For some reason cgi no longer works in 2.0.12. I had to move UWSGI_EMBED_PLUGINS=cgi to MAKE_ENV rather than MAKE_ARGS.
I moved it to MAKE_ENV, can you please test if it does work as expected?
A commit references this bug: Author: demon Date: Sat Jan 2 09:59:35 UTC 2016 New revision: 405059 URL: https://svnweb.freebsd.org/changeset/ports/405059 Log: Move UWSGI_EMBED_PLUGINS assignment to MAKE_ENV as submitter reports it does not works anymore is defined in MAKE_ARGS. PR: 197492 Submitted by: kevin.bowling@kev009.com Changes: head/www/uwsgi/Makefile
(In reply to Dmitry Sivachenko from comment #8) Yes, working as intended again thanks!
Stepped onto same issue. At this time www/uwsgi port is pretty much useless and clueless, unless python is all you need. In the same time there's an alternative port on GitHub, https://github.com/thomaslegg/uwsgi-stable-modular-port , which does contain all of the needed modules (at least for me, including python) and has ports options for them. I tested it - it works as intended, furthermore I'm using it. My opinion - it should be committed in the ports tree instead of the current one.
(In reply to emz from comment #11) Right now, in buildconf/base.ini there are a number of embedded_plugins which are included into uwsgi in current configuration. uwsgi-modular port you are referring to uses bulidconf/modular.ini, which redefines embedded_plugins to null, so only plugins explicitly listed in Makefile are built. So I do not understand why in current shape the port is "pretty much useless": if you are missing a particular plugin which required external library as a dependency, we can add it using OPTIONS framework. If it does not (like CGI), we can just compile it in unconditionally and that's it. As far as I can see it it's current shape uwsgi-modular provides much less plugins. May be I am missing something?
Port doesn't supply neither any informwation on installed plugins, nor any pkg-message on how to obtain them. CGI plugin doesn't work. Generic documentation doesn't operate any "embedded plugins". I am using FreeBSD in production for 16 years, but I'm not familiar with any "buildconf.ini" files, - it's like I'm in some god forsaken Ubuntu, or in Solaris, trying to build from sources. No port config either. At this moment this port structure and supplied plugins are evident and obvious only to it's author. I was kinda up for giving the port a second chance, but after serious consideration it still does look like a black box. I'm off to github one, at least it's more similar to the thing the FreeBSD port should look like.
Three years later, I hit the same problem. No Python plugin.
I have a proof of concept. Code review at https://reviews.freebsd.org/D22435 $ pkg info -l uwsgi uwsgi-2.0.16_4: /usr/local/bin/uwsgi /usr/local/bin/uwsgi-3.6 /usr/local/etc/rc.d/uwsgi /usr/local/lib/python3.6/site-packages/python_plugin.so /usr/local/lib/python3.6/site-packages/uwsgidecorators.py My clue came from https://marc.info/?l=uwsgi&m=146811498626046&w=2 We might want to use a plugins directory.