# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake xdg udev poly-c_ebuilds REAL_PV=$(ver_cut 1-2) DESCRIPTION="Advanced Digital DJ tool based on Qt" HOMEPAGE="https://mixxx.org/" if [[ ${MY_PV} == *9999 ]] ; then inherit git-r3 if [[ ${MY_PV} == ?.?.9999 ]] ; then EGIT_BRANCH=${MY_PV%.9999} fi EGIT_REPO_URI="https://github.com/mixxxdj/${PN}.git" else SRC_URI="https://github.com/mixxxdj/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" #S="${WORKDIR}/${PN}-release-${MY_PV}" KEYWORDS="~amd64 ~x86" fi LICENSE="GPL-2" SLOT="0" IUSE="aac battery ffmpeg hid keyfinder lv2 modplug mp3 mp4 opus qtkeychain shout +usb wavpack" RDEPEND=" dev-db/sqlite dev-cpp/abseil-cpp:= dev-libs/protobuf:= dev-qt/qt5compat:6 dev-qt/qtbase:6[dbus,gui,network,opengl,sql,widgets,xml] dev-qt/qtdeclarative:6 dev-qt/qtsvg:6 media-libs/chromaprint media-libs/flac:= media-libs/libebur128 media-libs/libogg media-libs/libsndfile media-libs/libsoundtouch media-libs/libvorbis media-libs/portaudio[alsa] media-libs/portmidi media-libs/rubberband media-libs/taglib:= media-sound/lame virtual/opengl x11-libs/libX11 x11-libs/libxkbcommon aac? ( media-libs/faad2 media-libs/libmp4v2 ) battery? ( dev-libs/glib:2 sys-power/upower ) ffmpeg? ( media-video/ffmpeg:= ) hid? ( dev-libs/hidapi virtual/libudev virtual/libusb:1 ) keyfinder? ( media-libs/libkeyfinder ) lv2? ( media-libs/lilv ) modplug? ( media-libs/libmodplug ) mp3? ( media-libs/libid3tag:= media-libs/libmad ) mp4? ( media-libs/libmp4v2:= ) opus? ( media-libs/opus media-libs/opusfile ) qtkeychain? ( dev-libs/qtkeychain:=[qt6(+)] ) shout? ( >=media-libs/libshout-idjc-2.4.6 ) usb? ( virtual/libusb:1 ) wavpack? ( media-sound/wavpack ) " DEPEND=" ${RDEPEND} " BDEPEND=" !!dev-libs/libmsgsl dev-cpp/benchmark dev-cpp/ms-gsl virtual/pkgconfig " PATCHES=( "${FILESDIR}"/${PN}-9999-docs.patch ) PLOCALES=" ca cs de en es fi fr gl id it nl pl pt ro ru sl sq sr tr " mixxx_set_globals() { local lang local MANUAL_URI_BASE="https://downloads.mixxx.org/manual/${REAL_PV}" for lang in ${PLOCALES} ; do SRC_URI+=" l10n_${lang}? ( ${MANUAL_URI_BASE}/${PN}-manual-${REAL_PV}-${lang/ja/ja-JP}.pdf )" IUSE+=" l10n_${lang/ en/ +en}" done SRC_URI+=" ${MANUAL_URI_BASE}/${PN}-manual-${REAL_PV}-en.pdf" } mixxx_set_globals src_configure() { local mycmakeargs=( # Not available on Linux yet and requires additional deps -DBATTERY="$(usex battery)" -DBROADCAST="$(usex shout)" -DBULK="$(usex usb)" -DCCACHE_SUPPORT="off" -DENGINEPRIME="off" -DFAAD="$(usex aac)" -DFFMPEG="$(usex ffmpeg)" -DGPERFTOOLS="off" -DHID="$(usex hid)" #-DINSTALL_USER_UDEV_RULES=OFF -DKEYFINDER="$(usex keyfinder)" -DLILV="$(usex lv2)" -DMAD="$(usex mp3)" -DMODPLUG="$(usex modplug)" # No boolean operator. Needs to be explicitly set to "off"! -DOPTIMIZE="off" -DOPUS="$(usex opus)" -DQT6="on" -DQTKEYCHAIN="$(usex qtkeychain)" -DRUBBERBAND="on" -DVINYLCONTROL="on" -DWAVPACK="$(usex wavpack)" ) if [[ ${MY_PV} == 9999 ]] ; then mycmakeargs+=( -DENGINEPRIME="OFF" ) fi cmake_src_configure } src_install() { cmake_src_install udev_newrules "${S}"/res/linux/mixxx-usb-uaccess.rules 69-mixxx-usb-uaccess.rules dodoc README.md CHANGELOG.md local locale for locale in ${PLOCALES} ; do if use l10n_${locale} ; then dodoc "${DISTDIR}"/${PN}-manual-${REAL_PV}-${locale/ja/ja-JP}.pdf fi done } pkg_postinst() { xdg_pkg_postinst udev_reload } pkg_postrm() { xdg_pkg_postrm udev_reload }