summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@riseup.net>2020-01-16 17:03:15 +0100
committerBenda Xu <heroxbd@gentoo.org>2020-02-09 20:43:48 +0800
commitdbcd93928d90ed3799a360c002dbf17448d975e4 (patch)
tree3d8fce5db840a2762080c9ab38c9411a552c9468
parentdev-python/ubelt: A stdlib like feel, and extra batteries. Hashing, (diff)
downloadgentoo-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>
-rw-r--r--dev-python/scikit-build/Manifest1
-rw-r--r--dev-python/scikit-build/files/scikit-build-0.10.0-docs.patch19
-rw-r--r--dev-python/scikit-build/files/scikit-build-0.10.0-skip-sandbox-violation-tests.patch132
-rw-r--r--dev-python/scikit-build/metadata.xml9
-rw-r--r--dev-python/scikit-build/scikit-build-0.10.0.ebuild39
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 00000000000..dcc86e2bd4e
--- /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 00000000000..f48ad934075
--- /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 00000000000..9148db88660
--- /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 00000000000..ca93985fb0d
--- /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 00000000000..f4eb8f1ef3e
--- /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