commit:     dbcd93928d90ed3799a360c002dbf17448d975e4
Author:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
AuthorDate: Thu Jan 16 16:03:15 2020 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sun Feb  9 12:43:48 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbcd9392

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 <AT> riseup.net>
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 dev-python/scikit-build/Manifest                   |   1 +
 .../files/scikit-build-0.10.0-docs.patch           |  19 +++
 ...build-0.10.0-skip-sandbox-violation-tests.patch | 132 +++++++++++++++++++++
 dev-python/scikit-build/metadata.xml               |   9 ++
 dev-python/scikit-build/scikit-build-0.10.0.ebuild |  39 ++++++
 5 files changed, 200 insertions(+)

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>[email protected]</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

Reply via email to