SHA256
1
0
forked from pool/audacity
audacity/audacity.spec
Dave Plater 4b5a01b171 Accepting request 1011228 from multimedia:proaudio
- No more bundled custom wxWidgets, so remove them from the .spec completely
- Fix build for Leap 15.3
- update spec, install audacity libs into _libdir/audacity
- update build deps - no need for carla
- don't create lame.pc
- use %cmake_build
- add patch:
  mod-script-pipe-disable-rpath.patch 
- update audacity-rpmlintrc
- remove patches, now upstream:
  0001-Call-the-proper-wxBitmap-constructor-for-XPM-data.patch
  0001-Remove-custom-languages-in-wx-3.1.6-and-above.patch
  missing-include.patch
- refresh patches:
  audacity-no_buildstamp.patch
  audacity-no_return_in_nonvoid.patch
  no-more-strip.patch
- update licenses
- Update to 3.2.1
Changes in version 3.2.1
 This is a patch release. It fixes some bugs and has minor improvements. 
    * #3686 Fixed Audacity crashing on startup on some systems.
    * #3694 Fixed a crash when applying Waves Berzerk Distortion 
      Mono to a mono track
    * #3699 Fixed a freeze when very quickly starting and stopping
      playback.
    * #3747 macOS: Homebrew FFmpeg installs are now found automatically
    * #3594 macOS: Fixed Melda VST Plugin UI
    * #3474 Building with VST3 support is now possible without Conan.
Changes in version 3.2.0
 This version adds realtime effects and VST3. 
 Prominent changes
    * Added a new Effects button to the tracks menu, allowing you to
      place realtime effects. 
       Further information can be found can be found on 
       https://support.audacityteam.org/audio-editing/using-realtime-effects
    * Merged the mixer bar with the meter bars.
    * Added a new Audio Setup button, replacing the Device Toolbar
      by default. The device toolbar can be re-added via the
      View > Toolbars menu.
    * The Effects menu has gotten a new sorting. Other sorting and
      grouping options can be found in the Effects preferences.
    * Updated the icons.
    * Added a quick audio sharing feature.
       More info can be found on https://support.audacityteam.org/basics/sharing-audio-online
 Plugin changes
    You can find plugins on https://plugins.audacityteam.org
    * VST3 effects are now supported.
    * The following plugin formats are now realtime capable: 
      VST3, LV2, LADSPA, Audio Units.
    * Plugins now automatically get scanned, tested and enabled
      when Audacity starts.
 
 System changes
    * Apple Silicon (arm64) is now supported on macOS
       Note: When using an arm64 Audacity, you must use arm64
       versions of FFMPEG and plugins. Plugins for x86-64 (Intel macs) will not load.
       For the time being, Audacity will continue to download 
       x86-64 versions by default to avoid these incompatibilities, 
       but you can download an arm64 version from Github releases:
       https://github.com/audacity/audacity/releases
    * FFMPEG 5.0 (avformat 59) is now supported, in addition to
      avformat 55, 57 and 58
    * Added support for Wavpack
    * On Linux, Audacity can now be compiled without JACK present.
    * Audacity now uses XDG directories on Linux. 
       Note: If you are upgrading from a previous version,
       Audacity will keep using the ~/.audacity-data and ~/.audacity folders until you delete them.
    * Switched from mad to mpg123 as MP3 importer
 
 License update
    * Audacity binaries are now licensed under the 
      GNU General Public License, Version 3. 
      Most code files remain GPLv2-or-later, but VST3 
      support required this license update. 
      More information can be found in the announcement 
      post: https://github.com/audacity/audacity/discussions/2142
 
 Removals
    * Removed the Zoom Tool. You can use the zoom buttons
      or Ctrl+Scroll (macOS: Cmd+Scroll) to zoom instead.
    * The Audacity Manual HTML pages are no longer included 
      in the installation.
       If you require offline access of the manual, you can download
       it here: https://github.com/audacity/audacity-manual/releases
       You also can download PDFs of https://support.audacityteam.org
       straight from its sidebar (or the three-dot button on mobile devices).
 Fixed bugs:
   * #3079 Fixed Audacity sometimes not being able to import MP3 
     files (or reporting Huffman Data Overruns)
   * #2590 Fixed rare data loss bug when placing labels during recording
   * #2272 Fixed clip titles being able to disappear off-screen when editing them
   * #2162 Fixed Punch and Roll not paying tracks in sync
   * #1889 Fixed clip titles changing name when applying some effects
   * #1624 During batch processing, Audacity will no longer stop to ask 
     for a sample rate when an unsupported one is chosen, but choose the
     nearest supported one instead.
   * #2265 Fixed mod-script-pipe not being installed on Linux 
   * #3571 Fixed GTK packaging in Appimages. This fixes various issues with
     icons, dropdowns and similar things not appearing properly.
   * #3634 Improved M4A/AAC support. Previously the target bitrate was 
     not honored at all, now it can be set between 98 and 160 kbit/s (mono)
     or 196 and 320 kbit/s (stereo). The UI does not yet reflect these limits.

OBS-URL: https://build.opensuse.org/request/show/1011228
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=190
2022-10-16 14:17:35 +00:00

192 lines
6.7 KiB
RPMSpec

#
# spec file for package audacity
#
# Copyright (c) 2022 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/
#
Name: audacity
Version: 3.2.1
Release: 0
%define pkg_version 3.2.1
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-%{pkg_version}.tar.gz
Source1: audacity-license-nyquist
Source2: audacity-rpmlintrc
Source3: vst3sdk-3.7.6_build_18.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
Patch3: no-more-strip.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(alsa)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(flac) >= 1.3.1
BuildRequires: pkgconfig(flac++)
BuildRequires: pkgconfig(gtk+-2.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(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)
# 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-%{pkg_version}
%autopatch -p1
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
# Disable VST3 for Leap 15.3 due an old cmake
%if 0%{?sle_version} != 150300 && 0%{?is_opensuse}
tar xf %{SOURCE3} --strip-components=1 --one-top-level=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)"
export CXXFLAGS="$CFLAGS -std=gnu++17"
%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 0%{?sle_version} == 150300 && 0%{?is_opensuse}
-Daudacity_has_vst3=off \
%endif
-Daudacity_use_ffmpeg:STRING=loaded
# Workaround for an old cmake in Leap 15.3
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
export LD_LIBRARY_PATH=%{_builddir}/%{name}-Audacity-%{pkg_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.txt
%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