# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 WX_GTK_VER="3.2-gtk3" inherit cmake flag-o-matic wxwidgets xdg virtualx DESCRIPTION="Free crossplatform audio editor" HOMEPAGE="https://www.audacityteam.org/" # A header-only thread pool library, without a build system, about 100 # lines of code. Probably not worth packaging individually. Check # cmake-proxies/CMakeLists.txt and search for "ThreadPool". MY_THREADPOOL_DATE=20140926 MY_THREADPOOL="https://raw.githubusercontent.com/progschj/ThreadPool/9a42ec1329f259a5f4881a291db1dcb8f2ad9040/ThreadPool.h -> progschj-ThreadPool-${MY_THREADPOOL_DATE}.h" if [[ ${PV} = 9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/audacity/audacity.git" else KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" MY_P="Audacity-${PV}" S="${WORKDIR}/${PN}-sources-${PV}" SRC_URI="https://github.com/audacity/audacity/releases/download/Audacity-${PV}/${PN}-sources-${PV}.tar.gz" fi SRC_URI+=" audiocom? ( ${MY_THREADPOOL} )" # GPL-2+, GPL-3 - Audacity itself # ZLIB - The ThreadPool single-header library # CC-BY-3.0 - Documentation LICENSE="GPL-2+ GPL-3 audiocom? ( ZLIB ) " SLOT="0" IUSE="alsa audiocom ffmpeg +flac id3tag +ladspa +lv2 mpg123 +ogg opus +portmixer sbsms test twolame vamp +vorbis wavpack" REQUIRED_USE=" opus? ( ogg ) vorbis? ( ogg ) " RESTRICT="!test? ( test )" # dev-db/sqlite:3 hard dependency. # dev-libs/glib:2, x11-libs/gtk+:3 hard dependency, from # cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake # sys-apps/util-linux hard dependency, from cmake-proxies/CMakeLists.txt # for libuuid # portmidi became non-optional: building without it results in build # failures, even with some of the Debian patches. It's probably not # in our best interest to fix that as a patch series. # glib, gtk and gdk are all directly relied on in the source, not just # Libraries used at runtime via dlopen: # - dev-libs/{serd,sord} - for LV2 support # - media-libs/{opus,sratom} :: For Opus and LV2 respectively # - media-sound/lame :: For MP3 export # - media-video/ffmpeg :: For generic FFMPEG export # This one has the interesting property of many versions being # supported at runtime. See: libraries/lib-ffmpeg-support/impl # Current support grid: # - Lavf - 5[789] # - Lavc - 5[789] # - Lavu - 5[2567] RDEPEND="dev-db/sqlite:3 dev-libs/expat dev-libs/glib:2 media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsndfile media-libs/libsoundtouch:= media-libs/portaudio[alsa?] media-libs/portmidi media-libs/portsmf:= media-libs/soxr media-sound/lame sys-apps/util-linux sys-libs/zlib:= x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/wxGTK:${WX_GTK_VER}[X] alsa? ( media-libs/alsa-lib ) audiocom? ( net-misc/curl ) ffmpeg? ( media-video/ffmpeg ) flac? ( media-libs/flac:=[cxx] ) id3tag? ( media-libs/libid3tag:= ) lv2? ( dev-libs/serd dev-libs/sord media-libs/lilv media-libs/lv2 media-libs/sratom media-libs/suil ) mpg123? ( media-sound/mpg123-base ) ogg? ( media-libs/libogg ) opus? ( media-libs/opus media-libs/opusfile ) sbsms? ( media-libs/libsbsms ) twolame? ( media-sound/twolame ) vamp? ( media-libs/vamp-plugin-sdk ) vorbis? ( media-libs/libvorbis ) wavpack? ( media-sound/wavpack ) " DEPEND="${RDEPEND} dev-libs/rapidjson x11-base/xorg-proto test? (