Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pocketsphinx for openSUSE:Factory checked in at 2024-12-26 12:23:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pocketsphinx (Old) and /work/SRC/openSUSE:Factory/.pocketsphinx.new.1881 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pocketsphinx" Thu Dec 26 12:23:49 2024 rev:7 rq:1231873 version:5.0.3+git20241211.69167fb Changes: -------- --- /work/SRC/openSUSE:Factory/pocketsphinx/pocketsphinx.changes 2024-02-29 21:51:52.797338291 +0100 +++ /work/SRC/openSUSE:Factory/.pocketsphinx.new.1881/pocketsphinx.changes 2024-12-26 12:23:50.878403444 +0100 @@ -1,0 +2,109 @@ +Wed Dec 18 06:55:04 UTC 2024 - Antonio Larrosa <[email protected]> + +- Update to 5.0.3: + * This release mainly fixes building for Python 3.12, but also + fixes a serious bug in the NGramModel wrapper class along the + way. Note that Python 3.6 and 3.7 are no longer supported. + * Switch to scikit-build-core and tox to fix many issues. + +- Update to 5.0.2: + Removed unnecessary shinxbase in package config + Do not attempt to align phones to impossibly short durations (fixes #339) + Require specific setuptools version to fix editable install (fixes: #353) + +- Update to 5.0.1: + Include examples of live recognition on various platforms + Add missing close brace for C++ + Use a separate search for ps_set_align_text() + Fix regression tests and -phone_align in main program + Use trailing slash with include directory + Removed unnecessary libpthread in package config + fix: fix a stray #if WORDS_BIGENDIAN (fixes: #343) + +- Update to 5.0.0. Includes among other these notable changes: + * pocketsphinx_continuous is gone, replaced by plain old + pocketsphinx, which is documented in the README file. + * The configuration interface is now quite different. It is not a + "command-line parser" anymore and the configuration parameters + have lost their leading dashes. + * All of the SphinxBase "utility" headers have also been made + internal and their symbols will no longer be exported on + Windows. Conversely, the JSGF and N-Gram language model API has + been included in <pocketsphinx/model.h>. + * The sphinx_fe and sphinx_cepview utilities have been moved to + SphinxTrain. + * The audio interface (<sphinxbase/ad.h>) has been removed. + * The -remove_noise option is now controlled by the acoustic + model as it needs to match the training. + * The -remove_silence option has been removed as it is a Bad Idea + and Considered Harmful for batch mode recognition. Please use + the endpointer API as detailed in <pocketsphinx/endpointer.h> + and examples/live.c or examples/live.py. + * The -cmninit option is not controlled by the default acoustic + model anymore. This may cause some problems for live + recognition as the defaults may not match the feature + extraction parameters. + * The SWIG wrappers have been removed. Only Python 3 is directly + supported as a dynamic language binding. Node.js may be + supported in the near future. The C API is specifically + designed to be easily supported through FFI, so you can do + that. + * Python support is much improved, fully documented, and builds a + proper module directly from the (top level of the) source tree + with pip or build. + * Android support is gone but may come back (contributions + welcome, I don't have time to support anything other than Linux + on x86_64 and s390x) + * Other changes: + * Change the <pocketsphinx/search.h> API to be slightly more + intuitive + * New force-alignment API and two-pass alignment to get + phone/state durations + * Uniformize API and test fixed-point mode properly + * Fix float-to-int underflows (#199, #252) + * Disallow multiple search types in config or command-line + * Revert incorrect optimizations to JSGF compiler (fixes #53) + * Make seg_iter and hyp behave as expected in kws search + (fixes #122) + * feat: add -config and config to parse and save JSON + * Resurrect GStreamer support + * Remove sphinxbase and modernize configuration API + * Add support for input files to pocketsphinx command line + * Add compatibility with pocketsphinx-python 0.1.5 + * Rename pocketsphinx5 to pocketsphinx + * Updated the en-us dict + * Fix memory leak in allphone_search.c + * Forward declare allphone_clear_segments in allphone_search.c + * Make force alignment accessible from pocketsphinx_batch and + the ps_decoder API + * Improve linking for internal headers + * Fix memory leak in bin_mdef_read_text + * Large build system and small API modernizations + * Fix windows build + * Fix endianness issues in binary trie LM code + * Build a proper Python package + * Update -cmninit parameter when CMN is updated + * Switch back to Cython and use scikit-build for Python module + * Document Python module better and build ReadTheDocs with + (the other) Sphinx + * Fix install command for Mac and iOS builds + * Incoporate WebRTC VAD code + * Reorganize header files + * Remove thread library + * Add a proper API for cepstral mean normalization + * Make -samprate an int after all these years + +- Obsoletes the pocketsphinx5/sphinxbase/sphinxbase5 packages and + remove the use of update-alternatives since it's not needed + anymore. +- Add _service file. +- Add _multibuild to build the python package. +- Drop patches that don't seem to be needed anymore: + * pocketsphinx-doxygen.patch + * pocketsphinx-largefile.patch + * pocketsphinx-long-utterance.patch + * use-python3.patch +- Add patch to fix installation directory of python module: + * fix-python-installation.patch + +------------------------------------------------------------------- Old: ---- pocketsphinx-0.8.tar.gz pocketsphinx-doxygen.patch pocketsphinx-largefile.patch pocketsphinx-long-utterance.patch use-python3.patch New: ---- _multibuild _service fix-python-installation.patch pocketsphinx-5.0.3+git20241211.69167fb.tar.xz BETA DEBUG BEGIN: Old:- Drop patches that don't seem to be needed anymore: * pocketsphinx-doxygen.patch * pocketsphinx-largefile.patch Old: * pocketsphinx-doxygen.patch * pocketsphinx-largefile.patch * pocketsphinx-long-utterance.patch Old: * pocketsphinx-largefile.patch * pocketsphinx-long-utterance.patch * use-python3.patch Old: * pocketsphinx-long-utterance.patch * use-python3.patch - Add patch to fix installation directory of python module: BETA DEBUG END: BETA DEBUG BEGIN: New:- Add patch to fix installation directory of python module: * fix-python-installation.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pocketsphinx.spec ++++++ --- /var/tmp/diff_new_pack.OYa6dv/_old 2024-12-26 12:23:51.790440812 +0100 +++ /var/tmp/diff_new_pack.OYa6dv/_new 2024-12-26 12:23:51.790440812 +0100 @@ -1,7 +1,7 @@ # # spec file for package pocketsphinx # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,34 +16,38 @@ # -%define sover 1 -Name: pocketsphinx -Version: 0.8 +%define flavor @BUILD_FLAVOR@%nil + +%if "%flavor" == "python" +%define name_suffix -%{flavor} +%else +%define name_suffix %{nil} +%endif + +%define sover 5 +%define versuffix 5.0.3+git20241211.69167fb +Name: pocketsphinx%{name_suffix} +Version: 5.0.3+git20241211.69167fb Release: 0 Summary: Speech recognizer library written in C License: BSD-2-Clause Group: Productivity/Office/Other URL: http://cmusphinx.sourceforge.net/wiki/download/ -Source: http://downloads.sourceforge.net/project/cmusphinx/pocketsphinx/%{version}/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM pocketsphinx-doxygen.patch -- Obtained from fedora package (http://pkgs.fedoraproject.org/cgit/rpms/pocketsphinx.git/tree/) -Patch0: pocketsphinx-doxygen.patch -# PATCH-FIX-UPSTREAM pocketsphinx-largefile.patch -- Obtained from fedora package (http://pkgs.fedoraproject.org/cgit/rpms/pocketsphinx.git/tree/) -Patch1: pocketsphinx-largefile.patch -# PATCH-FIX-UPSTREAM pocketsphinx-long-utterance.patch -- Obtained from fedora package (http://pkgs.fedoraproject.org/cgit/rpms/pocketsphinx.git/tree/) -Patch2: pocketsphinx-long-utterance.patch -Patch3: use-python3.patch -BuildRequires: alsa-devel -BuildRequires: doxygen +Source: pocketsphinx-%{version}.tar.xz +Patch1: fix-python-installation.patch +BuildRequires: cmake BuildRequires: fdupes BuildRequires: gstreamer-devel -BuildRequires: pkgconfig +BuildRequires: gstreamer-plugins-base-devel +%if "%flavor" == "python" +BuildRequires: pocketsphinx-devel +BuildRequires: python3 BuildRequires: python3-Cython BuildRequires: python3-devel -BuildRequires: python3-gobject -BuildRequires: python3-setuptools -BuildRequires: sphinxbase-devel -Requires(post): update-alternatives -Requires(postun): update-alternatives +BuildRequires: python3-scikit-build-core +%endif +Obsoletes: pocketsphinx5 <= 5 +Provides: pocketsphinx5 = %{version} %description Pocketsphinx is a version of the open-source CMU Sphinx II speech @@ -52,6 +56,7 @@ %package -n libpocketsphinx%{sover} Summary: Speech recognizer library Group: System/Libraries +Requires: pocketsphinx %description -n libpocketsphinx%{sover} CMU Sphinx toolkit has a number of packages for different tasks and @@ -62,8 +67,9 @@ %package devel Summary: Development files for pocketsphinx, a speech recognizer library Group: Development/Libraries/C and C++ -Requires: libpocketsphinx%{sover} = %{version} -Conflicts: pocketsphinx5-devel +Requires: %{name} = %{version} +Obsoletes: pocketsphinx5-devel <= 5 +Provides: pocketsphinx5-devel = %{version} %description devel CMU Sphinx toolkit has a number of packages for different tasks and @@ -74,12 +80,11 @@ This is the development package for pocketsphinx. %package -n python3-pocketsphinx -Summary: Python3 bindings for pocketsphinx +Summary: Python bindings for pocketsphinx Group: Development/Languages/Python -Requires: %{name} = %{version} -Requires: python3-sphinxbase -Conflicts: python3-pocketsphinx5 -Conflicts: python3-pocketsphinx-python <= 0.1.3 +Requires: pocketsphinx = %{version} +Obsoletes: python3-pocketsphinx5-python <= 5 +Provides: python3-pocketsphinx5 = %{version} %description -n python3-pocketsphinx Pocketsphinx is a version of the open-source CMU Sphinx II speech @@ -87,78 +92,70 @@ This package provides python bindings for pocketsphinx. +%package -n gstreamer-plugin-pocketsphinx +Summary: GStreamer Plugin for pocketsphinx +Requires: %{name} = %{version} + +%description -n gstreamer-plugin-pocketsphinx +Pocketsphinx is a version of the open-source CMU Sphinx II speech +recognition system which is able to recognize speech in real-time. + +This package provides the GStreamer plugin for pocketsphinx. + %prep -%setup -q -%patch -P 0 -%patch -P 1 -%patch -P 2 -%patch -P 3 -p1 -rm python/pocketsphinx.c +%setup -q -n pocketsphinx-%{version} +%autopatch -p1 %build -%configure --disable-static --with-python=%{_bindir}/python3 -%make_build +%cmake \ +%if "%flavor" == "python" + -DSKBUILD=1 \ + -DUSE_INSTALLED_POCKETSPHINX=1 \ +%else + -DBUILD_GSTREAMER=1 \ +%endif + %{nil} +%cmake_build %install -%make_install +%cmake_install %fdupes %{buildroot} -find %{buildroot} -type f -name "*.la" -delete -print - -# Prepare for alternatives -mkdir -p %{buildroot}%{_sysconfdir}/alternatives -for binary in pocketsphinx_batch pocketsphinx_continuous pocketsphinx_mdef_convert ; do - mv %{buildroot}%{_bindir}/$binary %{buildroot}%{_bindir}/$binary-%{version} - ln -s %{_sysconfdir}/alternatives/$binary %{buildroot}%{_bindir}/$binary - mv %{buildroot}%{_mandir}/man1/$binary.1 %{buildroot}%{_mandir}/man1/$binary-%{version}.1 - ln -s %{_sysconfdir}/alternatives/$binary.1%{ext_man} %{buildroot}%{_mandir}/man1/$binary.1%{ext_man} -done - -%check -%make_build check - -%post -update-alternatives --install %{_bindir}/pocketsphinx_batch pocketsphinx_batch %{_bindir}/pocketsphinx_batch-%{version} 10 \ - --slave %{_bindir}/pocketsphinx_continuous pocketsphinx_continuous %{_bindir}/pocketsphinx_continuous-%{version} \ - --slave %{_bindir}/pocketsphinx_mdef_convert pocketsphinx_mdef_convert %{_bindir}/pocketsphinx_mdef_convert-%{version} \ - --slave %{_mandir}/man1/pocketsphinx_batch.1%{ext_man} pocketsphinx_batch.1%{ext_man} %{_mandir}/man1/pocketsphinx_batch-%{version}.1%{ext_man} \ - --slave %{_mandir}/man1/pocketsphinx_continuous.1%{ext_man} pocketsphinx_continuous.1%{ext_man} %{_mandir}/man1/pocketsphinx_continuous-%{version}.1%{ext_man} \ - --slave %{_mandir}/man1/pocketsphinx_mdef_convert.1%{ext_man} pocketsphinx_mdef_convert.1%{ext_man} %{_mandir}/man1/pocketsphinx_mdef_convert-%{version}.1%{ext_man} - -%postun -if [ ! -f %{_bindir}/pocketsphinx_batch ]; then - update-alternatives --remove pocketsphinx_batch %{_bindir}/pocketsphinx_batch-%{version} -fi -%post -n libpocketsphinx%{sover} -p /sbin/ldconfig -%postun -n libpocketsphinx%{sover} -p /sbin/ldconfig +%ldconfig_scriptlets -n libpocketsphinx%{sover} +%if "%flavor" != "python" %files -%doc AUTHORS ChangeLog README -%license COPYING -%ghost %{_sysconfdir}/alternatives/pocketsphinx_batch -%ghost %{_sysconfdir}/alternatives/pocketsphinx_continuous -%ghost %{_sysconfdir}/alternatives/pocketsphinx_mdef_convert -%ghost %{_sysconfdir}/alternatives/pocketsphinx_batch.1%{ext_man} -%ghost %{_sysconfdir}/alternatives/pocketsphinx_continuous.1%{ext_man} -%ghost %{_sysconfdir}/alternatives/pocketsphinx_mdef_convert.1%{ext_man} -%{_bindir}/pocketsphinx_batch* -%{_bindir}/pocketsphinx_continuous* -%{_bindir}/pocketsphinx_mdef_convert* -%dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/model -%{_datadir}/%{name}/model/hmm -%{_datadir}/%{name}/model/lm -%{_mandir}/man1/*%{ext_man} +%doc AUTHORS README.md NEWS +%license LICENSE +%{_bindir}/pocketsphinx_batch +%{_bindir}/pocketsphinx +%{_bindir}/pocketsphinx_jsgf2fsg +%{_bindir}/pocketsphinx_lm_convert +%{_bindir}/pocketsphinx_lm_eval +%{_bindir}/pocketsphinx_mdef_convert +%{_bindir}/pocketsphinx_pitch +%dir %{_datadir}/pocketsphinx/ +%dir %{_datadir}/pocketsphinx/model +%{_datadir}/pocketsphinx/model/en-us +%{_mandir}/man1/pocketsphinx*%{ext_man} +%{_mandir}/man1/sphinx*%{ext_man} %files -n libpocketsphinx%{sover} %{_libdir}/libpocketsphinx.so.%{sover}* %files devel -%{_includedir}/%{name} +%{_includedir}/pocketsphinx +%{_includedir}/pocketsphinx.h %{_libdir}/*.so %{_libdir}/pkgconfig/pocketsphinx.pc +%files -n gstreamer-plugin-pocketsphinx +%{_libdir}/gstreamer-1.0/libgstpocketsphinx.so + +%else + %files -n python3-pocketsphinx -%{python3_sitearch}/pocketsphinx*.so -%{python3_sitearch}/PocketSphinx-%{version}-py%{python3_version}.egg-info +%{python3_sitearch}/pocketsphinx + +%endif ++++++ _multibuild ++++++ <multibuild> <package>python</package> </multibuild> ++++++ _service ++++++ <services> <service name="tar_scm" mode="manual"> <param name="url">https://github.com/cmusphinx/pocketsphinx.git</param> <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@+git%cd.%h</param> <param name="versionrewrite-pattern">v(.*)</param> </service> <service name="recompress" mode="manual"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> <service name="set_version" mode="manual"/> </services> ++++++ fix-python-installation.patch ++++++ Index: pocketsphinx-5~git20241211.69167fb/cython/CMakeLists.txt =================================================================== --- pocketsphinx-5~git20241211.69167fb.orig/cython/CMakeLists.txt +++ pocketsphinx-5~git20241211.69167fb/cython/CMakeLists.txt @@ -23,7 +23,8 @@ target_include_directories( _pocketsphinx INTERFACE ${CMAKE_SOURCE_DIR}/include _pocketsphinx INTERFACE ${CMAKE_BINARY_DIR}/include ) -install(TARGETS _pocketsphinx LIBRARY DESTINATION pocketsphinx) +install(DIRECTORY pocketsphinx DESTINATION ${Python_STDLIB}/site-packages) +install(TARGETS _pocketsphinx LIBRARY DESTINATION ${Python_STDLIB}/site-packages/pocketsphinx) if(NOT USE_INSTALLED_POCKETSPHINX) - install(DIRECTORY ${PROJECT_SOURCE_DIR}/model DESTINATION pocketsphinx) + install(DIRECTORY ${PROJECT_SOURCE_DIR}/model DESTINATION ${Python_STDLIB}/site-packages/pocketsphinx) endif()
