feat: update to 3.2.0 (fixes rhbz#1944501, rhbz#2155217)

This commit is contained in:
Ankur Sinha (Ankur Sinha Gmail) 2023-07-06 16:15:51 +01:00
commit efb214ca5f
No known key found for this signature in database
GPG key ID: F8D8C0BEBAC898BD
4 changed files with 34 additions and 129 deletions

View file

@ -1,9 +1,8 @@
# Wants to download sample data, also wants firefox or geckodriver etc.
# So, we skip tests and rely on upstream's CI
# Needs to be run with --enable-network
%bcond_with tests
%global pypi_name bokeh
%global _description %{expand:
Bokeh is an interactive visualization library for modern web browsers. It
provides elegant, concise construction of versatile graphics, and affords
@ -11,8 +10,8 @@ high-performance interactivity over large or streaming data sets. Bokeh can help
anyone who would like to quickly and easily make interactive plots, dashboards,
and data applications.}
Name: python-%{pypi_name}
Version: 2.3.0
Name: python-bokeh
Version: 3.2.0
Release: %autorelease
Summary: Interactive plots and applications in the browser from Python
@ -62,101 +61,17 @@ Summary: Interactive plots and applications in the browser from Python
# and https://github.com/bokeh/bokeh/blob/branch-2.2/bokehjs/LICENSE
License: BSD and ASL 2.0 and MIT and ISC
URL: https://github.com/bokeh/bokeh
Source0: %pypi_source
# Read package-lock.json and general list of bundled runtime libraries their versions
Source1: parse-deps.py
Source0: %{pypi_source bokeh}
BuildArch: noarch
%description %_description
%package -n python3-%{pypi_name}
%package -n python3-bokeh
Summary: %{summary}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
###### Bundles various js bits #####
# From: https://github.com/bokeh/bokeh/blob/0b9526ef553d938bf5de187e2511564c648c13bd/bokehjs/package-lock.json
# using parse-deps.py
# Also verify using the instructions here
# https://github.com/bokeh/bokeh/blob/branch-2.2/bokehjs/LICENSE#L45
# MIT
Provides: bundled(nodejs-@bokeh/numbro) = 1.6.2
# MIT
Provides: bundled(nodejs-@bokeh/slickgrid) = 2.4.2701
# MIT
Provides: bundled(nodejs-@types/jquery) = 3.5.1
# MIT
Provides: bundled(nodejs-@types/sizzle) = 2.3.2
# MIT
Provides: bundled(nodejs-@types/slickgrid) = 2.1.30
# MIT
Provides: bundled(nodejs-choices.js) = 9.0.1
# ISC
Provides: bundled(nodejs-d) = 1.0.1
# MIT
Provides: bundled(nodejs-deepmerge) = 4.2.2
# ISC
Provides: bundled(nodejs-es5-ext) = 0.10.53
# MIT
Provides: bundled(nodejs-es6-iterator) = 2.0.3
# MIT
Provides: bundled(nodejs-es6-map) = 0.1.5
# MIT
Provides: bundled(nodejs-es6-promise) = 4.2.8
# MIT
Provides: bundled(nodejs-es6-set) = 0.1.5
# ISC
Provides: bundled(nodejs-es6-symbol) = 3.1.3
# ISC
Provides: bundled(nodejs-es6-weak-map) = 2.0.3
# MIT
Provides: bundled(nodejs-event-emitter) = 0.3.5
# ISC
Provides: bundled(nodejs-ext) = 1.4.0
# ISC
Provides: bundled(nodejs-flatbush) = 3.3.0
# MIT
Provides: bundled(nodejs-flatpickr) = 4.6.3
# ISC
Provides: bundled(nodejs-flatqueue) = 1.2.1
# ASL 2.0
Provides: bundled(nodejs-fuse.js) = 3.6.1
# MIT
Provides: bundled(nodejs-hammerjs) = 2.0.8
# MIT
Provides: bundled(nodejs-jquery-ui) = 1.12.1
# MIT
Provides: bundled(nodejs-jquery) = 3.5.1
# MIT
Provides: bundled(nodejs-js-tokens) = 4.0.0
# MIT
Provides: bundled(nodejs-loose-envify) = 1.4.0
# MIT
Provides: bundled(nodejs-mgrs) = 1.0.0
# ISC
Provides: bundled(nodejs-next-tick) = 1.0.0
# MIT
Provides: bundled(nodejs-nouislider) = 14.6.0
# MIT
Provides: bundled(nodejs-proj4) = 2.6.2
# MIT
Provides: bundled(nodejs-redux) = 4.0.5
# BSD
Provides: bundled(nodejs-sprintf-js) = 1.1.2
# MIT
Provides: bundled(nodejs-symbol-observable) = 1.2.0
# MIT
Provides: bundled(nodejs-timezone) = 1.0.23
# BSD
Provides: bundled(nodejs-tslib) = 1.13.0
# ISC
Provides: bundled(nodejs-type) = 1.2.0
# MIT
Provides: bundled(nodejs-underscore.template) = 0.1.7
# MIT
Provides: bundled(nodejs-wkt-parser) = 1.2.4
# Optional deps
# https://docs.bokeh.org/en/latest/docs/installation.html#installation
Recommends: %{py3_dist jupyter-core}
@ -171,6 +86,7 @@ Recommends: %{py3_dist sphinx}
%if %{with tests}
BuildRequires: %{py3_dist beautifulsoup4}
BuildRequires: %{py3_dist icalendar}
BuildRequires: %{py3_dist flaky}
BuildRequires: %{py3_dist Jinja2} >= 2.7
BuildRequires: %{py3_dist mock}
@ -184,39 +100,51 @@ BuildRequires: %{py3_dist python-dateutil} >= 2.1
BuildRequires: %{py3_dist PyYAML} >= 3.10
BuildRequires: %{py3_dist requests}
BuildRequires: %{py3_dist selenium}
BuildRequires: %{py3_dist sphinx}
BuildRequires: %{py3_dist toml}
BuildRequires: %{py3_dist tornado} >= 5.1
BuildRequires: %{py3_dist typing_extensions} >= 3.7.4
%endif
%description -n python3-%{pypi_name} %_description
%description -n python3-bokeh %_description
%prep
%autosetup -n %{pypi_name}-%{version}
rm -rf %{pypi_name}.egg-info
%autosetup -n bokeh-%{version}
%if %{with tests}
# pytest doesn't like it
sed -i 's/^timeout = 60//' pyproject.toml
%endif
%generate_buildrequires
%pyproject_buildrequires
%build
%py3_build
%pyproject_wheel
%install
%py3_install
%pyproject_install
%pyproject_save_files bokeh
# Remove zero length file
rm -f %{buildroot}/%{python3_sitelib}/bokeh/server/static/.keep
%check
%if %{with tests}
# https://docs.bokeh.org/en/latest/docs/dev_guide/testing.html
# skip js tests, skip selenium tests
%pytest -m "not selenium" tests/unit
# download sample data
PYTHONPATH="%{buildroot}/%{python3_sitelib}/" %{python3} -c 'import bokeh ; bokeh.sampledata.download();'
# run complete import check
%pyproject_check_import bokeh
# skip pytests: pypi doesn't include necessary code bits, but we can't use github tar because it doesn't include the necessary js etc.
%else
# skip tests that want to download things
%pyproject_check_import bokeh -e *airport_routes* -e *webdriver* -e *sampledata* -e *bokeh_autodoc* -e *sphinxext*
%endif
%files -n python3-%{pypi_name}
%license LICENSE.txt
%doc README.md
%{_bindir}/%{pypi_name}
%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info
%{python3_sitelib}/%{pypi_name}
%files -n python3-bokeh -f %{pyproject_files}
%{_bindir}/bokeh
%changelog
%autochangelog