audacity/audacity.spec
Dave Plater e209321661 Accepting request 1124320 from home:kill_it:daw
- Update to 3.4.1
  This is a hotfix release. It fixes the following bugs:
  * #5467 Fix 24-bit recording.
  * #5488 Fix a crash with .aup importing.
  * #5471 #5483 Fix crossfading of clips and tracks.
  * #5473 Exporting multiple files honors sample rate settings again.
  * #5480 #5417 Fix crashes related to external program exports.
  * #5479 #5476 Fix BSD and ARM builds.
  * #5498 Ctrl+J is now a standard shortcut for joining clips.
  * #5389 Stereo tracks no longer randomly split into mono.
  * #5007 When exporting a file, the file extension is now always
    added (except for custom FFmpeg and external program exports).
  * #5516 Fix a crash when exporting Opus with older CPUs that 
    don't support AVX.
- set vst3sdk to 3.7.7_build_19
- update patchset
- update dependencies in .spec
- Update to 3.4.0
  Major changes
  * Music workflows
    Audacity now features several music related features, such as
    switching between hh:mm:ss time and Beats & Measures, and
    time-stretching clips to align them to a song's tempo.
  * Time stretching
    Hold Alt (macOS: Option) while hovering over the top third
    of a clip edge to stretch it.
  * New exporter
    Audacity now features a new export window with easier access
    to options such as sample rate and custom mapping (for 5.1 or 7.1 audio).
    Additionally, the "Browse" button uses the native file browser now!
  Other changes
  * For MP3, Audacity now always uses Joint Stereo mode, which
    always delivers the best possible quality.
  * #4720 Simplified pasting logic.
  * Simplified stereo tracks. Left and right channels now always
    have synchronized clip starts and ends, and the same sample
    rate in both channels.
  * #5014 Added cursors trimming and stretching left and right,
    and changed the I-beam cursor to be less similar to either.
  * #4448 When importing audio, the project sample rate no longer changes.
  * #5204 The spectrogram colors are now perceptually uniform, and
    the colormap has gotten a name: Roseus. It also can be used
    for dataviz outside of Audacity, see https://github.com/dofuuz/roseus
    for more info! (Thanks, Myungchul Keum)
  * New defaults: The Time Signature toolbar now gets shown,
    the solo button is set to multi-track mode, time tracks have
    a wider starting range.
  * #5291 Unsquished the Audacity logo found in some places of the app.
  * #2330 Clicking on the border of two clips no longer merges them.
  * #2530 Overdubbing on Windows fails with WASAPI with default
    Recording device.
  * #443 Built-in Opus support.
  Libraries
  * lib-time-and-pitch implements a time stretching algorithm
    originating in Staffpad.
  * Audacity now uses Conan 2.
  * Continued extracting code into libraries and modules,
    especially in the context of importing and exporting.
  Bug fixes
  * #3778 --nogap metadata no longer is ignored.
  * #4410 fixed a crash with LV2 plugins (thanks jfroyall!).
  * #2471 #4798 fixed some crashes related to macros.
  * #4769 fixed a crash when pasting in certain configurations.
  * #4677 Accessibility: GUI can be disabled again for VST2
    plugins (thanks, David Bailes!).
  * #4988 Accessibility: Restored window control IDs, improving
    NVDA compatibility (thanks again, David Bailes!).
  * #4872 fixed a crash on launch on OSX 10.9 (thanks, René Bertin!).

OBS-URL: https://build.opensuse.org/request/show/1124320
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=210
2023-11-09 05:50:30 +00:00

212 lines
7.1 KiB
RPMSpec

#
# spec file for package audacity
#
# Copyright (c) 2023 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/
#
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
# Disable VST3 for Leap 15.3 due an old cmake
%bcond_with vst
%else
%bcond_without vst
%endif
Name: audacity
Version: 3.4.1
Release: 0
Summary: A Multi Track Digital Audio Editor
License: CC-BY-3.0 AND GPL-2.0-or-later AND GPL-3.0-only
Group: Productivity/Multimedia/Sound/Utilities
URL: http://audacityteam.org/
Source: https://github.com/audacity/audacity/archive/Audacity-%{version}.tar.gz
Source1: audacity-license-nyquist
Source2: audacity-rpmlintrc
Source3: vst3sdk-3.7.7_build_19.tar.xz
# PATCH-FIX-OPENSUSE audacity-no_buildstamp.patch davejplater@gmail.com -- Remove the buildstamp.
Patch0: audacity-no_buildstamp.patch
# PATCH-FIX-UPSTREAM audacity-no_return_in_nonvoid.patch - Fix false positive errors Two new gcc10 ones ignoring assert
Patch1: audacity-no_return_in_nonvoid.patch
Patch2: mod-script-pipe-disable-rpath.patch
# PATCH-FIX-OPENSUSE vst-system-path.patch - search fo vsts in /usr/lib64 in x86_64 and ARM system
Patch3: lib64-plugins-default-path.patch
Patch94: vst3sdk-fix-include-cstdint-for-gcc13.patch
Patch95: vst3sdk-fix-limits-include-moduleinfoparser.patch
BuildRequires: cmake >= 3.16
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
#!BuildIgnore: gstreamer-0_10-plugins-base
BuildRequires: hicolor-icon-theme
BuildRequires: libmp3lame-devel
BuildRequires: portmidi-devel
BuildRequires: wxWidgets-3_2-nostl-devel
BuildRequires: pkgconfig(RapidJSON)
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(flac) >= 1.3.1
BuildRequires: pkgconfig(flac++)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(id3tag)
BuildRequires: pkgconfig(id3tag)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(libavcodec) >= 51.53
BuildRequires: pkgconfig(libavformat) >= 52.12
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libmpg123)
BuildRequires: pkgconfig(lilv-0) >= 0.24.6
BuildRequires: pkgconfig(lv2) >= 1.16.0
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(opusfile)
BuildRequires: pkgconfig(portaudio-2.0)
BuildRequires: pkgconfig(serd-0) >= 0.30.2
BuildRequires: pkgconfig(shared-mime-info)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(sord-0) >= 0.16.4
BuildRequires: pkgconfig(soundtouch)
BuildRequires: pkgconfig(soxr)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(sratom-0) >= 0.6.4
BuildRequires: pkgconfig(suil-0) >= 0.10.6
BuildRequires: pkgconfig(twolame)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(vamp-hostsdk)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(vorbisfile)
BuildRequires: pkgconfig(wavpack)
BuildRequires: pkgconfig(zlib)
# WARNING lilv-0 >= 0.24.6;lv2 >= 1.16.0;serd-0 >= 0.30.2;sord-0 >= 0.16.4;sratom-0 >= 0.6.4;suil-0 >= 0.10.6
# check these versions after every update otherwise audacity builds libsuil itself.
# This would require to patch our portaudio package with "PortMixer"... an extra API that never got integrated in PortAudio.
#BuildRequires: portaudio-devel
Recommends: %{name}-lang
# Nothing provides libavutil without a suffix
Requires: ffmpeg
Requires: libmp3lame0
Provides: %{name}-plugins = %{version}
Obsoletes: %{name}-plugins <= 2.4.2
# pipewire-libjack-0_3 replaces jack and when audacity loads it
# causes a sigsev See https://bugzilla.suse.com/show_bug.cgi?id=1191585
#Conflicts: pipewire-libjack-0_3
#Doesn't build for 32 bit anymore
#error All sample block data is little endian...big endian not yet supported
ExcludeArch: i586 s390x
%description
Audacity is a program that manipulates digital audio wave forms.
In addition to multitrack recording capabilities with effects, it
imports and exports many sound file formats, including WAV, AIFF,
AU, IRCAM, MP, and Ogg Vorbis. Wave data larger than the available
physical memory size can be edited.
%lang_package
%prep
%setup -q -n %{name}-Audacity-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%ifarch x86_64 aarch64
%patch3 -p1
%endif
cp -f %{SOURCE1} LICENSE_NYQUIST.txt
# Make sure we use the system versions.
rm -rf lib-src/{expat,libvamp,libsoxr,ffmpeg,lame}/
#Included in src/AboutDialog.cpp but not supplied
touch include/RevisionIdent.h
%if %{with vst}
tar xf %{SOURCE3} --strip-components=1 --one-top-level=vst3sdk
%patch94 -p1 -d vst3sdk
%patch95 -p1 -d vst3sdk
%endif
%build
if ! test -e %{_libdir}/pkgconfig/lame.pc
then
export PKG_CONFIG_PATH="`echo $PWD`:%{_libdir}/pkgconfig"
fi
export CFLAGS="%{optflags} -fno-strict-aliasing -ggdb $(wx-config --cflags)"
%cmake \
-DAUDACITY_REV_TIME=$(date -u -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%dT%H:%M:%SZ") \
-DAUDACITY_REV_LONG=STRING:%{version} \
-DAUDACITY_BUILD_LEVEL=2 \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(wx-config --libs)" \
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(wx-config --libs)" \
-Daudacity_conan_enabled=Off \
-Daudacity_has_networking:BOOL=Off \
-Daudacity_lib_preference:STRING=system \
-Duse_lame:STRING=system \
%if %{without vst}
-Daudacity_has_vst3=off \
%endif
-Daudacity_use_ffmpeg:STRING=loaded \
-DVST3_DEFAULT_INSTALL_PATH=%{_libdir}/vst3/
# Workaround for an old cmake in Leap 15.3
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
export LD_LIBRARY_PATH=%{_builddir}/%{name}-Audacity-%{version}/build/utils/
%endif
%cmake_build
%install
%cmake_install
# E-mail wrote to feedback@audacityteam.org.
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes/
mv -f %{buildroot}%{_datadir}/pixmaps/gnome-mime-application-x-audacity-project.xpm \
%{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes/application-x-audacity-project.xpm
rm -rf %{buildroot}%{_datadir}/pixmaps/
rm -rf %{buildroot}%{_datadir}/doc
%find_lang %{name}
%post
ldconfig %{_libdir}/%{name}
%end
%postun
ldconfig %{_libdir}/%{name}
%end
%files
%defattr(-,root,root)
%doc README.md
%license LICENSE.txt LICENSE_NYQUIST.txt
%{_bindir}/%{name}
%{_libdir}/%{name}
%{_libdir}/%{name}/modules/mod-script-pipe.so
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*
%{_datadir}/mime/packages/%{name}.xml
%{_mandir}/man?/%{name}.?%{?ext_man}
%dir %{_datadir}/metainfo/
%{_datadir}/metainfo/%{name}.appdata.xml
%files lang -f %{name}.lang
%defattr(-,root,root)
%changelog