diff --git a/media-gfx/krita/krita-4.4.1.recipe b/media-gfx/krita/krita-4.4.2.recipe similarity index 93% rename from media-gfx/krita/krita-4.4.1.recipe rename to media-gfx/krita/krita-4.4.2.recipe index af7eca863..1c855a56e 100644 --- a/media-gfx/krita/krita-4.4.1.recipe +++ b/media-gfx/krita/krita-4.4.2.recipe @@ -6,9 +6,9 @@ layers and masks, group-based layer management, vector artwork support and switc HOMEPAGE="https://www.krita.org/" COPYRIGHT="2010-2020 KDE Organisation" LICENSE="GNU LGPL v2" -REVISION="6" +REVISION="1" SOURCE_URI="https://download.kde.org/stable/krita/$portVersion/krita-$portVersion.tar.gz" -CHECKSUM_SHA256="6f2daf068e4e5cef8a738ab47da443dc82ad1463090a4a1544b35201272c3817" +CHECKSUM_SHA256="9696aec56e759f3e1c22952ca17efdcac97003239f515f570ad9f07e36cb9792" SOURCE_DIR="krita-$portVersion" PATCHES="krita-$portVersion.patchset" ADDITIONAL_FILES=" @@ -31,12 +31,12 @@ REQUIRES=" lib:libfftw3$secondaryArchSuffix lib:libgif$secondaryArchSuffix >= 7 lib:libgsl$secondaryArchSuffix - lib:libhalf_2_4$secondaryArchSuffix + lib:libhalf_2_5$secondaryArchSuffix lib:libiconv$secondaryArchSuffix - lib:libiex_2_4$secondaryArchSuffix - lib:libilmimf_2_4$secondaryArchSuffix - lib:libilmthread_2_4$secondaryArchSuffix - lib:libimath_2_4$secondaryArchSuffix + lib:libiex_2_5$secondaryArchSuffix + lib:libilmimf_2_5$secondaryArchSuffix + lib:libilmthread_2_5$secondaryArchSuffix + lib:libimath_2_5$secondaryArchSuffix lib:libintl$secondaryArchSuffix lib:libKF5Archive$secondaryArchSuffix lib:libKF5Auth$secondaryArchSuffix @@ -88,7 +88,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - extra_cmake_modules$secondaryArchSuffix >= 5.65 + extra_cmake_modules$secondaryArchSuffix >= 5.77 devel:eigen$secondaryArchSuffix devel:libboost_system$secondaryArchSuffix >= 1.69 devel:libexiv2$secondaryArchSuffix @@ -96,9 +96,9 @@ BUILD_REQUIRES=" devel:libfftw3$secondaryArchSuffix devel:libgif$secondaryArchSuffix >= 7 devel:libgsl$secondaryArchSuffix - devel:libhalf_2_4$secondaryArchSuffix + devel:libhalf_2_5$secondaryArchSuffix devel:libiconv$secondaryArchSuffix - devel:libilmimf_2_4$secondaryArchSuffix + devel:libilmimf_2_5$secondaryArchSuffix devel:libKF5Archive$secondaryArchSuffix devel:libKF5Auth$secondaryArchSuffix devel:libKF5Bookmarks$secondaryArchSuffix diff --git a/media-gfx/krita/patches/krita-4.4.1.patchset b/media-gfx/krita/patches/krita-4.4.2.patchset similarity index 84% rename from media-gfx/krita/patches/krita-4.4.1.patchset rename to media-gfx/krita/patches/krita-4.4.2.patchset index 8d9f963f4..df806350c 100644 --- a/media-gfx/krita/patches/krita-4.4.1.patchset +++ b/media-gfx/krita/patches/krita-4.4.2.patchset @@ -1,14 +1,14 @@ -From 2a67d81ba9e9945aafb6c530b27a032cfa803998 Mon Sep 17 00:00:00 2001 +From 2f754e5336e8091cd523a84c661c2bf0009bfad8 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 15 Oct 2020 11:45:23 +1000 -Subject: Fix haiku build +Date: Thu, 18 Feb 2021 21:55:32 +1000 +Subject: Fix for Haiku diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3746767..86e3894 100644 +index 4066011..2d1bd27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -408,7 +408,7 @@ set_package_properties(Qt5QuickWidgets PROPERTIES +@@ -414,7 +414,7 @@ set_package_properties(Qt5QuickWidgets PROPERTIES PURPOSE "Optionally used for the touch gui for Krita") endif() @@ -18,10 +18,10 @@ index 3746767..86e3894 100644 find_package(Qt5 ${MIN_QT_VERSION} REQUIRED X11Extras) diff --git a/krita/main.cc b/krita/main.cc -index 3fd1595..898fd49 100644 +index 7750ba7..3e7122d 100644 --- a/krita/main.cc +++ b/krita/main.cc -@@ -333,6 +333,9 @@ extern "C" int main(int argc, char **argv) +@@ -346,6 +346,9 @@ extern "C" int main(int argc, char **argv) qputenv("GST_PLUGIN_SCANNER", appimageMountDir + QFile::encodeName("/usr/lib/gstreamer-1.0/gst-plugin-scanner")); } } @@ -31,7 +31,7 @@ index 3fd1595..898fd49 100644 #else qputenv("XDG_DATA_DIRS", QFile::encodeName(root + "share")); #endif -@@ -495,6 +498,12 @@ extern "C" int main(int argc, char **argv) +@@ -514,6 +517,12 @@ extern "C" int main(int argc, char **argv) } @@ -44,7 +44,7 @@ index 3fd1595..898fd49 100644 #if defined HAVE_KCRASH KCrash::initialize(); #elif defined USE_DRMINGW -@@ -650,6 +659,8 @@ extern "C" int main(int argc, char **argv) +@@ -669,6 +678,8 @@ extern "C" int main(int argc, char **argv) if (logUsage) { KisUsageLogger::close(); } @@ -54,137 +54,6 @@ index 3fd1595..898fd49 100644 +#endif return state; } -diff --git a/libs/image/kis_image_config.cpp b/libs/image/kis_image_config.cpp -index 455b423..460691e 100644 ---- a/libs/image/kis_image_config.cpp -+++ b/libs/image/kis_image_config.cpp -@@ -396,6 +396,8 @@ void KisImageConfig::setLazyFrameCreationEnabled(bool value) - #elif defined Q_OS_MACOS - #include - #include -+#elif defined Q_OS_HAIKU -+#include - #endif - - int KisImageConfig::totalRAM() -@@ -424,6 +426,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); -+ totalMemory = size >> 20; -+ } - #elif defined Q_OS_WIN - MEMORYSTATUSEX status; - status.dwLength = sizeof(status); -diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt -index 823bb10..5f34b40 100644 ---- a/libs/ui/CMakeLists.txt -+++ b/libs/ui/CMakeLists.txt -@@ -609,7 +609,7 @@ if (HAVE_QT_MULTIMEDIA) - target_link_libraries(kritaui Qt5::Multimedia) - endif() - --if (NOT WIN32 AND NOT APPLE AND NOT ANDROID) -+if (NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) - target_link_libraries(kritaui ${X11_X11_LIB} - ${X11_Xinput_LIB}) - endif() -@@ -619,11 +619,17 @@ if(APPLE) - target_link_libraries(kritaui ${APPKIT_LIBRARY}) - endif () - -+if(HAIKU) -+ target_link_libraries(kritaui network) -+ target_link_libraries(kritaui expat) -+ target_link_libraries(kritaui iconv) -+ target_link_libraries(kritaui intl) -+endif () - - target_link_libraries(kritaui ${OPENEXR_LIBRARIES}) - - # Add VSync disable workaround --if(NOT WIN32 AND NOT APPLE AND NOT ANDROID) -+if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) - target_link_libraries(kritaui ${CMAKE_DL_LIBS} Qt5::X11Extras) - endif() - -diff --git a/libs/ui/widgets/kis_floating_message.cpp b/libs/ui/widgets/kis_floating_message.cpp -index c99ff05..0d954ed 100644 ---- a/libs/ui/widgets/kis_floating_message.cpp -+++ b/libs/ui/widgets/kis_floating_message.cpp -@@ -130,6 +130,7 @@ KisFloatingMessage::KisFloatingMessage(const QString &message, QWidget *parent, - , m_alignment(alignment) - , widgetQueuedForDeletion(false) - { -+#ifndef Q_OS_HAIKU - m_icon = KisIconUtils::loadIcon("krita").pixmap(256, 256).toImage(); - - setWindowFlags(Qt::FramelessWindowHint | Qt::ToolTip); -@@ -141,6 +142,7 @@ KisFloatingMessage::KisFloatingMessage(const QString &message, QWidget *parent, - m_timer.setSingleShot( true ); - connect(&m_timer, SIGNAL(timeout()), SLOT(startFade())); - connect(this, SIGNAL(destroyed()), SLOT(widgetDeleted())); -+#endif - } - - void KisFloatingMessage::tryOverrideMessage(const QString message, -@@ -162,6 +164,7 @@ void KisFloatingMessage::tryOverrideMessage(const QString message, - - void KisFloatingMessage::showMessage() - { -+#ifndef Q_OS_HAIKU - if (widgetQueuedForDeletion) return; - #if QT_VERSION >= QT_VERSION_CHECK(5,13,0) - setGeometry(determineMetrics(fontMetrics().horizontalAdvance('x'))); -@@ -172,6 +175,7 @@ void KisFloatingMessage::showMessage() - - QWidget::setVisible(true); - m_timer.start(m_timeout); -+#endif - } - - void KisFloatingMessage::setShowOverParent(bool show) -diff --git a/libs/widgetutils/KoResourcePaths.cpp b/libs/widgetutils/KoResourcePaths.cpp -index 7cc3b4a..207ca1c 100644 ---- a/libs/widgetutils/KoResourcePaths.cpp -+++ b/libs/widgetutils/KoResourcePaths.cpp -@@ -127,6 +127,8 @@ QString getInstallationPrefix() { - appdir.setPath(correctedPath); - appdir.cdUp(); - return appdir.canonicalPath(); -+ #elif defined(Q_OS_HAIKU) -+ return qApp->applicationDirPath() + "/"; - #else - #ifdef Q_OS_ANDROID - // qApp->applicationDirPath() isn't writable and android system won't allow -diff --git a/plugins/dockers/CMakeLists.txt b/plugins/dockers/CMakeLists.txt -index db5e216..49b098e 100644 ---- a/plugins/dockers/CMakeLists.txt -+++ b/plugins/dockers/CMakeLists.txt -@@ -14,7 +14,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.28.0 - - -From 9d98639fc9b7257e1752ffca5609bcf90e3adcee Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 31 Dec 2020 12:18:11 +1000 -Subject: Add icons for configure - - diff --git a/krita/pics/Breeze-dark/breeze-dark-icons.qrc b/krita/pics/Breeze-dark/breeze-dark-icons.qrc index 22a8f23..9bb0b08 100644 --- a/krita/pics/Breeze-dark/breeze-dark-icons.qrc @@ -218,41 +87,67 @@ index a7688a6..54f8da1 100644 light_configure.svg light_configure.svg light_dialog-cancel.svg --- -2.28.0 - - -From e29a81e0130e5e17b40c23c027120130d0c9450f Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 31 Dec 2020 12:25:08 +1000 -Subject: Use configure-shortcuts instead document-export icon - - -diff --git a/libs/ui/dialogs/kis_dlg_preferences.cc b/libs/ui/dialogs/kis_dlg_preferences.cc -index c7a1e9c..8849648 100644 ---- a/libs/ui/dialogs/kis_dlg_preferences.cc -+++ b/libs/ui/dialogs/kis_dlg_preferences.cc -@@ -1463,7 +1463,7 @@ KisDlgPreferences::KisDlgPreferences(QWidget* parent, const char* name) - page = new KPageWidgetItem(vbox, i18n("Keyboard Shortcuts")); - page->setObjectName("shortcuts"); - page->setHeader(i18n("Shortcuts")); -- page->setIcon(KisIconUtils::loadIcon("document-export")); -+ page->setIcon(KisIconUtils::loadIcon("configure-shortcuts")); - m_pages << page; - addPage(page); - m_shortcutSettings = new ShortcutSettingsTab(vbox); --- -2.28.0 - - -From 18dc0a9ab3429a1992ae4aca9e9a692c998c915b Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 31 Dec 2020 12:25:28 +1000 -Subject: Use haiku style - - +diff --git a/libs/image/kis_image_config.cpp b/libs/image/kis_image_config.cpp +index 908659b..a0e71d0 100644 +--- a/libs/image/kis_image_config.cpp ++++ b/libs/image/kis_image_config.cpp +@@ -396,6 +396,8 @@ void KisImageConfig::setLazyFrameCreationEnabled(bool value) + #elif defined Q_OS_MACOS + #include + #include ++#elif defined Q_OS_HAIKU ++#include + #endif + + int KisImageConfig::totalRAM() +@@ -424,6 +426,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); ++ totalMemory = size >> 20; ++ } + #elif defined Q_OS_WIN + MEMORYSTATUSEX status; + status.dwLength = sizeof(status); +diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt +index 87bea6e..4f89092 100644 +--- a/libs/ui/CMakeLists.txt ++++ b/libs/ui/CMakeLists.txt +@@ -610,7 +610,7 @@ if (HAVE_QT_MULTIMEDIA) + target_link_libraries(kritaui Qt5::Multimedia) + endif() + +-if (NOT WIN32 AND NOT APPLE AND NOT ANDROID) ++if (NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) + target_link_libraries(kritaui ${X11_X11_LIB} + ${X11_Xinput_LIB}) + endif() +@@ -620,11 +620,17 @@ if(APPLE) + target_link_libraries(kritaui ${APPKIT_LIBRARY}) + endif () + ++if(HAIKU) ++ target_link_libraries(kritaui network) ++ target_link_libraries(kritaui expat) ++ target_link_libraries(kritaui iconv) ++ target_link_libraries(kritaui intl) ++endif () + + target_link_libraries(kritaui ${OPENEXR_LIBRARIES}) + + # Add VSync disable workaround +-if(NOT WIN32 AND NOT APPLE AND NOT ANDROID) ++if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) + target_link_libraries(kritaui ${CMAKE_DL_LIBS} Qt5::X11Extras) + endif() + diff --git a/libs/ui/KisApplication.cpp b/libs/ui/KisApplication.cpp -index 7bfed5e..13b870b 100644 +index 6a41004..152b810 100644 --- a/libs/ui/KisApplication.cpp +++ b/libs/ui/KisApplication.cpp @@ -164,7 +164,7 @@ KisApplication::KisApplication(const QString &key, int &argc, char **argv) @@ -264,18 +159,20 @@ index 7bfed5e..13b870b 100644 if (!styles.contains(style()->objectName().toLower())) { Q_FOREACH (const QString & style, styles) { if (!setStyle(style)) { --- -2.28.0 - - -From 1c412325b11889fa93a3b8d364656c31aee8ed3a Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 31 Dec 2020 14:20:31 +1000 -Subject: Use system colors - - +@@ -423,9 +423,10 @@ bool KisApplication::start(const KisApplicationArguments &args) + KoHashGeneratorProvider::instance()->setGenerator("MD5", new KisMD5Generator()); + + KConfigGroup group(KSharedConfig::openConfig(), "theme"); ++#ifndef Q_OS_HAIKU + Digikam::ThemeManager themeManager; + themeManager.setCurrentTheme(group.readEntry("Theme", "Krita dark")); +- ++#endif + + ResetStarting resetStarting(d->splashScreen, args.filenames().count()); // remove the splash when done + Q_UNUSED(resetStarting); diff --git a/libs/ui/KisMainWindow.cpp b/libs/ui/KisMainWindow.cpp -index e1991b2..e72cbaa 100644 +index 4cda654..9f088e7 100644 --- a/libs/ui/KisMainWindow.cpp +++ b/libs/ui/KisMainWindow.cpp @@ -279,9 +279,9 @@ public: @@ -322,7 +219,7 @@ index e1991b2..e72cbaa 100644 d->actionManager()->updateGUI(); QString s = cfg.getMDIBackgroundColor(); -@@ -2750,14 +2754,14 @@ void KisMainWindow::createActions() +@@ -2774,14 +2778,14 @@ void KisMainWindow::createActions() d->showDocumentInfo = actionManager->createAction("file_documentinfo"); connect(d->showDocumentInfo, SIGNAL(triggered(bool)), this, SLOT(slotDocumentInfo())); @@ -339,32 +236,81 @@ index e1991b2..e72cbaa 100644 d->toggleDockers = actionManager->createAction("view_toggledockers"); KisConfig(true).showDockers(true); d->toggleDockers->setChecked(true); --- -2.28.0 - - -From 8944454db697fb827f71de99b80960a304408c92 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 1 Jan 2021 15:59:26 +1000 -Subject: Remove themeManager - - -diff --git a/libs/ui/KisApplication.cpp b/libs/ui/KisApplication.cpp -index 13b870b..568a125 100644 ---- a/libs/ui/KisApplication.cpp -+++ b/libs/ui/KisApplication.cpp -@@ -406,9 +406,10 @@ bool KisApplication::start(const KisApplicationArguments &args) - KoHashGeneratorProvider::instance()->setGenerator("MD5", new KisMD5Generator()); - - KConfigGroup group(KSharedConfig::openConfig(), "theme"); +diff --git a/libs/ui/dialogs/kis_dlg_preferences.cc b/libs/ui/dialogs/kis_dlg_preferences.cc +index f0a1a9d..26af04c 100644 +--- a/libs/ui/dialogs/kis_dlg_preferences.cc ++++ b/libs/ui/dialogs/kis_dlg_preferences.cc +@@ -1530,7 +1530,7 @@ KisDlgPreferences::KisDlgPreferences(QWidget* parent, const char* name) + page = new KPageWidgetItem(vbox, i18n("Keyboard Shortcuts")); + page->setObjectName("shortcuts"); + page->setHeader(i18n("Shortcuts")); +- page->setIcon(KisIconUtils::loadIcon("document-export")); ++ page->setIcon(KisIconUtils::loadIcon("configure-shortcuts")); + m_pages << page; + addPage(page); + m_shortcutSettings = new ShortcutSettingsTab(vbox); +diff --git a/libs/ui/widgets/kis_floating_message.cpp b/libs/ui/widgets/kis_floating_message.cpp +index c99ff05..0d954ed 100644 +--- a/libs/ui/widgets/kis_floating_message.cpp ++++ b/libs/ui/widgets/kis_floating_message.cpp +@@ -130,6 +130,7 @@ KisFloatingMessage::KisFloatingMessage(const QString &message, QWidget *parent, + , m_alignment(alignment) + , widgetQueuedForDeletion(false) + { +#ifndef Q_OS_HAIKU - Digikam::ThemeManager themeManager; - themeManager.setCurrentTheme(group.readEntry("Theme", "Krita dark")); -- -+#endif - ResetStarting resetStarting(d->splashScreen, args.filenames().count()); // remove the splash when done - Q_UNUSED(resetStarting); + m_icon = KisIconUtils::loadIcon("krita").pixmap(256, 256).toImage(); + setWindowFlags(Qt::FramelessWindowHint | Qt::ToolTip); +@@ -141,6 +142,7 @@ KisFloatingMessage::KisFloatingMessage(const QString &message, QWidget *parent, + m_timer.setSingleShot( true ); + connect(&m_timer, SIGNAL(timeout()), SLOT(startFade())); + connect(this, SIGNAL(destroyed()), SLOT(widgetDeleted())); ++#endif + } + + void KisFloatingMessage::tryOverrideMessage(const QString message, +@@ -162,6 +164,7 @@ void KisFloatingMessage::tryOverrideMessage(const QString message, + + void KisFloatingMessage::showMessage() + { ++#ifndef Q_OS_HAIKU + if (widgetQueuedForDeletion) return; + #if QT_VERSION >= QT_VERSION_CHECK(5,13,0) + setGeometry(determineMetrics(fontMetrics().horizontalAdvance('x'))); +@@ -172,6 +175,7 @@ void KisFloatingMessage::showMessage() + + QWidget::setVisible(true); + m_timer.start(m_timeout); ++#endif + } + + void KisFloatingMessage::setShowOverParent(bool show) +diff --git a/libs/widgetutils/KoResourcePaths.cpp b/libs/widgetutils/KoResourcePaths.cpp +index 7070cf8..b8a004c 100644 +--- a/libs/widgetutils/KoResourcePaths.cpp ++++ b/libs/widgetutils/KoResourcePaths.cpp +@@ -127,6 +127,8 @@ QString getInstallationPrefix() { + appdir.setPath(correctedPath); + appdir.cdUp(); + return appdir.canonicalPath(); ++ #elif defined(Q_OS_HAIKU) ++ return qApp->applicationDirPath() + "/"; + #else + #ifdef Q_OS_ANDROID + // qApp->applicationDirPath() isn't writable and android system won't allow +diff --git a/plugins/dockers/CMakeLists.txt b/plugins/dockers/CMakeLists.txt +index db5e216..49b098e 100644 +--- a/plugins/dockers/CMakeLists.txt ++++ b/plugins/dockers/CMakeLists.txt +@@ -14,7 +14,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.28.0 +2.30.0