scikit-build 0.10.0

16 views
Skip to first unread message

Jean-Christophe Fillion-Robin

unread,
May 23, 2019, 7:40:34 PM5/23/19
to scikit-build
On behalf of the scikit-build team, I am pleased to announce that the version 0.10.0 is available for download:

  pip install --upgrade scikit-build

Thank you to everyone who contributed their time to test, write issue report and contribute patches ! 

You also find below the change log of the last three releases (0.8.0, 0.8.1 and 0.9.0). Moving forward, to make sure we always send an email to the list, an entry is being added to the Making a release guide.


Scikit-build 0.10.0

New Features

  • Improve message displayed when discovering a working environment for building projects. For example, instead of displaying -- Trying "Ninja" generator, it now displays a message like -- Trying "Ninja (Visual Studio 15 2017 Win64 v140)" generator.

Bug fixes

  • Checking generator candidates can now handle handle paths and binaries with spaces, so that setup.py --cmake-executable "C:/Program Files (x86)/cmake/cmake.exe" works as expected. Contributed by @jokva. See #400.
  • Fix sdist command to ensure symlinks in original source tree are maintained. Contributed by @anibali. See #401.
  • Ensure use of bdist_egg or bdist_rpm commands trigger build using cmake.
  • Fix default value returned by skbuild.constants.skbuild_plat_name() on macOS. See #417.

Internal API

  • Add skbuild.platforms.windows.find_visual_studio().

Documentation

Tests

  • Introduce check_sdist_content() and fix tests that are checking content of sdist to account for changes introduced in Python 3.8 and backported to python 2.7, 3.6 and 3.7. The changes introduced in python/cpython#9419 adds directory entries to ZIP files created by distutils. Thanks @anibali for the contribution. See #404.
  • Fix check_wheel_content() to consider changes in 0.33.1 < wheel.__version__ < 0.33.4 where directory entries are included when building wheel. See pypa/wheel#294 <https://github.com/pypa/wheel/issues/294>.
  • Fix reporting of AssertionError raised in check_wheel_content() function by relocating the source code into a dedicated module tests.pytest_helpers and by adding a conftest.py configuration file registering it for pytest assertion rewriting. See https://docs.pytest.org/en/latest/writing_plugins.html#assertion-rewriting and #403.
  • Fix test_generator_selection when building with “Visual C++ for Python 2.7” installed for all users. This addresses failure associated with win_c_compilervs2008cxx_compilervs2008python2.7 when running test in scikit-build-feedstock where “Visual C++ for Python 2.7” is installed using (vcpython27 chocolatey package.
  • Continuous Integration
    • Add support for Azure Pipelines for Python 3.7 32-bit and 64-bit
    • AppVeyor: Disable test for Python 3.7 32-bit and 64-bit.
    • CircleCI: Update version of docker images from jessie to stretch. This addresses issue circleci/circleci-images#370.
    • TravisCI: Remove obsolete Python 3.4 testing. It reached end-of-life on March 18 2019.

Scikit-build 0.9.0

New Features

  • Add support for building distutils based extensions associated with ext_modules setup keyword along side skbuild based extensions. This means using build_ext command (and associated --inplace argument) is supported. Thanks @Erotemic for the contribution. See #284.

Bug fixes

  • Fix build of wheels if path includes spaces. See issue #375. Thanks @padraic-padraic for the contribution.
  • Ensure wheel platform name is correctly set when providing custom CMAKE_OSX_DEPLOYMENT_TARGET and CMAKE_OSX_ARCHITECTURES values are provided. Thanks @nonhermitian for the contribution. See #377.
  • Fix testing with recent version of pytest by updating the pytest-runner requirements expression in setup.py. Thanks @mackelab for the contribution.

Scikit-build 0.8.1

Bug fixes

  • Fix bdist_wheel command to support wheel >= 0.32.0. Thanks @fbudin69500 for reporting issue #360.

Tests

  • Fix test_distribution.py updating use of Path.files() and requiring path.py>=11.5.0.

Scikit-build 0.8.0

New Features

  • Introduced skbuild.constants.CMAKE_DEFAULT_EXECUTABLE to facilitate distribution of scikit-build in package manager like Nixpkgs where all paths to dependencies are hardcoded. Suggested by @FRidh.
  • Setup keywords:
    • If not already set, zip_safe option is set to False. Suggested by @blowekamp.
  • Add support for --skip-generator-test when a generator is explicitly selected using --generator. This allows to speed up overall build when the build environment is known.

Bug fixes

  • Fix support for building project with CMake source directory outside of the setup.py directory. See #335 fixed by @massich.
  • Fix reading of .cmake files having any character not available in CP-1252 (the default code page on windows). See #334 fixed by @bgermann.
  • Fix parsing of macOS specific arguments like --plat-name macosx-X.Y-x86_64 and -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=X.Y and ensure that the ones specified as command line arguments override the default values or the one hard-coded in the cmake_args setup keyword. Thanks @yonip for the help addressing #342.
  • Support case where relative directory set in package_dir has an ending slash. For example, specifying package_dir={'awesome': 'src/awesome/'}, is now properly handled.
  • Fix support for isolated build environment ensuring the CMake project is reconfigured when pip install -e . is called multiple times. See #352.

Documentation

Tests

  • Add check_wheel_content utility function.
  • Skip test_setup_requires_keyword_include_cmake if running in conda test environment or if https://pypi.org is not reachable. Suggested by @Luthaf.
  • Continuous Integration
    • TravisCI:
      • Remove testing of linux now covered by CircleCI, add testing for Python 3.5, 3.6 and 3.7 on macOS.
      • Ensure system python uses latest version of pip
    • AppVeyor, CircleCI: Add testing for Python 3.7
    • Remove uses of unneeded $<RUN_ENV> command wrapper. scikit-build should already take care of setting up the expected environment.
    • Always install up-to-date scikit-ci and scikit-ci-addons.
    • Simplify release process managing versioning with python-versioneer and update Making a release documentation.

Reply all
Reply to author
Forward
0 new messages