Add my current patch for MuseScore

Some deps:
cmd:getconf
cmd:cmake
devel:lame_x86

Currently portaudio is disabled as we don't have a working version.
This commit is contained in:
François Revol
2016-11-12 20:32:34 +01:00
parent 3b1cb3ae52
commit c2d0e7d1eb

View File

@@ -0,0 +1,198 @@
From 0cd187bc08da04bb4d94a0afad361c5301a3be77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Sat, 12 Nov 2016 19:58:15 +0100
Subject: [PATCH 1/5] Haiku: disable unavailable dependencies
Some like portaudio actually have a recipe but aren't yet fully ported.
---
CMakeLists.txt | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2e91f3..871edd2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -79,11 +79,20 @@ if (APPLE)
option(BUILD_ALSA ${MAC_NOT_AVAIL} OFF)
endif (APPLE)
+# Disable components not supported on Haiku
+if (HAIKU)
+ set(HAIKU_NOT_AVAIL "Not available on Haiku")
+ option(BUILD_PULSEAUDIO ${HAIKU_NOT_AVAIL} OFF)
+ option(BUILD_ALSA ${HAIKU_NOT_AVAIL} OFF)
+ option(BUILD_JACK ${HAIKU_NOT_AVAIL} OFF)
+ option(BUILD_PORTAUDIO ${HAIKU_NOT_AVAIL} OFF)
+endif (HAIKU)
+
# Disable components not supported on Linux/BSD
-if (NOT APPLE AND NOT MINGW)
+if (NOT APPLE AND NOT MINGW AND NOT HAIKU)
set(NIX_NOT_AVAIL "Not available on Linux/BSD")
option(BUILD_PORTMIDI "PortMidi disabled on Linux. (It uses ALSA but it's better to use ALSA directly)" OFF)
-endif (NOT APPLE AND NOT MINGW)
+endif (NOT APPLE AND NOT MINGW AND NOT HAIKU)
option(AEOLUS "Enable pipe organ synthesizer" OFF)
option(ZERBERUS "Enable experimental SFZ sampler" ON)
--
2.7.0
From c51e8fc3aaeaeefa68a1c423a1ed8e84bb49ba4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Sat, 12 Nov 2016 20:04:14 +0100
Subject: [PATCH 2/5] Haiku: actually skip the PulseAudio test
---
build/FindPulseAudio.cmake | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/build/FindPulseAudio.cmake b/build/FindPulseAudio.cmake
index ea7a870..9ddff48 100644
--- a/build/FindPulseAudio.cmake
+++ b/build/FindPulseAudio.cmake
@@ -13,7 +13,7 @@
# BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
-if (NOT MINGW AND NOT APPLE)
+if (NOT MINGW AND NOT APPLE AND NOT HAIKU)
if (PULSEAUDIO_LIBRARIES AND PULSEAUDIO_INCLUDE_DIRS)
# In cache already
set(PULSEAUDIO_FOUND TRUE)
@@ -103,5 +103,5 @@ if (NOT MINGW AND NOT APPLE)
mark_as_advanced(PULSEAUDIO_INCLUDE_DIRS PULSEAUDIO_LIBRARIES)
endif (PULSEAUDIO_LIBRARIES AND PULSEAUDIO_INCLUDE_DIRS)
-endif (NOT MINGW AND NOT APPLE)
+endif (NOT MINGW AND NOT APPLE AND NOT HAIKU)
--
2.7.0
From 8683418b94c87bf6408f2033919a63213a7c01fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Sat, 12 Nov 2016 20:05:23 +0100
Subject: [PATCH 3/5] Haiku: skip QtWebEngine for now
---
all.h | 2 ++
build/FindQt5.cmake | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/all.h b/all.h
index c455214..553f59f 100644
--- a/all.h
+++ b/all.h
@@ -35,9 +35,11 @@
#include <QModelIndex>
#ifndef Q_OS_WIN
+#ifndef Q_OS_HAIKU
// no precompiled QtWebEngine in Qt 5.6 windows gcc
#include <QWebEngineView>
#endif
+#endif
#include <QtXml>
#include <QAbstractMessageHandler>
diff --git a/build/FindQt5.cmake b/build/FindQt5.cmake
index 836e877..e745659 100644
--- a/build/FindQt5.cmake
+++ b/build/FindQt5.cmake
@@ -19,7 +19,7 @@ set(_components
LinguistTools
Help
)
-if (NOT MINGW)
+if (NOT MINGW AND NOT HAIKU)
set(_components
${_components}
WebEngine
--
2.7.0
From 5d7e41cb65823229cee5ae710c38b52979cb8b40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Sat, 12 Nov 2016 20:09:51 +0100
Subject: [PATCH 4/5] Haiku: make sure we don't add broken rpath for genManual
For some reason the build ended up adding both /system/lib and /system/lib/x86
while the former shouldn't be usef on a gcc2 hybrid.
---
CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 871edd2..e7ff05f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -159,6 +159,11 @@ if (APPLE)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
SET(CMAKE_INSTALL_RPATH "${QT_INSTALL_PREFIX}/lib")
else (APPLE)
+ if (HAIKU)
+ # This is necessary for genManual to be executed during the build phase,
+ # it needs to be able to get the Qt libs.
+ SET(CMAKE_SKIP_RPATH TRUE)
+ endif (HAIKU)
if (MINGW)
# -mno-ms-bitfields see #22048
set(CMAKE_CXX_FLAGS_DEBUG "-std=c++11 -mno-ms-bitfields -g")
--
2.7.0
From 02dae4e7370ddb8767b8c84b72f58b486d8b3f93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Sat, 12 Nov 2016 20:12:39 +0100
Subject: [PATCH 5/5] Haiku: skip hardcoded -ldl and -lrt
Those should really be properly detected instead...
---
mscore/CMakeLists.txt | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/mscore/CMakeLists.txt b/mscore/CMakeLists.txt
index bd71a62..eea59b1 100644
--- a/mscore/CMakeLists.txt
+++ b/mscore/CMakeLists.txt
@@ -483,9 +483,11 @@ else (MINGW)
${QT_LIBRARIES}
mscore_freetype
z
- dl
pthread
)
+ if (NOT HAIKU)
+ target_link_libraries(mscore dl)
+ endif (NOT HAIKU)
if (USE_PORTAUDIO)
target_link_libraries(mscore ${PORTAUDIO_LIB})
endif (USE_PORTAUDIO)
@@ -518,8 +520,6 @@ else (MINGW)
if (APPLE)
target_link_libraries(mscore ${OsxFrameworks})
- else (APPLE)
- target_link_libraries(mscore rt)
endif (APPLE)
# 'gold' does not use indirect shared libraries for symbol resolution, Linux only
@@ -527,7 +527,9 @@ else (MINGW)
if(USE_JACK)
target_link_libraries(mscore dl)
endif(USE_JACK)
- target_link_libraries(mscore rt)
+ if (NOT HAIKU)
+ target_link_libraries(mscore rt)
+ endif (NOT HAIKU)
endif (NOT APPLE)
if (APPLE)
--
2.7.0