diff --git a/bokeh-pr10987-python312-configparser.patch b/bokeh-pr10987-python312-configparser.patch deleted file mode 100644 index 43a4737..0000000 --- a/bokeh-pr10987-python312-configparser.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 865c54896e6158c1195e5ec8352f300cbf10920f Mon Sep 17 00:00:00 2001 -From: Bryan Van de Ven -Date: Tue, 2 Mar 2021 21:53:55 -0800 -Subject: [PATCH] Bryanv/2 3 1 forwardports (#10987) - -* Add missing comma in example code (#10973) - -* update to versioneer 0.19 (#10969) - -* update to versioneer 0.19 - -* unused loop var - -* Add note re. Chrome/MacOS bug (#10964) - -* Add note re. Chrome/MacOS bug - -* Make wording consistent with preceding paragraph - -* Link to GH issue - -* Add information about Bokeh channel for installation (#10953) - -* Add info about Bokeh channel on Anaconda - -* Add info on new releases - -Co-authored-by: Timo Cornelius Metzger ---- - bokeh/_version.py | 65 ++--- - bokeh/models/widgets/inputs.py | 8 + - .../source/docs/first_steps/first_steps_9.rst | 2 +- - .../source/docs/first_steps/installation.rst | 8 + - versioneer.py | 234 ++++++++++-------- - 5 files changed, 188 insertions(+), 129 deletions(-) - -diff --git a/versioneer.py b/versioneer.py -index 60e4efb714f..eaf1aba67bd 100644 ---- a/versioneer.py -+++ b/versioneer.py -@@ -337,9 +331,9 @@ def get_config_from_root(root): - # configparser.NoOptionError (if it lacks "VCS="). See the docstring at - # the top of versioneer.py for instructions on writing your setup.cfg . - setup_cfg = os.path.join(root, "setup.cfg") -- parser = configparser.SafeConfigParser() -+ parser = configparser.ConfigParser() - with open(setup_cfg, "r") as f: -- parser.readfp(f) -+ parser.read_file(f) - VCS = parser.get("versioneer", "VCS") # mandatory - - def get(parser, name): diff --git a/bokeh-pr11174-replace-jinja2-markup.patch b/bokeh-pr11174-replace-jinja2-markup.patch deleted file mode 100644 index 8e6f9a8..0000000 --- a/bokeh-pr11174-replace-jinja2-markup.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 7047c6a90535564c9d05121fc8a095aef1de3c21 Mon Sep 17 00:00:00 2001 -From: kernc -Date: Wed, 21 Apr 2021 17:29:22 +0200 -Subject: [PATCH] Replace deprecated jinja2.Markup with jinja2.tojson (#11174) - -* Replace deprecated jinja2.Markup -> markupsafe.Markup - -* Expose |tojson as |json. Bump Jinja2 >=2.9 - -* Replace |json filter with jinja's |tojson throughout - -* Fix test_autoload_template_has_changed ---- - _setup_support.py | 2 +- - bokeh/core/_templates/autoload_js.js | 14 +++++++------- - bokeh/core/_templates/autoload_nb_js.js | 6 +++--- - bokeh/core/templates.py | 4 +--- - tests/unit/bokeh/core/test_templates.py | 2 +- - 5 files changed, 13 insertions(+), 15 deletions(-) - -diff --git a/bokeh/core/_templates/autoload_js.js b/bokeh/core/_templates/autoload_js.js -index 792a74c7cc2..d15ea9778e6 100644 ---- a/bokeh/core/_templates/autoload_js.js -+++ b/bokeh/core/_templates/autoload_js.js -@@ -20,7 +20,7 @@ calls it with the rendered model. - return new Date(); - } - -- var force = {{ force|default(False)|json }}; -+ var force = {{ force|default(False)|tojson }}; - - if (typeof root._bokeh_onload_callbacks === "undefined" || force === true) { - root._bokeh_onload_callbacks = []; -@@ -32,7 +32,7 @@ calls it with the rendered model. - - {% block autoload_init %} - {%- if elementid -%} -- var element = document.getElementById({{ elementid|json }}); -+ var element = document.getElementById({{ elementid|tojson }}); - if (element == null) { - console.warn("Bokeh: autoload.js configured with elementid '{{ elementid }}' but no matching script tag was found.") - } -@@ -91,7 +91,7 @@ calls it with the rendered model. - document.body.appendChild(element); - } - -- const hashes = {{ bundle.hashes|json }}; -+ const hashes = {{ bundle.hashes|tojson }}; - - for (let i = 0; i < js_urls.length; i++) { - const url = js_urls[i]; -@@ -110,17 +110,17 @@ calls it with the rendered model. - } - - {% if bundle %} -- var js_urls = {{ bundle.js_urls|json }}; -- var css_urls = {{ bundle.css_urls|json }}; -+ var js_urls = {{ bundle.js_urls|tojson }}; -+ var css_urls = {{ bundle.css_urls|tojson }}; - {% else %} -- var js_urls = {{ js_urls|json }}; -- var css_urls = {{ css_urls|json }}; -+ var js_urls = {{ js_urls|tojson }}; -+ var css_urls = {{ css_urls|tojson }}; - {% endif %} - - var inline_js = [ - {%- for css in (bundle.css_raw if bundle else css_raw) %} - function(Bokeh) { -- inject_raw_css({{ css|json }}); -+ inject_raw_css({{ css|tojson }}); - }, - {%- endfor %} - {%- for js in (bundle.js_raw if bundle else js_raw) %} -diff --git a/bokeh/core/_templates/autoload_nb_js.js b/bokeh/core/_templates/autoload_nb_js.js -index 2c75850b2b4..ca96a59cd2d 100644 ---- a/bokeh/core/_templates/autoload_nb_js.js -+++ b/bokeh/core/_templates/autoload_nb_js.js -@@ -132,7 +132,7 @@ - - {% block autoload_init %} - if (typeof (root._bokeh_timeout) === "undefined" || force === true) { -- root._bokeh_timeout = Date.now() + {{ timeout|default(0)|json }}; -+ root._bokeh_timeout = Date.now() + {{ timeout|default(0)|tojson }}; - root._bokeh_failed_load = false; - } - -@@ -153,7 +153,7 @@ - ""}}; - - function display_loaded() { -- var el = document.getElementById({{ elementid|json }}); -+ var el = document.getElementById({{ elementid|tojson }}); - if (el != null) { - el.textContent = "BokehJS is loading..."; - } -@@ -181,7 +181,7 @@ - console.log("Bokeh: BokehJS failed to load within specified timeout."); - root._bokeh_failed_load = true; - } else if (force !== true) { -- var cell = $(document.getElementById({{ elementid|json }})).parents('.cell').data().cell; -+ var cell = $(document.getElementById({{ elementid|tojson }})).parents('.cell').data().cell; - cell.output_area.append_execute_result(NB_LOAD_WARNING) - } - {% endblock %} -diff --git a/bokeh/core/templates.py b/bokeh/core/templates.py -index 10344ecaf7d..c7cd25ea7f2 100644 ---- a/bokeh/core/templates.py -+++ b/bokeh/core/templates.py -@@ -36,12 +36,11 @@ - #----------------------------------------------------------------------------- - - # Standard library imports --import json - import sys - from os.path import dirname, join - - # External imports --from jinja2 import Environment, FileSystemLoader, Markup -+from jinja2 import Environment, FileSystemLoader - - #----------------------------------------------------------------------------- - # Globals and constants -@@ -86,7 +85,6 @@ def get_env(): - #----------------------------------------------------------------------------- - - _env = get_env() --_env.filters['json'] = lambda obj: Markup(json.dumps(obj)) - - #----------------------------------------------------------------------------- - # General API diff --git a/python-bokeh.spec b/python-bokeh.spec index d0b006d..456e212 100644 --- a/python-bokeh.spec +++ b/python-bokeh.spec @@ -13,7 +13,7 @@ and data applications.} Name: python-%{pypi_name} Version: 2.3.0 -Release: 23%{?dist} +Release: 7%{?dist} Summary: Interactive plots and applications in the browser from Python # License breakdown: licensecheck -r . | sed '/UNKNOWN/ d' | sort -t ':' -k 2 @@ -60,18 +60,11 @@ Summary: Interactive plots and applications in the browser from Python # Also see the breakdown in the bundled JS below # and https://github.com/bokeh/bokeh/blob/branch-2.2/bokehjs/LICENSE -# Automatically converted from old format: BSD and ASL 2.0 and MIT and ISC - review is highly recommended. -License: BSD-3-Clause AND Apache-2.0 AND MIT AND ISC +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 -# From https://github.com/bokeh/bokeh/commit/865c54896e6158c1195e5ec8352f300cbf10920f -# https://github.com/bokeh/bokeh/pull/10987 -Patch0: bokeh-pr10987-python312-configparser.patch -# https://github.com/bokeh/bokeh/commit/7047c6a90535564c9d05121fc8a095aef1de3c21 -# https://github.com/bokeh/bokeh/pull/11174 -Patch1: bokeh-pr11174-replace-jinja2-markup.patch BuildArch: noarch @@ -199,15 +192,9 @@ BuildRequires: %{py3_dist typing_extensions} >= 3.7.4 %description -n python3-%{pypi_name} %_description %prep -%autosetup -n %{pypi_name}-%{version} -p1 +%autosetup -n %{pypi_name}-%{version} rm -rf %{pypi_name}.egg-info -# Replace `np.bool8` with `np.bool_` for NumPy 2.x. -# This is for `netpyne` failing on the deprecated type alias. -# https://github.com/bokeh/bokeh/pull/12690 -sed -i 's/np\.bool8/np.bool_/g' $(grep -rl 'np\.bool8') - - %build %py3_build @@ -232,54 +219,6 @@ rm -f %{buildroot}/%{python3_sitelib}/bokeh/server/static/.keep %{python3_sitelib}/%{pypi_name} %changelog -* Tue Jan 13 2026 Ankur Sinha - 2.3.0-23 -- use spdx license - -* Fri Sep 19 2025 Python Maint - 2.3.0-22 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Fri Aug 15 2025 Python Maint - 2.3.0-21 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Fri Jul 25 2025 Fedora Release Engineering - 2.3.0-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jun 02 2025 Python Maint - 2.3.0-19 -- Rebuilt for Python 3.14 - -* Wed Jan 22 2025 Sandro - 2.3.0-18 -- Apply patch for NumPy 2.x compatibility - -* Sat Jan 18 2025 Fedora Release Engineering - 2.3.0-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Sep 04 2024 Miroslav Suchý - 2.3.0-16 -- convert license to SPDX - -* Fri Jul 19 2024 Fedora Release Engineering - 2.3.0-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 2.3.0-14 -- Rebuilt for Python 3.13 - -* Fri Jan 26 2024 Fedora Release Engineering - 2.3.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 2.3.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Jul 25 2023 Mamoru TASAKA - 2.3.0-11 -- Backport upstream patch for Jinja2 3.1 change - -* Tue Jul 25 2023 Mamoru TASAKA - 2.3.0-10 -- Backport upstream patch for python 3.12 SafeConfigParser removal - -* Fri Jul 21 2023 Fedora Release Engineering - 2.3.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jun 13 2023 Python Maint - 2.3.0-8 -- Rebuilt for Python 3.12 - * Fri Jan 20 2023 Fedora Release Engineering - 2.3.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild