diff --git a/security/zeronet/Makefile b/security/zeronet/Makefile index f6fc805f39d2..25b553c71621 100644 --- a/security/zeronet/Makefile +++ b/security/zeronet/Makefile @@ -1,76 +1,76 @@ # Created by: Yuri Victorovich PORTNAME= zeronet DISTVERSIONPREFIX= v DISTVERSION= 0.7.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security net-p2p MAINTAINER= yuri@FreeBSD.org COMMENT= Decentralized websites using Bitcoin crypto and BitTorrent network LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coincurve>0:security/py-coincurve@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}msgpack>0:devel/py-msgpack@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gevent>0:devel/py-gevent@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gevent-websocket>0:www/py-gevent-websocket@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}maxminddb>0:net/py-maxminddb@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}merkletools>0:security/py-merkletools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyasn1>0:devel/py-pyasn1@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyelliptic>0:security/py-pyelliptic@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pysocks>0:net/py-pysocks@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}python-bitcoinlib>0:finance/py-python-bitcoinlib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}rsa>0:security/py-rsa@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}stem>0:security/py-stem@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} SUB_FILES= zeronet-service zeronet-cmd pkg-message SUB_LIST= LOCALBASE=${LOCALBASE} USER=${USER} GROUP=${GROUP} PLIST_SUB= USER=${USER} GROUP=${GROUP} # ZeroNet hasn't been ported to Python 3 yet # https://github.com/HelloZeroNet/ZeroNet/issues/149 USES= python:3.6+ shebangfix SHEBANG_FILES= zeronet.py USE_GITHUB= yes GH_ACCOUNT= HelloZeroNet GH_PROJECT= ZeroNet NO_ARCH= yes OPTIONS_DEFINE= DEBUG DEBUG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}werkzeug>0:www/py-werkzeug@${PY_FLAVOR} .include USER= nobody GROUP= nobody post-patch: @${REINPLACE_CMD} -i '' -e 's|msgpack-python|msgpack|' ${WRKSRC}/requirements.txt do-build: @cd ${WRKSRC} && \ ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -d ${WRKSRC} -f ${WRKSRC} && \ ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ -d ${WRKSRC} -f ${WRKSRC} do-install: @${MKDIR} ${STAGEDIR}${DATADIR} @${CP} -R ${WRKSRC}/* ${STAGEDIR}${DATADIR}/ @${RM} `${FIND} ${STAGEDIR}${DATADIR} -name "*.orig"` @${RM} `${FIND} ${STAGEDIR}${DATADIR} -name LICENSE` @${RM} ${STAGEDIR}${DATADIR}/README*.md ${STAGEDIR}${DATADIR}/CHANGELOG*.md ${STAGEDIR}${DATADIR}/requirements.txt @${RM} ${STAGEDIR}${DATADIR}/Vagrantfile ${STAGEDIR}${DATADIR}/Dockerfile @${RM} -r `${FIND} ${STAGEDIR}${DATADIR} -name test` @${MKDIR} ${STAGEDIR}/var/db/zeronet @${MKDIR} ${STAGEDIR}/var/log/zeronet @${LN} -s /var/db/zeronet ${STAGEDIR}${DATADIR}/data @${LN} -s /var/log/zeronet ${STAGEDIR}${DATADIR}/log @${LN} -s /var/db/zeronet/zeronet.conf ${STAGEDIR}${DATADIR}/zeronet.conf # ZeroNet writes this file when it is used w/out the 'tor' option ${INSTALL_SCRIPT} ${WRKDIR}/zeronet-cmd ${STAGEDIR}${PREFIX}/bin/zeronet ${INSTALL_SCRIPT} ${WRKDIR}/zeronet-service ${STAGEDIR}${PREFIX}/etc/rc.d/zeronet .include diff --git a/security/zeronet/files/patch-src_Ui_UiServer.py b/security/zeronet/files/patch-src_Ui_UiServer.py index 8db78e50e5a4..cd9ce3363e4f 100644 --- a/security/zeronet/files/patch-src_Ui_UiServer.py +++ b/security/zeronet/files/patch-src_Ui_UiServer.py @@ -1,20 +1,31 @@ +- replace the deprecated function cgi.parse_qsl -> urllib.parse.parse_qsl +- alter message about debugging + --- src/Ui/UiServer.py.orig 2019-09-04 18:16:57 UTC +++ src/Ui/UiServer.py -@@ -133,7 +133,7 @@ class UiServer: +@@ -4,6 +4,7 @@ import cgi + import socket + import sys + import gevent ++import urllib + + from gevent.pywsgi import WSGIServer + from gevent.pywsgi import WSGIHandler +@@ -95,7 +96,7 @@ class UiServer: + def handleRequest(self, env, start_response): + path = bytes(env["PATH_INFO"], "raw-unicode-escape").decode("utf8") + if env.get("QUERY_STRING"): +- get = dict(cgi.parse_qsl(env['QUERY_STRING'])) ++ get = dict(urllib.parse.parse_qsl(env['QUERY_STRING'])) + else: + get = {} + ui_request = UiRequest(self, get, env, start_response) +@@ -133,7 +134,7 @@ class UiServer: from werkzeug.debug import DebuggedApplication handler = DebuggedApplication(self.handleRequest, evalex=True) except Exception as err: - self.log.info("%s: For debugging please download Werkzeug (http://werkzeug.pocoo.org/)" % err) + self.log.info("%s: For debugging please enable the port option: DEBUG=on" % err) from Debug import DebugReloader self.log.write = lambda msg: self.log.debug(msg.strip()) # For Wsgi access.log self.log.info("--------------------------------------") -@@ -192,7 +192,7 @@ class UiServer: - - self.server.socket.close() - self.server.stop() -- self.running = False -+ time.sleep(1) - time.sleep(1) - - def updateWebsocket(self, **kwargs):