summaryrefslogtreecommitdiff
path: root/www/py-uwsgi
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2011-04-08 12:26:29 +0000
committeradam <adam@pkgsrc.org>2011-04-08 12:26:29 +0000
commit3c456fefd36fa67e9dcdc06eb5d227b89416acad (patch)
tree20b73564e971e5f4b1715742e68f4a6991758fe7 /www/py-uwsgi
parente3ded8e7b8ea97bce6fe5a8fefe1a85f40c9daff (diff)
downloadpkgsrc-3c456fefd36fa67e9dcdc06eb5d227b89416acad.tar.gz
Changes 0.9.7.2:
* new option --touch-reload <file> to reload the stack on <file> modification * --static-map <mountpoint=documentroot> allows to serve static files * fixed --post-limit management * disallow empty socket names * implemented exception_info WSGI support * new options --reload-on-as <n> and --reload-on-rss <n> allows to recycle workers when their memory usage is higher than <n> MB * fixed syslog support (use --log-syslog[=facility] to enable it) * improved plugin loading system * added support for RabbitMQ as event dispatcher for the Emperor * fixed FreeBSD memory report * PSGI plugin can be compiled without ithreads * various Emperor fixes * fixed a regression with setgroups() * support for shared sockets (used in jails within network namespaces)
Diffstat (limited to 'www/py-uwsgi')
-rw-r--r--www/py-uwsgi/Makefile33
-rw-r--r--www/py-uwsgi/distinfo11
-rw-r--r--www/py-uwsgi/patches/patch-plugins_python_uwsgi_pymodule.c24
-rw-r--r--www/py-uwsgi/patches/patch-utils.c53
-rw-r--r--www/py-uwsgi/patches/patch-uwsgi.h20
5 files changed, 113 insertions, 28 deletions
diff --git a/www/py-uwsgi/Makefile b/www/py-uwsgi/Makefile
index 6c720273c54..6621b1254a4 100644
--- a/www/py-uwsgi/Makefile
+++ b/www/py-uwsgi/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.7 2011/02/25 09:47:30 wiz Exp $
-#
+# $NetBSD: Makefile,v 1.8 2011/04/08 12:26:29 adam Exp $
-DISTNAME= uwsgi-0.9.4.4
+DISTNAME= uwsgi-0.9.7.2
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= www python
MASTER_SITES= http://projects.unbit.it/downloads/
@@ -9,34 +8,20 @@ MASTER_SITES= http://projects.unbit.it/downloads/
MAINTAINER= joerg@NetBSD.org
HOMEPAGE= http://projects.unbit.it/uwsgi
COMMENT= Feature-rich WSGI server
+LICENSE= gnu-gpl-v2
PKG_DESTDIR_SUPPORT= user-destdir
PYTHON_VERSIONS_ACCEPTED= 27 26 25
-LICENSE= gnu-gpl-v2
+USE_LANGUAGES= c
+PYDISTUTILSPKG= yes
-CFLAGS.python= ${PYTHONCONFIG} --cflags
-LDFLAGS.python= ${PYTHONCONFIG} --ldflags
-CFLAGS.libxml2= xml2-config --cflags
-LDFLAGS.libxml2= xml2-config --libs
+PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
-INSTALLATION_DIRS+= bin
+post-install:
+ mv ${DESTDIR}${PREFIX}/bin/uwsgi ${DESTDIR}${PREFIX}/bin/uwsgi-${PYVERSSUFFIX}
-PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
-
-.include "../../mk/bsd.prefs.mk"
-
-LDFLAGS+= -Wl,-rpath,${PREFIX}/lib -L${PREFIX}/lib
-do-build:
- cd ${WRKSRC} && \
- ${CC} -o uwsgi ${CFLAGS} ${CFLAGS.python:sh} ${CFLAGS.libxml2:sh} \
- protocol.c socket.c spooler.c utils.c uwsgi.c uwsgi_pymodule.c \
- ${LDFLAGS} ${LDFLAGS.python:sh} ${LDFLAGS.libxml2:sh}
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/uwsgi ${DESTDIR}${PREFIX}/bin/uwsgi-${PYVERSSUFFIX}
-
-.include "../../lang/python/pyversion.mk"
+.include "../../lang/python/extension.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/www/py-uwsgi/distinfo b/www/py-uwsgi/distinfo
index 67a0e8a033b..f657779e9e5 100644
--- a/www/py-uwsgi/distinfo
+++ b/www/py-uwsgi/distinfo
@@ -1,5 +1,8 @@
-$NetBSD: distinfo,v 1.4 2010/06/15 22:18:34 joerg Exp $
+$NetBSD: distinfo,v 1.5 2011/04/08 12:26:29 adam Exp $
-SHA1 (uwsgi-0.9.4.4.tar.gz) = 84ade184baab77f009baeac7af5940b91bd2016c
-RMD160 (uwsgi-0.9.4.4.tar.gz) = b248d11cf82c31388a18b01bad6a7ecbfc4b1fe0
-Size (uwsgi-0.9.4.4.tar.gz) = 82723 bytes
+SHA1 (uwsgi-0.9.7.2.tar.gz) = e279c2c597d349d9cf463bc4d226db7123c43342
+RMD160 (uwsgi-0.9.7.2.tar.gz) = a6f0a548d6db46230946ec0a33395d5f5b119a58
+Size (uwsgi-0.9.7.2.tar.gz) = 306218 bytes
+SHA1 (patch-plugins_python_uwsgi_pymodule.c) = eafbba58cb88aed40c6e15695af32e0b94c1ff38
+SHA1 (patch-utils.c) = a8c125a32f2d433619c29a93d5adf0e1cc91f038
+SHA1 (patch-uwsgi.h) = 44c55b56055fb956153ff1a85449b26550506e6e
diff --git a/www/py-uwsgi/patches/patch-plugins_python_uwsgi_pymodule.c b/www/py-uwsgi/patches/patch-plugins_python_uwsgi_pymodule.c
new file mode 100644
index 00000000000..3cedff78dd2
--- /dev/null
+++ b/www/py-uwsgi/patches/patch-plugins_python_uwsgi_pymodule.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-plugins_python_uwsgi_pymodule.c,v 1.1 2011/04/08 12:26:29 adam Exp $
+
+Fix compiler errors.
+
+--- plugins/python/uwsgi_pymodule.c.orig 2011-04-08 09:58:04.000000000 +0000
++++ plugins/python/uwsgi_pymodule.c
+@@ -343,7 +343,7 @@ PyObject *py_uwsgi_rpc(PyObject * self,
+ argv[i] = PyString_AsString(PyTuple_GetItem(args, i + 2));
+ }
+
+- if (node == (char *) "") {
++ if (node[0] == '\0') {
+ size = uwsgi_rpc(func, 0, NULL, buffer);
+ }
+ else {
+@@ -2662,7 +2662,7 @@ PyObject *py_uwsgi_queue_last(PyObject *
+ PyObject *py_uwsgi_cache_get(PyObject * self, PyObject * args) {
+
+ char *key;
+- uint64_t valsize;
++ uint64_t valsize = 0;
+ Py_ssize_t keylen = 0;
+ char *value = NULL;
+ char *remote = NULL;
diff --git a/www/py-uwsgi/patches/patch-utils.c b/www/py-uwsgi/patches/patch-utils.c
new file mode 100644
index 00000000000..9b17477c7b0
--- /dev/null
+++ b/www/py-uwsgi/patches/patch-utils.c
@@ -0,0 +1,53 @@
+$NetBSD: patch-utils.c,v 1.1 2011/04/08 12:26:29 adam Exp $
+
+Clang does not handle inlines across source files.
+
+--- utils.c.orig 2011-04-08 11:09:48.000000000 +0000
++++ utils.c
+@@ -726,7 +726,10 @@ void uwsgi_log_verbose(const char *fmt,
+ rlen = write(2, logpkt, rlen);
+ }
+
+-inline int uwsgi_strncmp(char *src, int slen, char *dst, int dlen) {
++#ifndef __clang__
++inline
++#endif
++int uwsgi_strncmp(char *src, int slen, char *dst, int dlen) {
+
+ if (slen != dlen) return 1;
+
+@@ -734,14 +737,20 @@ inline int uwsgi_strncmp(char *src, int
+
+ }
+
+-inline int uwsgi_starts_with(char *src, int slen, char *dst, int dlen) {
++#ifndef __clang__
++inline
++#endif
++int uwsgi_starts_with(char *src, int slen, char *dst, int dlen) {
+
+ if (slen < dlen) return -1;
+
+ return memcmp(src, dst, dlen);
+ }
+
+-inline int uwsgi_startswith(char *src, char *what, int wlen) {
++#ifndef __clang__
++inline
++#endif
++int uwsgi_startswith(char *src, char *what, int wlen) {
+
+ int i;
+
+@@ -1263,7 +1272,10 @@ int uwsgi_waitfd(int fd, int timeout) {
+ }
+
+
+-inline void *uwsgi_malloc(size_t size) {
++#ifndef __clang__
++inline
++#endif
++void *uwsgi_malloc(size_t size) {
+
+ char *ptr = malloc(size);
+ if (ptr == NULL) {
diff --git a/www/py-uwsgi/patches/patch-uwsgi.h b/www/py-uwsgi/patches/patch-uwsgi.h
new file mode 100644
index 00000000000..2ce37613466
--- /dev/null
+++ b/www/py-uwsgi/patches/patch-uwsgi.h
@@ -0,0 +1,20 @@
+$NetBSD: patch-uwsgi.h,v 1.1 2011/04/08 12:26:29 adam Exp $
+
+Clang does not handle inlines across source files.
+
+--- uwsgi.h.orig 2011-04-08 10:10:46.000000000 +0000
++++ uwsgi.h
+@@ -1710,8 +1710,13 @@ struct uwsgi_async_request {
+ struct uwsgi_async_request *next;
+ };
+
++#if __clang__
++int event_queue_read(void);
++int event_queue_write(void);
++#else
+ inline int event_queue_read(void);
+ inline int event_queue_write(void);
++#endif
+
+ void uwsgi_help(void);
+