# - 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_with ffmpeg # build with ffmpeg support (currently audacity does not support ffmpeg 1.0)
-%bcond_with gtk3 # GTK+ 3.x instead of 2.x
+%bcond_without ffmpeg # build without ffmpeg support
+%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.1.1
-Release: 1
+Version: 3.3.3
+Release: 3
License: GPL v2+
Group: X11/Applications/Sound
-#Source0Download: http://www.oldfoss.com/Audacity.html
-Source0: http://app.oldfoss.com:81/download/Audacity/%{name}-minsrc-%{version}.tar.xz
-# Source0-md5: 9e37b1f5cde38d089a35febb904a9e39
-Source1: http://app.oldfoss.com:81/download/Audacity/%{name}-manual-%{version}.zip
-# Source1-md5: a4116a20798b827cd1e06e50c8099aa6
-Source2: %{name}.desktop
-Source3: %{name}-icon.png
-Patch0: %{name}-cast.patch
-Patch1: %{name}-opt.patch
-Patch2: %{name}-no-macos.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: jack-audio-connection-kit-devel
-BuildRequires: hpklinux-devel >= 4.06
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: portaudio-devel >= 19
+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: 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 >= 2.8.0}
-%{?with_gtk3:BuildRequires: wxGTK3-unicode-devel >= 2.8.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: soundtouch >= 1.3.0
-%{?with_soxr:Requires: soxr >= 0.0.5}
-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
микширование треков и применение эффектов, оформленных в виде
плагинов, к любой части звукового файла.
-%package devel
-Summary: Header files for Audacity interfaces
-Summary(pl.UTF-8): Pliki nagłówkowe interfejsów Audacity
-Group: Development/Libraries
-Requires: libstdc++-devel
-Requires: wxWidgets-devel >= 2.8.0
-# doesn't require base
-
-%description devel
-Header files for Audacity interfaces.
-
-%description devel -l pl.UTF-8
-Pliki nagłówkowe interfejsów Audacity.
-
%prep
-%setup -q -n %{name}-minsrc-%{version}
+%setup -q -n %{name}-sources-%{version}
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-
-# OPTIONAL_SUBDIRS are not included in tarball; allow autotools to work
-%{__sed} -i '/SUBDIRS += \$(OPTIONAL_SUBDIRS)/d' lib-src/Makefile.am
-%{__sed} -i 's/libmp3lame.so/libmp3lame.so.0/g' locale/*.po
+# Make sure we use the system versions.
+%{__rm} -r lib-src/{lv2,soundtouch,libsoxr,twolame,libvamp}/
%build
-cd lib-src/portmixer
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__automake}
-cd ../lib-widget-extra
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__automake}
-cd ../FileDialog
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__automake}
-cd ../portsmf
-%{__aclocal} -I autotools/m4
-%{__autoconf}
-%{__automake}
-cd ../..
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__automake}
-
-export WX_CONFIG=$(which wx-gtk%{?with_gtk3:3}%{!?with_gtk3:2}-unicode-config)
-%configure \
- %{?with_gtk3:--enable-gtk3} \
- --with-ffmpeg%{!?with_ffmpeg:=no} \
- --with-help \
- --with-id3tag=system \
- --with-libmad=system \
- --with-libsndfile=system \
- --with-libflac=system \
- --with-sbsms=local \
- --with-soxr=system \
- --with-vorbis=system
+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) \
+%if %{with ffmpeg}
+ -Daudacity_use_ffmpeg=loaded
+%else
+ -Daudacity_use_ffmpeg=off
+%endif
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
+cd build
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
INSTALL_PATH=$RPM_BUILD_ROOT
+cd ..
+
+# audacity needs to know where its libraries are...
+chrpath --replace %{_libdir}/%{name} $RPM_BUILD_ROOT/%{_bindir}/audacity
-# install headers in standard location
-install -d $RPM_BUILD_ROOT%{_includedir}
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/audacity/include/audacity $RPM_BUILD_ROOT%{_includedir}
-rmdir $RPM_BUILD_ROOT%{_datadir}/audacity/include
+# ..but the libraries don't need RPATH
+for lib in $RPM_BUILD_ROOT/%{_libdir}/%{name}/{,modules/}*.so ; do
+ chrpath --delete $lib
+done
-cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
-%{__unzip} -qq -a %{SOURCE1} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/help
+install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/help
+%{__tar} xf %{SOURCE1} -C $RPM_BUILD_ROOT%{_datadir}/%{name}/help
-# unsupported
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/sr_RS*
+# unify locale names
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{ca_ES@valencia,ca@valencia}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{pt_PT,pt}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr_RS,sr}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr_RS@latin,sr@latin}
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/{zh,zh_CN}
+# remove unsupported locale
+%{__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.md
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}/LICENSE.txt
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
+
+install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{16x16,22x22,24x24,32x32,48x48}/apps
+%{__mv} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{16x16,16x16/apps}/%{name}.png
+%{__mv} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{22x22,22x22/apps}/%{name}.png
+%{__mv} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{24x24,24x24/apps}/%{name}.png
+%{__mv} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{32x32,32x32/apps}/%{name}.png
+%{__mv} $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{48x48,48x48/apps}/%{name}.png
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/pixmaps/audacity.xpm
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/pixmaps/audacity16.xpm
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/pixmaps/audacity32.xpm
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/pixmaps/gnome-mime-application-x-audacity-project.xpm
%find_lang %{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
+%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}
+%{_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
-%{_pixmapsdir}/audacity-icon.png
-%{_datadir}/appdata/audacity.appdata.xml
+%{_metainfodir}/audacity.appdata.xml
%{_datadir}/mime/packages/audacity.xml
-%{_iconsdir}/hicolor/*/apps/audacity.png
-%{_iconsdir}/hicolor/*/apps/audacity.svg
-
-%files devel
-%defattr(644,root,root,755)
-%{_includedir}/audacity
+%{_iconsdir}/hicolor/*/apps/*.*