Files
libopenmpt/libopenmpt.spec
Mia Herkt 0ce0ffb294 - Update to 0.7.13:
* module::get_current_estimated_bpm could return infinity when
    rows per beat was set to 0. A default of 4 rows per beat is now
    assumed in this situation. The internal LFO plugin was also
    affected in Tempo Sync mode.
  * Instruments that have a MIDI channel assigned and NNA set to
    “Continue” could cause NNA channel starvation.
  * In non-compatible linear slide mode, the sample rate could wrap
    around with portamento slides to extremely low frequencies.
    This should only happen in compatible mode.
- Changes in 0.7.12:
  * [Bug] Fixed various undefined behaviour found with ubsan.
  * IT: Don’t report files claiming to be made with Impulse Tracker
    2.08+ as IT-made if they have no edit timer.
  * IT: Ignore sample data in slots that don’t have the “sample
    data present” flag set, if the file vaguely looks IT-made to
    avoid playing garbage caused by an Impulse Tracker bug that
    should not be audible.
  * S3M: Detect early Schism Tracker versions.
  * MOD: When trying to detect MOD files with broken order lists,
    the file size is now rounded down to an even number. This helps
    identifying some malformed files (MOD files can technically not
    have an odd size).
  * MOD: Also enable ProTracker-compatible tremolo ramp waveform
    for M!K! modules.
  * MOD: In ProTracker 1/2 mode, retrigger with instrument-less
    notes now keeps using the previous sample offset.
  * Warn when a Startrekker AM file most likely requires an
    (currently unsupported) external instrument definition file.
  * DBM / IMF / MED: When merging pattern commands, allow to move

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=114
2025-03-16 18:23:19 +00:00

144 lines
4.1 KiB
RPMSpec

#
# spec file for package libopenmpt
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define libopenmpt libopenmpt0
%define libopenmpt_modplug libopenmpt_modplug1
%define libopenmpt_modplug_version 0.8.9.0
Name: libopenmpt
Version: 0.7.13
Release: 0
Summary: C++ and C library to decode tracker music files
License: BSD-3-Clause
Group: Productivity/Multimedia/Other
URL: https://lib.openmpt.org/libopenmpt/
Source: https://lib.openmpt.org/files/libopenmpt/src/%{name}-%{version}+release.autotools.tar.gz
Source1: baselibs.conf
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: dos2unix
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(flac++)
BuildRequires: pkgconfig(libmpg123)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(portaudio-2.0)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisfile)
BuildRequires: pkgconfig(zlib)
# GCC >= 8 is required for charconv header
%if 0%{suse_version} < 1550
BuildRequires: gcc11-c++
%else
BuildRequires: gcc-c++
%endif
%description
libopenmpt is a C++ and C library to decode tracker music files
(modules) into a PCM audio stream. It is based on the player code of
the OpenMPT project, a descendant of the original ModPlug Tracker.
%package -n %{libopenmpt}
Summary: Library to operate with module formats using the openmpt API
Group: System/Libraries
%description -n %{libopenmpt}
libopenmpt is a C++ and C library to decode tracker music files
(modules) into a PCM audio stream. It is based on the player code of
the OpenMPT project, a descendant of the original ModPlug Tracker.
%package devel
Summary: Development files for libopenmpt
Group: Development/Libraries/C and C++
Requires: %{libopenmpt} = %{version}
%description devel
This package contains the development files required to compile programs
using %{name}.
%package -n openmpt123
Summary: Command line module player
Group: Productivity/Multimedia/Sound/Players
%description -n openmpt123
This package contains the openmpt123 command-line module player.
%prep
%setup -q -n %{name}-%{version}+release.autotools
# disable werror
sed -i -e 's:-Werror ::g' configure.ac
# fix encoding
dos2unix LICENSE README.md
%build
%if 0%{suse_version} < 1550
export CXX=g++-11
%endif
autoreconf -fvi
# doxygen docu is better on their website, no need to ship it
# docdir points to devel as it is installing the devel examples
%configure \
--docdir=%{_docdir}/%{name}-devel \
--disable-static \
--disable-silent-rules \
--disable-doxygen-doc \
--with-zlib \
--with-mpg123 \
--with-ogg \
--with-vorbis \
--with-vorbisfile \
--with-pulseaudio \
--with-sndfile \
--with-flac \
--with-portaudio \
--with-sdl2
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
%make_build check
%post -n %{libopenmpt} -p /sbin/ldconfig
%postun -n %{libopenmpt} -p /sbin/ldconfig
%files -n openmpt123
%license LICENSE
%doc README.md
%{_bindir}/openmpt123
%{_mandir}/man1/openmpt123.1%{?ext_man}
%files devel
%dir %{_docdir}/%{name}-devel/
%{_docdir}/%{name}-devel/*
%dir %{_includedir}/libopenmpt/
%{_includedir}/libopenmpt/*
%{_libdir}/libopenmpt.so
%{_libdir}/pkgconfig/libopenmpt.pc
%files -n %{libopenmpt}
%{_libdir}/libopenmpt.so.*
%changelog