diff --git a/audio/mixxx/Makefile b/audio/mixxx/Makefile index 547b2fbee038..84997214e63b 100644 --- a/audio/mixxx/Makefile +++ b/audio/mixxx/Makefile @@ -1,122 +1,123 @@ PORTNAME= mixxx DISTVERSION= 2.5.2 +PORTREVISION= 1 CATEGORIES= audio MAINTAINER= acm@FreeBSD.org COMMENT= DJ mixing application WWW= https://mixxx.org/ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= benchmark>0:devel/benchmark \ googletest>0:devel/googletest \ lv2>=1.14.0:audio/lv2 \ microsoft-gsl>0:devel/microsoft-gsl LIB_DEPENDS= libabsl_base.so:devel/abseil \ libchromaprint.so:audio/chromaprint \ libFLAC.so:audio/flac \ libfftw3.so:math/fftw3 \ libhidapi.so:comms/hidapi \ libid3tag.so:audio/libid3tag \ libmad.so:audio/libmad \ libmodplug.so:audio/libmodplug \ libportaudio.so:audio/portaudio \ libSoundTouch.so:audio/soundtouch \ librubberband.so:audio/rubberband \ libsndfile.so:audio/libsndfile \ libogg.so:audio/libogg \ libvorbisfile.so:audio/libvorbis \ libtag.so:audio/taglib \ libprotobuf.so:devel/protobuf \ liblilv-0.so:audio/lilv \ libportmidi.so:audio/portmidi \ libupower-glib.so:sysutils/upower \ libkeyfinder.so:audio/libkeyfinder \ libmp3lame.so:audio/lame USES= cmake:testing compiler:c++20-lang ebur128 gl iconv ninja pkgconfig \ sqlite ssl xorg FLAVORS= qt5 qt6 FLAVOR?= ${FLAVORS:[1]} qt5_CONFLICTS= mixxx-qt6 qt6_CONFLICTS= mixxx-qt5 USE_XORG= ice sm x11 xext USE_GL= gl glu USE_GITHUB= yes GH_ACCOUNT= mixxxdj .if ${FLAVOR} == qt6 PKGNAMESUFFIX= -qt6 USES+= qt:6 USE_QT= 5compat base:run declarative:build tools:build shadertools \ sqldriver-sqlite:run svg CMAKE_ARGS+= -DQT6=ON QTKEYCHAIN_LIB_DEPENDS= libqt6keychain.so:security/qtkeychain@qt6 PLIST_SUB+= QT6="" .else PKGNAMESUFFIX= -qt5 USES+= qt:5 USE_QT= buildtools concurrent core dbus declarative gui linguisttools:build \ network opengl printsupport qmake:build sql sql-sqlite3 svg testlib \ widgets x11extras xml CMAKE_ARGS+= -DQT6=OFF QTKEYCHAIN_LIB_DEPENDS= libqt5keychain.so:security/qtkeychain@qt5 PLIST_SUB+= QT6="@comment " .endif CMAKE_ARGS+= -DINSTALL_USER_UDEV_RULES:BOOL=OFF \ -DOPTIMIZE:STRING=portable \ -DBATTERY:BOOL=OFF \ -DFAAD:BOOL=OFF \ -DMODPLUG:BOOL=ON \ -DMAD:BOOL=ON PORTDOCS= * OPTIONS_DEFINE= BROADCAST DOCS ENGINEPRIME FFMPEG GPERFTOOLS HID OPUS \ QTKEYCHAIN WAVPACK OPTIONS_DEFAULT= BROADCAST FFMPEG HID OPUS QTKEYCHAIN WAVPACK OPTIONS_SUB= yes BROADCAST_DESC= Live Broadcasting (Shoutcast) support #BROADCAST_LIB_DEPENDS= libshout-idjc.so:audio/shout-idjc BROADCAST_CMAKE_BOOL= BROADCAST ENGINEPRIME_DESC= Denon Engine Prime library export support ENGINEPRIME_LIB_DEPENDS= libdjinterop.so:audio/libdjinterop ENGINEPRIME_CMAKE_BOOL= ENGINEPRIME FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg FFMPEG_CMAKE_BOOL= FFMPEG GPERFTOOLS_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools GPERFTOOLS_CMAKE_BOOL= GPERFTOOLS HID_DESC= USB HID controllers support HID_CMAKE_BOOL= HID OPUS_LIB_DEPENDS= libopus.so:audio/opus \ libopusfile.so:audio/opusfile OPUS_CMAKE_BOOL= OPUS QTKEYCHAIN_DESC= Secure credentials storage for Live Broadcasting profiles QTKEYCHAIN_CMAKE_BOOL= QTKEYCHAIN WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack WAVPACK_CMAKE_BOOL= WAVPACK post-patch: @${REINPLACE_CMD} -e "s|^Exec=.*|Exec=mixxx|" \ ${WRKSRC}/res/linux/org.mixxx.Mixxx.desktop @${REINPLACE_CMD} -e "s,(Q_OS_LINUX),(Q_OS_LINUX) || defined(Q_OS_FREEBSD),g" \ ${WRKSRC}/src/util/screensaver.h @${REINPLACE_CMD} -e "s|QUIET hidapi-libusb|QUIET hidapi|" \ ${WRKSRC}/cmake/modules/Findhidapi.cmake .for i in midi/midimessage.h @${ECHO_CMD} >> ${WRKSRC}/src/controllers/${i} .endfor .include diff --git a/audio/mixxx/files/patch-src_widget_wcoverartlabel.cpp b/audio/mixxx/files/patch-src_widget_wcoverartlabel.cpp new file mode 100644 index 000000000000..79b076cc427b --- /dev/null +++ b/audio/mixxx/files/patch-src_widget_wcoverartlabel.cpp @@ -0,0 +1,25 @@ +--- src/widget/wcoverartlabel.cpp.orig 2025-07-04 17:25:50 UTC ++++ src/widget/wcoverartlabel.cpp +@@ -70,11 +70,9 @@ void WCoverArtLabel::setPixmapAndResize(const QPixmap& + m_fullSizeCover = px; + setPixmap(m_loadedCover); + } +-#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) +- QSize newSize = pixmap().size() / devicePixelRatioF(); +-#else ++ + QSize newSize = pixmap()->size() / devicePixelRatioF(); +-#endif ++ + // add the frame so the entire pixmap is visible + newSize += QSize(frameWidth() * 2, frameWidth() * 2); + if (size() != newSize) { +@@ -92,7 +90,7 @@ void WCoverArtLabel::setMaxSize(const QSize newSize) { + // Skip resizing the pixmap and label if the pixmap already fits. + // Check if we got more space in one dimension and don't need it + // for the other. +- const QSize pixmapSize = pixmap().size() / devicePixelRatioF(); ++ const QSize pixmapSize = pixmap()->size() / devicePixelRatioF(); + if (m_pixmapSizeMax == pixmapSize || + (m_pixmapSizeMax.height() == pixmapSize.height() && + m_pixmapSizeMax.width() > pixmapSize.width()) ||