Обновлены переводы calculate-utils, исправлена зависимость soaplib, добавлен пакет lxml-python2

mhiretskiy
parent 6d2cb92cc3
commit 5fdd9ccd47

@ -0,0 +1 @@
DIST lxml-4.5.2.tar.gz 943480 BLAKE2B 11130d2507ff0d61637d7fef2f4b28c5fbbbfe8864504c8f3a231899be4db14e6be65edc6e780719686605663b0c5f76f161beb509dc58d16ee3a9158a7db59c SHA512 146dcb4414b7f0815c5930048d9dc89711bf0a3ee091c89f4475265cdd6f1690a20f82ec24a282a43cff8854f9b960f0cd4430cff79a7506d39ac1baf7770695

@ -0,0 +1,434 @@
From 1804702b5e3c85c1a16014d62365a29d0a6d0c75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Thu, 30 Jan 2020 06:15:27 +0100
Subject: [PATCH] Skip tests failing on PyPy
---
src/lxml/tests/test_elementtree.py | 3 +-
src/lxml/tests/test_errors.py | 3 +-
src/lxml/tests/test_http_io.py | 3 +-
src/lxml/tests/test_nsclasses.py | 3 +-
src/lxml/tests/test_objectify.py | 41 +++++++++++++++++++++++++--
src/lxml/tests/test_xpathevaluator.py | 7 +++--
src/lxml/tests/test_xslt.py | 7 +++--
7 files changed, 56 insertions(+), 11 deletions(-)
diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py
index 78d8964d..f3f28044 100644
--- a/src/lxml/tests/test_elementtree.py
+++ b/src/lxml/tests/test_elementtree.py
@@ -26,7 +26,7 @@ from .common_imports import (
BytesIO, etree, HelperTestCase,
ElementTree, cElementTree, ET_VERSION, CET_VERSION,
filter_by_version, fileInTestDir, canonicalize, tmpfile,
- _str, _bytes, unicode, next, IS_PYTHON2
+ _str, _bytes, unicode, next, IS_PYTHON2, IS_PYPY
)
if cElementTree is not None and (CET_VERSION <= (1,0,7) or sys.version_info[0] >= 3):
@@ -2956,6 +2956,7 @@ class _ETreeTestCaseBase(HelperTestCase):
self.assertEqual('TEST', root2[0].get('{%s}a' % ns_href))
required_versions_ET['test_register_namespace'] = (1,3)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_register_namespace(self):
# ET 1.3+
Element = self.etree.Element
diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
index c0aee744..33111429 100644
--- a/src/lxml/tests/test_errors.py
+++ b/src/lxml/tests/test_errors.py
@@ -11,7 +11,7 @@ import unittest
import sys, gc, os.path
from lxml import etree
-from .common_imports import HelperTestCase
+from .common_imports import HelperTestCase, IS_PYPY
class ErrorTestCase(HelperTestCase):
@@ -25,6 +25,7 @@ class ErrorTestCase(HelperTestCase):
def test_empty_parse(self):
self.assertRaises(etree.XMLSyntaxError, etree.fromstring, '')
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_element_cyclic_gc_none(self):
# test if cyclic reference can crash etree
Element = self.etree.Element
diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
index f9eff39a..edf2bd81 100644
--- a/src/lxml/tests/test_http_io.py
+++ b/src/lxml/tests/test_http_io.py
@@ -11,10 +11,11 @@ import textwrap
import sys
import gzip
-from .common_imports import etree, HelperTestCase, BytesIO, _bytes
+from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
from .dummy_http_server import webserver, HTTPRequestCollector
+@unittest.skipIf(IS_PYPY, "broken on pypy")
class HttpIOTestCase(HelperTestCase):
etree = etree
diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
index a0aa608d..5aa5dc48 100644
--- a/src/lxml/tests/test_nsclasses.py
+++ b/src/lxml/tests/test_nsclasses.py
@@ -9,7 +9,7 @@ from __future__ import absolute_import
import unittest
-from .common_imports import etree, HelperTestCase, _bytes, make_doctest
+from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
class ETreeNamespaceClassesTestCase(HelperTestCase):
@@ -46,6 +46,7 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
self.Namespace('ns02').clear()
self.Namespace('ns03').clear()
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_ns_classes(self):
bluff_dict = {'bluff' : self.bluff_class}
maeh_dict = {'maeh' : self.maeh_class}
diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
index a12ae7e1..83ba4ced 100644
--- a/src/lxml/tests/test_objectify.py
+++ b/src/lxml/tests/test_objectify.py
@@ -9,7 +9,8 @@ from __future__ import absolute_import
import unittest, operator
from .common_imports import (
- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
+ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
+ IS_PYPY
)
from lxml import objectify
@@ -213,11 +214,13 @@ class ObjectifyTestCase(HelperTestCase):
expected.update(DEFAULT_NSMAP)
self.assertEqual(root.value.nsmap, expected)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_date_element_efactory_text(self):
# ObjectifiedDataElement can also be used as E-Factory
value = objectify.ObjectifiedDataElement('test', 'toast')
self.assertEqual(value.text, 'testtoast')
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_date_element_efactory_tail(self):
# ObjectifiedDataElement can also be used as E-Factory
value = objectify.ObjectifiedElement(objectify.ObjectifiedDataElement(), 'test', 'toast')
@@ -374,6 +377,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual("4", getattr(root.c1, "{}c2").text)
self.assertEqual("0", getattr(root.c1, "c2").text)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_setattr(self):
for val in [
2, 2**32, 1.2, "Won't get fooled again",
@@ -809,6 +813,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual(3, len(root.findall(".//b")))
self.assertEqual(2, len(root.findall("b")))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_build_tree(self):
root = self.Element('root')
root.a = 5
@@ -838,6 +843,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual(value, None)
self.assertEqual(value.get(XML_SCHEMA_NIL_ATTR), "true")
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_bool(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -871,6 +877,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertTrue(isinstance(value, objectify.BoolElement))
self.assertEqual(value, False)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -878,6 +885,7 @@ class ObjectifyTestCase(HelperTestCase):
root.s = "test"
self.assertTrue(isinstance(root.s, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str_intliteral(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -885,6 +893,7 @@ class ObjectifyTestCase(HelperTestCase):
root.s = "3"
self.assertTrue(isinstance(root.s, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str_floatliteral(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -892,6 +901,7 @@ class ObjectifyTestCase(HelperTestCase):
root.s = "3.72"
self.assertTrue(isinstance(root.s, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str_mul(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -904,6 +914,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertRaises(TypeError, operator.mul, root.s, "honk")
self.assertRaises(TypeError, operator.mul, "honk", root.s)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str_add(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -914,6 +925,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual("test" + s, root.s + s)
self.assertEqual(s + "test", s + root.s)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str_mod(self):
s = "%d %f %s %r"
el = objectify.DataElement(s)
@@ -979,6 +991,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertTrue(isinstance(value, objectify.StringElement))
self.assertEqual(value, "3.20")
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_ustr(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -986,6 +999,7 @@ class ObjectifyTestCase(HelperTestCase):
root.s = _str("test")
self.assertTrue(isinstance(root.s, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_ustr_intliteral(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -993,6 +1007,7 @@ class ObjectifyTestCase(HelperTestCase):
root.s = _str("3")
self.assertTrue(isinstance(root.s, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_ustr_floatliteral(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -1000,6 +1015,7 @@ class ObjectifyTestCase(HelperTestCase):
root.s = _str("3.72")
self.assertTrue(isinstance(root.s, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_ustr_mul(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -1012,6 +1028,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertRaises(TypeError, operator.mul, root.s, _str("honk"))
self.assertRaises(TypeError, operator.mul, _str("honk"), root.s)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_ustr_add(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -1037,6 +1054,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertTrue(isinstance(value, objectify.StringElement))
self.assertEqual(value, _str("3.20"))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_int(self):
Element = self.Element
root = Element("{objectified}root")
@@ -1053,6 +1071,7 @@ class ObjectifyTestCase(HelperTestCase):
value = objectify.DataElement(123)
self.assertEqual(hash(value), hash(123))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_float(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -1069,6 +1088,7 @@ class ObjectifyTestCase(HelperTestCase):
value = objectify.DataElement(5.5)
self.assertEqual(hash(value), hash(5.5))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_float_precision(self):
# test not losing precision by shortened float str() value
# repr(2.305064300557): '2.305064300557'
@@ -1088,6 +1108,7 @@ class ObjectifyTestCase(HelperTestCase):
s = "2.305064300557"
self.assertEqual(objectify.FloatElement(s), float(s))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_float_precision_consistency(self):
# test consistent FloatElement values for the different instantiation
# possibilities
@@ -1169,6 +1190,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual(value.text, None)
self.assertEqual(value.pyval, None)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_unregistered(self):
Element = self.Element
SubElement = self.etree.SubElement
@@ -1331,6 +1353,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual(["why", "try"],
strs)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_str_cmp(self):
XML = self.XML
root = XML(_bytes('<root><b>test</b><b>taste</b><b></b><b/></root>'))
@@ -1358,6 +1381,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertEqual(root.b, "")
self.assertEqual("", root.b)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_int_cmp(self):
XML = self.XML
root = XML(_bytes('<root><b>5</b><b>6</b></root>'))
@@ -1380,6 +1404,7 @@ class ObjectifyTestCase(HelperTestCase):
# float + long share the NumberElement implementation with int
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_type_bool_cmp(self):
XML = self.XML
root = XML(_bytes('<root><b>false</b><b>true</b></root>'))
@@ -2049,6 +2074,7 @@ class ObjectifyTestCase(HelperTestCase):
before = [objectify.getRegisteredTypes()[0].name],
after = [objectify.getRegisteredTypes()[1].name])
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_registered_type_stringify(self):
from datetime import datetime
def parse_date(value):
@@ -2519,46 +2545,55 @@ class ObjectifyTestCase(HelperTestCase):
# E-Factory tests, need to use sub-elements as root element is always
# type-looked-up as ObjectifiedElement (no annotations)
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_int(self):
E = objectify.E
root = E.root(E.val(23))
self.assertTrue(isinstance(root.val, objectify.IntElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_float(self):
E = objectify.E
root = E.root(E.val(233.23))
self.assertTrue(isinstance(root.val, objectify.FloatElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_str(self):
E = objectify.E
root = E.root(E.val("what?"))
self.assertTrue(isinstance(root.val, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_unicode(self):
E = objectify.E
root = E.root(E.val(_str("blöödy häll", encoding="ISO-8859-1")))
self.assertTrue(isinstance(root.val, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_bool(self):
E = objectify.E
root = E.root(E.val(True))
self.assertTrue(isinstance(root.val, objectify.BoolElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_none(self):
E = objectify.E
root = E.root(E.val(None))
self.assertTrue(isinstance(root.val, objectify.NoneElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_value_concatenation(self):
E = objectify.E
root = E.root(E.val(1, "foo", 2.0, "bar ", True, None))
self.assertTrue(isinstance(root.val, objectify.StringElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_attrib(self):
E = objectify.E
root = E.root(foo="bar")
self.assertEqual(root.get("foo"), "bar")
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_nested(self):
E = objectify.E
DataElement = objectify.DataElement
@@ -2573,6 +2608,7 @@ class ObjectifyTestCase(HelperTestCase):
self.assertTrue(isinstance(root.value[0], objectify.IntElement))
self.assertTrue(isinstance(root.value[1], objectify.FloatElement))
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
def test_efactory_subtype(self):
class Attribute(objectify.ObjectifiedDataElement):
def __init__(self):
@@ -2674,7 +2710,8 @@ def test_suite():
suite = unittest.TestSuite()
suite.addTests([unittest.makeSuite(ObjectifyTestCase)])
suite.addTests(doctest.DocTestSuite(objectify))
- suite.addTests([make_doctest('../../../doc/objectify.txt')])
+ if not IS_PYPY:
+ suite.addTests([make_doctest('../../../doc/objectify.txt')])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_xpathevaluator.py b/src/lxml/tests/test_xpathevaluator.py
index 13ee97ec..6d162c6d 100644
--- a/src/lxml/tests/test_xpathevaluator.py
+++ b/src/lxml/tests/test_xpathevaluator.py
@@ -8,7 +8,7 @@ from __future__ import absolute_import
import unittest, sys
-from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest
+from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest, IS_PYPY
class ETreeXPathTestCase(HelperTestCase):
@@ -740,8 +740,9 @@ def test_suite():
suite.addTests([unittest.makeSuite(ETreeXPathExsltTestCase)])
suite.addTests([unittest.makeSuite(ETreeETXPathClassTestCase)])
suite.addTests([doctest.DocTestSuite()])
- suite.addTests(
- [make_doctest('../../../doc/xpathxslt.txt')])
+ if not IS_PYPY:
+ suite.addTests(
+ [make_doctest('../../../doc/xpathxslt.txt')])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_xslt.py b/src/lxml/tests/test_xslt.py
index cde23357..41f8d78b 100644
--- a/src/lxml/tests/test_xslt.py
+++ b/src/lxml/tests/test_xslt.py
@@ -17,6 +17,8 @@ from textwrap import dedent
from tempfile import NamedTemporaryFile, mkdtemp
is_python3 = sys.version_info[0] >= 3
+is_pypy = (getattr(sys, 'implementation', None) == 'pypy' or
+ getattr(sys, 'pypy_version_info', None) is not None)
try:
unicode
@@ -2085,8 +2087,9 @@ def test_suite():
suite.addTests([unittest.makeSuite(Py3XSLTTestCase)])
suite.addTests(
[make_doctest('../../../doc/extensions.txt')])
- suite.addTests(
- [make_doctest('../../../doc/xpathxslt.txt')])
+ if not is_pypy:
+ suite.addTests(
+ [make_doctest('../../../doc/xpathxslt.txt')])
return suite
if __name__ == '__main__':
--
2.25.0

@ -0,0 +1,67 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1 optfeature toolchain-funcs
MY_PN=lxml
MY_P=$MY_PN-$PV
DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
SRC_URI="https://github.com/lxml/lxml/archive/${MY_P}.tar.gz"
S=${WORKDIR}/lxml-${MY_P}
LICENSE="BSD ElementTree GPL-2 PSF-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="+threads"
RESTRICT="test"
# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
RDEPEND="
>=dev-libs/libxml2-2.9.5
>=dev-libs/libxslt-1.1.28"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
"
DISTUTILS_IN_SOURCE_BUILD=1
PATCHES=(
"${FILESDIR}"/${MY_PN}-4.5.0-tests-pypy.patch
)
python_prepare_all() {
# avoid replacing PYTHONPATH in tests.
sed -i -e '/sys\.path/d' test.py || die
# don't use some random SDK on Darwin
sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
setupinfo.py || die
distutils-r1_python_prepare_all
}
python_compile() {
if ! python_is_python3; then
local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
fi
tc-export PKG_CONFIG
distutils-r1_python_compile
}
python_install_all() {
distutils-r1_python_install_all
rm -r ${D}/usr/share
}
pkg_postinst() {
optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup
optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
}

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<herd>maintainer-wanted</herd>
</maintainer>
<upstream>
<remote-id type="pypi">lxml</remote-id>
</upstream>
</pkgmetadata>

@ -17,7 +17,7 @@ KEYWORDS="~amd64 ~x86"
IUSE="examples"
RDEPEND="
dev-python/lxml
dev-python/lxml-python2
dev-python/pytz-python2
"
DEPEND="${RDEPEND}

@ -185,7 +185,7 @@ RDEPEND="
net-fs/nfs-utils
)
>=dev-python/soaplib-1.0
>=dev-python/soaplib-1.0-r3
!<sys-apps/calculate-server-2.1.18-r1
desktop? (

@ -23,6 +23,7 @@ DIST calculate-desktop-3.6.8.tar.bz2 18658 BLAKE2B edca8d8f2dcd7178d3b4c7902f2d7
DIST calculate-i18n-3.6.7.12.tar.bz2 795314 BLAKE2B 359bc6de9821b1fcc69814d312978ff606b78c77502b28ea504b15c0851536f5f044bb03ae22edde5da302ce5d1aeac4389a6a00b8fe7cd57b7ef9161dd4c4a6 SHA512 27f2db6d2ce0e525e3150ec1867bc646fe9bcb3281d943cf09d8cf55fae8c9f994b9fb3168223918877bc3d361a6d413ccdd6ebe08b2ffd1db1db818b890f10b
DIST calculate-i18n-3.6.7.9.tar.bz2 791410 BLAKE2B 3ed3329285e188244503f4a98dacc3833a1b4a9316f021583f5e637f922468fa6c54bf0da99a08135415ac87fb98c7a939180749ec14b01dfc302ca01ace822b SHA512 a0d06050b8a1c1ed9b559f183c585fbb051126564decaa3ebc6e7707a8824d05d0a86f1e62139f97e85a60a38cc0f20b493390c73c5739c274a9fc809f346bc5
DIST calculate-i18n-3.6.8.2.tar.bz2 807069 BLAKE2B a33c8c7b802671d3537e1e9647dd9c12dfaa8aae55021f76a6d9c4961762bd9daa545ef12fe25e9ed220a77fbde87d13e6b06d5e42ac3f996b0826b5f9cfb0c6 SHA512 3e2f3abe3e42536768a566ca70b93c8ca51078b16fb9bf1bf3cf44bea69c434f7625019eb67be4c224dae50d296894a1b0508bb03d996939546bafda4789647f
DIST calculate-i18n-3.6.8.3.tar.bz2 811082 BLAKE2B a67d7c795030660759595e8397567be216648cb6c3c25c3e7dafd364ed8544e2c7799d9a3f92e68335b36fbd3ba0462580fbaa5ac095c6cc054f358249b5bf15 SHA512 603bbbd93968c0dc75745e13f8a159d2e5df89b1235cd78013b00cb3c620d6fb7f4c4f7ff33b335c767b46fbb02d1f733cdb7b5d2f8774e551ab117c58f3e5a0
DIST calculate-i18n-3.6.8.tar.bz2 795693 BLAKE2B 309cdb50908458d9c65303a7de2efc78e6cfc4ca8191efba31f409e0bd364e1ba01cc97f9af908c2a8760d3cbe8262f08f6e96e2a026545b5111616cc54fea36 SHA512 81b31c7b1a6938c6822dd52096c488b8e06d144c8a1bf8689e3f33212cf86fced43174d33112873460f1a986817d2c42640e1dd519935717862e3ee422cf6d57
DIST calculate-install-3.6.7.11.tar.bz2 84287 BLAKE2B f11ad4fc84fd63f6a495fc96d484e78ac8b9549966337839870aff2b3f455df43bf5bf45a7f565a0494b97daadffb5fdc48137c3a9694cb9f3fabbdaadd18fc3 SHA512 29f39a7897a504d5a8607faa89d7473f1452150e334bcf9903cbec05ab1e4b112a0059b40f56bcaec99e79d26ec70f136626ab2257c1242c3ba087a64818cd00
DIST calculate-install-3.6.7.15.tar.bz2 84562 BLAKE2B 1c5e41270667ea78bd556f91d11b17acc913de0083126f61dfa2c6fe2681229032ae8ae9ebeb6ff9a6c648686c6b1cc475ca4336c591508d4f783655ec710552 SHA512 22ba2692fa7a7ad9e672cce0d9b224de96e7c6bdb0be4dd11320e578f55e015bc13ac68c6c11d18a4d14049f430e3b17c36627f96a8ed3a2bb8b5fcb24d01a64

@ -0,0 +1,25 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="7"
PYTHON_COMPAT=(python2_7)
declare -A CALCULATE_MODULES=(
["lib"]="3.6.8.7"
["install"]="3.6.8.3"
["core"]="3.6.8.3"
["i18n"]="3.6.8.3"
["client"]="3.6.8.2"
["desktop"]="3.6.8.6"
)
inherit calculate-utils-r10
DESCRIPTION="A set of Calculate utilities for system installation, build and upgrade"
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate_utilities"
LICENSE="Apache-2.0"
SLOT="3"
KEYWORDS="amd64"
Loading…
Cancel
Save