diff options
-rw-r--r-- | net-analyzer/graphite-web/Manifest | 3 | ||||
-rw-r--r-- | net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch | 60 | ||||
-rw-r--r-- | net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild | 93 | ||||
-rw-r--r-- | net-analyzer/graphite-web/graphite-web-1.1.8.ebuild (renamed from net-analyzer/graphite-web/graphite-web-1.1.7.ebuild) | 6 |
4 files changed, 65 insertions, 97 deletions
diff --git a/net-analyzer/graphite-web/Manifest b/net-analyzer/graphite-web/Manifest index 7a5d3aca5d0a..d34c717db751 100644 --- a/net-analyzer/graphite-web/Manifest +++ b/net-analyzer/graphite-web/Manifest @@ -1,2 +1 @@ -DIST graphite-web-1.1.5.tar.gz 1173809 BLAKE2B 94a1b4deab3159d3bde2d3c8b6f9664f39942cb1b815ce042b196be3c0e769ee1acac4b619135e9471360849308b90e02e1df4f7d6b7d0ef31e46d38ee2425e5 SHA512 b2097609ca77a40e6e7d83a3141335e2208d69e7f4edbac8ce3505ed9dd654589836a3b3498bfb7f7585332bceeb8e367f0c10f3cf6afdb5ad6b96377338a7bb -DIST graphite-web-1.1.7.tar.gz 1173818 BLAKE2B e2373360897c1447d60cbf84e5d0dd280130730f617ba12cf0195ed2539f55bcfe8a1cb3b6b9e4f9540a6f08ecb7870072aa61447012baa5553878ebf417937f SHA512 eb0a1de35d3535bd1fdc4e6edc6fe50fd6c8789fef4807eb4cd30d6b20e91e09d21daedb80f55339a8c05325db8fe1038e7a461bf155e41555dee60160d5b241 +DIST graphite-web-1.1.8.tar.gz 1177214 BLAKE2B 20e058feff0fa7f12393cfd41acca7cf05ff6a3995aa5f6547764fae3b8824e8b424efb8d5d47227eb2b5591ae6b45ab960da30f810acb4f1fbd0b9ae78ec47b SHA512 4637a541e61f56c1ac69bf18e7eab88ecf93f59099dc3e8022d8bf8fb1b204672bc0a1b5302e5031701714db17aabb316ba40f4cfabb2bf4fb0dedb8f412e4a9 diff --git a/net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch b/net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch new file mode 100644 index 000000000000..6a1c44ff0109 --- /dev/null +++ b/net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch @@ -0,0 +1,60 @@ +Modified to apply on 1.1.8 release + +From 5de8405307ded14930b3381380e9f91e583172a9 Mon Sep 17 00:00:00 2001 +From: parrotpock <51694161+parrotpock@users.noreply.github.com> +Date: Mon, 15 Nov 2021 17:39:23 +0100 +Subject: [PATCH] Fix pyparsing > 3.0 compatibility issue. (#2727) + +* Fix bool() issue in recursion termination check. + +The behaviour of ParsedResults seems to have changed in the way that +the usage of pop() along with the bool() check on the object interact +wrt checking if there are further elements in the parsed structure to +consume. In version > 3.0 bool() checks whether either the internal +_toklist or _tokdict members contain items left to consume and returns +True if either do, whereas pop with no arguments will only consume from +the underlying list. That means that we would get a True in the if +condition in this code, whereas a subsequent call to pop() would throw +an exception. Calling asList() forces the use of the list representation +in the bool check here and so fixes this issue. + +* Fix pyparsing backwards compatibility issue. + +* Remove upper-bound on pin. + +* Add pyparsing3 test target for versions >= 3.0.6 + +* Remove try/except, use dictionary key index syntax + +Co-authored-by: Ubuntu <ubuntu@ip-172-31-7-19.eu-west-1.compute.internal> +--- + webapp/graphite/render/evaluator.py | 2 +- + webapp/graphite/render/grammar_unsafe.py | 2 +- + 4 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/webapp/graphite/render/evaluator.py b/webapp/graphite/render/evaluator.py +index 748626ed0c..12179dcc44 100644 +--- a/webapp/graphite/render/evaluator.py ++++ b/webapp/graphite/render/evaluator.py +@@ -58,7 +58,7 @@ def evaluateTokens(requestContext, tokens, replacements=None, pipedArg=None): + return evaluateTokens(requestContext, tokens.template, arglist) + + if tokens.expression: +- if tokens.expression.pipedCalls: ++ if tokens.expression.pipedCalls.asList(): + # when the expression has piped calls, we pop the right-most call and pass the remaining + # expression into it via pipedArg, to get the same result as a nested call + rightMost = tokens.expression.pipedCalls.pop() +diff --git a/webapp/graphite/render/grammar_unsafe.py b/webapp/graphite/render/grammar_unsafe.py +index f25b5eff8f..2481176b53 100644 +--- a/webapp/graphite/render/grammar_unsafe.py ++++ b/webapp/graphite/render/grammar_unsafe.py +@@ -80,7 +80,7 @@ + + + def setRaw(s, loc, toks): +- toks[0].raw = s[toks[0].start:toks[0].end] ++ toks[0]['raw'] = s[toks[0].start:toks[0].end] + + + call = Group( diff --git a/net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild b/net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild deleted file mode 100644 index dfdaeff5c5b3..000000000000 --- a/net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{7,8} ) - -inherit distutils-r1 prefix - -DESCRIPTION="Enterprise scalable realtime graphing" -HOMEPAGE="https://graphiteapp.org/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+carbon ldap mysql memcached postgres +sqlite" - -DEPEND="" -RDEPEND=" - carbon? ( dev-python/carbon[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - memcached? ( dev-python/python-memcached[${PYTHON_USEDEP}] ) - mysql? ( dev-python/mysqlclient[${PYTHON_USEDEP}] ) - postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] ) - >=dev-python/django-1.11.19[sqlite?,${PYTHON_USEDEP}] - >=dev-python/django-tagging-0.4.6[${PYTHON_USEDEP}] - dev-python/cairocffi[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - media-libs/fontconfig -" - -PATCHES=( - # Do not install the configuration and data files. We install them - # somewhere sensible by hand. - "${FILESDIR}"/${PN}-1.1.5-fhs-paths.patch -) - -python_prepare_all() { - # Use a less common name - mv bin/build-index bin/${PN}-build-index || die - # use FHS-style paths - export GRAPHITE_NO_PREFIX=yes - distutils-r1_python_prepare_all - eprefixify \ - conf/graphite.wsgi.example \ - webapp/graphite/local_settings.py.example -} - -python_install_all() { - distutils-r1_python_install_all - keepdir /var/{lib,log}/${PN} - docinto examples - docompress -x "/usr/share/doc/${PF}/examples" - dodoc \ - examples/example-graphite-vhost.conf \ - conf/dashboard.conf.example \ - conf/graphite.wsgi.example -} - -python_install() { - distutils-r1_python_install \ - --install-data="${EPREFIX}"/usr/share/${PN} - - insinto /etc/${PN} - newins webapp/graphite/local_settings.py.example local_settings.py - pushd "${D}/$(python_get_sitedir)"/graphite > /dev/null || die - ln -s ../../../../../etc/${PN}/local_settings.py local_settings.py || die - popd > /dev/null || die -} - -pkg_config() { - "${EROOT}"/usr/bin/django-admin.py migrate \ - --settings=graphite.settings --run-syncdb - "${EROOT}"/usr/bin/${PN}-build-index -} - -pkg_postinst() { - # Only display this for new installs - if [[ -z ${REPLACING_VERSIONS} ]]; then - elog "You need to configure ${PN} to run with a WSGI server of your choice." - elog "For example using Apache, you can use www-apache/mod_wsgi," - elog " using Nginx, you can use www-servers/uwsgi." - elog "Don't forget to edit local_settings.py in ${EPREFIX}/etc/${PN}" - elog "See https://graphite.readthedocs.org/en/latest/config-local-settings.html" - elog "Run emerge --config =${PN}-${PVR} if this is a fresh install." - elog "" - elog "If you want to update the search index regularily, you should consider running" - elog "the '${PN}-build-index' script in a crontab." - fi -} diff --git a/net-analyzer/graphite-web/graphite-web-1.1.7.ebuild b/net-analyzer/graphite-web/graphite-web-1.1.8.ebuild index 53bd930f12a7..d3392bd0c712 100644 --- a/net-analyzer/graphite-web/graphite-web-1.1.7.ebuild +++ b/net-analyzer/graphite-web/graphite-web-1.1.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -26,7 +26,7 @@ RDEPEND=" >=dev-python/django-1.11.19[sqlite?,${PYTHON_USEDEP}] >=dev-python/django-tagging-0.4.6[${PYTHON_USEDEP}] dev-python/cairocffi[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] + <dev-python/pyparsing-3[${PYTHON_USEDEP}] dev-python/pytz[${PYTHON_USEDEP}] dev-python/six[${PYTHON_USEDEP}] dev-python/urllib3[${PYTHON_USEDEP}] @@ -37,6 +37,8 @@ PATCHES=( # Do not install the configuration and data files. We install them # somewhere sensible by hand. "${FILESDIR}"/${PN}-1.1.7-fhs-paths.patch + # pyparsing fix, can be dropped from 1.1.9 onwards + "${FILESDIR}"/${PN}-1.1.8-pyparsing3.patch ) python_prepare_all() { |