%global pypi_name notebook Name: python-%{pypi_name} %global _docdir_fmt %{name} # Updating this package? Update the list of bundled things bellow Version: 6.0.3 # a tag like rc1, set to %%{nil} if stable %global tag %{nil} # upstream version, like 1.2.3rc1 %global uversion %{version}%{tag} Release: 7%{tag}%{?dist} Summary: A web-based notebook environment for interactive computing License: BSD URL: http://jupyter.org Source0: %pypi_source %{pypi_name} %{uversion} # Patch to use the TeX fonts from the MathJax package rather than STIXWeb # See BZ: 1581899, 1580129 Patch0: 0001-Use-MathJax-TeX-fonts-rather-than-STIXWeb.patch # Remove deprecated encoding parameter for Python 3.9 compatibility # Backported from upstream Patch1: https://github.com/jupyter/notebook/commit/c01b2cc014af5c3f8c1e00907a985edc19cad8d7.patch BuildArch: noarch BuildRequires: python3-setuptools BuildRequires: python3-devel BuildRequires: git-core # rebuilding js and css BuildRequires: /usr/bin/node # Tests: BuildRequires: pandoc BuildRequires: python3-dateutil BuildRequires: python3-ipykernel >= 4.8 BuildRequires: python3-ipython_genutils BuildRequires: python3-jupyter-client >= 5.2.0 BuildRequires: python3-jupyter-core >= 4.4.0 BuildRequires: python3-nbconvert BuildRequires: python3-nbformat # we utilize pytest to run the tests, but the testsuite still imports from nose BuildRequires: python3-nose BuildRequires: python3-pandocfilters BuildRequires: python3-prometheus_client BuildRequires: python3-pytest BuildRequires: python3-send2trash BuildRequires: python3-terminado >= 0.8.1 BuildRequires: python3-testpath BuildRequires: python3-tornado BuildRequires: python3-traitlets >= 4.2.1 # Docs: BuildRequires: python3-nbsphinx BuildRequires: python3-sphinx BuildRequires: python3-sphinx_rtd_theme BuildRequires: python3-sphinxcontrib-github-alt BuildRequires: python3-ipython-sphinx %?python_enable_dependency_generator %global _description \ The Jupyter Notebook is a web application that allows you to create and \ share documents that contain live code, equations, visualizations, and \ explanatory text. The Notebook has support for multiple programming \ languages, sharing, and interactive widgets. %description %_description %package -n python3-%{pypi_name} Summary: A web-based notebook environment for interactive computing %{?python_provide:%python_provide python3-%{pypi_name}} %{?python_provide:%python_provide python3-jupyter-%{pypi_name}} %{?python_provide:%python_provide python3-ipython-%{pypi_name}} Provides: python3-jupyter-%{pypi_name} = %{version}-%{release} Provides: python3-ipython-%{pypi_name} = %{version}-%{release} Obsoletes: python3-ipython-%{pypi_name} < 4 Provides: %{pypi_name} = %{version}-%{release} Provides: jupyter-%{pypi_name} = %{version}-%{release} Requires: fontawesome-fonts Requires: fontawesome-fonts-web Requires: mathjax >= 2.6 Requires: js-backbone >= 1.2 Requires: js-marked >= 0.3 Requires: js-underscore >= 1.8.3 # Versions from bower.json Provides: bundled(bootstrap) = 3.4 Provides: bundled(bootstrap-tour) = 0.9.0 Provides: bundled(codemirror) = 5.48.4 Provides: bundled(create-react-class) = 15.6.3 Provides: bundled(es6-promise) = 1.0 Provides: bundled(google-caja) = 5669 Provides: bundled(jed) = 1.1.1 Provides: bundled(jquery) = 3.4.1 Provides: bundled(jquery-typeahead) = 2.10.6 Provides: bundled(jquery-ui) = 1.12 Provides: bundled(moment) = 2.19.3 Provides: bundled(react) = 16.0.0 Provides: bundled(requirejs) = 2.2 Provides: bundled(requirejs-text) = 2.0.15 Provides: bundled(requirejs-plugins) = 1.0.3 Provides: bundled(text-encoding) = 0.1 Provides: bundled(xterm.js) = 2.9.2 # See https://bugzilla.redhat.com/show_bug.cgi?id=1580129 #Provides: bundled(mathjax) = 2.7.4 %description -n python3-%{pypi_name} %_description %package -n python-%{pypi_name}-doc Summary: notebook documentation %description -n python-%{pypi_name}-doc Documentation for notebook %prep %autosetup -n %{pypi_name}-%{uversion} -S git %build %py3_build # generate html docs sphinx-build-3 -D intersphinx_timeout=1 docs/source html # remove the sphinx-build leftovers rm -rf html/.{doctrees,buildinfo} %install %py3_install # https://github.com/jupyter/notebook/issues/2373 rm -f %{buildroot}%{_bindir}/less-watch # unbundle stuff pushd %{buildroot}%{python3_sitelib}/%{pypi_name}/static/components rm -r font-awesome/fonts ln -vfs %{_datadir}/fonts/fontawesome font-awesome/fonts #temporarily kept bundled to workaround #1580129 rm -r MathJax ln -vfs %{_datadir}/javascript/mathjax MathJax rm -r backbone ln -vfs %{_datadir}/javascript/backbone backbone rm -r marked/lib ln -vfs %{_datadir}/javascript/marked marked/lib rm -r underscore ln -vfs %{_datadir}/javascript/underscore underscore popd # Remove packaged tests rm -rv $(find %{buildroot}%{python3_sitelib}/%{pypi_name} -type d -name tests) %check # Workaround: OSError: [Errno 18] Invalid cross-device link: b'/tmp/...' -> b'/builddir/.local/share/Trash/files/...' mkdir .tmp export TMPDIR=$(pwd)/.tmp pytest-3 --ignore notebook/tests/selenium # This was previously unbundled, but no more # See https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/ %pretrans -n python3-%{pypi_name} -p path = "%{python3_sitelib}/%{pypi_name}/static/components/moment" st = posix.stat(path) if st and st.type == "link" then os.remove(path) end %files -n python3-%{pypi_name} %doc README.md %license LICENSE %{_bindir}/jupyter-bundlerextension %{_bindir}/jupyter-nbextension %{_bindir}/jupyter-serverextension %{_bindir}/jupyter-notebook %{python3_sitelib}/%{pypi_name}-%{uversion}-py%{python3_version}.egg-info/ %{python3_sitelib}/%{pypi_name}/ %files -n python-%{pypi_name}-doc %doc html %license LICENSE %changelog * Thu Jun 11 2020 Miro Hrončok - 6.0.3-7 - Remove packaged tests * Mon May 25 2020 Miro Hrončok - 6.0.3-6 - Rebuilt for Python 3.9 * Sat Apr 18 2020 Miro Hrončok - 6.0.3-5 - Update to 6.0.3 (#1793671) * Thu Mar 12 2020 Miro Hrončok - 6.0.2-4 - Workaround RPM problems when replacing a directory with a symbolic link (#1787079) * Thu Jan 30 2020 Fedora Release Engineering - 6.0.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Dec 26 2019 Miro Hrončok - 6.0.2-2 - Use bundled JavaScript moment, the Fedora one was retired * Tue Nov 12 2019 Miro Hrončok - 6.0.2-1 - Update to 6.0.2 (#1724407) * Thu Oct 03 2019 Miro Hrončok - 5.7.8-4 - Rebuilt for Python 3.8.0rc1 (#1748018) * Sun Aug 18 2019 Miro Hrončok - 5.7.8-3 - Rebuilt for Python 3.8 * Fri Jul 26 2019 Fedora Release Engineering - 5.7.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Mon Apr 01 2019 Miro Hrončok - 5.7.8-1 - Update to 5.7.8, refix CVE-2019-10255 * Sun Mar 31 2019 Miro Hrončok - 5.7.7-1 - Update to 5.7.7, fix CVE-2019-9644 and CVE-2019-10255 * Sat Feb 02 2019 Fedora Release Engineering - 5.7.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Wed Nov 21 2018 Miro Hrončok - 5.7.2-1 - Update to 5.7.2, fix CVE-2018-19351, CVE-2018-19352 (#1651976) * Wed Nov 07 2018 Miro Hrončok - 5.6.0-3 - Drop the python2 leaf subpackage again (#1647377) * Mon Aug 13 2018 Miro Hrončok - 5.6.0-2 - Require mathjax from python3-notebook (#1615192) * Mon Jul 23 2018 Miro Hrončok - 5.6.0-1 - Update to 5.6.0 (#1601163) * Sat Jul 14 2018 Fedora Release Engineering - 5.5.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jun 19 2018 Miro Hrončok - 5.5.0-6 - Rebuilt for Python 3.7 * Tue Jun 05 2018 Miro Hrončok - 5.5.0-5 - Reintroduce the python2 subpackage for sagemath * Sun May 27 2018 Miro Hrončok - 5.5.0-4 - Drop the python2 leaf subpackage * Sat May 26 2018 Jonathan Underwood - 5.5.0-3 - Unbundle mathjax once more - Add patch to use the MathJax TeX fonts rather than the STIXWeb ones BZ: 1581899, 1580129 * Wed May 23 2018 Miro Hrončok - 5.5.0-2 - BR ipykernel >= 4.8 (#1581723) - Temporarily keep bundled mathjax (#1580129) * Fri May 11 2018 Miro Hrončok - 5.5.0-1 - Update to 5.5.0 (#1557990) - Disable selenium tests and rm them from python2 sitelib * Wed Mar 21 2018 Miro Hrončok - 5.4.0-2 - Security fix for CVE-2018-8768 (#1558783) * Wed Feb 21 2018 Miro Hrončok - 5.4.0-1 - Update to 5.4.0 (#1535263) * Fri Feb 09 2018 Fedora Release Engineering - 5.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Jan 19 2018 Miro Hrončok - 5.3.0-1 - Update to 5.3.0 - Enable automatic dependency generator, drop manual Python requires * Tue Jan 09 2018 Miro Hrončok - 5.3.0-0.1.rc1 - Update to new 5.3.0rc1 version (#1532430) - Only BR git-core instead of full git, it is sufficient - Be more explciit about (Build)Required versions - Require send2trash, dateutil * Thu Nov 23 2017 Miro Hrončok - 5.2.1-1 - Update to new 5.2.1 version (#1504386) * Fri Sep 15 2017 Miro Hrončok - 5.1.0-1 - Update to new 5.1.0 final version (#1491890) * Tue Sep 12 2017 Miro Hrončok - 5.1.0-0.2.rc3 - Update to new 5.1.0rc3 version (#1490880) - Remove 2 merged patches * Wed Aug 23 2017 Miro Hrončok - 5.1.0-0.1.rc2 - Update to new 5.1.0rc2 version (#1482722) - Use node to compile JS and CSS * Thu Jul 27 2017 Fedora Release Engineering - 5.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Apr 04 2017 Miro Hrončok - 5.0.0-1 - Update to new 5.0.0 version (#1438917) - Use autosetup with git - Add the license file to the doc subpackage * Fri Mar 17 2017 Miro Hrončok - 4.4.1-3 - Recommend terminado * Tue Feb 21 2017 Miro Hrončok - 4.4.1-2 - Make sure the Python 3 executables are really Python 3 - Build the docs - Run the tests - Use python2- where possible - Unbundle some things, declare the rest - Use the %%_description macro consistently - Provide pythonX-jupyter-notebook - Provide/Obsolete pythonX-ipython-notebook * Thu Feb 09 2017 Thomas Spura - 4.4.1-1 - rename to python-notebook - only ship python3 executables - update to 4.4.1 * Mon Apr 18 2016 Thomas Spura - 4.2.0-1 - Initial package.