diff --git a/media-gfx/krita/krita-3.3.3.recipe b/media-gfx/krita/krita-4.0.0.recipe similarity index 97% rename from media-gfx/krita/krita-3.3.3.recipe rename to media-gfx/krita/krita-4.0.0.recipe index f6d1881e4..3acac25a6 100644 --- a/media-gfx/krita/krita-3.3.3.recipe +++ b/media-gfx/krita/krita-4.0.0.recipe @@ -8,7 +8,7 @@ COPYRIGHT="2010-2018 KDE Organisation" LICENSE="GNU LGPL v2" REVISION="1" SOURCE_URI="https://download.kde.org/stable/krita/$portVersion/krita-$portVersion.tar.gz" -CHECKSUM_SHA256="bec04e3392e9b311477c5c6a50e2201b43a3afda91d9b24a0fc8e3399585865d" +CHECKSUM_SHA256="5ff1925361c65e5a8ca6949035ef3d1291488b63f0f473dbf62bf70a525d0336" ADDITIONAL_FILES="krita.rdef.in" PATCHES="krita-$portVersion.patchset" @@ -26,6 +26,7 @@ REQUIRES=" lib:libexiv2$secondaryArchSuffix lib:libexpat$secondaryArchSuffix lib:libfftw3$secondaryArchSuffix + lib:libgif$secondaryArchSuffix lib:libgsl$secondaryArchSuffix lib:libiconv$secondaryArchSuffix lib:libilmimf$secondaryArchSuffix @@ -85,6 +86,7 @@ BUILD_REQUIRES=" devel:libexpat$secondaryArchSuffix devel:libexiv2$secondaryArchSuffix devel:libfftw3$secondaryArchSuffix + devel:libgif$secondaryArchSuffix devel:libgsl$secondaryArchSuffix devel:libiconv$secondaryArchSuffix devel:libilmimf$secondaryArchSuffix diff --git a/media-gfx/krita/patches/krita-3.3.3.patchset b/media-gfx/krita/patches/krita-4.0.0.patchset similarity index 58% rename from media-gfx/krita/patches/krita-3.3.3.patchset rename to media-gfx/krita/patches/krita-4.0.0.patchset index 1f5926709..95f3a40bb 100644 --- a/media-gfx/krita/patches/krita-3.3.3.patchset +++ b/media-gfx/krita/patches/krita-4.0.0.patchset @@ -1,16 +1,16 @@ -From fd73beede56d6e70880bff91f861fbef4aeb3e66 Mon Sep 17 00:00:00 2001 +From e0315b4d609f7df499da0df72d7c983571bcfc83 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 19 Nov 2017 15:08:47 +1000 +Date: Sat, 14 Apr 2018 22:32:58 +1000 Subject: Fix build for Haiku diff --git a/CMakeLists.txt b/CMakeLists.txt -index ae27e7f..9fab0b6 100644 +index e109cd4..639a471 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -264,7 +264,7 @@ set_package_properties(Qt5Multimedia PROPERTIES - macro_bool_to_01(Qt5Multimedia_FOUND HAVE_QT_MULTIMEDIA) - configure_file(config-qtmultimedia.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-qtmultimedia.h ) +@@ -331,7 +331,7 @@ set_package_properties(Qt5QuickWidgets PROPERTIES + PURPOSE "Optionally used for the touch gui for Krita") + -if (NOT WIN32 AND NOT APPLE) +if (NOT WIN32 AND NOT APPLE AND NOT HAIKU) @@ -18,10 +18,10 @@ index ae27e7f..9fab0b6 100644 find_package(Qt5 ${MIN_QT_VERSION} REQUIRED X11Extras) diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt -index 1c8c43f..f402c9a 100644 +index 72e8e67..e17dca4 100644 --- a/libs/ui/CMakeLists.txt +++ b/libs/ui/CMakeLists.txt -@@ -416,7 +416,7 @@ if(UNIX) +@@ -421,7 +421,7 @@ if(UNIX) input/wintab/kis_tablet_support.cpp qtlockedfile/qtlockedfile_unix.cpp ) @@ -29,8 +29,8 @@ index 1c8c43f..f402c9a 100644 + if(NOT APPLE AND NOT HAIKU) set(kritaui_LIB_SRCS ${kritaui_LIB_SRCS} - input/wintab/kis_tablet_support_x11.cpp -@@ -524,7 +524,7 @@ if (HAVE_KIO) + input/wintab/qxcbconnection_xi2.cpp +@@ -532,7 +532,7 @@ if (HAVE_KIO) target_link_libraries(kritaui KF5::KIOCore) endif() @@ -39,7 +39,7 @@ index 1c8c43f..f402c9a 100644 target_link_libraries(kritaui ${X11_X11_LIB} ${X11_Xinput_LIB} ${XCB_LIBRARIES}) -@@ -535,11 +535,17 @@ if(APPLE) +@@ -543,11 +543,17 @@ if(APPLE) target_link_libraries(kritaui ${APPKIT_LIBRARY}) endif () @@ -59,74 +59,89 @@ index 1c8c43f..f402c9a 100644 endif() diff --git a/plugins/dockers/CMakeLists.txt b/plugins/dockers/CMakeLists.txt -index a2c0280..a407e59 100644 +index d9cd652..f433578 100644 --- a/plugins/dockers/CMakeLists.txt +++ b/plugins/dockers/CMakeLists.txt -@@ -12,7 +12,7 @@ add_subdirectory(tasksetdocker) - add_subdirectory(compositiondocker) +@@ -12,7 +12,7 @@ add_subdirectory(compositiondocker) add_subdirectory(patterndocker) add_subdirectory(griddocker) + add_subdirectory(arrangedocker) -if(HAVE_OCIO) +if(HAVE_OCIO AND NOT HAIKU) add_subdirectory(lut) endif() add_subdirectory(overview) -- -2.15.0 +2.16.2 -From 5d145d8b8d9fffbfb2cebc73116df0fe07139906 Mon Sep 17 00:00:00 2001 +From 29e574a53ea4a3578cb961e1d2b8816ea539d3ff Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 19 Nov 2017 15:17:49 +1000 +Date: Sat, 14 Apr 2018 22:33:47 +1000 Subject: Fix paths diff --git a/krita/main.cc b/krita/main.cc -index 1903d1a..8adb80c 100644 +index 5357fe4..1836c72 100644 --- a/krita/main.cc +++ b/krita/main.cc -@@ -153,8 +153,11 @@ extern "C" int main(int argc, char **argv) - // first create the application so we can create a pixmap - KisApplication app(key, argc, argv); +@@ -195,7 +195,7 @@ extern "C" int main(int argc, char **argv) + } + -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) - qputenv("XDG_DATA_DIRS", QFile::encodeName(KoResourcePaths::getApplicationRoot() + "share") + ":" + qgetenv("XDG_DATA_DIRS")); + { + QByteArray originalXdgDataDirs = qgetenv("XDG_DATA_DIRS"); + if (originalXdgDataDirs.isEmpty()) { +@@ -204,6 +204,9 @@ extern "C" int main(int argc, char **argv) + } + qputenv("XDG_DATA_DIRS", QFile::encodeName(root + "share") + ":" + originalXdgDataDirs); + } +#elif defined(Q_OS_HAIKU) -+ qputenv("KRITA_PLUGIN_PATH", QFile::encodeName(KoResourcePaths::getApplicationRoot() + "lib")); -+ qputenv("XDG_DATA_DIRS", QFile::encodeName(KoResourcePaths::getApplicationRoot() + "share/") + ":" + qgetenv("XDG_DATA_DIRS")); ++ qputenv("KRITA_PLUGIN_PATH", QFile::encodeName(root + "lib")); ++ qputenv("XDG_DATA_DIRS", QFile::encodeName(root + "share") + ":" + qgetenv("XDG_DATA_DIRS")); #else - qputenv("XDG_DATA_DIRS", QFile::encodeName(KoResourcePaths::getApplicationRoot() + "share")); + qputenv("XDG_DATA_DIRS", QFile::encodeName(root + "share")); #endif diff --git a/libs/widgetutils/KoResourcePaths.cpp b/libs/widgetutils/KoResourcePaths.cpp -index ce21a2a..c9b6e2f 100644 +index 1ea1d30..c90011e 100644 --- a/libs/widgetutils/KoResourcePaths.cpp +++ b/libs/widgetutils/KoResourcePaths.cpp -@@ -115,6 +115,8 @@ QString getInstallationPrefix() { - +@@ -115,7 +115,7 @@ QString getInstallationPrefix() { debugWidgetUtils << ">>>>>>>>>>>" << bundlePath; return bundlePath; -+ #elif defined(Q_OS_HAIKU) -+ return qApp->applicationDirPath() + "/"; - #else - return qApp->applicationDirPath() + "/../"; - #endif + #else +- #ifdef Q_OS_QWIN ++ #if defined(Q_OS_QWIN) + QDir appdir(qApp->applicationDirPath()); + + // Corrects for mismatched case errors in path (qtdeclarative fails to load) +@@ -127,6 +127,8 @@ QString getInstallationPrefix() { + appdir.setPath(correctedPath); + appdir.cdUp(); + return appdir.canonicalPath(); ++ #elif defined(Q_OS_HAIKU) ++ return qApp->applicationDirPath() + "/"; + #else + return qApp->applicationDirPath() + "/../"; + #endif -- -2.15.0 +2.16.2 -From cc146fb2a57a653f5bc5b0537413fa2925df9432 Mon Sep 17 00:00:00 2001 +From 8397a2ba5ec2f51b355615b8ebe7d4833b4239a2 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 19 Nov 2017 15:19:23 +1000 +Date: Sat, 14 Apr 2018 22:34:16 +1000 Subject: Add memory size detection for Haiku platform diff --git a/libs/image/kis_image_config.cpp b/libs/image/kis_image_config.cpp -index f0c8b73..af0c6d2 100644 +index 6663aad..25b7143 100644 --- a/libs/image/kis_image_config.cpp +++ b/libs/image/kis_image_config.cpp -@@ -346,6 +346,8 @@ void KisImageConfig::setLazyFrameCreationEnabled(bool value) - #elif defined Q_OS_MAC +@@ -352,6 +352,8 @@ void KisImageConfig::setLazyFrameCreationEnabled(bool value) + #elif defined Q_OS_OSX #include #include +#elif defined Q_OS_HAIKU @@ -134,27 +149,27 @@ index f0c8b73..af0c6d2 100644 #endif #include -@@ -376,6 +378,13 @@ int KisImageConfig::totalRAM() +@@ -382,6 +384,13 @@ int KisImageConfig::totalRAM() if(!error) { totalMemory = physmem >> 20; } +#elif defined Q_OS_HAIKU + system_info info; -+ error = get_system_info(&info)==B_OK?0:1; -+ if(!error) { -+ uint64_t size = (info.max_pages*B_PAGE_SIZE); ++ error = get_system_info(&info) == B_OK?0:1; ++ if (!error) { ++ uint64_t size = (info.max_pages * B_PAGE_SIZE); + totalMemory = size >> 20; + } #elif defined Q_OS_WIN MEMORYSTATUSEX status; status.dwLength = sizeof(status); -- -2.15.0 +2.16.2 -From a3a5e5e6ee975eee7bee79ab865f1943cb53dd99 Mon Sep 17 00:00:00 2001 +From ec9c6dbd83ca22a466837d91f7e3f5c5a7a14c60 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 19 Nov 2017 15:20:02 +1000 +Date: Sat, 14 Apr 2018 22:34:40 +1000 Subject: Disable floating windows @@ -194,5 +209,30 @@ index be98d8b..8c94a5a 100644 void KisFloatingMessage::setShowOverParent(bool show) -- -2.15.0 +2.16.2 + + +From e6628215aa0bdfb5549c08dff00891ad07c1e678 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sat, 14 Apr 2018 23:27:31 +1000 +Subject: Disable icon cache + + +diff --git a/libs/widgetutils/kis_icon_utils.cpp b/libs/widgetutils/kis_icon_utils.cpp +index fdec007..89a5e83 100644 +--- a/libs/widgetutils/kis_icon_utils.cpp ++++ b/libs/widgetutils/kis_icon_utils.cpp +@@ -29,8 +29,10 @@ + + #include + #if QT_VERSION >= 0x050900 ++#if !defined(Q_OS_HAIKU) + #define CACHE_ICONS + #endif ++#endif + + namespace KisIconUtils + { +-- +2.16.2