Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-hotdoc for openSUSE:Factory 
checked in at 2026-09-23 14:33:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hotdoc (Old)
 and      /work/SRC/openSUSE:Factory/.python-hotdoc.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-hotdoc"

Wed Sep 23 14:33:09 2026 rev:12 rq:1379250 version:0.18.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hotdoc/python-hotdoc.changes      
2025-10-18 14:37:17.469104682 +0200
+++ /work/SRC/openSUSE:Factory/.python-hotdoc.new.383539/python-hotdoc.changes  
2026-09-23 14:34:30.483227022 +0200
@@ -1,0 +2,20 @@
+Sun Sep 13 12:10:10 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.18.3:
+  * Meson-python build backend: add meson, ninja, meson-python and
+    pkgconfig BuildRequires; drop unused libxslt-devel and
+    libyaml-devel; add a C-extension import smoke test
+  * New runtime requirement python-feedgen >= 1.0.0; drop
+    python-faust-cchardet and python-backports.entry_points_selectable,
+    removed upstream
+  * Raise dependency floors to upstream minimums
+  * Drop fix-cmake-min-version.patch and fix-function-prototypes.patch:
+    adopted upstream
+  * Carry the default HTML theme as a prebuilt dist tarball (Source1)
+    with new use-prebuilt-theme-dist.patch: upstream no longer ships
+    dist/ in the sdist and the meson theme subproject needs npm and
+    network access at configure time
+  * gi extension supports Python 3.13; gst, devhelp and c scanner fixes
+- Switch from update-alternatives to libalternatives
+
+-------------------------------------------------------------------

Old:
----
  fix-cmake-min-version.patch
  fix-function-prototypes.patch
  hotdoc-0.17.4.tar.gz

New:
----
  hotdoc-0.18.3.tar.gz
  hotdoc-bootstrap-theme-dist-0.18.3.tar.gz
  use-prebuilt-theme-dist.patch

----------(Old B)----------
  Old:  * Raise dependency floors to upstream minimums
  * Drop fix-cmake-min-version.patch and fix-function-prototypes.patch:
    adopted upstream
  Old:  * Raise dependency floors to upstream minimums
  * Drop fix-cmake-min-version.patch and fix-function-prototypes.patch:
    adopted upstream
----------(Old E)----------

----------(New B)----------
  New:  * Carry the default HTML theme as a prebuilt dist tarball (Source1)
    with new use-prebuilt-theme-dist.patch: upstream no longer ships
    dist/ in the sdist and the meson theme subproject needs npm and
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-hotdoc.spec ++++++
--- /var/tmp/diff_new_pack.aNCWtV/_old  2026-09-23 14:34:31.935287726 +0200
+++ /var/tmp/diff_new_pack.aNCWtV/_new  2026-09-23 14:34:31.936287767 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-hotdoc
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,50 +16,72 @@
 #
 
 
+%if 0%{?suse_version} > 1500
+%bcond_without libalternatives
+%else
+%bcond_with libalternatives
+%endif
 %{?sle15_python_module_pythons}
 Name:           python-hotdoc
-Version:        0.17.4
+Version:        0.18.3
 Release:        0
 Summary:        A documentation tool micro-framework
 License:        LGPL-2.1-or-later
-Group:          Development/Tools/Doc Generators
 URL:            https://github.com/hotdoc/hotdoc
 Source:         
https://files.pythonhosted.org/packages/source/h/hotdoc/hotdoc-%{version}.tar.gz
-Patch:          
https://github.com/hotdoc/hotdoc/commit/adf8518431fafb78c9b47862a0a9a58824b6a421.patch#/fix-function-prototypes.patch
-#PATCH-FIX-UPSTREAM https://github.com/MathieuDuponchelle/cmark/pull/2
-Patch1:         fix-cmake-min-version.patch
+# Prebuilt default-theme dist/ (hotdoc_bootstrap_theme @0ce3e58, built locally
+# with npm: standalone meson configure of the in-tree theme sources + ninja).
+# Upstream 0.18.3 no longer ships dist/ in the sdist, and the meson theme
+# subproject needs npm + network at configure time, unavailable offline.
+# Regenerate with: copy hotdoc/hotdoc_bootstrap_theme + hotdoc/less aside,
+# meson setup builddir <theme> -Dinstall=true -Dless_include_path=<less>,
+# ninja -C builddir, then tar -C builddir/src dist.
+Source1:        hotdoc-bootstrap-theme-dist-0.18.3.tar.gz
+# PATCH-FIX-UPSTREAM: install the prebuilt theme dist/ when present instead of
+# fetching npm dependencies over the network via the theme subproject, so the
+# package builds offline. No-op on git checkouts (dist/ is gitignored there).
+Patch0:         use-prebuilt-theme-dist.patch
 BuildRequires:  %{python_module PyYAML}
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module lxml}
+BuildRequires:  %{python_module meson-python}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
+# Needed for %%check: the cmark C module init imports hotdoc.utils.utils
+BuildRequires:  %{python_module toposort}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  clang
 BuildRequires:  cmake
 BuildRequires:  fdupes
 BuildRequires:  flex
-BuildRequires:  glib2-devel
-BuildRequires:  json-glib-devel
-BuildRequires:  libxml2-devel
-BuildRequires:  libxslt-devel
-BuildRequires:  libyaml-devel
 BuildRequires:  llvm-devel
+BuildRequires:  meson
+BuildRequires:  ninja
+BuildRequires:  pkgconfig
 BuildRequires:  python-rpm-macros
+BuildRequires:  pkgconfig(glib-2.0)
+BuildRequires:  pkgconfig(json-glib-1.0)
+BuildRequires:  pkgconfig(libxml-2.0)
 # The c extension needs libclang.so and llvm-config
 Requires:       clang-devel
 Requires:       llvm-devel
-Requires:       python-PyYAML >= 5.4.1
-Requires:       python-appdirs
-Requires:       python-backports.entry_points_selectable
+Requires:       python-PyYAML >= 6.0.2
+Requires:       python-appdirs >= 1.4.4
 Requires:       python-dbus-deviation >= 0.6.1
-Requires:       python-faust-cchardet
-Requires:       python-lxml >= 4.9.1
-Requires:       python-networkx >= 2.8.8
-Requires:       python-pkgconfig >= 1.5.1
-Requires:       python-schema
-Requires:       python-toposort >= 1.6
-Requires:       python-wheezy.template >= 0.1.195
+Requires:       python-feedgen >= 1.0.0
+Requires:       python-lxml >= 5.4.0
+Requires:       python-networkx >= 3.4
+Requires:       python-pkgconfig >= 1.6.0
+Requires:       python-schema >= 0.7.7
+Requires:       python-toposort >= 1.10
+Requires:       python-wheezy.template >= 3.2.3
+%if %{with libalternatives}
+BuildRequires:  alts
+Requires:       alts
+%else
 Requires(post): update-alternatives
+Requires(postun): update-alternatives
+%endif
 %if "%{python_flavor}" == "python3" || "%{?python_provides}" == "python3"
 # The hotdoc cli files were provided as separate package between Aug and Nov 
2020
 Obsoletes:      hotdoc < %{version}-%{release}
@@ -78,9 +100,13 @@
 
 %prep
 %autosetup -p1 -n hotdoc-%{version}
-sed -i -e "s/wheezy.template==/wheezy.template>=/" setup.py
-sed -i -e "s/pkgconfig==/pkgconfig>=/" setup.py
-sed -i -e "s/networkx==/networkx>=/" setup.py
+# Theme dist/ is carried as Source1 (see comment above it); the meson theme
+# subproject is skipped by Patch0 when it is present.
+tar -xzf %{SOURCE1} -C hotdoc/hotdoc_bootstrap_theme
+# cmake.subproject('cmark') only looks under subprojects/, which upstream
+# leaves to wrap-git fetching; point it at the pinned in-tree sources instead.
+mkdir -p subprojects
+cp -r cmark subprojects/cmark
 
 sed -i -e '1s,#! %{_bindir}/env sh,#!%{_bindir}/sh,' 
./hotdoc/extensions/gi/transition_scripts/translate_sections.sh
 
@@ -91,8 +117,25 @@
 %pyproject_install
 %python_clone -a %{buildroot}%{_bindir}/hotdoc
 %python_clone -a %{buildroot}%{_bindir}/hotdoc_dep_printer
+%python_group_libalternatives hotdoc hotdoc_dep_printer
+# Installed modules are imported, never executed: drop their shebangs.
+%python_expand find %{buildroot}%{$python_sitearch}/hotdoc -name '*.py' -exec 
sed -i '1{/^#!/d}' {} +
+# Web assets must not be executable.
+%python_expand find %{buildroot}%{$python_sitearch}/hotdoc -name '*.js' -perm 
-111 -exec chmod a-x {} +
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
 
+%check
+# Smoke-test the meson-built C extensions from the built tree. The parent
+# packages are import-light, so no extra test dependencies are needed.
+# NOTE: the source tree must not shadow the built modules on sys.path,
+# so empty (cwd) entries are dropped. No cd here: the per-flavor file ops
+# the expand macro emits assume the source dir as cwd.
+%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -B -c 
"import sys; sys.path = [p for p in sys.path if p]; import 
hotdoc.parsers.cmark, hotdoc.parsers.search, hotdoc.parsers.c_comment_scanner"
+
+%pre
+%python_libalternatives_reset_alternative hotdoc
+%python_libalternatives_reset_alternative hotdoc_dep_printer
+
 %post
 %python_install_alternative hotdoc hotdoc_dep_printer
 

++++++ hotdoc-0.17.4.tar.gz -> hotdoc-0.18.3.tar.gz ++++++
++++ 79986 lines of diff (skipped)

++++++ use-prebuilt-theme-dist.patch ++++++
Index: hotdoc-0.18.3/hotdoc/meson.build
===================================================================
--- hotdoc-0.18.3.orig/hotdoc/meson.build
+++ hotdoc-0.18.3/hotdoc/meson.build
@@ -27,14 +27,25 @@
     preserve_path: true,
 )
 
-bootstrap_theme = subproject('hotdoc_bootstrap_theme',
-    default_options: [
-        'less_include_path=@0@'.format(meson.current_source_dir() / 'less'),
-        'install=true',
-    ]
-)
-
-theme_dist_dir = bootstrap_theme.get_variable ('theme_dir')
+fs = import('fs')
+prebuilt_dist = meson.current_source_dir() / 'hotdoc_bootstrap_theme/dist'
+if fs.is_dir(prebuilt_dist)
+    # Offline/distro build: install the prebuilt theme instead of fetching
+    # npm dependencies over the network through the theme subproject.
+    install_subdir('hotdoc_bootstrap_theme/dist',
+        install_dir: py.get_install_dir() / 'hotdoc/hotdoc_bootstrap_theme',
+    )
+    theme_dist_dir = prebuilt_dist
+else
+    bootstrap_theme = subproject('hotdoc_bootstrap_theme',
+        default_options: [
+            'less_include_path=@0@'.format(meson.current_source_dir() / 
'less'),
+            'install=true',
+        ]
+    )
+
+    theme_dist_dir = bootstrap_theme.get_variable ('theme_dir')
+endif
 
 subdir('core')
 subdir('extensions')

Reply via email to