summaryrefslogtreecommitdiff
path: root/app-portage/g-sorcery
diff options
context:
space:
mode:
Diffstat (limited to 'app-portage/g-sorcery')
-rw-r--r--app-portage/g-sorcery/Manifest3
-rw-r--r--app-portage/g-sorcery/files/g-sorcery-0.2.1-py3.7.tests-fix.patch140
-rw-r--r--app-portage/g-sorcery/g-sorcery-0.2.1-r1.ebuild9
3 files changed, 149 insertions, 3 deletions
diff --git a/app-portage/g-sorcery/Manifest b/app-portage/g-sorcery/Manifest
index 1fc872c8bc4b..388107559790 100644
--- a/app-portage/g-sorcery/Manifest
+++ b/app-portage/g-sorcery/Manifest
@@ -1,4 +1,5 @@
+AUX g-sorcery-0.2.1-py3.7.tests-fix.patch 4455 BLAKE2B 631c028024312fd25f5191191a953cb9db9eda0de2f97ee84c1e5266fea99ddedb2faa36f24740561f181b76d311c0997cf5c1c04fe3bf69df0828b0d3ed96cd SHA512 68674b89fe101770adf7de711f828207856d97ecb0f66d4a369c90136fc8168095b2d5548e5d722eebabb5a7ed2eb91832c2dbd2618c97fb5961ffd2dc4186df
DIST g-sorcery-0.2.1.tar.gz 55546 BLAKE2B 56fb8a766c17c220a8279d2288f5de5c6976dc8fb380ac695bcf891616aa8a284f6b07c9be79c3c819c69faf7fcf9a7a826ee8b8b955db007c00e23d6417f2f8 SHA512 42c34ed8addaf721583029d5056751810b0a77546f798081c7c605223342fa2a99bd2e30f20f004a8606ccf847108f0e2ef2c479f3cbb55f2fe6648d4ffc075e
-EBUILD g-sorcery-0.2.1-r1.ebuild 946 BLAKE2B 177e21f41214deed8c5b4a684a98492fed689954760fb87fdcacb27fad21ed417d153cfa2e1cc1c063152f7c2317c37ba2c2c021a29d179cafe44bc8f174eaf1 SHA512 c3f11f75cc31575aad2b31a7988a63aab826ea3f066c1ef1c8cd2fbd21f3d9794ab0f2fb85faea0615aa2ff3449bc25fbea19515aad46a93c1b469e73f00d850
+EBUILD g-sorcery-0.2.1-r1.ebuild 1056 BLAKE2B 90fff4ddb6e7f559e95e0ce943244c06207db6f89783d573698e671e6d0ae7057468da319dcc4ef8b41003288040f141b0553593430bd6b71e585cf55a2a8a90 SHA512 26a2f5e32f706fb192cf886cbe0f634a1fbf3a8816f333cf579e74841650e3b5665e30694d1f176da4edb42df33bc24d6dc2dc6160ec47a47896cadb850f26b3
EBUILD g-sorcery-9999.ebuild 863 BLAKE2B 7082478f3614ef7cb55a51d5a1e916cf7d27e84d2978d60ce62df71080faf0df7a9c4639a4d96d73841a60382f703e4e410ddc2db95bd9f7fab4c6b8a327554f SHA512 673a78a06387d002a27271476fe12e61726bf9b7c7f949ae53d3d049a67ef7ca3a513ba2f791af44f9845970e4abb64ed03ecd6473b73e9d39ca3e0652a8751e
MISC metadata.xml 416 BLAKE2B d1009974d29bf69e2938899e03cc44942f86476c92ba3dde3f3a56e7253f77307bcb30771ba2a860e2c84e5daa1a16039a69aade1227c0739668ceb766ef9134 SHA512 63d03d46ad0f346591ea9208c55d186da8419fbd8cb1ba9ec68dcd8484cfd6dec0200e46004829cc8a1c411e13e4cdfeeef8e8c9ac05679f8d595cf306d49f54
diff --git a/app-portage/g-sorcery/files/g-sorcery-0.2.1-py3.7.tests-fix.patch b/app-portage/g-sorcery/files/g-sorcery-0.2.1-py3.7.tests-fix.patch
new file mode 100644
index 000000000000..84a702413ac8
--- /dev/null
+++ b/app-portage/g-sorcery/files/g-sorcery-0.2.1-py3.7.tests-fix.patch
@@ -0,0 +1,140 @@
+diff --git a/README.md b/README.md
+index 9bdd5b7..c2eb5ad 100644
+--- a/README.md
++++ b/README.md
+@@ -26,3 +26,5 @@ This project is aimed to create a framework for ebuild-generators for
+ 3rd party software providers.
+
+ If you want to develop a new backend see [developer's instructions](https://github.com/jauhien/g-sorcery/blob/master/docs/developer_instructions.rst).
++
++[TODO list](https://trello.com/b/8WdY2ZIs/framework-for-automated-ebuild-generators).
+diff --git a/scripts/all_pythons.sh b/scripts/all_pythons.sh
+index af4c1f1..3c85974 100755
+--- a/scripts/all_pythons.sh
++++ b/scripts/all_pythons.sh
+@@ -2,7 +2,7 @@
+
+ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+-for VER in 2.7 3.3 3.4
++for VER in 2.7 3.6 3.7 3.8
+ do
+ echo
+ echo "testing python${VER}"
+diff --git a/tests/server.py b/tests/server.py
+index 51d49b7..aa895ea 100644
+--- a/tests/server.py
++++ b/tests/server.py
+@@ -4,20 +4,21 @@
+ """
+ server.py
+ ~~~~~~~~~
+-
++
+ test server
+-
++
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+ """
+
+ import os
+ import threading
++import time
+
+ from g_sorcery.compatibility import py2k
+
+ if py2k:
+- from SocketServer import TCPServer as HTTPServer
++ from SocketServer import TCPServer as HTTPServer
+ from SimpleHTTPServer import SimpleHTTPRequestHandler
+ else:
+ from http.server import HTTPServer
+@@ -26,26 +27,27 @@ else:
+ def HTTPRequestHandlerGenerator(direct):
+
+ class HTTPRequestHandler(SimpleHTTPRequestHandler, object):
+- directory = direct
+
+ def __init__(self, request, client_address, server):
++ self.direct = direct
+ super(HTTPRequestHandler, self).__init__(request, client_address, server)
+
+ def translate_path(self, path):
+- return os.path.join(self.directory, path[1:])
++ return os.path.join(self.direct, path[1:])
+
+ return HTTPRequestHandler
+
+-
++
+ class Server(threading.Thread):
+ def __init__(self, directory, port=8080):
+ super(Server, self).__init__()
+ HTTPServer.allow_reuse_address = True
+ server_address = ('127.0.0.1', port)
+ self.httpd = HTTPServer(server_address, HTTPRequestHandlerGenerator(directory))
+-
++
+ def run(self):
+ self.httpd.serve_forever()
+
+ def shutdown(self):
+ self.httpd.shutdown()
++ time.sleep(0.5)
+diff --git a/tests/test_DBGenerator.py b/tests/test_DBGenerator.py
+index 9a47c86..3c28278 100644
+--- a/tests/test_DBGenerator.py
++++ b/tests/test_DBGenerator.py
+@@ -4,9 +4,9 @@
+ """
+ test_DBGenerator.py
+ ~~~~~~~~~~~~~~~~~~~
+-
++
+ DBGenerator test suite
+-
++
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+ """
+@@ -81,11 +81,13 @@ class TestDBGenerator(BaseTest):
+ srv = Server(orig_tempdir.name)
+ srv.start()
+
+- pkg_db = db_generator(self.tempdir.name, "test_repo",
++ try:
++ pkg_db = db_generator(self.tempdir.name, "test_repo",
+ common_config = common_config, config = config)
+
+- srv.shutdown()
+- srv.join()
++ finally:
++ srv.shutdown()
++ srv.join()
+
+ self.assertEqual(set(pkg_db.list_categories()), set(["app-test1", "app-test2"]))
+ self.assertTrue(pkg_db.in_category("app-test1", "test"))
+diff --git a/tests/test_PackageDB.py b/tests/test_PackageDB.py
+index 152c605..8be8f8a 100644
+--- a/tests/test_PackageDB.py
++++ b/tests/test_PackageDB.py
+@@ -70,11 +70,13 @@ class TestPackageDB(BaseTest):
+
+ srv = Server(orig_tempdir.name, port=port)
+ srv.start()
+- self.assertRaises(IntegrityError, test_db.sync, sync_address)
+- os.system("cd " + orig_tempdir.name + " && mv good.tar.gz dummy.tar.gz")
+- test_db.sync(sync_address)
+- srv.shutdown()
+- srv.join()
++ try:
++ self.assertRaises(IntegrityError, test_db.sync, sync_address)
++ os.system("cd " + orig_tempdir.name + " && mv good.tar.gz dummy.tar.gz")
++ test_db.sync(sync_address)
++ finally:
++ srv.shutdown()
++ srv.join()
+ test_db.read()
+ self.assertEqual(orig_db.database, test_db.database)
+ self.assertEqual(orig_db.get_common_data("app-test1"), test_db.get_common_data("app-test1"))
diff --git a/app-portage/g-sorcery/g-sorcery-0.2.1-r1.ebuild b/app-portage/g-sorcery/g-sorcery-0.2.1-r1.ebuild
index 6bb6f3199cc5..a1e76e62e3d0 100644
--- a/app-portage/g-sorcery/g-sorcery-0.2.1-r1.ebuild
+++ b/app-portage/g-sorcery/g-sorcery-0.2.1-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-PYTHON_COMPAT=(python3_6)
+PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit distutils-r1 prefix
@@ -13,7 +13,8 @@ SRC_URI="https://github.com/jauhien/g-sorcery/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="GPL-2"
SLOT="0"
-IUSE="bson git"
+IUSE="bson git test"
+RESTRICT="!test? ( test )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
DEPEND="bson? ( dev-python/pymongo[${PYTHON_USEDEP}] )
@@ -22,6 +23,10 @@ DEPEND="bson? ( dev-python/pymongo[${PYTHON_USEDEP}] )
RDEPEND="${DEPEND}"
PDEPEND=">=app-portage/layman-2.2.0[g-sorcery(-),${PYTHON_USEDEP}]"
+PATCHES=(
+ "${FILESDIR}/g-sorcery-0.2.1-py3.7.tests-fix.patch"
+)
+
src_prepare() {
hprefixify setup.py
default