From 5e965cd90421e3124655cad646d3ea65b85fecbf Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Wed, 22 Mar 2017 23:42:41 +0100 Subject: [PATCH] opentoonz: add recipe for version 1.1.2. * Qt5 doesn't seem to support OpenGL: "This plugin does not support createPlatformOpenGLContext!" --- media-gfx/opentoonz/opentoonz-1.1.2.recipe | 101 ++++ .../patches/opentoonz-1.1.2.patchset | 545 ++++++++++++++++++ 2 files changed, 646 insertions(+) create mode 100644 media-gfx/opentoonz/opentoonz-1.1.2.recipe create mode 100644 media-gfx/opentoonz/patches/opentoonz-1.1.2.patchset diff --git a/media-gfx/opentoonz/opentoonz-1.1.2.recipe b/media-gfx/opentoonz/opentoonz-1.1.2.recipe new file mode 100644 index 000000000..c1fdeb229 --- /dev/null +++ b/media-gfx/opentoonz/opentoonz-1.1.2.recipe @@ -0,0 +1,101 @@ +SUMMARY="An open-source full-featured 2D animation creation software" +DESCRIPTION="OpenToonz is a 2D animation software published by \ +DWANGO (http://dwango.co.jp/english/). It is based on Toonz Studio \ +Ghibli Version, originally developed in Italy by \ +Digital Video, Inc. (http://www.toonz.com/), and customized by \ +Studio Ghibli (http://www.ghibli.jp/) over many years of production." +LICENSE="BSD (3-clause)" +COPYRIGHT="2016, DWANGO Co., Ltd." +HOMEPAGE="https://github.com/opentoonz/opentoonz/" +REVISION="1" +SOURCE_URI="$HOMEPAGE/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="e9943abbd49befb5c8963fd7cb744b6c5b93a4faa02c8564610b848d189ea029" +PATCHES="opentoonz-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="?x86" + +PROVIDES=" + opentoonz$secondaryArchSuffix = $portVersion + cmd:opentoonz_1.1 + cmd:opentoonz + cmd:tcleanup + cmd:tcomposer + cmd:tconverter + cmd:tfarmcontroller + cmd:tfarmserver + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libglew$secondaryArchSuffix + lib:libGLU$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:liblz4$secondaryArchSuffix + lib:liblzma$secondaryArchSuffix + lib:libopenblas$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5OpenGL$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Script$secondaryArchSuffix + lib:libQt5Svg$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + lib:libSDL2_2.0$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libboost_system$secondaryArchSuffix + devel:libfreetype$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + devel:libglew$secondaryArchSuffix + devel:libGLU$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:liblz4$secondaryArchSuffix + devel:liblzma$secondaryArchSuffix + devel:liblzo2$secondaryArchSuffix + devel:libopenblas$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libsdl2_2.0$secondaryArchSuffix + devel:libsuperlu$secondaryArchSuffix + devel:libusb_1.0$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:gcc$secondaryArchSuffix + cmd:libtoolize$secondaryArchSuffix + cmd:cmake + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + cd thirdparty/tiff-4.0.3 + autoreconf -fi + ./configure --with-pic --disable-jbig + make $jobArgs + cd ../../toonz + mkdir -p build && cd build + cmake ../sources \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$prefix \ + -DGLUT_LIB=/system/develop/lib/libglut.so \ + -DCMAKE_CXX_FLAGS=-DBOOST_NO_CXX11_CONSTEXPR + make $jobArgs +} + +INSTALL() +{ + cd toonz/build + make install +} diff --git a/media-gfx/opentoonz/patches/opentoonz-1.1.2.patchset b/media-gfx/opentoonz/patches/opentoonz-1.1.2.patchset new file mode 100644 index 000000000..96beccbba --- /dev/null +++ b/media-gfx/opentoonz/patches/opentoonz-1.1.2.patchset @@ -0,0 +1,545 @@ +From b40385d190c2748f877dd355b14f85a46e98b320 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Wed, 22 Mar 2017 22:05:39 +0100 +Subject: Haiku patch + + +diff --git a/toonz/sources/CMakeLists.txt b/toonz/sources/CMakeLists.txt +index bddb3f9..956a612 100644 +--- a/toonz/sources/CMakeLists.txt ++++ b/toonz/sources/CMakeLists.txt +@@ -94,6 +94,8 @@ elseif(UNIX) + endif() + if(CMAKE_SYSTEM_NAME MATCHES "Linux") + add_definitions(-DLINUX) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "Haiku") ++ add_definitions(-DHAIKU) + else() + message(WARNING "Support for generic Unix (Not Apple or Linux) isn't yet working!") + endif() +diff --git a/toonz/sources/common/tapptools/tenv.cpp b/toonz/sources/common/tapptools/tenv.cpp +index d7b3268..9e43635 100644 +--- a/toonz/sources/common/tapptools/tenv.cpp ++++ b/toonz/sources/common/tapptools/tenv.cpp +@@ -5,7 +5,7 @@ + #include "tconvert.h" + #include "tfilepath_io.h" + +-#ifdef LINUX ++#if defined(LINUX) || defined(HAIKU) + #include + #endif + #include +diff --git a/toonz/sources/common/tapptools/ttimer.cpp b/toonz/sources/common/tapptools/ttimer.cpp +index a955ee4..139334b 100644 +--- a/toonz/sources/common/tapptools/ttimer.cpp ++++ b/toonz/sources/common/tapptools/ttimer.cpp +@@ -122,7 +122,7 @@ void CALLBACK ElapsedTimeCB(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, + if (imp->m_action) imp->m_action->sendCommand(imp->m_ticks); + } + }; +-#elif LINUX ++#elif defined(LINUX) || defined(HAIKU) + + #include + #include +diff --git a/toonz/sources/common/tcore/tstopwatch.cpp b/toonz/sources/common/tcore/tstopwatch.cpp +index 5a993a8..0231839 100644 +--- a/toonz/sources/common/tcore/tstopwatch.cpp ++++ b/toonz/sources/common/tcore/tstopwatch.cpp +@@ -8,7 +8,7 @@ + #include + #else //_WIN32 + +-#if defined(__APPLE_CC__) ++#if defined(__APPLE_CC__) || defined(HAIKU) + #include + #else + #include +diff --git a/toonz/sources/common/tgl/tgl.cpp b/toonz/sources/common/tgl/tgl.cpp +index c4bcd70..510e9ef 100644 +--- a/toonz/sources/common/tgl/tgl.cpp ++++ b/toonz/sources/common/tgl/tgl.cpp +@@ -12,14 +12,14 @@ + #ifdef _WIN32 + #include + #include +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(HAIKU) + #include + #else + #include + #endif + #endif + +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + #include + #endif + +@@ -617,7 +617,7 @@ void tglMakeCurrent(TGlContext context) { + + void tglDoneCurrent(TGlContext) { wglMakeCurrent(NULL, NULL); } + +-#elif defined(LINUX) || defined(__sgi) || defined(MACOSX) ++#elif defined(LINUX) || defined(__sgi) || defined(MACOSX) || defined(HAIKU) + + TGlContext tglGetCurrentContext() { + return reinterpret_cast( +diff --git a/toonz/sources/common/tipc/tipc.cpp b/toonz/sources/common/tipc/tipc.cpp +index e379a9d..e2ccb8e 100644 +--- a/toonz/sources/common/tipc/tipc.cpp ++++ b/toonz/sources/common/tipc/tipc.cpp +@@ -18,7 +18,7 @@ + #elif defined(MACOSX) + #include + #include +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(HAIKU) + #include + #include + #endif +diff --git a/toonz/sources/common/tsystem/tpluginmanager.cpp b/toonz/sources/common/tsystem/tpluginmanager.cpp +index 905c8b7..b1faa41 100644 +--- a/toonz/sources/common/tsystem/tpluginmanager.cpp ++++ b/toonz/sources/common/tsystem/tpluginmanager.cpp +@@ -19,12 +19,16 @@ + #include + #include + #include ++#ifndef HAIKU + #include ++#endif + #include // for getfsstat + #ifdef MACOSX + #include + #endif ++#ifndef HAIKU + #include ++#endif + #include + #include + #endif +@@ -171,7 +175,7 @@ void TPluginManager::loadPlugin(const TFilePath &fp) { + void TPluginManager::loadPlugins(const TFilePath &dir) { + #if defined(_WIN32) + const std::string extension = "dll"; +-#elif defined(LINUX) || defined(__sgi) ++#elif defined(LINUX) || defined(__sgi) || defined(HAIKU) + const std::string extension = "so"; + #elif defined(MACOSX) + const std::string extension = "dylib"; +diff --git a/toonz/sources/common/tsystem/tsystempd.cpp b/toonz/sources/common/tsystem/tsystempd.cpp +index 4edf000..3807ed5 100644 +--- a/toonz/sources/common/tsystem/tsystempd.cpp ++++ b/toonz/sources/common/tsystem/tsystempd.cpp +@@ -97,6 +97,23 @@ + + #endif + ++#ifdef HAIKU ++#define PLATFORM HAIKU ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#endif ++ + #ifndef PLATFORM + PLATFORM_NOT_SUPPORTED + #endif +@@ -185,6 +202,11 @@ bool TSystem::memoryShortage() { + // to be done... + return false; + ++#elif defined(HAIKU) ++ ++ // to be done... ++ return false; ++ + #else + + @ @ @ERROR : PLATFORM NOT SUPPORTED +@@ -252,6 +274,11 @@ TINT64 TSystem::getFreeMemorySize(bool onlyPhisicalMemory) { + // to be done... + totalFree = 512 * 1024; + ++#elif defined(HAIKU) ++ ++ // to be done... ++ totalFree = 512 * 1024; ++ + #else + @ @ @ERROR : PLATFORM NOT SUPPORTED + #endif +@@ -280,6 +307,9 @@ TINT64 TSystem::getDiskSize(const TFilePath &diskName) { + return 0; + } + #ifndef _WIN32 ++#ifdef HAIKU ++ size = 0; ++#else + struct statfs buf; + #ifdef __sgi + statfs(::to_string(diskName).c_str(), &buf, sizeof(struct statfs), 0); +@@ -287,6 +317,7 @@ TINT64 TSystem::getDiskSize(const TFilePath &diskName) { + statfs(::to_string(diskName).c_str(), &buf); + #endif + size = (TINT64)((buf.f_blocks * buf.f_bsize) >> 10); ++#endif + #else + DWORD sectorsPerCluster; // sectors per cluster + DWORD bytesPerSector; // bytes per sector +@@ -317,6 +348,9 @@ TINT64 TSystem::getFreeDiskSize(const TFilePath &diskName) { + return 0; + } + #ifndef _WIN32 ++#ifdef HAIKU ++ size = 0; ++#else + struct statfs buf; + #ifdef __sgi + statfs(diskName.getWideString().c_str(), &buf, sizeof(struct statfs), 0); +@@ -324,6 +358,7 @@ TINT64 TSystem::getFreeDiskSize(const TFilePath &diskName) { + statfs(::to_string(diskName).c_str(), &buf); + #endif + size = (TINT64)(buf.f_bfree * buf.f_bsize) >> 10; ++#endif + #else + DWORD sectorsPerCluster; // sectors per cluster + DWORD bytesPerSector; // bytes per sector +@@ -383,6 +418,11 @@ TINT64 TSystem::getMemorySize(bool onlyPhisicalMemory) { + // to be done... + return 512 * 1024; + ++#elif defined(HAIKU) ++ ++ // to be done... ++ return 512 * 1024; ++ + #else + @ @ @ERROR : PLATFORM NOT SUPPORTED + #endif +diff --git a/toonz/sources/common/tvrender/tfont_proxy.cpp b/toonz/sources/common/tvrender/tfont_proxy.cpp +index 6a3b24a..2daf9a5 100644 +--- a/toonz/sources/common/tvrender/tfont_proxy.cpp ++++ b/toonz/sources/common/tvrender/tfont_proxy.cpp +@@ -1,6 +1,6 @@ + + +-#if defined(__LP64__) && !defined(LINUX) ++#if defined(__LP64__) && !defined(LINUX) && !defined(HAIKU) + + // Toonz includes + #include "tvectorimage.h" +diff --git a/toonz/sources/common/tvrender/tofflinegl.cpp b/toonz/sources/common/tvrender/tofflinegl.cpp +index 000e6df..7086c63 100644 +--- a/toonz/sources/common/tvrender/tofflinegl.cpp ++++ b/toonz/sources/common/tvrender/tofflinegl.cpp +@@ -19,7 +19,7 @@ + + #include "tthread.h" + +-#elif defined(MACOSX) ++#elif defined(MACOSX) || defined(HAIKU) + + #include "qtofflinegl.h" + +@@ -490,7 +490,7 @@ static std::shared_ptr defaultOfflineGLGenerator( + return std::make_shared(dim, shared); + } + +-#elif defined(MACOSX) ++#elif defined(MACOSX) || defined(HAIKU) + + std::shared_ptr defaultOfflineGLGenerator( + const TDimension &dim, std::shared_ptr shared) { +diff --git a/toonz/sources/common/tvrender/ttessellator.cpp b/toonz/sources/common/tvrender/ttessellator.cpp +index ca049d4..bd72e62 100644 +--- a/toonz/sources/common/tvrender/ttessellator.cpp ++++ b/toonz/sources/common/tvrender/ttessellator.cpp +@@ -94,7 +94,7 @@ static void CALLBACK myCombine(GLdouble coords[3], GLdouble *d[4], GLfloat w[4], + typedef GLvoid(CALLBACK *GluCallback)(void); + #endif + +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + + typedef GLvoid (*GluCallback)(); + +diff --git a/toonz/sources/image/compatibility/tfile_io.c b/toonz/sources/image/compatibility/tfile_io.c +index 20ca6b8..5c39e52 100644 +--- a/toonz/sources/image/compatibility/tfile_io.c ++++ b/toonz/sources/image/compatibility/tfile_io.c +@@ -58,7 +58,7 @@ char *convertWCHAR2CHAR(const wchar_t *wc) { + } + #endif + /*-----------------------------------*/ +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + + FILE *_wfopen(const wchar_t *fname, const wchar_t *mode) { + char *cfname = convertWCHAR2CHAR(fname); +diff --git a/toonz/sources/image/compatibility/tfile_io.h b/toonz/sources/image/compatibility/tfile_io.h +index d7a3fdd..a333719 100644 +--- a/toonz/sources/image/compatibility/tfile_io.h ++++ b/toonz/sources/image/compatibility/tfile_io.h +@@ -19,7 +19,7 @@ extern "C" { + + char *convertWCHAR2CHAR(const wchar_t *fname); + +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + + #include + #include +diff --git a/toonz/sources/image/compatibility/tnz4.h b/toonz/sources/image/compatibility/tnz4.h +index 60593d6..9571725 100644 +--- a/toonz/sources/image/compatibility/tnz4.h ++++ b/toonz/sources/image/compatibility/tnz4.h +@@ -36,7 +36,7 @@ TNZ_LITTLE_ENDIAN undefined !! + unsigned char b, g, r, m; + #elif defined(__sgi) + unsigned char m, b, g, r; +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(HAIKU) + unsigned char r, g, b, m; + #elif defined(MACOSX) + unsigned char m, r, g, b; +@@ -50,7 +50,7 @@ typedef struct SPIXEL { + unsigned short b, g, r, m; + #elif defined(__sgi) + unsigned short m, b, g, r; +-#elif defined(LINUX) ++#elif defined(LINUX)|| defined(HAIKU) + unsigned short r, g, b, m; + #elif defined(MACOSX) + unsigned char m, r, g, b; +diff --git a/toonz/sources/image/pli/pli_io.cpp b/toonz/sources/image/pli/pli_io.cpp +index d712b4e..7f981be 100644 +--- a/toonz/sources/image/pli/pli_io.cpp ++++ b/toonz/sources/image/pli/pli_io.cpp +@@ -432,7 +432,7 @@ void ParsedPli::setMaxThickness(double maxThickness) { + }; + + /* indirect inclusion of causes 'abs' to return double on Linux */ +-#ifdef LINUX ++#if defined(LINUX) || defined(HAIKU) + template + T abs_workaround(T a) { + return (a > 0) ? a : -a; +diff --git a/toonz/sources/image/tiio.cpp b/toonz/sources/image/tiio.cpp +index dfbd74d..367b3f9 100644 +--- a/toonz/sources/image/tiio.cpp ++++ b/toonz/sources/image/tiio.cpp +@@ -53,7 +53,7 @@ + #include "./mov/tiio_movM.h" + #include "./3gp/tiio_3gpM.h" + +-#elif defined(LINUX) // No more supported by the way... ++#elif defined(LINUX) || defined(HAIKU) // No more supported by the way... + // #include "./mov/tiio_movL.h" + #include "./mov/tiio_mov_proxy.h" + #include "./3gp/tiio_3gp_proxy.h" +diff --git a/toonz/sources/include/tcg/hpp/triangulate.hpp b/toonz/sources/include/tcg/hpp/triangulate.hpp +index e778824..373997b 100644 +--- a/toonz/sources/include/tcg/hpp/triangulate.hpp ++++ b/toonz/sources/include/tcg/hpp/triangulate.hpp +@@ -14,7 +14,7 @@ + #include + #elif defined(MACOSX) + #include +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(HAIKU) + #include + #include + #endif +diff --git a/toonz/sources/include/tfont.h b/toonz/sources/include/tfont.h +index 8853424..a3dc158 100644 +--- a/toonz/sources/include/tfont.h ++++ b/toonz/sources/include/tfont.h +@@ -140,7 +140,7 @@ public: + + // --------- TFont methods called on curren font ----------- + +-#if !defined(__LP64__) || defined(LINUX) ++#if !defined(__LP64__) || defined(LINUX) || defined(HAIKU) + + TPoint drawChar(TVectorImageP &outImage, wchar_t charcode, + wchar_t nextCode = 0) { +diff --git a/toonz/sources/include/tgl.h b/toonz/sources/include/tgl.h +index fa2cdcb..efab600 100644 +--- a/toonz/sources/include/tgl.h ++++ b/toonz/sources/include/tgl.h +@@ -21,7 +21,7 @@ + #define GLUT_NO_WARNING_DISABLE + #endif + +-#ifdef LINUX ++#if defined(LINUX) || defined(HAIKU) + #include + #include + #include +diff --git a/toonz/sources/include/tmachine.h b/toonz/sources/include/tmachine.h +index d7a8944..94f8f1e 100644 +--- a/toonz/sources/include/tmachine.h ++++ b/toonz/sources/include/tmachine.h +@@ -7,7 +7,7 @@ + #define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1 + #elif defined(__sgi) + #define TNZ_MACHINE_CHANNEL_ORDER_MBGR 1 +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(HAIKU) + #define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1 + #elif defined(MACOSX) + #define TNZ_MACHINE_CHANNEL_ORDER_MRGB 1 +diff --git a/toonz/sources/include/tnztypes.h b/toonz/sources/include/tnztypes.h +index 66a9fc2..10b587a 100644 +--- a/toonz/sources/include/tnztypes.h ++++ b/toonz/sources/include/tnztypes.h +@@ -18,7 +18,7 @@ typedef uint32_t TUINT32; + typedef int64_t TINT64; + typedef uint64_t TUINT64; + +-#elif defined(__LP64__) && (!defined(LINUX)) ++#elif defined(__LP64__) && (!defined(LINUX)) && (!defined(HAIKU)) + + #define TINT32 \ + ; \ +@@ -40,6 +40,13 @@ typedef unsigned __int64_t TUINT64; + typedef uint32_t TUINT32; + typedef int64_t TINT64; + typedef uint64_t TUINT64; ++ ++#elif defined(HAIKU) ++#include ++#define TINT32 int32_t ++typedef uint32_t TUINT32; ++typedef int64_t TINT64; ++typedef uint64_t TUINT64; + #endif + + #endif +diff --git a/toonz/sources/include/toonz4.6/machine.h b/toonz/sources/include/toonz4.6/machine.h +index e9bf6f6..92ab56f 100644 +--- a/toonz/sources/include/toonz4.6/machine.h ++++ b/toonz/sources/include/toonz4.6/machine.h +@@ -17,7 +17,7 @@ + #define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1 + #elif defined(__sgi) + #define TNZ_MACHINE_CHANNEL_ORDER_MBGR 1 +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(HAIKU) + #define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1 + #elif defined(MACOSX) + #define TNZ_MACHINE_CHANNEL_ORDER_MRGB 1 +diff --git a/toonz/sources/include/tpixel.h b/toonz/sources/include/tpixel.h +index 5dd25b0..1565fb2 100644 +--- a/toonz/sources/include/tpixel.h ++++ b/toonz/sources/include/tpixel.h +@@ -177,7 +177,7 @@ undefined machine order !!!! + TPixelRGBM64(int rr, int gg, int bb, int mm = maxChannelValue) + : r(rr), g(gg), b(bb), m(mm){}; + #else +-#if defined(LINUX) || defined(MACOSX) ++#if defined(LINUX) || defined(MACOSX) || defined(HAIKU) + + #ifdef powerpc + +diff --git a/toonz/sources/include/tsound_t.h b/toonz/sources/include/tsound_t.h +index 1735c98..4f2c9a8 100644 +--- a/toonz/sources/include/tsound_t.h ++++ b/toonz/sources/include/tsound_t.h +@@ -137,7 +137,7 @@ from which it's created.It hasn't reference to the object. + + //! Applies a trasformation (echo, reverb, ect) to the object and returns the + //! transformed soundtrack +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + TSoundTrackP apply(TSoundTransform *transform) override; + #else // _WIN32 + TSoundTrackP apply(TSoundTransform *transform) override { +@@ -389,7 +389,7 @@ public: + }; + + //============================================================================== +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + template + DVAPI TSoundTrackP TSoundTrackT::apply(TSoundTransform *transform) { + assert(transform); +diff --git a/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp b/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp +index 0dcf0c5..7726ee7 100644 +--- a/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp ++++ b/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp +@@ -309,7 +309,7 @@ void tlin::factorize(SuperMatrix *A, SuperFactors *&F, superlu_options_t *opt) { + + int result; + dgstrf(opt, &AC, sp_ienv(1), sp_ienv(2), etree, NULL, 0, F->perm_c, F->perm_r, +- F->L, F->U, &stat, &result); ++ F->L, F->U, NULL, &stat, &result); + + StatFree(&stat); + +diff --git a/toonz/sources/toonz/sceneviewer.cpp b/toonz/sources/toonz/sceneviewer.cpp +index 1b521a2..d6eac5b 100644 +--- a/toonz/sources/toonz/sceneviewer.cpp ++++ b/toonz/sources/toonz/sceneviewer.cpp +@@ -1,5 +1,5 @@ + +-#ifdef LINUX ++#if defined(LINUX) || defined(HAIKU) + #define GL_GLEXT_PROTOTYPES + #endif + +diff --git a/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp b/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp +index c05d048..c5bd44a 100644 +--- a/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp ++++ b/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp +@@ -610,7 +610,7 @@ void FarmServer::queryHwInfo(HwInfo &hwInfo) { + sysctl(mib, 2, &physMemSize, &len, NULL, 0); + #endif + +-#ifdef LINUX ++#if defined(LINUX) || defined(HAIKU) + TINT64 physMemSize = + (TINT64)sysconf(_SC_PHYS_PAGES) * (TINT64)sysconf(_SC_PAGE_SIZE); + #endif +diff --git a/toonz/sources/toonzlib/autopos.cpp b/toonz/sources/toonzlib/autopos.cpp +index b596d64..5928e82 100644 +--- a/toonz/sources/toonzlib/autopos.cpp ++++ b/toonz/sources/toonzlib/autopos.cpp +@@ -17,7 +17,7 @@ fare resize e realloc size dello stack a 65000 unita' + + */ + +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + #define TRUE 1 + #define FALSE 0 + #endif +diff --git a/toonz/sources/toonzlib/trastercentroid.cpp b/toonz/sources/toonzlib/trastercentroid.cpp +index 4f538ab..24e6114 100644 +--- a/toonz/sources/toonzlib/trastercentroid.cpp ++++ b/toonz/sources/toonzlib/trastercentroid.cpp +@@ -15,7 +15,7 @@ + #include "tmsg.h" + #include "copP.h"*/ + +-#if defined(MACOSX) || defined(LINUX) ++#if defined(MACOSX) || defined(LINUX) || defined(HAIKU) + #define TRUE 1 + #define FALSE 0 + #endif +-- +2.10.2 +