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>
This commit is contained in:
Andrew Ammerlaan
2020-01-16 17:03:15 +01:00
committed by Benda Xu
parent cb8d035a39
commit dbcd93928d
5 changed files with 200 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST scikit-build-0.10.0.tar.gz 132443 BLAKE2B 7e817b1b6d8ea5e663cec59c5ed51b3f58318eedf6587380eb2a1458bac772a5a02a936015027f1200f740884ba33512babb1aadc4cdbb59ea38f46bc36cbb5f SHA512 cbdc59a41c60c162be84b38d207838d5e38898871f2ef02dcb672796f01f7a31645892770172e9891a4dd7aa02a85dd489b6dede4c5f717ab013dd8947d5d314

View File

@@ -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()]

View File

@@ -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

View File

@@ -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>

View File

@@ -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