summaryrefslogtreecommitdiff
path: root/media-sound/mixxx
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/mixxx')
-rw-r--r--media-sound/mixxx/Manifest1
-rw-r--r--media-sound/mixxx/files/mixxx-2.3.0-cmake.patch11
-rw-r--r--media-sound/mixxx/files/mixxx-2.3.0-docs.patch26
-rw-r--r--media-sound/mixxx/mixxx-2.5.0.ebuild122
4 files changed, 160 insertions, 0 deletions
diff --git a/media-sound/mixxx/Manifest b/media-sound/mixxx/Manifest
new file mode 100644
index 00000000..5218e446
--- /dev/null
+++ b/media-sound/mixxx/Manifest
@@ -0,0 +1 @@
+DIST mixxx-2.5.0.tar.gz 39580922 BLAKE2B e5c5aa02a4b13228857eb620ad174144562d7b4675a40565fda1e641138e0e65dbb2bbe8c7fb32ead242a5bdf8581368ea604c93afbfc5c991ac92065e7bdae7 SHA512 ee3c682d40267358025aba5bfdc378fee1cb6691dc899280132f7e69d315b9ce3d8568ca182752bac96a38310c2f2d71ddc80eea4448b8b32bf6ec6a61a9d608
diff --git a/media-sound/mixxx/files/mixxx-2.3.0-cmake.patch b/media-sound/mixxx/files/mixxx-2.3.0-cmake.patch
new file mode 100644
index 00000000..b573a624
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-2.3.0-cmake.patch
@@ -0,0 +1,11 @@
+--- mixxx-2.3.0/CMakeLists.txt
++++ mixxx-2.3.0/CMakeLists.txt
+@@ -53,8 +53,6 @@
+ set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE)
+ # Set the possible values of build type for cmake-gui
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo")
+- elseif(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo)$")
+- message(FATAL_ERROR "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} is not supported, use one of Debug, Release or RelWithDebInfo.")
+ endif()
+ endif()
+
diff --git a/media-sound/mixxx/files/mixxx-2.3.0-docs.patch b/media-sound/mixxx/files/mixxx-2.3.0-docs.patch
new file mode 100644
index 00000000..e956e1ce
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-2.3.0-docs.patch
@@ -0,0 +1,26 @@
+--- mixxx-2.3.0/CMakeLists.txt
++++ mixxx-2.3.0/CMakeLists.txt
+@@ -1320,23 +1320,6 @@
+ "${MIXXX_INSTALL_LICENSEDIR}"
+ )
+
+-# Documentation
+-install(
+- FILES
+- "${CMAKE_CURRENT_SOURCE_DIR}/README.md"
+- "${CMAKE_CURRENT_SOURCE_DIR}/res/Mixxx-Keyboard-Shortcuts.pdf"
+- DESTINATION
+- "${MIXXX_INSTALL_DOCDIR}"
+-)
+-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/res/Mixxx-Manual.pdf")
+- install(
+- FILES
+- "${CMAKE_CURRENT_SOURCE_DIR}/res/Mixxx-Manual.pdf"
+- DESTINATION
+- "${MIXXX_INSTALL_DOCDIR}"
+- )
+-endif()
+-
+ # Additional Linux-only files
+ if(UNIX AND NOT APPLE)
+ # .desktop file for KDE/GNOME menu
diff --git a/media-sound/mixxx/mixxx-2.5.0.ebuild b/media-sound/mixxx/mixxx-2.5.0.ebuild
new file mode 100644
index 00000000..cda9762e
--- /dev/null
+++ b/media-sound/mixxx/mixxx-2.5.0.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2023 Gentoo Authors
+# Copyright 2025 Redcore Linux Project
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg udev
+
+MY_PV=$(ver_cut 1-2)
+DESCRIPTION="Advanced Digital DJ tool based on Qt"
+HOMEPAGE="https://mixxx.org/"
+SRC_URI="https://github.com/mixxxdj/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="aac ffmpeg hid keyfinder lv2 modplug mp3 mp4 opus qtkeychain shout wavpack"
+
+RDEPEND="
+ dev-cpp/benchmark
+ dev-cpp/ms-gsl
+ dev-db/sqlite
+ dev-libs/glib:2
+ dev-libs/protobuf:=
+ dev-qt/qt5compat:6
+ dev-qt/qtbase:6[dbus,gui,network,opengl,sql,widgets,xml]
+ dev-qt/qtdeclarative:6
+ dev-qt/qtshadertools:6
+ dev-qt/qtsvg:6
+ dev-qt/qttools:6
+ media-libs/chromaprint
+ media-libs/flac:=
+ media-libs/libebur128
+ media-libs/libid3tag:=
+ 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-libs/vamp-plugin-sdk
+ media-sound/lame
+ sci-libs/fftw:3.0=
+ sys-power/upower
+ virtual/glu
+ virtual/libusb:1
+ virtual/opengl
+ virtual/udev
+ x11-libs/libX11
+ aac? (
+ media-libs/faad2
+ media-libs/libmp4v2
+ )
+ ffmpeg? ( media-video/ffmpeg:= )
+ hid? ( dev-libs/hidapi )
+ keyfinder? ( media-libs/libkeyfinder )
+ lv2? ( media-libs/lilv )
+ modplug? ( media-libs/libmodplug )
+ mp3? ( media-libs/libmad )
+ mp4? ( media-libs/libmp4v2:= )
+ opus? ( media-libs/opusfile )
+ qtkeychain? ( dev-libs/qtkeychain:=[qt6(+)] )
+ wavpack? ( media-sound/wavpack )
+"
+ # libshout-idjc-2.4.6 is required. Please check and re-add once it's
+ # available in ::gentoo
+ # Meanwhile we're using the bundled libshout-idjc. See bug #775443
+ #shout? ( >=media-libs/libshout-idjc-2.4.6 )
+
+DEPEND="${RDEPEND}
+ dev-qt/qtbase:6[concurrent]
+"
+BDEPEND="
+ dev-qt/qtbase:6[test]
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.0-docs.patch
+ "${FILESDIR}"/${PN}-2.3.0-cmake.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ # Not available on Linux yet and requires additional deps
+ -DBATTERY="off"
+ -DBROADCAST="$(usex shout on off)"
+ -DCCACHE_SUPPORT="off"
+ -DFAAD="$(usex aac on off)"
+ -DFFMPEG="$(usex ffmpeg on off)"
+ -DHID="$(usex hid on off)"
+ -DINSTALL_USER_UDEV_RULES=OFF
+ -DKEYFINDER="$(usex keyfinder on off)"
+ -DLILV="$(usex lv2 on off)"
+ -DMAD="$(usex mp3 on off)"
+ -DMODPLUG="$(usex modplug on off)"
+ -DOPTIMIZE="off"
+ -DOPUS="$(usex opus on off)"
+ -DQTKEYCHAIN="$(usex qtkeychain on off)"
+ -DVINYLCONTROL="on"
+ -DWAVPACK="$(usex wavpack on off)"
+ )
+
+ 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
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ udev_reload
+}