## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 17; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %bcond_without tests # Sphinx-generated HTML documentation is not suitable for packaging; see # https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion. # # We can generate PDF documentation as a substitute. %bcond_without doc_pdf Name: python-pyphi Version: 1.2.1 Release: %autorelease Summary: A toolbox for integrated information theory # The entire source is GPL-3.0-or-later, except: # # - docs/_themes/ contains “krTheme Sphinx Style,” which is BSD-3-Clause; but # we remove it in %%prep and do not use it. License: GPL-3.0-or-later URL: https://github.com/wmayner/pyphi/ Source0: %{url}/%{version}/pyphi-%{version}.tar.gz # https://github.com/wmayner/pyphi/pull/50 Patch: 0001-fix-py3.10-correct-collections-import.patch # Remove sphinx-contrib-napoleon # https://github.com/wmayner/pyphi/pull/22 Patch: %{url}/pull/22.patch # Tests fails on s390x: https://github.com/wmayner/pyphi/issues/41 # https://bugzilla.redhat.com/show_bug.cgi?id=2010104 ExcludeArch: s390x # The base package is arched so we can easily detect arch-dependent build # issues, but there is no compiled code. %global debug_package %{nil} BuildRequires: python3-devel %if %{with doc_pdf} # Documentation BuildRequires: make BuildRequires: %{py3_dist sphinx} BuildRequires: python3-sphinx-latex BuildRequires: latexmk BuildRequires: tex-xetex-bin BuildRequires: /usr/bin/xindy # HTML theme module is imported even when building LaTeX: BuildRequires: %{py3_dist sphinx_rtd_theme} %endif %global _description %{expand: PyPhi is a Python library for computing integrated information (𝚽), and the associated quantities and objects. If you use this code, please cite the paper: Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018) PyPhi: A toolbox for integrated information theory. PLOS Computational Biology 14(7): e1006343. https://doi.org/10.1371/journal.pcbi.1006343} %description %_description %package -n python3-pyphi Summary: %{summary} BuildArch: noarch %description -n python3-pyphi %_description %package doc Summary: %{summary} BuildArch: noarch %description doc Documentation for %{name} %prep %autosetup -n pyphi-%{version} -p1 # Strip unnecessary shebangs from non-script files find . -type f -name '*.py' -execdir sed -r -i '1{/^#!/d}' '{}' '+' # Remove a bundled copy of gprof2dot (packaged in Fedora, upstream at # https://github.com/jrfonseca/gprof2dot); we do not need to do profiling and # will not ship it in the binary RPMs. rm -v profiling/gprof2dot # Remove a bundled copy of “krTheme Sphinx Style” rm -rvf docs/_themes/* # https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters sed -r '/^(coverage|asv|virtualenv)\b/d' test_requirements.txt | tee test_requirements.filtered.txt # Since pdflatex cannot handle Unicode inputs in general: echo "latex_engine = 'xelatex'" >> docs/conf.py %generate_buildrequires %pyproject_buildrequires %{?with_tests:test_requirements.filtered.txt} %build %pyproject_wheel %if %{with doc_pdf} %make_build -C docs latex SPHINXOPTS='-j%{?_smp_build_ncpus}' %make_build -C docs/_build/latex LATEXMKOPTS='-quiet' %endif %install %pyproject_install %pyproject_save_files pyphi %check %if %{with tests} %{pytest} %endif %files -n python3-pyphi -f %{pyproject_files} %doc README.md CHANGELOG.md CACHING.rst redis.conf %files doc %license LICENSE.md %if %{with doc_pdf} %doc docs/_build/latex/PyPhi.pdf %endif %changelog * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-17 - Update summary and description from upstream * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-16 - Build documentation as PDF instead of HTML * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-15 - Slightlier tidier shebang stripping * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-14 - Use generated BR’s for tests * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-13 - Apply sphinx-contrib-napolean with a patch rather than a sed invocation * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-12 - Simplify patch application * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-11 - Drop forge macros, which are not doing much for us * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-10 - Convert to SPDX and remove bundled bits * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-9 - Add RHBZ link for s390x failures * Tue Apr 25 2023 Benjamin A. Beasley - 1.2.1-8 - Build on all arches to ensure we detect arch-dependent test failures * Fri Jan 20 2023 Fedora Release Engineering - 1.2.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Jul 22 2022 Fedora Release Engineering - 1.2.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 20 2022 Python Maint - 1.2.1-4 - Rebuilt for Python 3.11 * Fri Jan 21 2022 Fedora Release Engineering - 1.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sun Oct 03 2021 Ankur Sinha (Ankur Sinha Gmail) - 1.2.1-2 - fix: ignore s390x where test fail because of endianness * Sun Oct 03 2021 Ankur Sinha (Ankur Sinha Gmail) - 1.2.1-1 - feat: update to 1.2.1 * Wed Aug 18 2021 Ankur Sinha (Ankur Sinha Gmail) - 1.2.0-17 - fix: correctly disable tests on s390x * Wed Aug 18 2021 Ankur Sinha (Ankur Sinha Gmail) - 1.2.0-16 - fix: add patch to fix build * Fri Jul 23 2021 Fedora Release Engineering - 1.2.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri Jun 04 2021 Python Maint - 1.2.0-14 - Rebuilt for Python 3.10 * Fri Jan 29 2021 Ankur Sinha (Ankur Sinha Gmail) - 1.2.0-13 - Update URL * Wed Jan 27 2021 Fedora Release Engineering - 1.2.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Jan 08 2021 Tom Stellard - 1.2.0-11 - Add BuildRequires: make * Tue Oct 27 2020 Tomas Hrnciar - 1.2.0-10 - Replace Python version glob with macro (needed for Python 3.10+) * Sun Sep 13 2020 Ankur Sinha (Ankur Sinha Gmail) - 1.2.0-9 - Skip tests on s390x * Sat Aug 01 2020 Fedora Release Engineering - 1.2.0-8 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jul 29 2020 Fedora Release Engineering - 1.2.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue May 26 2020 Miro Hrončok - 1.2.0-6 - Rebuilt for Python 3.9 * Thu Jan 30 2020 Fedora Release Engineering - 1.2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Mon Aug 19 2019 Miro Hrončok - 1.2.0-4 - Rebuilt for Python 3.8 * Fri Jul 26 2019 Fedora Release Engineering - 1.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Jul 12 2019 Ankur Sinha (Ankur Sinha Gmail) - 1.2.0-2 - Enable tests * Sat Jun 22 2019 Ankur Sinha (Ankur Sinha Gmail) - 1.2.0-1 - Update to 1.2.0 * Sat Feb 02 2019 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Nov 20 2018 Ankur Sinha (Ankur Sinha Gmail) - 1.1.0-1 - Initial import