diff --git a/media-sound/lmms/additional-files/LMMS.rdef b/media-sound/lmms/additional-files/LMMS.rdef index 7bd433c95..e862021cc 100644 --- a/media-sound/lmms/additional-files/LMMS.rdef +++ b/media-sound/lmms/additional-files/LMMS.rdef @@ -23,29 +23,14 @@ resource file_types message { }; resource vector_icon { - $"6E63696605036FFF9F034AFD850308755E055B030A3C1B1F0A0ABB97C93DBB97" - $"C485B780C229B780BD7140B8B640B3FFB378BB12B368C485B778C6D8B780CB99" - $"0A04C7DEC6D9CBF4C47DCBF5C937C7DFCB930A04B378C482B378C93AB790CB96" - $"B790C6DE0A0CBFBCB8B9C7E9BD6EC7E9C226C3D1C482C3D1C93AC7E9CB96C7EC" - $"C6E1CC04C485CC04BFCDCC01BD6ECC01BB12BFBCB4020802B37BC93DBBABC485" - $"0802BBABC93DB37BC4850802B37BBB15B793BD710802B793BD71BBABBB150802" - $"B793B8B9BBABBB150802BBA8BB12BBABB65E0802BBABB65EBFC3B8B90802BFC3" - $"B40240B8B60802BFC3B40240B8B60802BFC3B8B9C3DBB65E0802C3DBBB15C3D7" - $"B65A0802C3DBBB15C7F3B8B90802C3DBBB15C7F3BD710802C7E2BD6BCBFABB0F" - $"0802C3DBC485CC0BC93D0802C7F3CB99C7EFC2260802C3DBC93DCC0BC4850802" - $"B790CB96B790C2260802B37BBFCDB793C2290802B37BBFCDB793BD710802B37B" - $"C485B793C2290802B790BD6EB793B8B90802C7EFBD6EC7F3B8B90802C7F3BD71" - $"CC0BBFCD0802C7F3C229CC0BC4850802C7E2C223CBFABFC70A15B378C92EB37B" - $"BFC1B378BB06B793B8ADBFC3B3F5C7F3B8ADCC07BB06CC07C92EC7EFCB8AC3D7" - $"C92EC3DBC479C7EFC21AC7EFBD62C3DBBB09BFC3B8ADBBABBB09B790BD62B790" - $"C21ABBA8C476BBA8C92EB790CB8A1F0A000100000A010101000A000102000A00" - $"0103000A0201041001178000040A0201051001178000040A0201061001178000" - $"040A0201071001178000040A0201081001178000040A0201091001178000040A" - $"02010A1001178000040A03010B000A02010C1001178000040A02010D10011780" - $"00040A02010E1001178000040A02010F1001178000040A020110100117800004" - $"0A0201111001178000040A0201121001178000040A0201131001178000040A02" - $"01141001178000040A0201151001178000040A0201161001178000040A020117" - $"1001178000040A0201181001178000040A0201191001178000040A02011A1001" - $"178000040A02011B1001178000040A02011C1001178000040A02011D10011780" - $"00040A04011E100117800004" + $"6E636966050134D07BFC020006023A9E180000000000003A9E184ADA114B2DD4" + $"0027AB5FFF249A5604002605FF0500040A04B4F6B4F6CAEEB4F6CAEECAEEB4F6" + $"CAEE0A04B573B573CAA2B573CAA2CAA2B573CAA20A10C2B130B864BF42B864CB" + $"07BBD3CCFDBF42CB07BF42C71BBBD3C524BBD3C138C2B1BD4CC98EC138C98EC5" + $"2450C71B50CB07C98ECCFDCCFDCB07CCFDBF420A10C2B1B864B864BE47B864CA" + $"0CBBD3CC02BF42CA0CBF4250BBD3C429BBD3C03DC2B1BC51C98EC03DC98EC429" + $"505050CA0CC98ECC02CCFDCA0CCCFDBE47040A040100301F1F01178400040A01" + $"0101024009A10000000000004009A1C21DA1C21DA10A020102023F39E7000000" + $"0000003F39E7429E7A413CF40A030103023F39E70000000000003F39E7BD0C2E" + $"3E79E8" }; diff --git a/media-sound/lmms/lmms-1.2.0~rc4.recipe b/media-sound/lmms/lmms-1.2.0~rc8.recipe similarity index 61% rename from media-sound/lmms/lmms-1.2.0~rc4.recipe rename to media-sound/lmms/lmms-1.2.0~rc8.recipe index 2e6139dbf..06039528d 100644 --- a/media-sound/lmms/lmms-1.2.0~rc4.recipe +++ b/media-sound/lmms/lmms-1.2.0~rc8.recipe @@ -6,12 +6,17 @@ synthesis and mixing of sounds, and arranging of samples. You can have fun \ with your MIDI-keyboard and much more; all in a user-friendly and modern \ interface." HOMEPAGE="http://lmms.io/" -COPYRIGHT="2004-2017 Tobias Doerffel et al." +COPYRIGHT="2004-2019 Tobias Doerffel et al." LICENSE="GNU GPL v2" REVISION="1" SOURCE_URI="https://github.com/LMMS/lmms/archive/v${portVersion/\~/-}.tar.gz" -CHECKSUM_SHA256="ce6938b95e0c2af63b68c40180036b08c54127fba21737f2cd904aa67a36a00d" +CHECKSUM_SHA256="4511687e47f6159cb2a250528bcccaa38b36b78f345466d090514214888943e8" SOURCE_DIR="lmms-${portVersion/\~/-}" +srcGitRev2="a66360f09e91cca9c7a6a16162bff6c3bd1f7efb" +SOURCE_URI_2="https://github.com/rampantpixels/rpmalloc/archive/$srcGitRev2.tar.gz" +CHECKSUM_SHA256_2="1aa23b2395eacc0fd86f197f0c4dffeb69107f5e0b73c2eed5c6b86ed2bef2b7" +SOURCE_DIR_2="rpmalloc-$srcGitRev2" +PATCHES="lmms-$portVersion.patchset" ADDITIONAL_FILES="LMMS.rdef" ARCHITECTURES="!x86_gcc2 x86_64" @@ -24,7 +29,8 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix lib:libfftw3f$secondaryArchSuffix - lib:libfluidsynth$secondaryArchSuffix + lib:libfluidsynth$secondaryArchSuffix >= 2 + lib:libmp3lame$secondaryArchSuffix lib:libogg$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix @@ -36,12 +42,14 @@ REQUIRES=" lib:libvorbis$secondaryArchSuffix lib:libvorbisenc$secondaryArchSuffix lib:libvorbisfile$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libfftw3f$secondaryArchSuffix - devel:libfluidsynth$secondaryArchSuffix + devel:libfluidsynth$secondaryArchSuffix >= 2 + devel:libmp3lame$secondaryArchSuffix devel:libogg$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix @@ -50,30 +58,42 @@ BUILD_REQUIRES=" devel:libsdl$secondaryArchSuffix devel:libsndfile$secondaryArchSuffix devel:libvorbis$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:cmake cmd:g++$secondaryArchSuffix - cmd:ninja + cmd:make + cmd:lrelease$secondaryArchSuffix cmd:pkg_config$secondaryArchSuffix " BUILD() { + # link submodule + rm -rf src/3rdparty/rpmalloc/rpmalloc + ln -s $sourceDir2 src/3rdparty/rpmalloc/rpmalloc + mkdir -p build && cd build - cmake -DCMAKE_INSTALL_PREFIX=$appsDir/LMMS/ -DWANT_QT5=ON -Wno-dev -GNinja .. - ninja $jobArgs + cmake .. \ + -DCMAKE_INSTALL_PREFIX=$appsDir/LMMS \ + -DWANT_QT5=ON \ + -Wno-dev + make $jobArgs } INSTALL() { cd build - ninja install + make install + + mv $appsDir/LMMS/bin/lmms $appsDir/LMMS/LMMS + mv $appsDir/LMMS/share/lmms/* $appsDir/LMMS/ + mv $appsDir/LMMS/lib/lmms $appsDir/LMMS/plugins + rm -rf $appsDir/LMMS/{share,lib,bin} - rm -rf $appsDir/LMMS/share/man - mv $appsDir/LMMS/bin/lmms $appsDir/LMMS/bin/LMMS addResourcesToBinaries $portDir/additional-files/LMMS.rdef \ - $appsDir/LMMS/bin/LMMS + $appsDir/LMMS/LMMS - addAppDeskbarSymlink $appsDir/LMMS/bin/LMMS "LMMS" + addAppDeskbarSymlink $appsDir/LMMS/LMMS } diff --git a/media-sound/lmms/patches/lmms-1.2.0~rc8.patchset b/media-sound/lmms/patches/lmms-1.2.0~rc8.patchset new file mode 100644 index 000000000..c26fa7279 --- /dev/null +++ b/media-sound/lmms/patches/lmms-1.2.0~rc8.patchset @@ -0,0 +1,98 @@ +From 52b2bc68068317d3ecd202c5faabc9572637ce8f Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 14 Apr 2019 19:41:47 +1000 +Subject: Disable TLS for Haiku + + +diff --git a/src/3rdparty/rpmalloc/CMakeLists.txt b/src/3rdparty/rpmalloc/CMakeLists.txt +index 23d1551..c0af99d 100644 +--- a/src/3rdparty/rpmalloc/CMakeLists.txt ++++ b/src/3rdparty/rpmalloc/CMakeLists.txt +@@ -15,6 +15,12 @@ if (NOT LMMS_BUILD_WIN32) + ) + endif() + ++if (HAIKU) ++ target_compile_definitions(rpmalloc ++ PRIVATE -DENABLE_PRELOAD=1 ++ ) ++endif() ++ + if (CMAKE_BUILD_TYPE STREQUAL "Debug") + # rpmalloc uses GCC builtin "__builtin_umull_overflow" with ENABLE_VALIDATE_ARGS, + # which is only available starting with GCC 5 +-- +2.21.0 + + +From 0c057df6a1904d59ad7f0b1e6a3d2605b89fad62 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 14 Apr 2019 21:46:08 +1000 +Subject: Fix settings dir + + +diff --git a/src/core/ConfigManager.cpp b/src/core/ConfigManager.cpp +index f52e10a..2738c12 100644 +--- a/src/core/ConfigManager.cpp ++++ b/src/core/ConfigManager.cpp +@@ -33,6 +33,10 @@ + #endif + #include + ++#ifdef __HAIKU__ ++#include ++#endif ++ + #include "ConfigManager.h" + #include "MainWindow.h" + #include "ProjectVersion.h" +@@ -73,7 +77,13 @@ ConfigManager::ConfigManager() : + + if (! qgetenv("LMMS_DATA_DIR").isEmpty()) + QDir::addSearchPath("data", QString::fromLocal8Bit(qgetenv("LMMS_DATA_DIR"))); +- ++#ifdef __HAIKU__ ++ m_workingDir = QDir::home().absolutePath() +"/config/settings/LMMS/"; ++ m_lmmsRcFile = m_workingDir +"/lmmsrc.xml"; ++ m_gigDir = m_workingDir + GIG_PATH; ++ m_vstDir = "/system/add-ons/media/vstplugins/"; ++ m_sf2Dir = "/system/data/synth/"; ++#endif + // If we're in development (lmms is not installed) let's get the source and + // binary directories by reading the CMake Cache + QDir appPath = qApp->applicationDirPath(); +@@ -114,6 +124,8 @@ ConfigManager::ConfigManager() : + + #ifdef LMMS_BUILD_WIN32 + QDir::addSearchPath("data", qApp->applicationDirPath() + "/data/"); ++#elif __HAIKU__ ++ QDir::addSearchPath("data", qApp->applicationDirPath() + "/"); + #else + QDir::addSearchPath("data", qApp->applicationDirPath().section('/', 0, -2) + "/share/lmms/"); + #endif +@@ -524,6 +536,22 @@ void ConfigManager::loadConfigFile( const QString & configFile ) + cfg_file.close(); + } + ++#ifdef __HAIKU__ ++ char midiSettings[PATH_MAX] = ""; ++ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, midiSettings, sizeof(midiSettings)) == B_OK) { ++ strcat(midiSettings, "/Media/midi_settings"); ++ if( access( midiSettings, F_OK ) != -1 ) { ++ FILE *inFile = fopen(midiSettings, "rt"); ++ if (inFile) { ++ char sf2file[PATH_MAX]; ++ if (fscanf(inFile, "# Midi\n\tsoundfont \"%[^\"]\"", sf2file)) { ++ setDefaultSoundfont( sf2file ); ++ } ++ fclose(inFile); ++ } ++ } ++ } ++#endif + + if( m_vstDir.isEmpty() || m_vstDir == QDir::separator() || m_vstDir == "/" || + !QDir( m_vstDir ).exists() ) +-- +2.21.0 +