summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch85
-rw-r--r--media-sound/milkytracker/milkytracker-1.02.00-r1.ebuild (renamed from media-sound/milkytracker/milkytracker-1.02.00.ebuild)9
2 files changed, 92 insertions, 2 deletions
diff --git a/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch b/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch
new file mode 100644
index 000000000000..090e433b5fdc
--- /dev/null
+++ b/media-sound/milkytracker/files/milkytracker-1.02.00-fix-hard-dependency-on-rtmidi.patch
@@ -0,0 +1,85 @@
+From f85f5336df72dc44e407ae756ed20a8f8422cb76 Mon Sep 17 00:00:00 2001
+From: Dale Whinham <daleyo@gmail.com>
+Date: Sat, 11 Apr 2020 16:51:31 +0100
+Subject: [PATCH] Fix hard dependency on RtMidi
+
+It is perfectly reasonable for libasound to be installed, but not
+librtmidi, and so we should only enable the MIDI code if both are
+present.
+
+Fixes #207.
+---
+ src/tracker/CMakeLists.txt | 1 +
+ src/tracker/sdl/SDL_Main.cpp | 12 ++++++------
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/tracker/CMakeLists.txt b/src/tracker/CMakeLists.txt
+index 0a935330..f4243a0f 100644
+--- a/src/tracker/CMakeLists.txt
++++ b/src/tracker/CMakeLists.txt
+@@ -348,6 +348,7 @@ elseif(WIN32)
+ target_link_libraries(tracker midi)
+ else()
+ if(ALSA_FOUND AND RTMIDI_FOUND)
++ target_compile_definitions(tracker PRIVATE -DHAVE_LIBRTMIDI)
+ target_link_libraries(tracker midi)
+ endif()
+ endif()
+diff --git a/src/tracker/sdl/SDL_Main.cpp b/src/tracker/sdl/SDL_Main.cpp
+index 1a49fc12..75ffa1df 100644
+--- a/src/tracker/sdl/SDL_Main.cpp
++++ b/src/tracker/sdl/SDL_Main.cpp
+@@ -78,7 +78,7 @@
+ #include "PPSystem_POSIX.h"
+ #include "PPPath_POSIX.h"
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ #include "../midi/posix/MidiReceiver_pthread.h"
+ #endif
+ // --------------------------------------------------------------------------
+@@ -89,7 +89,7 @@ static SDL_TimerID timer;
+ static PPScreen* myTrackerScreen = NULL;
+ static Tracker* myTracker = NULL;
+ static PPDisplayDevice* myDisplayDevice = NULL;
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ static MidiReceiver* myMidiReceiver = NULL;
+ #endif
+
+@@ -223,7 +223,7 @@ static Uint32 SDLCALL timerCallback(Uint32 interval, void* param)
+ return interval;
+ }
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ class MidiEventHandler : public MidiReceiver::MidiEventHandler
+ {
+ public:
+@@ -829,7 +829,7 @@ myDisplayDevice = new PPDisplayDeviceFB(windowSize.width, windowSize.height, sca
+ // Startup procedure
+ myTracker->startUp(noSplash);
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ InitMidi();
+ #endif
+
+@@ -962,7 +962,7 @@ int main(int argc, char *argv[])
+ initTracker(defaultBPP, orientation, swapRedBlue, noSplash);
+ globalMutex->unlock();
+
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ if (myMidiReceiver && recVelocity)
+ {
+ myMidiReceiver->setRecordVelocity(true);
+@@ -1036,7 +1036,7 @@ int main(int argc, char *argv[])
+ SDL_RemoveTimer(timer);
+
+ globalMutex->lock();
+-#ifdef HAVE_LIBASOUND
++#ifdef HAVE_LIBRTMIDI
+ delete myMidiReceiver;
+ #endif
+ delete myTracker;
diff --git a/media-sound/milkytracker/milkytracker-1.02.00.ebuild b/media-sound/milkytracker/milkytracker-1.02.00-r1.ebuild
index d9dc64d7f6ee..b27c6c5260b4 100644
--- a/media-sound/milkytracker/milkytracker-1.02.00.ebuild
+++ b/media-sound/milkytracker/milkytracker-1.02.00-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit cmake desktop
+inherit cmake desktop xdg
# This commit is needed so the milkytrace binary is linked properly, bug 711564
# It is also ~40kb so it is better to fetch it rather than ship it in-tree
@@ -24,7 +24,7 @@ RDEPEND="
media-libs/libsdl2[X]
sys-libs/zlib
alsa? ( media-libs/alsa-lib )
- jack? ( media-sound/jack-audio-connection-kit )"
+ jack? ( virtual/jack )"
DEPEND="${RDEPEND}"
PATCHES=(
@@ -32,10 +32,15 @@ PATCHES=(
"${FILESDIR}/${P}-CVE-2019-14464.patch"
"${FILESDIR}/${P}-CVE-2019-1449x.patch"
"${FILESDIR}/${P}-CVE-2020-15569.patch"
+ "${FILESDIR}/${P}-fix-hard-dependency-on-rtmidi.patch"
)
S="${WORKDIR}/MilkyTracker-${PV}"
+src_prepare() {
+ cmake_src_prepare
+}
+
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package alsa ALSA)