diff options
Diffstat (limited to 'www-misc/buku')
-rw-r--r-- | www-misc/buku/Manifest | 3 | ||||
-rw-r--r-- | www-misc/buku/buku-4.4.ebuild | 86 | ||||
-rw-r--r-- | www-misc/buku/files/buku-4.4-fix-tests.patch | 34 |
3 files changed, 123 insertions, 0 deletions
diff --git a/www-misc/buku/Manifest b/www-misc/buku/Manifest index 186bf2e0e373..15a6a5a0a194 100644 --- a/www-misc/buku/Manifest +++ b/www-misc/buku/Manifest @@ -1,3 +1,6 @@ +AUX buku-4.4-fix-tests.patch 1351 BLAKE2B 470f521fb2b38bfa0ba54abab1937d046f0526154ff6e5ee131c45b32ef81da63bf4f3f20f1c7158d98b6470fc3264711735512bcbf3a031017ef8927755446d SHA512 e734928264f8c84bedaa903556d9a509d7f12d5ec289fd5c8c9022fb0469d9de80dcb81ab63af24cf7bc2798be46fd7327ce2830c78adaa12c4c4ff9cfc00e29 DIST buku-4.3.tar.gz 264480 BLAKE2B 8bddf640512e5741f80bb5bc073208d843cac32d3c3ade0bdf36241e93d6c81d47238ad03c651e924226933efa572e65d9a4c86f861acda68935c9e96d6e6fb4 SHA512 eabf45b1cc1700b20f2a95baf14940f49e2a2ad51aef0f870c488e67cb07fb110916d93037830cd83572317c5d0a8b05c0a5732f105face2a14facf6af02b690 +DIST buku-4.4.tar.gz 273207 BLAKE2B bff849f03ba6b2f8779a9445da26f64875ccc6a7cb1434cba51237742a7b9968d302ee0dd9f87fd2857922660fc304d07012a962c080704d7d99312e8672e4d0 SHA512 5ccd3e72b2256d4d3daf007ffc9279c9958eec6a5baa913cb31bf97d978db227e28311f882a930da737c002ec0750ee9f8cf0f7584e639154398ba5d486bd8ba EBUILD buku-4.3.ebuild 1661 BLAKE2B f319288aa0be9f9f9cf4e7e74fd0684001acb83d582fc70632543e42290e5dac607bfec7f6c6da845cc3b19bc3a073ad4b2805b2e01a231e4bf7cfee6f7ba878 SHA512 3c07c242385086450dd56e36b173c27e426c6fc923f43c39188596dcf5894c2dcb6ebe9448c2721d05412ca96fc06f70227b1d81eb5eaea9a7047eda3a86270f +EBUILD buku-4.4.ebuild 2564 BLAKE2B 0904c7582b7e72140108266acb83eb12416f99e9961780608f4d27f54cdfeea783c98a42c0b1e0dd497acd659808aa0677885961748fc47f30dae81d9dd2e6f0 SHA512 7fd63e9218aa2bdfcff758af94efbb78ed0b091b317db35fa9a8027bdf4ab6e709795c67c0c1bc89a9341a526ba67639507531d7c74bc1f6e7eb18d34d740fc5 MISC metadata.xml 555 BLAKE2B d79b07af4359005c7e280f4f0e0162e75fe69cd6f838b97aa74398627890fffbfe6ef1d67d731e8c547aa2a61ea8cb113a235aed7a769f9367db38ae2d37d494 SHA512 c3edc1739fa142f98a2c1793bd47085af2d24f07872daf579ed16102917dca8449f2af148e493e078718eea4e28f1831349c86fc10ae60e2f8de8326db1dedb6 diff --git a/www-misc/buku/buku-4.4.ebuild b/www-misc/buku/buku-4.4.ebuild new file mode 100644 index 000000000000..a626d1b80273 --- /dev/null +++ b/www-misc/buku/buku-4.4.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit bash-completion-r1 distutils-r1 + +DESCRIPTION="Powerful command-line bookmark manager" +HOMEPAGE="https://github.com/jarun/buku" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}/${P}-fix-tests.patch" ) + +RDEPEND=" + >=dev-python/beautifulsoup-4.6.0[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/html5lib-1.0.1[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND} + test? ( + dev-python/attrs[${PYTHON_USEDEP}] + >=dev-python/click-7.0[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + >=dev-python/py-1.5.0[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pyyaml-4.2[${PYTHON_USEDEP}] + >=dev-python/vcrpy-4.0.2[${PYTHON_USEDEP}] + ) +" + +python_prepare_all() { + # Remove support for bukuserver - complex depgraph which isn't all + # sufficiently packaged in Gentoo + sed -ie '/console_scripts/s/,.*/]/' setup.py || die + sed -ie 's/.*bukuserver.*//' tests/test_views.py || die + sed -ie 's/.*flask.*//' tests/test_views.py || die + + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/zsh/site-functions + doins auto-completion/zsh/_* + + newbashcomp auto-completion/bash/buku-completion.bash "${PN}" + + doman buku.1 +} + +python_test() { + local skipped_tests=( + # Disable tests related to bukuserver + tests/test_views.py::test_load_firefox_database + tests/test_views.py::test_tag_model_view_get_list_empty_db + tests/test_views.py::test_tag_model_view_get_list + tests/test_views.py::test_bookmark_model_view + tests/test_setup.py::test_bukuserver_requirement + + # Broken with network-sandbox + tests/test_bukuDb.py::test_load_firefox + tests/test_bukuDb.py::test_add_rec_exec_arg + tests/test_buku.py::test_network_handler_with_url + tests/test_bukuDb.py::TestBukuDb::test_tnyfy_url + tests/test_bukuDb.py::test_refreshdb + tests/test_bukuDb.py::test_print_rec_hypothesis + + # Passes when called alone, fails when run from the suite, + # but only when the network is disabled + tests/test_bukuDb.py::test_delete_rec_index_and_delay_commit[1-True-False] + ) + + # tests/test_server.py is bukuserver tests, ignore it + pytest -v --ignore tests/test_server.py ${skipped_tests[@]/#/--deselect } || die "Tests failed with ${EPYTHON}" +} diff --git a/www-misc/buku/files/buku-4.4-fix-tests.patch b/www-misc/buku/files/buku-4.4-fix-tests.patch new file mode 100644 index 000000000000..0ef0f25228c3 --- /dev/null +++ b/www-misc/buku/files/buku-4.4-fix-tests.patch @@ -0,0 +1,34 @@ +Upstream: https://github.com/jarun/buku/pull/462/commits/9ecf8857d74f51666ba2ea40344c8ba99accccb8 + +From 9ecf8857d74f51666ba2ea40344c8ba99accccb8 Mon Sep 17 00:00:00 2001 +From: rachmadaniHaryono <foreturiga@gmail.com> +Date: Thu, 6 Aug 2020 14:52:31 +0800 +Subject: [PATCH] fix: test: delete_rec + +--- + tests/test_bukuDb.py | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py +index 7e798b3..8b56331 100644 +--- a/tests/test_bukuDb.py ++++ b/tests/test_bukuDb.py +@@ -936,16 +936,14 @@ def test_delete_rec_on_non_interger(index, low, high, is_range): + + for bookmark in TEST_BOOKMARKS: + bdb.add_rec(*bookmark) +- db_len = len(TEST_BOOKMARKS) + + if is_range and not (isinstance(low, int) and isinstance(high, int)): + with pytest.raises(TypeError): + bdb.delete_rec(index=index, low=low, high=high, is_range=is_range) + return + if not is_range and not isinstance(index, int): +- res = bdb.delete_rec(index=index, low=low, high=high, is_range=is_range) +- assert not res +- assert len(bdb.get_rec_all()) == db_len ++ with pytest.raises(TypeError): ++ bdb.delete_rec(index=index, low=low, high=high, is_range=is_range) + else: + assert bdb.delete_rec(index=index, low=low, high=high, is_range=is_range) + |