SHA256
1
0
forked from pool/audacity
audacity/audacity.spec
Dave Plater 6f8c084bf5 Accepting request 1171068 from home:kill_it:branches:multimedia:apps
- Update VST3SDK to latest 3.7.11_build10
- Remove vst3-specific patches, update .spec
- Update to 3.5.1
  This is a hotfix release. It fixes the following bugs:
  * #6322 Fixed a crash on launch on macOS 11 and older.
  * #6324 Fixed the update notification looking for alpha versions
    instead of release versions.
  * #6321 Fixed a freeze when using macros on multiple files.
- Version 3.5.0 changes:
  Major changes
  * Cloud project saving
  * We've introduced a new cloud-saving feature that allows you to
    save your Audacity projects to audio.com. This allows you to work
    from any device, share & collaborate with others and restore
    previous versions if something went wrong.
  * Automatic tempo detection
  * Audacity can now automatically detect the tempo of imported loops,
    and adjust them to be in tempo.
  * Tempo detection is done via both audio analysis and metadata checking.
    If you want to prepare your loop for automatic tempo detection
    without relying on audio analysis, both acidizer tempo tags or
    simply writing "123 bpm" anywhere into the filename work.
  * Automatic tempo detection can be turned off via Preferences -> Import/Export.
  * Pitch shifting
  * You now can non-destructively change the pitch of a clip by
    holding Alt and pressing the Up and Down arrow keys. Alternatively,
    you can click on the overflow menu (...) and select "Pitch and speed...".
    When changing the pitch this way, an arrow in the UI indicates
    how much you've shifted it.
  Other changes
  Additions
  * Added an option to skip plugin scanning to Preferences -> Effects.
  * Added an overflow menu, as well as speed and pitch indicators to clips.
  * Added subtitle formats for labels. Export to WebVTT and SubRip and
    import of SubRip files is now supported. (Thanks, Pokechu22 and
    Larry Bordowitz!)
  Changes
  * Reworked the plugin manager.
  * Improved accessibility. (Thanks, David Bailes!)
  * When zooming in vertically (Ctrl+scroll on the vertical
    scale), the zeroline now remains centered. Moving the vertical
    zoom off-center still is possible via Shift+scroll on the vertical scale.
  * Changed the look of the selection adjust cursors (previously pointing
    fingers on Windows and macOS, now look like >| everywhere).
  * Changed the timeline options button from a green triangle to
    a settings gear. From it, you can switch between Beats & Measures
    or hh:mm:ss timeline rulers, set various preferences regarding to looping,
    as well as playhead behaviors: "Scroll view to playhead"
    (previously: "Update display while playing") and "Continuous scrolling"
    (previously: Pinned Play Head).
  * Improved BSD support. (Thanks, Brad Smith!)
  * macOS: Changed the Audacity.app icon on macOS to fit new design guidelines.
  * Reordered some menus.
  * Moved OK/Cancel buttons of effects to the bottom.
  Removals
  There have been a number of removals of niche features to simplify the app.
  This should make the app a bit less overwhelming to use, and
  also will speed up future development as fewer things need to be considered.
  * Removed the read-only mouse preferences page.
  * Removed Printing options.
  * Removed Screenshot tool. To make a screenshot,
    use Win+Shift+S (Windows) or Cmd+Shift+4 (Mac) instead.
  * Removed Karaoke view.
  * Removed the "solo=none" preference.
  * Removed timeline tooltips preference.
  * Removed "dragging selection edges" preference.
  * Removed some warning dialogs and associated preferences.
  * Removed "scrolling left of zero" preference.
  * Replaced "Advanced Vertical Zooming" with new always-on behavior.
  * Removed some vertical zoom presets.
  * Removed EQ XML to TXT converter, which was needed for 
    the Audacity 2.3 -> 2.4 transition. It is now a plugin instead,
    downloadable at https://plugins.audacityteam.org/additional-resources/eq-curves/eq-xml-to-txt-converter.
  * Removed the "Vocal reduction and isolation" effect. As a replacement
    on Windows and Linux, the Intel OpenVINO plugins work better and on
    a wider array of content, including mono tracks. The old effect still can
    be downloaded from https://plugins.audacityteam.org/nyquist-plugins/effect-plugins/filters-and-eq#vocal-reduction-and-isolation
  Bugfixes
  * Fixed a number of dialogs that were able to grow too large to
    fit on the screen.
  * #2133 Fixed the playback cursor sometimes desynchronizing with
    actual playback. (Thanks, David Bailes!)
  * #3723 #5615 Fixed the GetInfo scripting command.
  * #5283 Fixed "Reset configuration" command breaking modules preference page.
  * #5389 Fixed stereo tracks randomly splitting into mono.
  * #5500 The Export Audio -> (external program) option remembers
    the command line argument again.
  * #5670 #3903 Fixed the Compressor effect sometimes corrupting
    audio. (Thanks, David Bailes!)
  * #5580 #4952 Fixed Timer Record sometimes failing to export.
    (Thanks, David Bailes!)
  * #5681 Fixed incorrect level measurements for mono tracks in
    Noise Gate effect. (Thanks, Steve Daulton!)
  * #5750 When exporting multiple files, the mono/stereo setting is
    now honored properly.
  * #5848 Fixed some effects failing when language is set to German,
    Korean, Dutch, Slovenian, or Turkish.
  * #5868 #1548 Fixed 8 and 9 inputs not working on keyboard inputs which
    have AltGr+8/9 mean [ and ]. (Thanks, David Bailes!)
  * #5858 Fixed Audacity crashing when making a stereo track using
    keyboard. (Thanks, Joe Souza!)
  * #5976 Fixed the "Set default" button not working in the metadata
    editor. (Thanks, dg-no-9!)
  * #5977 Linux: Fixed a memory leak in Wayland by explicitly running
    on X11. (Thanks, Takahashi, Naoki!)

OBS-URL: https://build.opensuse.org/request/show/1171068
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=219
2024-05-01 04:38:06 +00:00

222 lines
7.4 KiB
RPMSpec

#
# spec file for package audacity
#
# 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
# 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.5.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.11_build_10.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
BuildRequires: cmake >= 3.16
BuildRequires: desktop-file-utils
%if 0%{?suse_version} <= 1600
BuildRequires: gcc12
BuildRequires: gcc12-c++
%else
BuildRequires: gcc
BuildRequires: gcc-c++
%endif
#!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(gtkmm-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(xcb-cursor)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xkbcommon-x11)
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}
%patch -P 0 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%ifarch x86_64 aarch64
%patch -P 3 -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
%endif
%build
%if 0%{?suse_version} <= 1600
export CC=gcc-12
export CXX=g++-12
%endif
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