123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- # While the headers are architecture independent, the package must be
- # built separately on all architectures so that the tests are run
- # properly. See also
- # https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries
- %global debug_package %{nil}
- # Whether to run the tests, enabled by default
- %bcond_with tests
- %global python2_enabled 0
- %global python3_enabled 1
- Summary: Seamless operability between C++11 and Python
- Name: pybind11
- Version: 2.5.0
- Release: 7%{?_dist_release}
- Group: programming
- Vendor: Project Vine
- Distribution: Vine Linux
- License: BSD
- URL: https://github.com/pybind/pybind11
- Source0: https://github.com/pybind/pybind11/archive/v%{version}/%{name}-%{version}.tar.gz
- # Patch out header path
- Patch1: pybind11-2.5.0-hpath.patch
- BuildRequires: python-rpm-macros
- %if %{python2_enabled}
- # Needed to build the python libraries
- BuildRequires: python-devel
- BuildRequires: python2-setuptools
- BuildRequires: python3-rpm-macros
- # These are only needed for the checks
- %if %{with tests}
- BuildRequires: python-pytest
- BuildRequires: python-numpy
- BuildRequires: python-scipy
- %endif
- %endif
- %if %{python3_enabled}
- # Needed to build the python libraries
- BuildRequires: python3-devel
- BuildRequires: python3-setuptools
- BuildRequires: python3-rpm-macros
- # These are only needed for the checks
- %if %{with tests}
- BuildRequires: python3-pytest
- BuildRequires: python3-numpy
- BuildRequires: python3-scipy
- %endif
- %endif
- BuildRequires: eigen3-devel
- BuildRequires: gcc-c++
- BuildRequires: cmake
- %global base_description \
- pybind11 is a lightweight header-only library that exposes C++ types \
- in Python and vice versa, mainly to create Python bindings of existing \
- C++ code.
- %description
- %{base_description}
- %package devel
- Summary: Development headers for pybind11
- Group: programming
- # https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Header_Only_Libraries
- Provides: %{name}-static = %{version}-%{release}
- # For dir ownership
- Requires: cmake
- %description devel
- %{base_description}
- This package contains the development headers for pybind11.
- %if %{python2_enabled}
- %package -n python-%{name}
- Summary: %{summary}
- Group: programming
- %{?python_provide:%python_provide python2-%{srcname}}
- Requires: %{name}-devel%{?_isa} = %{version}-%{release}
- %description -n python-%{name}
- %{base_description}
- This package contains the Python 2 files.
- %endif
- %if %{python3_enabled}
- %package -n python3-%{name}
- Summary: %{summary}
- Group: programming
- %{?python_provide:%python_provide python3-%{srcname}}
- Requires: %{name}-devel%{?_isa} = %{version}-%{release}
- %if !%{python2_enabled}
- # Take care of upgrade path
- Obsoletes: python-%{name} < %{version}-%{release}
- %endif
- %description -n python3-%{name}
- %{base_description}
- This package contains the Python 3 files.
- %endif
- %prep
- %setup -q
- %patch1 -p1 -b .hpath
- %build
- pys=""
- %if %{python2_enabled}
- pys="$pys python2"
- %endif
- %if %{python3_enabled}
- pys="$pys python3"
- %endif
- for py in $pys; do
- mkdir $py
- %cmake -B $py -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=%{_bindir}/$py -DPYBIND11_INSTALL=TRUE -DUSE_PYTHON_INCLUDE_DIR=FALSE %{!?with_tests:-DPYBIND11_TEST=OFF}
- %make_build -C $py
- done
- %if %{python2_enabled}
- %py2_build
- %endif
- %if %{python3_enabled}
- %py3_build
- %endif
- %if %{with tests}
- %check
- %if %{python2_enabled}
- make -C python2 check %{?_smp_mflags}
- %endif
- %if %{python3_enabled}
- make -C python3 check %{?_smp_mflags}
- %endif
- %endif
- %install
- # Doesn't matter if both installs run
- %if %{python2_enabled}
- %make_install -C python2
- %endif
- %if %{python3_enabled}
- %make_install -C python3
- %endif
- # Force install to arch-ful directories instead.
- %if %{python2_enabled}
- PYBIND11_USE_CMAKE=true %py2_install "--install-purelib" "%{python2_sitearch}"
- %endif
- %if %{python3_enabled}
- PYBIND11_USE_CMAKE=true %py3_install "--install-purelib" "%{python3_sitearch}"
- %endif
- %files devel
- %license LICENSE
- %doc README.md
- %{_includedir}/pybind11/
- %{_datadir}/cmake/pybind11/
- %if %{python2_enabled}
- %files -n python2-%{name}
- %{python2_sitearch}/%{name}/
- %{python2_sitearch}/%{name}-%{version}-py?.?.egg-info
- %endif
- %if %{python3_enabled}
- %files -n python3-%{name}
- %{python3_sitearch}/%{name}/
- %{python3_sitearch}/%{name}-%{version}-py%{python3_version}.egg-info
- %endif
- %changelog
- * Fri Sep 04 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.5.0-7
- - initial build for Vine Linux.
- * Wed Aug 05 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.5.0-6
- - Adapt to new CMake macros.
- * Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-5
- - Second attempt - Rebuilt for
- https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-4
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- * Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-3
- - Rebuilt for Python 3.9
- * Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-2
- - Bootstrap for Python 3.9
- * Wed Apr 01 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.5.0-1
- - Update to 2.5.0.
- * Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
- * Tue Oct 15 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.4.3-1
- - Update to 2.4.3.
- * Tue Oct 08 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.4.2-2
- - Fix Python 3.8 incompatibility.
- * Sat Sep 28 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.4.2-1
- - Update to 2.4.2.
- * Fri Sep 20 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.4.1-1
- - Update to 2.4.1.
- * Fri Sep 20 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.4.0-1
- - Update to 2.4.0.
- * Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.3.0-3
- - Rebuilt for Python 3.8
- * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
- * Wed Jul 10 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.3.0-1
- - Update to 2.3.0.
- * Fri May 03 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.2.4-3
- - Fix incompatibility with pytest 4.0.
- * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.4-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
- * Tue Sep 18 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.2.4-1
- - Remove python2 packages for Fedora >= 30.
- - Update to 2.2.4.
- * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-3
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
- * Sat Jun 23 2018 Miro Hrončok <mhroncok@redhat.com> - 2.2.3-2
- - Rebuilt for Python 3.7
- * Fri Jun 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.2.3-1
- - Update to 2.2.3.
- * Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.2.2-4
- - Rebuilt for Python 3.7
- * Mon Apr 16 2018 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.2.2-3
- - Add Python subpackages based on Elliott Sales de Andrade's patch.
- * Sat Feb 17 2018 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.2.2-2
- - Fix FTBS by patch from upstream.
- * Wed Feb 14 2018 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.2.2-1
- - Update to 2.2.2.
- * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-2
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
- * Thu Dec 14 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.1-1
- - Update to latest version
- - Update Source URL to include project name.
- * Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1-7
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
- * Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1-6
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
- * Mon Feb 27 2017 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.0.1-5
- - Full compliance with header only libraries guidelines.
- * Thu Feb 23 2017 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.0.1-4
- - As advised by upstream, disable dtypes test for now.
- - Include patch for tests on bigendian systems.
- * Thu Feb 23 2017 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.0.1-3
- - Make the package arched so that tests can be run on all architectures.
- - Run tests both against python2 and python3.
- * Wed Feb 22 2017 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.0.1-2
- - Switch to python3 for tests.
- * Sun Feb 05 2017 Susi Lehtola <jussilehtola@fedorapeople.org> - 2.0.1-1
- - First release.
|