%global openEuler 1
%global _metainfodir %{_datadir}/metainfo
%bcond_without ffmpeg
%bcond_with local_ffmpeg
%global __requires_exclude ^lib-.*.so
%global __provides_exclude ^lib-.*.so
Name: audacity
Version: 3.7.8
Release: 1
Summary: Multitrack audio editor
License: GPL-2.0-or-later AND GPL-3.0-only AND CC-BY-3.0
URL: https://www.audacityteam.org/
Source0: https://github.com/audacity/audacity/releases/download/Audacity-%{version}/%{name}-sources-%{version}.tar.gz
Source1: https://github.com/audacity/audacity-manual/releases/download/v%{version}/%{name}-manual-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: gettext-devel
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: chrpath
BuildRequires: alsa-lib-devel
BuildRequires: desktop-file-utils
BuildRequires: expat-devel
BuildRequires: flac-devel
BuildRequires: git
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: ladspa-devel
BuildRequires: lame-devel
BuildRequires: libid3tag-devel
BuildRequires: libmpg123-devel
BuildRequires: taglib-devel
BuildRequires: twolame-devel
BuildRequires: libogg-devel
BuildRequires: libsndfile-devel
BuildRequires: libvorbis-devel
BuildRequires: libuuid-devel
BuildRequires: portaudio-devel
BuildRequires: portmidi-devel
BuildRequires: soundtouch-devel
BuildRequires: soxr-devel
BuildRequires: sqlite-devel >= 3.32
#BuildRequires: vamp-plugin-sdk-devel >= 2.0
BuildRequires: vamp-plugin-sdk-devel
BuildRequires: wavpack-devel
BuildRequires: zip
BuildRequires: zlib-devel
BuildRequires: python3
BuildRequires: rapidjson-devel
BuildRequires: opusfile-devel
BuildRequires: wxWidgets-devel
BuildRequires: libjpeg-turbo
BuildRequires: libjpeg-turbo-devel
BuildRequires: turbojpeg
BuildRequires: turbojpeg-devel
BuildRequires: gettext
BuildRequires: gettext-devel
%if %{with ffmpeg}
%if ! %{with local_ffmpeg}
BuildRequires: ffmpeg-devel
%endif
%endif
BuildRequires: lv2 >= 1.18.6
BuildRequires: lilv-devel >= 0.24.6
BuildRequires: serd-devel >= 0.30.2
BuildRequires: sord-devel >= 0.16.4
BuildRequires: sratom-devel >= 0.6.4
BuildRequires: suil-devel >= 0.10.6
Requires: portaudio%{?_isa}
Requires: xorg-x11-server-Xwayland
Requires: suil
Requires: portmidi
Requires: turbojpeg
ExcludeArch: %{ix86} s390x
%description
Audacity is a cross-platform multitrack audio editor. It allows you to
record sounds directly or to import files in various formats. It features
a few simple effects, all of the editing features you should need, and
unlimited undo. The GUI was built with wxWidgets and the audio I/O
supports PulseAudio, OSS and ALSA under Linux.
%package manual
Summary: Manual for Audacity - Offline Install
BuildArch: noarch
Requires: /usr/bin/audacity
%description manual
Audacity Manual can be installed locally if preferred, or accessed on-line
if internet connection is available.
For the most up to date manual content, use the on-line manual.
%prep
%setup -q -n %{name}-sources-%{version}
sed -i -e 's|%hs|%s|g' locale/*.po
%build
export CFLAGS="$CFLAGS -std=gnu17 -fPIE"
export CXXFLAGS="$CXXFLAGS -fPIE"
%cmake .. \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DwxWidgets_CONFIG_EXECUTABLE="$(which wx-config)" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DAUDACITY_BUILD_LEVEL:STRING=2 \
-Daudacity_conan_enabled=Off \
-Daudacity_has_networking=Off \
-Daudacity_has_crashreports=Off \
-Daudacity_has_updates_check=Off \
-Daudacity_has_sentry_reporting=Off \
-Daudacity_has_vst3=Off \
-Daudacity_lib_preference=system \
-Daudacity_obey_system_dependencies=On \
-Daudacity_use_wxwidgets=system \
-Daudacity_use_uuid=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 \
%if %{with ffmpeg}
%if ! %{with local_ffmpeg}
-Daudacity_use_ffmpeg=loaded \
%endif
%else
-Daudacity_use_ffmpeg=off \
%endif
-Daudacity_use_portsmf=local \
-Daudacity_use_sbsms=local \
-Daudacity_use_wavpack=system
%cmake_build
%install
%cmake_install
rm -Rf %{buildroot}%{_datadir}/%{name}/include
rm -Rf %{buildroot}%{_bindir}/../%{name}
pushd %{buildroot}%{_libdir}/%{name}
for libFile in *;
do
if [[ ! -d $libFile ]];
then
chrpath --delete $libFile
chmod 755 $libFile
fi
done
popd
pushd %{buildroot}%{_libdir}/%{name}/modules
for libFile in *;
do
if [[ ! -d $libFile ]];
then
chrpath --delete $libFile
chmod 755 $libFile
fi
done
popd
pushd %{buildroot}%{_datadir}/%{name}
gzip -dc %{SOURCE1} | tar -xvvf -
mv help/manual/* .
rmdir -p help/manual
popd
pushd %{_builddir}/%{name}-sources-%{version}/locale
for po in *.po; do
lang=${po%.po}
install -d %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES
msgfmt "$po" -o %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/audacity.mo
done
popd
pushd %{_builddir}/%{name}-sources-%{version}
%{find_lang} %{name} || touch %{name}.lang
popd
desktop-file-install --dir %{buildroot}%{_datadir}/applications \
%{buildroot}%{_datadir}/applications/audacity.desktop
pushd %{_builddir}/%{name}-sources-%{version}
mkdir -p %{buildroot}%{_datadir}/doc/%{name}/nyquist
cp -pr lib-src/libnyquist/nyquist/license.txt %{buildroot}%{_datadir}/doc/%{name}/nyquist
cp -pr lib-src/libnyquist/nyquist/Readme.txt %{buildroot}%{_datadir}/doc/%{name}/nyquist
rm -f %{buildroot}%{_datadir}/doc/%{name}/LICENSE.txt
%files -f %{name}.lang
%{_bindir}/%{name}
%{_libdir}/%{name}
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/EffectsMenuDefaults.xml
%{_datadir}/%{name}/nyquist/
%{_datadir}/%{name}/plug-ins/
%exclude %{_datadir}/%{name}/favicon.ico
%exclude %{_datadir}/%{name}/index.html
%exclude %{_datadir}/%{name}/quick_help.html
%exclude %{_datadir}/%{name}/man/
%exclude %{_datadir}/%{name}/m/
%{_mandir}/man*/*
%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/hicolor/*/%{name}.png
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/mime/packages/*
%{_datadir}/doc/%{name}
%license LICENSE.txt
%files manual
%{_datadir}/%{name}/favicon.ico
%{_datadir}/%{name}/index.html
%{_datadir}/%{name}/quick_help.html
%{_datadir}/%{name}/man/
%{_datadir}/%{name}/m/
%changelog
* Thu Jul 16 2026 liweigang <liweiganga@gmail.com> - 3.7.8-1
- Bump to version 3.7.8
* Sun Sep 28 2025 Wenyu Zhu <iewyzhu@163.com> - 3.7.4-1
- Initial openEuler RPM packaging of audacity 3.7.4