diff options
author | Andrew Ammerlaan <andrewammerlaan@riseup.net> | 2020-01-16 17:03:15 +0100 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2020-02-09 20:43:48 +0800 |
commit | dbcd93928d90ed3799a360c002dbf17448d975e4 (patch) | |
tree | 3d8fce5db840a2762080c9ab38c9411a552c9468 /dev-python/scikit-build | |
parent | dev-python/ubelt: A stdlib like feel, and extra batteries. Hashing, (diff) | |
download | gentoo-dbcd93928d90ed3799a360c002dbf17448d975e4.tar.gz gentoo-dbcd93928d90ed3799a360c002dbf17448d975e4.tar.bz2 gentoo-dbcd93928d90ed3799a360c002dbf17448d975e4.zip |
dev-python/scikit-build: Improved build system generator for CPython
C, C++, Cython and Fortran extensions
Bug: https://github.com/gentoo/gentoo/pull/14344
Bug: https://bugs.gentoo.org/705872
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Diffstat (limited to 'dev-python/scikit-build')
5 files changed, 200 insertions, 0 deletions
diff --git a/dev-python/scikit-build/Manifest b/dev-python/scikit-build/Manifest new file mode 100644 index 000000000000..dcc86e2bd4e6 --- /dev/null +++ b/dev-python/scikit-build/Manifest @@ -0,0 +1 @@ +DIST scikit-build-0.10.0.tar.gz 132443 BLAKE2B 7e817b1b6d8ea5e663cec59c5ed51b3f58318eedf6587380eb2a1458bac772a5a02a936015027f1200f740884ba33512babb1aadc4cdbb59ea38f46bc36cbb5f SHA512 cbdc59a41c60c162be84b38d207838d5e38898871f2ef02dcb672796f01f7a31645892770172e9891a4dd7aa02a85dd489b6dede4c5f717ab013dd8947d5d314 diff --git a/dev-python/scikit-build/files/scikit-build-0.10.0-docs.patch b/dev-python/scikit-build/files/scikit-build-0.10.0-docs.patch new file mode 100644 index 000000000000..f48ad9340754 --- /dev/null +++ b/dev-python/scikit-build/files/scikit-build-0.10.0-docs.patch @@ -0,0 +1,19 @@ +diff --git a/docs/conf.py b/docs/conf.py +index 094ed23..a58cb85 100644 +--- a/docs/conf.py ++++ b/docs/conf.py +@@ -41,7 +41,6 @@ import skbuild + # Add any Sphinx extension module names here, as strings. They can be + # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. + extensions = [ +- 'cmake', + 'sphinx.ext.autodoc', + 'sphinx.ext.viewcode', + 'sphinx_issues' +@@ -291,4 +290,4 @@ on_rtd = os.environ.get('READTHEDOCS', None) == 'True' + if not on_rtd: # only import and set the theme if we're building docs locally + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' +- html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +\ No newline at end of file ++ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] diff --git a/dev-python/scikit-build/files/scikit-build-0.10.0-skip-sandbox-violation-tests.patch b/dev-python/scikit-build/files/scikit-build-0.10.0-skip-sandbox-violation-tests.patch new file mode 100644 index 000000000000..9148db88660e --- /dev/null +++ b/dev-python/scikit-build/files/scikit-build-0.10.0-skip-sandbox-violation-tests.patch @@ -0,0 +1,132 @@ +This patch removes coverage tests (dep on pytest-cov which is deprecated) +It also removes the tests that test the setup.py file +These tests give 'permission denied' exceptions because it calls commands like 'setup.py install' +diff --git a/tests/test_hello_cpp.py b/tests/test_hello_cpp.py +index d39c8ef..0419b88 100644 +--- a/tests/test_hello_cpp.py ++++ b/tests/test_hello_cpp.py +@@ -182,24 +182,3 @@ def test_hello_cleans(capfd): + assert "removing '{}'".format(SKBUILD_DIR()) == clean1_out.splitlines()[3] + + assert "running clean" == clean2_out +- +- +-@project_setup_py_test("hello-cpp", ["develop"]) +-def test_hello_develop(): +- for expected_file in [ +- # These files are the "regular" source files +- 'setup.py', +- 'CMakeLists.txt', +- 'bonjour/__init__.py', +- 'bonjourModule.py', +- 'hello/__init__.py', +- 'hello/__main__.py', +- 'hello/_hello.cxx', +- 'hello/CMakeLists.txt', +- # These files are "generated" by CMake and +- # are copied from CMAKE_INSTALL_DIR +- 'hello/_hello%s' % (sysconfig.get_config_var('SO')), +- 'hello/world.py', +- 'helloModule.py' +- ]: +- assert os.path.exists(expected_file) +diff --git a/tests/test_issue274_support_default_package_dir.py b/tests/test_issue274_support_default_package_dir.py +deleted file mode 100644 +index 536f7b2..0000000 +--- a/tests/test_issue274_support_default_package_dir.py ++++ /dev/null +@@ -1,27 +0,0 @@ +- +-from . import ( +- _tmpdir, execute_setup_py, initialize_git_repo_and_commit, +- prepare_project, project_setup_py_test, push_dir +-) +- +- +-@project_setup_py_test("issue-274-support-default-package-dir", ["install"], disable_languages_test=True) +-def test_install_command(): +- pass +- +- +-def test_test_command(): +- with push_dir(): +- +- tmp_dir = _tmpdir('test_test_command') +- project = "issue-274-support-default-package-dir" +- prepare_project(project, tmp_dir) +- initialize_git_repo_and_commit(tmp_dir, verbose=True) +- +- try: +- with execute_setup_py(tmp_dir, ["test"], disable_languages_test=True): +- pass +- except SystemExit as exc: +- assert exc.code == 0 +- +- assert tmp_dir.join("test_hello.completed.txt").exists() +diff --git a/tests/test_issue274_support_one_package_without_package_dir.py b/tests/test_issue274_support_one_package_without_package_dir.py +deleted file mode 100644 +index 6612087..0000000 +--- a/tests/test_issue274_support_one_package_without_package_dir.py ++++ /dev/null +@@ -1,27 +0,0 @@ +- +-from . import ( +- _tmpdir, execute_setup_py, initialize_git_repo_and_commit, +- prepare_project, project_setup_py_test, push_dir +-) +- +- +-@project_setup_py_test("issue-274-support-one-package-without-package-dir", ["install"], disable_languages_test=True) +-def test_install_command(): +- pass +- +- +-def test_test_command(): +- with push_dir(): +- +- tmp_dir = _tmpdir('test_test_command') +- project = "issue-274-support-one-package-without-package-dir" +- prepare_project(project, tmp_dir) +- initialize_git_repo_and_commit(tmp_dir, verbose=True) +- +- try: +- with execute_setup_py(tmp_dir, ["test"], disable_languages_test=True): +- pass +- except SystemExit as exc: +- assert exc.code == 0 +- +- assert tmp_dir.join("test_hello.completed.txt").exists() +diff --git a/tests/test_issue284_build_ext_inplace.py b/tests/test_issue284_build_ext_inplace.py +deleted file mode 100644 +index 78dd3dd..0000000 +--- a/tests/test_issue284_build_ext_inplace.py ++++ /dev/null +@@ -1,15 +0,0 @@ +- +-import os +-import sysconfig +- +-from distutils import sysconfig as du_sysconfig +- +-from . import project_setup_py_test +- +- +-@project_setup_py_test("issue-284-build-ext-inplace", ["build_ext", "--inplace"], disable_languages_test=True) +-def test_build_ext_inplace_command(): +- assert os.path.exists('hello/_hello_sk%s' % sysconfig.get_config_var('SO')) +- +- # See issue scikit-build #383 +- assert os.path.exists('hello/_hello_ext%s' % du_sysconfig.get_config_var('SO')) +diff --git a/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py b/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py +deleted file mode 100644 +index 2285bfb..0000000 +--- a/tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py ++++ /dev/null +@@ -1,7 +0,0 @@ +- +-from . import project_setup_py_test +- +- +-@project_setup_py_test("issue-334-configure-cmakelist-non-cp1252-encoding", ["install"], disable_languages_test=True) +-def test_install_command(): +- pass diff --git a/dev-python/scikit-build/metadata.xml b/dev-python/scikit-build/metadata.xml new file mode 100644 index 000000000000..ca93985fb0db --- /dev/null +++ b/dev-python/scikit-build/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> +</pkgmetadata> diff --git a/dev-python/scikit-build/scikit-build-0.10.0.ebuild b/dev-python/scikit-build/scikit-build-0.10.0.ebuild new file mode 100644 index 000000000000..f4eb8f1ef3ec --- /dev/null +++ b/dev-python/scikit-build/scikit-build-0.10.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit distutils-r1 + +DESCRIPTION="Improved build system generator for Python C/C++/Fortran/Cython extensions" +HOMEPAGE="https://github.com/scikit-build/scikit-build" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +SLOT="0" +LICENSE="MIT" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-python/distro[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}]" + +DEPEND="test? ( + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/cython[${PYTHON_USEDEP}] + dev-python/flake8[${PYTHON_USEDEP}] + dev-python/path-py[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-runner[${PYTHON_USEDEP}] + dev-python/pytest-virtualenv[${PYTHON_USEDEP}] + dev-python/PyQt5[testlib,${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] )" + +PATCHES=( "${FILESDIR}/${P}-docs.patch" + "${FILESDIR}/${P}-skip-sandbox-violation-tests.patch" ) + +distutils_enable_sphinx docs dev-python/sphinx_rtd_theme dev-python/sphinx-issues +distutils_enable_tests pytest |