# - internal portaudio crashes when only OSS is available on startup
# - use system portaudio (>= 19, but relies on local changes)
# - use system portSMF?
-# - use system ffmpeg (libavcodec >= 51.53, libavformat >= 52.12, libavutil)
-# - use system sbsms (>= 1.6.0, but relies on local changes)
# - use system libnyquist (if ever; currently it's a part of audacity project)
#
# Conditional build:
%bcond_without ffmpeg # build without ffmpeg support
-%bcond_with gtk3 # GTK+ 3.x instead of 2.x (not fully supported)
+%bcond_without gtk3 # GTK+ 3.x instead of 2.x (not fully supported)
+%bcond_without mmx # MMX instructions
+%bcond_without sse # SSE instructions
+%bcond_without sse2 # SSE2 instructions
#
+%ifnarch %{x8664} x32 pentium2 pentium3 pentium4 athlon
+%undefine with_mmx
+%endif
+%ifnarch %{x8664} x32 pentium3 pentium4
+%undefine with_sse
+%endif
+%ifnarch %{x8664} x32 pentium4
+%undefine with_sse2
+%endif
+
Summary: Audacity - manipulate digital audio waveforms
Summary(pl.UTF-8): Audacity - narzędzie do obróbki plików dźwiękowych
Summary(ru.UTF-8): Кроссплатформенный звуковой редактор
Name: audacity
-Version: 2.4.2
-Release: 1
+Version: 3.3.3
+Release: 3
License: GPL v2+
Group: X11/Applications/Sound
-#Source0Download: http://www.fosshub.com/Audacity.html
-Source0: %{name}-minsrc-%{version}.tar.xz
-# Source0-md5: 4a34c1c66f69f1fedc400c71d5155ea8
-Source1: %{name}-manual-%{version}.zip
-# Source1-md5: 084830de81c157d229089338a594baab
-Patch0: %{name}-opt.patch
-Patch1: %{name}-no-macos.patch
-Patch2: %{name}-desktop.patch
+Source0: https://github.com/audacity/audacity/releases/download/Audacity-%{version}/%{name}-sources-%{version}.tar.gz
+# Source0-md5: c69f2091ef0b65022e19ccce62379ff2
+Source1: https://github.com/audacity/audacity-manual/releases/download/v%{version}/%{name}-manual-%{version}.tar.gz
+# Source1-md5: cd0ad05077976c51889a13081910462e
+Patch0: msgstr-format.patch
URL: http://audacityteam.org/
BuildRequires: alsa-lib-devel
-BuildRequires: autoconf >= 2.59
-BuildRequires: automake >= 1:1.9
+BuildRequires: chrpath
+BuildRequires: cmake >= 3.15
BuildRequires: expat-devel >= 1.95
# libavcodec >= 51.53 libavformat >= 52.12 libavutil
%{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 0.8.0}
-BuildRequires: flac-c++-devel >= 1.3.0
+BuildRequires: flac-c++-devel >= 1.3.1
BuildRequires: gettext-tools >= 0.18
+BuildRequires: glib2-devel
%{!?with_gtk3:BuildRequires: gtk+2-devel >= 2.0}
%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.0}
-BuildRequires: hpklinux-devel >= 4.06
-BuildRequires: jack-audio-connection-kit-devel
BuildRequires: lame-libs-devel
BuildRequires: libid3tag-devel >= 0.15.0b-2
-BuildRequires: libjpeg-devel
-BuildRequires: libmad-devel >= 0.14.2b-4
-#BuildRequires: libsbsms-devel >= 1.6.0
-#BuildRequires: libsbsms2-devel >= 2.0.2
+BuildRequires: libmpg123-devel
+BuildRequires: libogg-devel
+BuildRequires: libsbsms2-devel >= 2.2.0
BuildRequires: libsndfile-devel >= 1.0.0
-BuildRequires: libstdc++-devel
-BuildRequires: libtool >= 2:2
-BuildRequires: libvorbis-devel >= 1:1.0
-BuildRequires: lilv-devel >= 0.16
-BuildRequires: lv2-devel
-BuildRequires: nasm
+BuildRequires: libstdc++-devel >= 6:9
+BuildRequires: libuuid-devel
+BuildRequires: libvorbis-devel >= 1:1.3
+BuildRequires: lilv-devel >= 0.24.6
+BuildRequires: lv2-devel >= 1.16.0
BuildRequires: pkgconfig
-#BuildRequires: portaudio-devel >= 19
-BuildRequires: soundtouch-devel >= 1.3.0
-BuildRequires: soxr-devel >= 0.0.5
+BuildRequires: portaudio-devel >= 19
+BuildRequires: portmidi-devel
+BuildRequires: python3
+BuildRequires: rpmbuild(macros) >= 1.742
+BuildRequires: serd-devel >= 0.30.2
+BuildRequires: sord-devel >= 0.16.4
+BuildRequires: soundtouch-devel >= 1.7.1
+BuildRequires: soxr-devel >= 0.1.1
BuildRequires: speex-devel
-BuildRequires: suil-devel >= 0.8.2
-BuildRequires: twolame-devel >= 0.3.9
+BuildRequires: sqlite3-devel >= 3.31.1
+BuildRequires: sratom-devel >= 0.6.4
+BuildRequires: suil-devel >= 0.10.6
+BuildRequires: tar >= 1:1.22
+BuildRequires: twolame-devel >= 0.3.13
BuildRequires: udev-devel
BuildRequires: unzip
-BuildRequires: vamp-devel >= 2.0
+BuildRequires: vamp-devel >= 2.5
+BuildRequires: wavpack-devel
BuildRequires: which
-%{!?with_gtk3:BuildRequires: wxGTK2-unicode-devel >= 3.0.0}
-%{?with_gtk3:BuildRequires: wxGTK3-unicode-devel >= 3.0.0}
+%{!?with_gtk3:BuildRequires: wxGTK2-unicode-devel >= 3.1.3}
+%{?with_gtk3:BuildRequires: wxGTK3-unicode-devel >= 3.1.3}
+BuildRequires: xz
+BuildRequires: zlib-devel
+Requires(post,postun): desktop-file-utils
+Requires(post,postun): gtk-update-icon-cache
Requires(post,postun): shared-mime-info
-Requires: flac-c++ >= 1.3.0
+Requires: flac-c++ >= 1.3.1
+Requires: hicolor-icon-theme
# dlopened
Requires: lame-libs
Requires: libid3tag >= 0.15.0b-2
-Requires: libmad >= 0.14.2b-4
+Requires: libsbsms2 >= 2.2.0
Requires: libsndfile >= 1.0.0
-Requires: lilv >= 0.16
-Requires: soundtouch >= 1.3.0
-Requires: soxr >= 0.0.5
-Requires: suil >= 0.8.2
-Requires: twolame-libs >= 0.3.9
+Requires: libvorbis >= 1:1.3
+Requires: lilv >= 0.24.6
+Requires: soundtouch >= 1.7.1
+Requires: soxr >= 0.1.1
+Requires: sqlite3-libs >= 3.31.1
+Requires: suil >= 0.10.6
+Requires: twolame-libs >= 0.3.13
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
плагинов, к любой части звукового файла.
%prep
-%setup -q -n %{name}-minsrc-%{version}
+%setup -q -n %{name}-sources-%{version}
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-
-%{__sed} -i 's/libmp3lame.so/libmp3lame.so.0/g' locale/*.po
-
-# Audacity's cmake can't find libmp3lame without a .pc file
-# This is a temporary workaround.
-if ! test -e %{_pkgconfigdir}/lame.pc
-then
-echo "creating lame.pc"
-cat << EOF > lame.pc
-prefix=%{_prefix}
-libdir=%{_libdir}
-includedir=%{_includedir}/lame
-
-Name: mp3lame
-Description: encoder that converts audio to the MP3 file format.
-Version: 3.100
-Libs: -L${libdir} -lmp3lame
-Cflags: -I${includedir}
-EOF
-fi
-%build
-if ! test -e %{_pkgconfigdir}/lame.pc
-then
-export PKG_CONFIG_PATH="`echo $PWD`:%{_pkgconfigdir}"
-fi
+# Make sure we use the system versions.
+%{__rm} -r lib-src/{lv2,soundtouch,libsoxr,twolame,libvamp}/
+%build
mkdir -p build
cd build
%cmake .. \
+ %{cmake_on_off mmx HAVE_MMX} \
+ %{cmake_on_off sse HAVE_SSE} \
+ %{cmake_on_off sse2 HAVE_SSE2} \
+ -Daudacity_conan_enabled=OFF \
+ -Daudacity_has_crashreports=OFF \
+ -Daudacity_has_updates_check=OFF \
+ -Daudacity_has_sentry_reporting=OFF \
+ -Daudacity_has_networking=OFF \
+ -Daudacity_has_vst3=OFF \
+ -Daudacity_lib_preference=system \
+ -Daudacity_obey_system_dependencies=ON \
+ -Daudacity_use_wxwidgets=system \
+ -Daudacity_use_sqlite=system \
+ -Daudacity_use_libsndfile=system \
+ -Daudacity_use_soxr=system \
+ -Daudacity_use_lame=system \
+ -Daudacity_use_twolame=system \
+ -Daudacity_use_libflac=system \
+ -Daudacity_use_ladspa=on \
+ -Daudacity_use_libvorbis=system \
+ -Daudacity_use_libid3tag=system \
+ -Daudacity_use_expat=system \
+ -Daudacity_use_soundtouch=system \
+ -Daudacity_use_vamp=system \
+ -Daudacity_use_lv2=system \
+ -Daudacity_use_portaudio=system \
+ -Daudacity_use_midi=system \
+ -Daudacity_use_libogg=system \
+ -Daudacity_use_portsmf=local \
-DwxWidgets_CONFIG_EXECUTABLE:FILEPATH=$(which wx-gtk%{?with_gtk3:3}%{!?with_gtk3:2}-unicode-config) \
- %{!?with_ffmpeg:-Daudacity_use_ffmpeg:STRING=off} \
- -DCMAKE_BUILD_TYPE=Release
+%if %{with ffmpeg}
+ -Daudacity_use_ffmpeg=loaded
+%else
+ -Daudacity_use_ffmpeg=off
+%endif
%{__make}
INSTALL_PATH=$RPM_BUILD_ROOT
cd ..
-%{__unzip} -qq -a %{SOURCE1} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/help
+# audacity needs to know where its libraries are...
+chrpath --replace %{_libdir}/%{name} $RPM_BUILD_ROOT/%{_bindir}/audacity
+
+# ..but the libraries don't need RPATH
+for lib in $RPM_BUILD_ROOT/%{_libdir}/%{name}/{,modules/}*.so ; do
+ chrpath --delete $lib
+done
+
+install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/help
+%{__tar} xf %{SOURCE1} -C $RPM_BUILD_ROOT%{_datadir}/%{name}/help
# unify locale names
%{__mv} $RPM_BUILD_ROOT%{_localedir}/{ca_ES@valencia,ca@valencia}
%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr_RS@latin,sr@latin}
# remove unsupported locale
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/eu_ES
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{co,eu_ES}
%{__rm} $RPM_BUILD_ROOT%{_pixmapsdir}/audacity.xpm
%{__rm} $RPM_BUILD_ROOT%{_pixmapsdir}/audacity16.xpm
%{__rm} $RPM_BUILD_ROOT%{_pixmapsdir}/audacity32.xpm
%{__rm} $RPM_BUILD_ROOT%{_pixmapsdir}/gnome-mime-application-x-audacity-project.xpm
-%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}/README.txt
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}/README.md
%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}/LICENSE.txt
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
%post
%update_mime_database
+%update_desktop_database_post
+%update_icon_cache hicolor
%postun
%update_mime_database
+%update_desktop_database_postun
+%update_icon_cache hicolor
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README.txt LICENSE.txt
+%doc README.md LICENSE.txt
%attr(755,root,root) %{_bindir}/audacity
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/lib-*.so
+%dir %{_libdir}/%{name}/modules
+%attr(755,root,root) %{_libdir}/%{name}/modules/mod-script-pipe.so
%dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/modules
-%attr(755,root,root) %{_datadir}/%{name}/modules/mod-script-pipe.so
+%{_datadir}/%{name}/help
%{_datadir}/%{name}/nyquist
%{_datadir}/%{name}/plug-ins
-%{_datadir}/%{name}/EQDefaultCurves.xml
-%doc %{_datadir}/%{name}/help
+%{_datadir}/%{name}/EffectsMenuDefaults.xml
%{_mandir}/man1/audacity.1*
%{_desktopdir}/audacity.desktop
-%{_datadir}/appdata/audacity.appdata.xml
+%{_metainfodir}/audacity.appdata.xml
%{_datadir}/mime/packages/audacity.xml
%{_iconsdir}/hicolor/*/apps/*.*