You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-sound/audacity/audacity-2.4.2-r3.ebuild

133 lines
3.8 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WX_GTK_VER="3.0-gtk3"
inherit cmake flag-o-matic wxwidgets xdg
MY_P="Audacity-${PV}"
DOC_PV="${PV}"
DESCRIPTION="Free crossplatform audio editor"
HOMEPAGE="https://www.audacityteam.org/"
# wget doesn't seem to work on FossHub links, so we mirror
SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz
doc? ( https://dev.gentoo.org/~fordfrog/distfiles/${PN}-manual-${DOC_PV}.zip )"
S="${WORKDIR}/${PN}-${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ppc ppc64 ~riscv x86"
IUSE="alsa doc ffmpeg +flac id3tag jack +ladspa +lv2 mad ogg oss
portmidi +portmixer portsmf sbsms twolame vamp +vorbis +vst"
RESTRICT="test"
RDEPEND="dev-libs/expat
media-libs/libsndfile
media-libs/libsoundtouch:=
media-libs/portaudio[alsa?]
media-libs/soxr
>=media-sound/lame-3.100-r3
x11-libs/wxGTK:${WX_GTK_VER}[X]
alsa? ( media-libs/alsa-lib )
ffmpeg? ( media-video/ffmpeg:= )
flac? ( media-libs/flac:=[cxx] )
id3tag? ( media-libs/libid3tag:= )
jack? ( virtual/jack )
lv2? (
dev-libs/serd
dev-libs/sord
>=media-libs/lilv-0.24.6-r2
media-libs/lv2
media-libs/sratom
media-libs/suil
)
mad? ( >=media-libs/libmad-0.15.1b )
ogg? ( media-libs/libogg )
portmidi? ( media-libs/portmidi )
sbsms? ( media-libs/libsbsms )
twolame? ( media-sound/twolame )
vamp? ( media-libs/vamp-plugin-sdk )
vorbis? ( media-libs/libvorbis )
"
DEPEND="${RDEPEND}"
BDEPEND="app-arch/unzip
sys-devel/gettext
virtual/pkgconfig
"
REQUIRED_USE="portmidi? ( portsmf )"
PATCHES=(
"${FILESDIR}"/${PN}-2.3.3-Fix-building-against-system-portaudio.patch
"${FILESDIR}/${P}-fix-vertical-track-resizing.patch"
"${FILESDIR}/${P}-fix-gettimeofday.patch"
"${FILESDIR}/${P}-fix-metainfo.patch"
"${FILESDIR}/${P}-add-missing-include-portaudio.patch"
"${FILESDIR}/${P}-disable-ccache.patch"
)
src_prepare() {
cmake_src_prepare
}
src_configure() {
setup-wxwidgets
append-cxxflags -std=gnu++14
# * always use system libraries if possible
# * options listed in the order that cmake-gui lists them
local mycmakeargs=(
# --disable-dynamic-loading
-Daudacity_lib_preference=system
-Daudacity_use_expat=system
-Daudacity_use_ffmpeg=$(usex ffmpeg loaded off)
-Daudacity_use_flac=$(usex flac system off)
-Daudacity_use_id3tag=$(usex id3tag system off)
-Daudacity_use_ladspa=$(usex ladspa)
-Daudacity_use_lame=system
-Daudacity_use_lv2=$(usex lv2 system off)
-Daudacity_use_mad=$(usex mad system off)
-Daudacity_use_midi=$(usex portmidi system off)
-Daudacity_use_nyquist=local
-Daudacity_use_ogg=$(usex ogg system off)
-Daudacity_use_pa_alsa=$(usex alsa)
-Daudacity_use_pa_jack=$(usex jack linked off)
-Daudacity_use_pa_oss=$(usex oss)
-Daudacity_use_pch=OFF
-Daudacity_use_portaudio=local # only 'local' option is present
-Daudacity_use_portmixer=$(usex portmixer local off)
-Daudacity_use_portsmf=$(usex portsmf local off)
-Daudacity_use_sbsms=$(usex sbsms local off) # no 'system' option in configuration?
-Daudacity_use_sndfile=system
-Daudacity_use_soundtouch=system
-Daudacity_use_soxr=system
-Daudacity_use_twolame=$(usex twolame system off)
-Daudacity_use_vamp=$(usex vamp system off)
-Daudacity_use_vorbis=$(usex vorbis system off)
-Daudacity_use_vst=$(usex vst)
-Daudacity_use_wxwidgets=system
)
cmake_src_configure
# if git is not installed, this (empty) file is not being created and the compilation fails
# so we create it manually
touch "${BUILD_DIR}/src/private/RevisionIdent.h" || die "failed to create file"
}
src_install() {
cmake_src_install
# Remove bad doc install
rm -r "${ED}"/usr/share/doc || die
if use doc ; then
docinto html
dodoc -r "${WORKDIR}"/help/manual/{m,man,manual}
dodoc "${WORKDIR}"/help/manual/{favicon.ico,index.html,quick_help.html}
dosym ../../doc/${PF}/html /usr/share/${PN}/help/manual
fi
}