[-- Attachment #1: Type: text/plain, Size: 382 bytes --] New comment by Chocimier on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-601341767 Comment: Some cross compilation fail. Approach to [use cmake build-style](https://github.com/void-linux/void-packages/pull/18873#issuecomment-597118155) shown by @yopito and @gspe have better chance to work, because this build step is more complex.
[-- Attachment #1: Type: text/plain, Size: 216 bytes --] New comment by Chocimier on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-601343191 Comment: python3-breathe builds fine without python-devel, and can be made noarch.
[-- Attachment #1: Type: text/plain, Size: 267 bytes --] New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-601358386 Comment: > python3-breathe builds fine without python-devel, and can be made noarch. The change has been made with the latest push.
[-- Attachment #1: Type: text/plain, Size: 1228 bytes --] New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-601360449 Comment: > Some cross compilation fail. Approach to [use cmake build-style](https://github.com/void-linux/void-packages/pull/18873#issuecomment-597118155) shown by @yopito and @gspe have better chance to work, because this build step is more complex. There is no clean way around this. The problem is that the cmake modules invoke the Python interpreter to determine the size of a pointer on the target platform and compare it to the size of the pointer expected by the C++ compiler. The C++ (cross-) compiler returns a 4-byte pointer as expected. The Python interpreter is always native, and returns an 8-byte pointer. The test fails. We can never invoke the Python interpreter for the target arch because its binaries are not compatible with the host architecture. The only useful thing the cmake build step does is prepare some configuration modules for cmake. I've just copied the relevant modules into `files/` and install them where they need to go in `post_install`. The modules do not appear to be architecture dependent and should be usable on all architectures supported by Void.
[-- Attachment #1: Type: text/plain, Size: 568 bytes --] New comment by Chocimier on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-601884870 Comment: This forces pybind to be installed on all archs, but if pybind is used by other package, cross build will use incorrect interpreter again, right? I think we should give upstream this as another argument to use [FindPython](https://cmake.org/cmake/help/latest/module/FindPython.html). Then if package is useful without FindPythonLibsNew.cmake, remove it, otherwise reconsider why do we need header only library in repo at all.
[-- Attachment #1: Type: text/plain, Size: 854 bytes --] New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-602615384 Comment: > This forces pybind to be installed on all archs, but if pybind is used by other package, cross build will use incorrect interpreter again, right? I think we should give upstream this as another argument to use [FindPython](https://cmake.org/cmake/help/latest/module/FindPython.html). Then if package is useful without FindPythonLibsNew.cmake, remove it, otherwise reconsider why do we need header only library in repo at all. This is a good point, and one I had overlooked. I'll file a problem report upstream and see what shakes out. It would be nice to package pybind11 even though it's a header-only library. We want it for the same reason we want anything in the repo: easy of deployment and management.
[-- Attachment #1: Type: text/plain, Size: 908 bytes --] New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-602615384 Comment: > This forces pybind to be installed on all archs, but if pybind is used by other package, cross build will use incorrect interpreter again, right? I think we should give upstream this as another argument to use [FindPython](https://cmake.org/cmake/help/latest/module/FindPython.html). Then if package is useful without FindPythonLibsNew.cmake, remove it, otherwise reconsider why do we need header only library in repo at all. This is a good point, and one I had overlooked. I've [reported the problem upstream](https://github.com/pybind/pybind11/issues/2139) and will see what shakes out. It would be nice to package pybind11 even though it's a header-only library. We want it for the same reason we want anything in the repo: easy of deployment and management.
[-- Attachment #1: Type: text/plain, Size: 525 bytes --] There is an updated pull request by ahesford against master on the void-packages repository https://github.com/ahesford/void-packages pybind11 https://github.com/void-linux/void-packages/pull/20218 New packages: python3-breathe and python3-pybind11 Pybind11 is a C++ header-only library that facilitates creation of Python bindings for C++ libraries. The man page for pybind11 is generated using the python3-breathe doxygen bridge. A patch file from https://github.com/void-linux/void-packages/pull/20218.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pybind11-20218.patch --] [-- Type: text/x-diff, Size: 2761 bytes --] From d8c3dc92ef9effe50c59b17163fb216cb7d28e19 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:09:44 -0400 Subject: [PATCH 1/2] New package: python3-breathe-4.16.0 --- srcpkgs/python3-breathe/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/python3-breathe/template diff --git a/srcpkgs/python3-breathe/template b/srcpkgs/python3-breathe/template new file mode 100644 index 00000000000..ae7149badcf --- /dev/null +++ b/srcpkgs/python3-breathe/template @@ -0,0 +1,19 @@ +# Template file for 'python3-breathe' +pkgname=python3-breathe +version=4.16.0 +revision=1 +archs=noarch +wrksrc="breathe-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3-Sphinx python3-docutils doxygen" +short_desc="ReStructuredText and Sphinx bridge to Doxygen" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/michaeljones/breathe" +distfiles="https://github.com/michaeljones/breathe/archive/v${version}.tar.gz" +checksum=d042217288337609f528ee2dc1bf11b25208b4b7753120cc23fe6538074d01e8 + +post_install() { + vlicense LICENSE +} From 56e473015dd9982ba6e1f39b9277bf7d28fbb406 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:11:11 -0400 Subject: [PATCH 2/2] New package: python3-pybind11-2.5.0 --- srcpkgs/python3-pybind11/template | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 srcpkgs/python3-pybind11/template diff --git a/srcpkgs/python3-pybind11/template b/srcpkgs/python3-pybind11/template new file mode 100644 index 00000000000..5b774b0ffd5 --- /dev/null +++ b/srcpkgs/python3-pybind11/template @@ -0,0 +1,31 @@ +# Template file for 'python3-pybind11' +pkgname=python3-pybind11 +version=2.5.0 +revision=1 +wrksrc="pybind11-${version}" +build_style=python3-module +make_install_args="--install-headers=/usr/include/pybind11" +hostmakedepends="python3-setuptools + python3-pytest python3-sphinx_rtd_theme python3-breathe" +makedepends="python3-devel" +depends="python3-devel" +short_desc="C++ header-only library to produce Python bindings" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/pybind/pybind11" +distfiles="https://github.com/pybind/pybind11/archive/v${version}.tar.gz" +checksum=97504db65640570f32d3fdf701c25a340c8643037c3b69aec469c10c93dc8504 + +post_build() { + # Build the man page + make $makejobs -C docs man +} + +post_install() { + vlicense LICENSE + + # Copy the man page, but make it section 7 + _manpage=docs/.build/man/pybind11.1 + vsed -i ${_manpage} -e '/^\.TH/ s/"1"/"7"/' + vman ${_manpage} pybind11.7 +}
[-- Attachment #1: Type: text/plain, Size: 759 bytes --] New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/20218#issuecomment-622208538 Comment: pybind11 upstream is still debating the right way to support CMake modules compatible with cross-compilation environments as in Void. However, the CMake modules are not used by the pybind11 headers; they are offered to support tests and as a convenience to dependent projects. I've opted not to install the CMake modules to avoid potential breakage for any new projects that might want to leverage pybind11. If upstream figures out a suitable method, we can add the CMake modules in a later release. In the meantime, the `python3-pybind11` module remains useful without the CMake modules and should be ready to go.
[-- Attachment #1: Type: text/plain, Size: 525 bytes --] There is an updated pull request by ahesford against master on the void-packages repository https://github.com/ahesford/void-packages pybind11 https://github.com/void-linux/void-packages/pull/20218 New packages: python3-breathe and python3-pybind11 Pybind11 is a C++ header-only library that facilitates creation of Python bindings for C++ libraries. The man page for pybind11 is generated using the python3-breathe doxygen bridge. A patch file from https://github.com/void-linux/void-packages/pull/20218.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pybind11-20218.patch --] [-- Type: text/x-diff, Size: 2775 bytes --] From 141c55ccf69fc9a02318f7789dc2297752ad73fa Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:09:44 -0400 Subject: [PATCH 1/2] New package: python3-breathe-4.16.0 --- srcpkgs/python3-breathe/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/python3-breathe/template diff --git a/srcpkgs/python3-breathe/template b/srcpkgs/python3-breathe/template new file mode 100644 index 00000000000..ae7149badcf --- /dev/null +++ b/srcpkgs/python3-breathe/template @@ -0,0 +1,19 @@ +# Template file for 'python3-breathe' +pkgname=python3-breathe +version=4.16.0 +revision=1 +archs=noarch +wrksrc="breathe-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3-Sphinx python3-docutils doxygen" +short_desc="ReStructuredText and Sphinx bridge to Doxygen" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/michaeljones/breathe" +distfiles="https://github.com/michaeljones/breathe/archive/v${version}.tar.gz" +checksum=d042217288337609f528ee2dc1bf11b25208b4b7753120cc23fe6538074d01e8 + +post_install() { + vlicense LICENSE +} From ea3930636e846093cb3d985263dd69fb809d4330 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:11:11 -0400 Subject: [PATCH 2/2] New package: python3-pybind11-2.5.0 --- srcpkgs/python3-pybind11/template | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 srcpkgs/python3-pybind11/template diff --git a/srcpkgs/python3-pybind11/template b/srcpkgs/python3-pybind11/template new file mode 100644 index 00000000000..94d0369c403 --- /dev/null +++ b/srcpkgs/python3-pybind11/template @@ -0,0 +1,32 @@ +# Template file for 'python3-pybind11' +pkgname=python3-pybind11 +version=2.5.0 +revision=1 +archs=noarch +wrksrc="pybind11-${version}" +build_style=python3-module +make_install_args="--install-headers=/usr/include/pybind11" +hostmakedepends="python3-setuptools + python3-pytest python3-sphinx_rtd_theme python3-breathe" +makedepends="python3-devel" +depends="python3-devel" +short_desc="C++ header-only library to produce Python bindings" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/pybind/pybind11" +distfiles="https://github.com/pybind/pybind11/archive/v${version}.tar.gz" +checksum=97504db65640570f32d3fdf701c25a340c8643037c3b69aec469c10c93dc8504 + +post_build() { + # Build the man page + make $makejobs -C docs man +} + +post_install() { + vlicense LICENSE + + # Copy the man page, but make it section 7 + _manpage=docs/.build/man/pybind11.1 + vsed -i ${_manpage} -e '/^\.TH/ s/"1"/"7"/' + vman ${_manpage} pybind11.7 +}
[-- Attachment #1: Type: text/plain, Size: 525 bytes --] There is an updated pull request by ahesford against master on the void-packages repository https://github.com/ahesford/void-packages pybind11 https://github.com/void-linux/void-packages/pull/20218 New packages: python3-breathe and python3-pybind11 Pybind11 is a C++ header-only library that facilitates creation of Python bindings for C++ libraries. The man page for pybind11 is generated using the python3-breathe doxygen bridge. A patch file from https://github.com/void-linux/void-packages/pull/20218.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pybind11-20218.patch --] [-- Type: text/x-diff, Size: 2746 bytes --] From 141c55ccf69fc9a02318f7789dc2297752ad73fa Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:09:44 -0400 Subject: [PATCH 1/2] New package: python3-breathe-4.16.0 --- srcpkgs/python3-breathe/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/python3-breathe/template diff --git a/srcpkgs/python3-breathe/template b/srcpkgs/python3-breathe/template new file mode 100644 index 00000000000..ae7149badcf --- /dev/null +++ b/srcpkgs/python3-breathe/template @@ -0,0 +1,19 @@ +# Template file for 'python3-breathe' +pkgname=python3-breathe +version=4.16.0 +revision=1 +archs=noarch +wrksrc="breathe-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3-Sphinx python3-docutils doxygen" +short_desc="ReStructuredText and Sphinx bridge to Doxygen" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/michaeljones/breathe" +distfiles="https://github.com/michaeljones/breathe/archive/v${version}.tar.gz" +checksum=d042217288337609f528ee2dc1bf11b25208b4b7753120cc23fe6538074d01e8 + +post_install() { + vlicense LICENSE +} From bf584814809f9202c26de315d487e7b604a8f8eb Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:11:11 -0400 Subject: [PATCH 2/2] New package: python3-pybind11-2.5.0 --- srcpkgs/python3-pybind11/template | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 srcpkgs/python3-pybind11/template diff --git a/srcpkgs/python3-pybind11/template b/srcpkgs/python3-pybind11/template new file mode 100644 index 00000000000..7fe85e795ee --- /dev/null +++ b/srcpkgs/python3-pybind11/template @@ -0,0 +1,31 @@ +# Template file for 'python3-pybind11' +pkgname=python3-pybind11 +version=2.5.0 +revision=1 +archs=noarch +wrksrc="pybind11-${version}" +build_style=python3-module +make_install_args="--install-headers=/usr/include/pybind11" +hostmakedepends="python3-setuptools + python3-pytest python3-sphinx_rtd_theme python3-breathe" +depends="python3-devel" +short_desc="C++ header-only library to produce Python bindings" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/pybind/pybind11" +distfiles="https://github.com/pybind/pybind11/archive/v${version}.tar.gz" +checksum=97504db65640570f32d3fdf701c25a340c8643037c3b69aec469c10c93dc8504 + +post_build() { + # Build the man page + make $makejobs -C docs man +} + +post_install() { + vlicense LICENSE + + # Copy the man page, but make it section 7 + _manpage=docs/.build/man/pybind11.1 + vsed -i ${_manpage} -e '/^\.TH/ s/"1"/"7"/' + vman ${_manpage} pybind11.7 +}
[-- Attachment #1: Type: text/plain, Size: 525 bytes --] There is an updated pull request by ahesford against master on the void-packages repository https://github.com/ahesford/void-packages pybind11 https://github.com/void-linux/void-packages/pull/20218 New packages: python3-breathe and python3-pybind11 Pybind11 is a C++ header-only library that facilitates creation of Python bindings for C++ libraries. The man page for pybind11 is generated using the python3-breathe doxygen bridge. A patch file from https://github.com/void-linux/void-packages/pull/20218.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-pybind11-20218.patch --] [-- Type: text/x-diff, Size: 2746 bytes --] From 141c55ccf69fc9a02318f7789dc2297752ad73fa Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:09:44 -0400 Subject: [PATCH 1/2] New package: python3-breathe-4.16.0 --- srcpkgs/python3-breathe/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/python3-breathe/template diff --git a/srcpkgs/python3-breathe/template b/srcpkgs/python3-breathe/template new file mode 100644 index 00000000000..ae7149badcf --- /dev/null +++ b/srcpkgs/python3-breathe/template @@ -0,0 +1,19 @@ +# Template file for 'python3-breathe' +pkgname=python3-breathe +version=4.16.0 +revision=1 +archs=noarch +wrksrc="breathe-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +depends="python3-Sphinx python3-docutils doxygen" +short_desc="ReStructuredText and Sphinx bridge to Doxygen" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/michaeljones/breathe" +distfiles="https://github.com/michaeljones/breathe/archive/v${version}.tar.gz" +checksum=d042217288337609f528ee2dc1bf11b25208b4b7753120cc23fe6538074d01e8 + +post_install() { + vlicense LICENSE +} From e8d84b1a01ea3cabcaae88011a5c0a3ef87a658e Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" <ajh@sideband.org> Date: Thu, 19 Mar 2020 13:11:11 -0400 Subject: [PATCH 2/2] New package: python3-pybind11-2.5.0 --- srcpkgs/python3-pybind11/template | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 srcpkgs/python3-pybind11/template diff --git a/srcpkgs/python3-pybind11/template b/srcpkgs/python3-pybind11/template new file mode 100644 index 00000000000..337a44dbe13 --- /dev/null +++ b/srcpkgs/python3-pybind11/template @@ -0,0 +1,31 @@ +# Template file for 'python3-pybind11' +pkgname=python3-pybind11 +version=2.5.0 +revision=1 +archs=noarch +wrksrc="pybind11-${version}" +build_style=python3-module +make_install_args="--install-headers=/usr/include/pybind11" +hostmakedepends="python3-setuptools + python3-pytest python3-sphinx_rtd_theme python3-breathe" +depends="python3-devel" +short_desc="C++ header-only library to produce Python bindings" +maintainer="Andrew J. Hesford <ajh@sideband.org>" +license="BSD-3-Clause" +homepage="https://github.com/pybind/pybind11" +distfiles="https://github.com/pybind/pybind11/archive/v${version}.tar.gz" +checksum=97504db65640570f32d3fdf701c25a340c8643037c3b69aec469c10c93dc8504 + +post_build() { + # Build the man page + make $makejobs -C docs man +} + +post_install() { + vlicense LICENSE + + # Copy the man page, but make it section 7 + _manpage=docs/.build/man/pybind11.1 + vsed -i ${_manpage} -e '/^\.TH/ s/"1"/"7"/' + vman ${_manpage} pybind11.7 +}
[-- Attachment #1: Type: text/plain, Size: 366 bytes --] There's a merged pull request on the void-packages repository New packages: python3-breathe and python3-pybind11 https://github.com/void-linux/void-packages/pull/20218 Description: Pybind11 is a C++ header-only library that facilitates creation of Python bindings for C++ libraries. The man page for pybind11 is generated using the python3-breathe doxygen bridge.