Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package pybind11 The current packaging of pybind11 available in Stretch suffers an important deficiency which was brought to me after the freeze dealine. The -dev package does not ship its corresponding CMake packaging configuration (#854502), which is a critical component to facilitate the use of this library by external CMake projects. I have rectified the problem in subsequent updates in unstable (2.0.1-2, 2.0.1-3). Please consider applying the debdiff between 2.0.1-1 and 2.0.1-3 attached below. Cheers, Ghis unblock pybind11/2.0.1-3 -- System Information: Debian Release: 9.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-2-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru pybind11-2.0.1/debian/changelog pybind11-2.0.1/debian/changelog --- pybind11-2.0.1/debian/changelog 2017-01-07 17:36:51.000000000 +0000 +++ pybind11-2.0.1/debian/changelog 2017-02-26 20:43:11.000000000 +0000 @@ -1,3 +1,19 @@ +pybind11 (2.0.1-3) unstable; urgency=medium + + * Run autopkgtests for all supported Python versions + + -- Ghislain Antony Vaillant <ghisv...@gmail.com> Sat, 25 Feb 2017 12:11:08 +0000 + +pybind11 (2.0.1-2) unstable; urgency=medium + + * Fix missing CMake package configuration in -dev package + - New patch 0002-Arch-indep-CMake-package-configuration.patch + - Install the missing CMake package configuration + - Use CMake to build the autopkgtest example tests + Thanks to Jason Rhinelander for reporting (Closes: #854502) + + -- Ghislain Antony Vaillant <ghisv...@gmail.com> Thu, 23 Feb 2017 13:16:46 +0000 + pybind11 (2.0.1-1) unstable; urgency=medium * New upstream release diff -Nru pybind11-2.0.1/debian/.git-dpm pybind11-2.0.1/debian/.git-dpm --- pybind11-2.0.1/debian/.git-dpm 2017-01-07 17:36:51.000000000 +0000 +++ pybind11-2.0.1/debian/.git-dpm 2017-02-26 20:43:11.000000000 +0000 @@ -1,6 +1,6 @@ # see git-dpm(1) from git-dpm package -c2010fb61826c45bdd0ee6f36c17d7bf84d8daaf -c2010fb61826c45bdd0ee6f36c17d7bf84d8daaf +c91e0ad75aa42ff3252b14c90a9b77c2309a76be +c91e0ad75aa42ff3252b14c90a9b77c2309a76be 72d57df80676e2965c20128f76f00d4ae6fd696d 72d57df80676e2965c20128f76f00d4ae6fd696d pybind11_2.0.1.orig.tar.gz diff -Nru pybind11-2.0.1/debian/patches/0002-Arch-indep-CMake-package-configuration.patch pybind11-2.0.1/debian/patches/0002-Arch-indep-CMake-package-configuration.patch --- pybind11-2.0.1/debian/patches/0002-Arch-indep-CMake-package-configuration.patch 1970-01-01 01:00:00.000000000 +0100 +++ pybind11-2.0.1/debian/patches/0002-Arch-indep-CMake-package-configuration.patch 2017-02-26 20:43:11.000000000 +0000 @@ -0,0 +1,26 @@ +From c91e0ad75aa42ff3252b14c90a9b77c2309a76be Mon Sep 17 00:00:00 2001 +From: Ghislain Antony Vaillant <ghisv...@gmail.com> +Date: Tue, 7 Feb 2017 20:08:59 +0000 +Subject: Arch-indep CMake package configuration + +--- + CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 341f845..4757ea4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,9 +117,12 @@ if (PYBIND11_INSTALL) + configure_package_config_file(tools/${PROJECT_NAME}Config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + INSTALL_DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR}) ++ set(_PYBIND11_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P}) ++ unset(CMAKE_SIZEOF_VOID_P) + write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${${PROJECT_NAME}_VERSION} + COMPATIBILITY AnyNewerVersion) ++ set(CMAKE_SIZEOF_VOID_P ${_PYBIND11_CMAKE_SIZEOF_VOID_P}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + tools/FindPythonLibsNew.cmake diff -Nru pybind11-2.0.1/debian/patches/series pybind11-2.0.1/debian/patches/series --- pybind11-2.0.1/debian/patches/series 2017-01-07 17:36:51.000000000 +0000 +++ pybind11-2.0.1/debian/patches/series 2017-02-26 20:43:11.000000000 +0000 @@ -1 +1,2 @@ 0001-Use-system-include-path.patch +0002-Arch-indep-CMake-package-configuration.patch diff -Nru pybind11-2.0.1/debian/pybind11-dev.install pybind11-2.0.1/debian/pybind11-dev.install --- pybind11-2.0.1/debian/pybind11-dev.install 2017-01-07 17:36:51.000000000 +0000 +++ pybind11-2.0.1/debian/pybind11-dev.install 2017-02-26 20:43:11.000000000 +0000 @@ -1 +1,2 @@ -include/* usr/include +usr/include +usr/share/cmake usr/lib diff -Nru pybind11-2.0.1/debian/tests/control pybind11-2.0.1/debian/tests/control --- pybind11-2.0.1/debian/tests/control 2017-01-07 17:36:51.000000000 +0000 +++ pybind11-2.0.1/debian/tests/control 2017-02-26 20:43:11.000000000 +0000 @@ -1,15 +1,39 @@ -Test-Command: c++ -shared -fPIC `python-config --cflags --ldflags` -o $AUTOPKGTEST_TMP/example.so ./debian/tests/example.cpp - ; PYTHONPATH=$AUTOPKGTEST_TMP python -c "import example; assert(example.add(1, 2) == 3)" -Depends: g++ | c++-compiler, pybind11-dev, python-dev +Test-Command: set -e + ; cp debian/tests/example/* "$AUTOPKGTEST_TMP" + ; for py in $(pyversions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; cmake -DPYTHON_EXECUTABLE=/usr/bin/$py . + ; cmake --build . + ; $py -c "import example; assert(example.add(1, 2) == 3)" + ; done +Depends: cmake, g++ | c++-compiler, pybind11-dev, python-all-dev Restrictions: allow-stderr -Test-Command: c++ -shared -fPIC `python3-config --cflags --ldflags` -o $AUTOPKGTEST_TMP/example.so ./debian/tests/example.cpp - ; PYTHONPATH=$AUTOPKGTEST_TMP python3 -c "import example; assert(example.add(1, 2) == 3)" -Depends: g++ | c++-compiler, pybind11-dev, python3-dev +Test-Command: set -e + ; cp debian/tests/example/* "$AUTOPKGTEST_TMP" + ; for py in $(py3versions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; cmake -DPYTHON_EXECUTABLE=/usr/bin/$py . + ; cmake --build . + ; $py -c "import example; assert(example.add(1, 2) == 3)" + ; done +Depends: cmake, g++ | c++-compiler, pybind11-dev, python3-all-dev Restrictions: allow-stderr -Test-Command: python -c "import pybind11; print pybind11.get_include()" -Depends: python-pybind11 +Test-Command: set -e + ; for py in $(pyversions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; $py -c "import pybind11; print(pybind11.get_include())" + ; done +Depends: python-all, python-pybind11 -Test-Command: python3 -c "import pybind11; print(pybind11.get_include())" -Depends: python3-pybind11 +Test-Command: set -e + ; for py in $(py3versions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; $py -c "import pybind11; print(pybind11.get_include())" + ; done +Depends: python3-all, python3-pybind11 diff -Nru pybind11-2.0.1/debian/tests/example/CMakeLists.txt pybind11-2.0.1/debian/tests/example/CMakeLists.txt --- pybind11-2.0.1/debian/tests/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ pybind11-2.0.1/debian/tests/example/CMakeLists.txt 2017-02-26 20:43:11.000000000 +0000 @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 2.8.12) +project(pybind11-example) + +find_package(pybind11 REQUIRED) +pybind11_add_module(example example.cpp) diff -Nru pybind11-2.0.1/debian/tests/example/example.cpp pybind11-2.0.1/debian/tests/example/example.cpp --- pybind11-2.0.1/debian/tests/example/example.cpp 1970-01-01 01:00:00.000000000 +0100 +++ pybind11-2.0.1/debian/tests/example/example.cpp 2017-02-26 20:43:11.000000000 +0000 @@ -0,0 +1,19 @@ +// Basic example from the upstream documentation. +// +// See: http://pybind11.readthedocs.io/en/latest/basics.html + +#include <pybind11/pybind11.h> + +int add(int i, int j) { + return i + j; +} + +namespace py = pybind11; + +PYBIND11_PLUGIN(example) { + py::module m("example", "pybind11 example plugin"); + + m.def("add", &add, "A function which adds two numbers"); + + return m.ptr(); +} diff -Nru pybind11-2.0.1/debian/tests/example.cpp pybind11-2.0.1/debian/tests/example.cpp --- pybind11-2.0.1/debian/tests/example.cpp 2017-01-07 17:36:51.000000000 +0000 +++ pybind11-2.0.1/debian/tests/example.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -// Basic example from the upstream documentation. -// -// See: http://pybind11.readthedocs.io/en/latest/basics.html - -#include <pybind11/pybind11.h> - -int add(int i, int j) { - return i + j; -} - -namespace py = pybind11; - -PYBIND11_PLUGIN(example) { - py::module m("example", "pybind11 example plugin"); - - m.def("add", &add, "A function which adds two numbers"); - - return m.ptr(); -}