From e8ad53a5e1f10a2f0781c33f6e0f42912ba9c8ee Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:08:20 +0800 Subject: [PATCH 1/8] SPECS: add python-audioop-lts --- .../python-audioop-lts.spec | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 SPECS/python-audioop-lts/python-audioop-lts.spec diff --git a/SPECS/python-audioop-lts/python-audioop-lts.spec b/SPECS/python-audioop-lts/python-audioop-lts.spec new file mode 100644 index 000000000..69fce2141 --- /dev/null +++ b/SPECS/python-audioop-lts/python-audioop-lts.spec @@ -0,0 +1,42 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname audioop-lts +%global pypi_name audioop_lts + +Name: python-%{srcname} +Version: 0.2.2 +Release: %autorelease +Summary: An LTS port of the Python builtin module audioop for newer Python versions +License: PSF-2.0 +URL: https://github.com/AbstractUmbra/audioop +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/a/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +BuildSystem: pyproject + +BuildOption(install): audioop + +BuildRequires: pkgconfig(python3) +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +An LTS port of the Python builtin module audioop which was deprecated +since version 3.11 and removed in 3.13. + +This project exists to maintain this module for future versions. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%license LICENSE +%doc README.md + +%changelog +%autochangelog From 08d9c4e01677614e9413b01427d3ba347204b687 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:08:37 +0800 Subject: [PATCH 2/8] SPECS: add python-standard-chunk --- .../python-standard-chunk.spec | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 SPECS/python-standard-chunk/python-standard-chunk.spec diff --git a/SPECS/python-standard-chunk/python-standard-chunk.spec b/SPECS/python-standard-chunk/python-standard-chunk.spec new file mode 100644 index 000000000..5d8374f44 --- /dev/null +++ b/SPECS/python-standard-chunk/python-standard-chunk.spec @@ -0,0 +1,42 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname standard-chunk +%global pypi_name standard_chunk + +Name: python-%{srcname} +Version: 3.13.0 +Release: %autorelease +Summary: Module to read IFF chunks. +License: PSF-2.0 +URL: https://github.com/youknowone/python-deadlib +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/s/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch +BuildSystem: pyproject + +BuildOption(install): chunk + +BuildRequires: pkgconfig(python3) +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +This module provides an interface for reading files that use EA IFF 85 chunks. +This format is used in at least the Audio Interchange File Format (AIFF/AIFF-C) and +the Real Media File Format (RMFF). The WAVE audio file format is closely related and +can also be read using this module. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%doc README.rst + +%changelog +%autochangelog From 38cfd860cd3ed8a7617ae67a98160b3b24160221 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:08:55 +0800 Subject: [PATCH 3/8] SPECS: add python-standard-sunau --- .../python-standard-sunau.spec | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 SPECS/python-standard-sunau/python-standard-sunau.spec diff --git a/SPECS/python-standard-sunau/python-standard-sunau.spec b/SPECS/python-standard-sunau/python-standard-sunau.spec new file mode 100644 index 000000000..2e1954346 --- /dev/null +++ b/SPECS/python-standard-sunau/python-standard-sunau.spec @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname standard-sunau +%global pypi_name standard_sunau + +Name: python-%{srcname} +Version: 3.13.0 +Release: %autorelease +Summary: Provide an interface to the Sun AU sound format. +License: PSF-2.0 +URL: https://github.com/youknowone/python-deadlib +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/s/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch +BuildSystem: pyproject + +BuildOption(install): sunau + +BuildRequires: pkgconfig(python3) +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +The :mod:`sunau` module provides a convenient interface to the Sun AU sound format. +Note that this module is interface-compatible with the modules :mod:`aifc` and +:mod:`wave`. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%doc README.rst + +%changelog +%autochangelog From 1e6ef7fd2a3ffd29a8bdd27f68838e3aa8349941 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:09:13 +0800 Subject: [PATCH 4/8] SPECS: add python-standard-aifc --- .../python-standard-aifc.spec | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 SPECS/python-standard-aifc/python-standard-aifc.spec diff --git a/SPECS/python-standard-aifc/python-standard-aifc.spec b/SPECS/python-standard-aifc/python-standard-aifc.spec new file mode 100644 index 000000000..44b5189e9 --- /dev/null +++ b/SPECS/python-standard-aifc/python-standard-aifc.spec @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname standard-aifc +%global pypi_name standard_aifc + +Name: python-%{srcname} +Version: 3.13.0 +Release: %autorelease +Summary: Read and write audio files in AIFF or AIFC format +License: PSF-2.0 +URL: https://github.com/youknowone/python-deadlib +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/s/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch +BuildSystem: pyproject + +BuildOption(install): aifc + +BuildRequires: pkgconfig(python3) +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +This module provides support for reading and writing AIFF and AIFF-C files. AIFF +is Audio Interchange File Format, a format for storing digital audio samples in a +file. AIFF-C is a newer version of the format that includes the ability to compress +the audio data. + +Audio files have a number of parameters that describe the audio data. The sampling +rate or frame rate is the number of times per second the sound is sampled. The number +of channels indicate if the audio is mono, stereo, or quadro. Each frame consists of +one sample per channel. The sample size is the size in bytes of each sample. Thus a +frame consists of nchannels * samplesize bytes, and a second's worth of audio consists +of nchannels * samplesize * framerate bytes. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%doc README.rst + +%changelog +%autochangelog From 51557f0b677043444374bb8e35749b4e4b61d8d1 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:09:32 +0800 Subject: [PATCH 5/8] SPECS: add python-soxr --- SPECS/python-soxr/python-soxr.spec | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 SPECS/python-soxr/python-soxr.spec diff --git a/SPECS/python-soxr/python-soxr.spec b/SPECS/python-soxr/python-soxr.spec new file mode 100644 index 000000000..4900a178a --- /dev/null +++ b/SPECS/python-soxr/python-soxr.spec @@ -0,0 +1,40 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname soxr + +Name: python-%{srcname} +Version: 1.0.0 +Release: %autorelease +Summary: High quality, one-dimensional sample-rate conversion library for Python. +License: LGPL-2.1 +URL: https://github.com/dofuuz/python-soxr +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/s/%{srcname}/%{srcname}-%{version}.tar.gz +BuildSystem: pyproject + +BuildOption(install): %{srcname} + +BuildRequires: cmake +BuildRequires: ninja +BuildRequires: pkgconfig(python3) +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +Python-SoXR is a Python wrapper of libsoxr. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%license LICENSE.txt +%doc README.md + +%changelog +%autochangelog From b1ed5146f010c20d1c8aa3fd01a226fcac1b9760 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:09:52 +0800 Subject: [PATCH 6/8] SPECS: add python-pooch --- SPECS/python-pooch/python-pooch.spec | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 SPECS/python-pooch/python-pooch.spec diff --git a/SPECS/python-pooch/python-pooch.spec b/SPECS/python-pooch/python-pooch.spec new file mode 100644 index 000000000..60a4e8e9c --- /dev/null +++ b/SPECS/python-pooch/python-pooch.spec @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname pooch + +Name: python-%{srcname} +Version: 1.9.0 +Release: %autorelease +Summary: A friend to fetch your data files +License: BSD-3-Clause +URL: https://github.com/fatiando/pooch +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/p/%{srcname}/%{srcname}-%{version}.tar.gz +BuildArch: noarch +BuildSystem: pyproject + +BuildOption(install): %{srcname} + +BuildRequires: pkgconfig(python3) +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +Pooch manages your Python library's sample data files: +it automatically downloads and stores them in a local directory, +with support for versioning and corruption checks. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%license LICENSE.txt +%doc README.md + +%changelog +%autochangelog From bfbc26de78d684dcb463e508ee8f9f5e5e174657 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:10:11 +0800 Subject: [PATCH 7/8] SPECS: add python-audioread --- SPECS/python-audioread/python-audioread.spec | 51 ++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 SPECS/python-audioread/python-audioread.spec diff --git a/SPECS/python-audioread/python-audioread.spec b/SPECS/python-audioread/python-audioread.spec new file mode 100644 index 000000000..a4b0d01e6 --- /dev/null +++ b/SPECS/python-audioread/python-audioread.spec @@ -0,0 +1,51 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname audioread + +Name: python-%{srcname} +Version: 3.1.0 +Release: %autorelease +Summary: Multi-library, cross-platform audio decoding in Python +License: MIT +URL: https://github.com/beetbox/audioread +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/a/%{srcname}/%{srcname}-%{version}.tar.gz +BuildArch: noarch +BuildSystem: pyproject + +BuildOption(install): %{srcname} +# audioread.macca: macOS specific module +BuildOption(check): -e 'audioread.macca' +# audioread.maddec: need pymad, which is deprecated on most distributions +BuildOption(check): -e 'audioread.maddec' + +# ffmpeg for test +BuildRequires: ffmpeg +BuildRequires: python3dist(pytest) +BuildRequires: python3dist(pygobject) +BuildRequires: pkgconfig(python3) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +Decode audio files using whichever backend is available. Among +currently supports backends are + o Gstreamer via PyGObject + o MAD via the pymad bindings + o FFmpeg or Libav via its command-line interface + o The standard library wave, aifc, and sunau modules + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%license LICENSE +%doc README.rst + +%changelog +%autochangelog From cde6387fd772daeab30a617d493945656d373c79 Mon Sep 17 00:00:00 2001 From: Sakura286 Date: Tue, 28 Apr 2026 18:10:34 +0800 Subject: [PATCH 8/8] SPECS: add python-lazy-loader --- .../python-lazy-loader.spec | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 SPECS/python-lazy-loader/python-lazy-loader.spec diff --git a/SPECS/python-lazy-loader/python-lazy-loader.spec b/SPECS/python-lazy-loader/python-lazy-loader.spec new file mode 100644 index 000000000..59958926e --- /dev/null +++ b/SPECS/python-lazy-loader/python-lazy-loader.spec @@ -0,0 +1,45 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: CHEN Xuan +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global srcname lazy-loader +%global pypi_name lazy_loader + +Name: python-%{srcname} +Version: 0.5 +Release: %autorelease +Summary: Populate library namespace without incurring immediate import costs +License: BSD-3-Clause +URL: https://github.com/scientific-python/lazy-loader +#!RemoteAsset +Source0: https://files.pythonhosted.org/packages/source/l/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch +BuildSystem: pyproject + +BuildOption(install): %{pypi_name} + +BuildRequires: python3-devel +BuildRequires: python3dist(pytest) + +Provides: python3-%{srcname} = %{version}-%{release} +%python_provide python3-%{srcname} + +%description +lazy-loader makes it easy to load subpackages and functions on demand. + +Motivation: +• Allow subpackages to be made visible to users without incurring import costs. +• Allow external libraries to be imported only when used, improving import + times. + +%generate_buildrequires +%pyproject_buildrequires + +%files -f %{pyproject_files} +%license LICENSE.md +%doc README.md + +%changelog +%autochangelog