| |
@@ -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,152 +10,80 @@
|
| |
anyone who would like to quickly and easily make interactive plots, dashboards,
|
| |
and data applications.}
|
| |
|
| |
- Name: python-%{pypi_name}
|
| |
- Version: 2.3.0
|
| |
- Release: 8%{?dist}
|
| |
+ Name: python-bokeh
|
| |
+ Version: 3.2.0
|
| |
+ Release: %autorelease
|
| |
Summary: Interactive plots and applications in the browser from Python
|
| |
|
| |
# License breakdown: licensecheck -r . | sed '/UNKNOWN/ d' | sort -t ':' -k 2
|
| |
- # The software is released under the BSD license, but includes files that are
|
| |
- # independently also marked with ASL 2.0 and MIT licenses
|
| |
- # The JS bits are npm based
|
| |
-
|
| |
- # ASL:
|
| |
- # bokeh/palettes.py
|
| |
- # bokeh/server/static/lib/lib.*
|
| |
-
|
| |
- # BSD:
|
| |
- # bokeh/server/static/js/bokeh-api.js
|
| |
- # bokeh/server/static/js/bokeh-api.legacy.js
|
| |
- # bokeh/server/static/js/bokeh-api.legacy.min.js
|
| |
- # bokeh/server/static/js/bokeh-api.min.js
|
| |
- # bokeh/server/static/js/bokeh.js
|
| |
- # bokeh/server/static/js/bokeh.legacy.js
|
| |
- # bokeh/server/static/js/bokeh.legacy.min.js
|
| |
- # bokeh/server/static/js/bokeh.min.js
|
| |
- # bokeh/server/static/js/bokeh-tables.js
|
| |
- # bokeh/server/static/js/bokeh-tables.legacy.js
|
| |
- # bokeh/server/static/js/bokeh-widgets.js
|
| |
- # bokeh/server/static/js/bokeh-widgets.legacy.js
|
| |
- # bokeh/server/static/js/bokeh-widgets.legacy.min.js
|
| |
- # bokeh/server/static/js/bokeh-widgets.min.js
|
| |
- # bokeh/server/static/js/compiler.js
|
| |
- # bokeh/server/static/js/compiler/prelude.js
|
| |
- # tests/unit/bokeh/test___init__.py
|
| |
- # bokeh/server/static/js/lib/api/palettes.js
|
| |
- # bokeh/server/static/js/types/api/palettes.d.ts
|
| |
-
|
| |
- # MIT (Expat)
|
| |
- # bokeh/server/static/js/lib/core/util/array.js
|
| |
- # bokeh/server/static/js/lib/core/util/callback.js
|
| |
- # bokeh/server/static/js/lib/core/util/types.js
|
| |
- # bokeh/server/static/js/lib/core/util/wheel.js
|
| |
- # bokeh/server/static/js/types/core/util/wheel.d.ts
|
| |
+ # The software is released under the BSD license
|
| |
+
|
| |
+ # Apache License 2.0
|
| |
+ #./src/bokeh/palettes.py: Apache License 2.0
|
| |
+ #./src/bokeh/server/static/lib/lib.*
|
| |
+
|
| |
+ # BSD 3-Clause
|
| |
+ #./src/bokeh/server/static/js/bokeh-api.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-api.min.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-gl.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-gl.min.js
|
| |
+ #./src/bokeh/server/static/js/bokeh.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-mathjax.js:
|
| |
+ #./src/bokeh/server/static/js/bokeh-mathjax.min.js
|
| |
+ #./src/bokeh/server/static/js/bokeh.min.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-tables.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-widgets.js
|
| |
+ #./src/bokeh/server/static/js/bokeh-widgets.min.js
|
| |
+ #./src/bokeh/server/static/js/compiler.js
|
| |
+
|
| |
+ # MIT
|
| |
+ #./src/bokeh/sampledata/antibiotics.py: MIT License
|
| |
+ #./src/bokeh/sampledata/haar_cascade.py: MIT License
|
| |
+ #./src/bokeh/sampledata/perceptions.py: MIT License
|
| |
+ #./src/bokeh/server/static/js/lib/core/util/wheel.d.ts: MIT License
|
| |
+
|
| |
+ # CC
|
| |
+ #./src/bokeh/sampledata/gapminder.py: Creative Commons Attribution 2.0
|
| |
+ #./src/bokeh/sampledata/us_cities.py: Creative Commons Attribution 2.0
|
| |
+ #./src/bokeh/sampledata/world_cities.py: Creative Commons Attribution 2.0
|
| |
+ #./src/bokeh/sampledata/population.py: Creative Commons Attribution 3.0
|
| |
+ #./src/bokeh/sampledata/les_mis.py: Creative Commons Attribution-NoDerivatives 4.0
|
| |
+ #./src/bokeh/sampledata/anscombe.py: Creative Commons Attribution-ShareAlike 3.0
|
| |
+ #./src/bokeh/sampledata/browsers.py: Creative Commons Attribution-ShareAlike 3.0
|
| |
+
|
| |
+ # ODC
|
| |
+ #./src/bokeh/sampledata/airport_routes.py: ODC Open Database License v1.0
|
| |
+
|
| |
+ # Public Domain
|
| |
+ #./src/bokeh/sampledata/airports.py: Public domain
|
| |
+ #./src/bokeh/sampledata/commits.py: Public domain
|
| |
+ #./src/bokeh/sampledata/periodic_table.py: Public domain
|
| |
+ #./src/bokeh/sampledata/unemployment1948.py: Public domain
|
| |
+ #./src/bokeh/sampledata/unemployment.py: Public domain
|
| |
+ #./src/bokeh/sampledata/us_marriages_divorces.py: Public domain
|
| |
+
|
| |
|
| |
# Multiple licenses:
|
| |
- # bokeh/server/static/js/bokeh.json: Expat License Apache License 2.0
|
| |
- # bokeh/server/static/js/bokeh-tables.legacy.min.js: Expat License BSD 3-clause "New" or "Revised" License
|
| |
- # bokeh/server/static/js/bokeh-tables.min.js: Expat License BSD 3-clause "New" or "Revised" License
|
| |
+ #./src/bokeh/server/static/js/lib/api/palettes.d.ts: BSD 3-Clause License Apache License 2.0
|
| |
+ #./src/bokeh/server/static/js/bokeh-tables.min.js: MIT License BSD 3-Clause License
|
| |
+
|
| |
+ # NC: non free: to remove?
|
| |
+ #./src/bokeh/sampledata/movies_data.py: Creative Commons Attribution-NonCommercial 4.0
|
| |
|
| |
- # Also see the breakdown in the bundled JS below
|
| |
- # and https://github.com/bokeh/bokeh/blob/branch-2.2/bokehjs/LICENSE
|
| |
- License: BSD and ASL 2.0 and MIT and ISC
|
| |
+
|
| |
+ License: Apache-2.0 and BSD-3-Clause and MIT and ODbL-1.0 and LicenseRef-Fedora-Public-Domain and CC-BY-2.0 and CC-BY-3.0 and CC-BY-ND-4.0 and CC-BY-SA-3.0
|
| |
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 +98,7 @@
|
| |
|
| |
%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,82 +112,51 @@
|
| |
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
|
| |
- * Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.3.0-8
|
| |
- - Rebuilt for Python 3.12
|
| |
-
|
| |
- * Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-7
|
| |
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
| |
-
|
| |
- * Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-6
|
| |
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
| |
-
|
| |
- * Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.3.0-5
|
| |
- - Rebuilt for Python 3.11
|
| |
-
|
| |
- * Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-4
|
| |
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
| |
-
|
| |
- * Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-3
|
| |
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
| |
-
|
| |
- * Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.3.0-2
|
| |
- - Rebuilt for Python 3.10
|
| |
-
|
| |
- * Sun Mar 28 2021 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.3.0-1
|
| |
- - Update to latest release
|
| |
-
|
| |
- * Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-4
|
| |
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
| |
-
|
| |
- * Fri Sep 18 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.2.1-3
|
| |
- - Update naming scheme for bundled bits, also in script
|
| |
- - Comment use of parse script
|
| |
- - Correct parse script shebang
|
| |
-
|
| |
- * Thu Sep 17 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.2.1-2
|
| |
- - Include detailed licensing
|
| |
- - Add optional requirements
|
| |
- - Remove commented shebang correction command
|
| |
- - List bundled nodejs libs with licenses
|
| |
- - include parse script in srpm
|
| |
- - Remove zero length files
|
| |
-
|
| |
- * Wed Sep 16 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.2.1-1
|
| |
- - Remove dependency generator: no longer needed since F30
|
| |
- - Remove python provide line: no longer needed for F33+
|
| |
- - Initial build
|
| |
+ %autochangelog
|
| |
Does this need to be removed given that non-commercial is not FOSS?
https://docs.fedoraproject.org/en-US/legal/not-allowed-licenses/