diff --git a/x11-misc/pcmanfm-qt/additional-files/pcmanfm-qt.rdef.in b/x11-misc/pcmanfm-qt/additional-files/pcmanfm-qt.rdef.in index 977d2887c..0117e621e 100644 --- a/x11-misc/pcmanfm-qt/additional-files/pcmanfm-qt.rdef.in +++ b/x11-misc/pcmanfm-qt/additional-files/pcmanfm-qt.rdef.in @@ -15,4 +15,65 @@ resource app_version { resource app_signature "@APP_SIGNATURE@"; - +resource vector_icon { + $"6E6369660A03A2844402001202000000BA55553A55550000004B5FFF48AAAA00" + $"00FFFF000002001202B624C2BA00003A0000B624C24BB3094826120000FFFF00" + $"0004337F03DFD0B102001202A08F55B60555360555A08F5549AC094895490000" + $"FFFF000002001202000000BA55553A55550000004B5FFF4ADFFF0000FFFF0000" + $"02001202B624C2BA00003A0000B624C24BB3094A9DB30000FFFF000005330200" + $"1202264640B6055536055526464049ABB64AD5CF0000FFFF00000D0608FF7F28" + $"242824382458244824CA32245C285CB54D5CBD185C5C5CC400C3775C245CBC07" + $"5C24C400242824BD1824B54D2824B54D242824240209B72BB6B5B72BB6B5B6BA" + $"B6B5B64FB783B64FB713B64FB9CFB64FBE65B64FBC1AB64FBED6B72BBF3AB6BA" + $"BF3ABCE3BF3AC854BF3AC29CBF3AC8C5BF3AC930BE65C930BED6C930BC1AC930" + $"B784C930B9CFC930B713C854B6B5C8C5B6B5C29CB6B5B72BB6B5BCE3B6B5B72B" + $"B6B50209B740B671B740B671B6CFB671B671B73FB671B6CFB671B98DB671BE27" + $"B671BBDAB671BE98B740BEF6B6CFBEF6BCEABEF6C83FBEF6C295BEF6C8B0BEF6" + $"C90EBE27C90EBE98C90EBBDAC90EB73FC90EB98DC90EB6CFC83FB671C8B0B671" + $"C295B671B740B671BCEAB671B740B6710209B740B6B5B740B6B5B6F5B6B5B6B5" + $"B73FB6B5B6F5B6B5B98DB6B5BE27B6B5BBDAB6B5BE72B740BEB2B6F5BEB2BCEA" + $"BEB2C83FBEB2C295BEB2C88ABEB2C8CABE27C8CABE72C8CABBDAC8CAB73FC8CA" + $"B98DC8CAB6F5C83FB6B5C88AB6B5C295B6B5B740B6B5BCEAB6B5B740B6B5020A" + $"B7402AB7402ABCEA2AC83F2AC2952AC8652A56B74056B71A56B98D563C56BBDA" + $"56BE4DC83FBE6BC865BE6BC295BE6BB740BE6BBCEABE6BB71ABE6B2A3C2ABE4D" + $"2ABBDA2AB7402AB98D2AB71AB7402AB71A2AB7402AB7402AB7402AB7402A020F" + $"BCD3B9A1BCD3B9A1BC88B9A1BC49BA2BBC49B9E0BC49BA9DBC49BB7FBC49BB0E" + $"BC49BBCBBCD3BC0ABC88BC0ABEC6BC0AC2ABBC0AC0B9BC0AC2F7BC0AC336BB7F" + $"C336BBCBC336BB0EC336BA2BC336BA9DC336B9E0C2ABB9A1C2F7B9A1C27EB9A1" + $"46B9A1C251B9A1C1D8B9A1C199BA2BC199B9E0C199BA41C199BA6DC199BA57C0" + $"5DBA6DBDE6BA6DBF22BA6DBDE6BA57BDE6BA2BBDE6BA41BDE6B9E0BD5BB9A1BD" + $"A7B9A1BD2EB9A1BCD3B9A1BD01B9A1BCD3B9A10209B72BC089B72BC089B6BAC0" + $"89B64FC157B64FC0E7B64FC3A3B64FC839B64FC5EEB64FC8AAB72BC90EB6BAC9" + $"0EBCE3C90EC854C90EC29CC90EC8C5C90EC930C839C930C8AAC930C5EEC930C1" + $"57C930C3A3C930C0E7C854C089C8C5C089C29CC089B72BC089BCE3C089B72BC0" + $"890209B740C045B740C045B6CFC045B671C113B671C0A3B671C361B671C7FBB6" + $"71C5AEB671C86CB740C8CAB6CFC8CABCEAC8CAC83FC8CAC295C8CAC8B0C8CAC9" + $"0EC7FBC90EC86CC90EC5AEC90EC113C90EC361C90EC0A3C83FC045C8B0C045C2" + $"95C045B740C045BCEAC045B740C0450209B740C089B740C089B6F5C089B6B5C1" + $"13B6B5C0C9B6B5C361B6B5C7FBB6B5C5AEB6B5C846B740C886B6F5C886BCEAC8" + $"86C83FC886C295C886C88AC886C8CAC7FBC8CAC846C8CAC5AEC8CAC113C8CAC3" + $"61C8CAC0C9C83FC089C88AC089C295C089B740C089BCEAC089B740C089020AB7" + $"40C0D0B740C0D0BCEAC0D0C83FC0D0C295C0D0C865C0D056C11356C0EE56C361" + $"56C7FC56C5AE56C821C83FC83FC865C83FC295C83FB740C83FBCEAC83FB71AC8" + $"3F2AC7FC2AC8212AC5AE2AC1132AC3612AC0EEB740C0D0B71AC0D0B740C0D0B7" + $"40C0D0B740C0D0B740C0D00211BCD3B9E8BCD3B9E8BCAEB9E8383238BA0638BA" + $"9D38BB8038BB0E38BBA5BCD336BCAE36BEC636C2AB36C0B936C2D13648BB8048" + $"BBA548BB0E483248BA9D48BA06C2ABB9E8C2D1B9E8C27EB9E846B9E8C251B9E8" + $"C1FEB9E8C1DF32C1DFBA06C1DFBA44C1DFBA76C1DFBA5DC1DFBA9EC19CBAB4C1" + $"BABAB4C05EBAB4BDE4BAB4BF21BAB43BBAB4BD9FBA76BD9FBA97BD9FBA5DBD9F" + $"32BD9FBA44BD9FBA063AB9E8BD81B9E8BD2EB9E8BCD3B9E8BD01B9E8BCD3B9E8" + $"020FBCD3C377BCD3C377BC88C377BC49C402BC49C3B6BC49C473BC49C556BC49" + $"C4E4BC49C5A1BCD3C5E0BC88C5E0BEC6C5E0C2ABC5E0C0B9C5E0C2F7C5E0C336" + $"C556C336C5A1C336C4E4C336C402C336C473C336C3B6C2ABC377C2F7C377C27E" + $"C37746C377C251C377C1D8C377C199C402C199C3B6C199C418C199C443C199C4" + $"2EC05DC443BDE6C443BF22C443BDE6C42EBDE6C402BDE6C418BDE6C3B63AC377" + $"BDA7C377BD2EC377BCD3C377BD01C377BCD3C3770211BCD3C3BEBCD3C3BEBCAE" + $"C3BE38C40238C3DC38C47338C55638C4E438C57BBCD3C59ABCAEC59ABEC6C59A" + $"C2ABC59AC0B9C59AC2D1C59A48C55648C57B48C4E448C40248C47348C3DCC2AB" + $"C3BEC2D1C3BEC27EC3BE46C3BEC251C3BEC1FEC3BEC1DFC402C1DFC3DCC1DFC4" + $"1BC1DFC44CC1DFC434C1DFC475C19CC48AC1BAC48AC05EC48ABDE4C48ABF21C4" + $"8A3BC48ABD9FC44CBD9FC46DBD9FC434BD9FC402BD9FC41BBD9FC3DC3AC3BEBD" + $"81C3BEBD2EC3BEBCD3C3BEBD01C3BEBCD3C3BE0D0A000100000A010101000A02" + $"0102000A030103000A040104000A050105000A060106000A070107000A030108" + $"000A040109000A08010A000A09010B000A08010C00" +}; diff --git a/x11-misc/pcmanfm-qt/patches/pcmanfm_qt-0.14.0.patchset b/x11-misc/pcmanfm-qt/patches/pcmanfm_qt-1.3.0.patchset similarity index 62% rename from x11-misc/pcmanfm-qt/patches/pcmanfm_qt-0.14.0.patchset rename to x11-misc/pcmanfm-qt/patches/pcmanfm_qt-1.3.0.patchset index 11cc555db..303eaf2fe 100644 --- a/x11-misc/pcmanfm-qt/patches/pcmanfm_qt-0.14.0.patchset +++ b/x11-misc/pcmanfm-qt/patches/pcmanfm_qt-1.3.0.patchset @@ -1,101 +1,63 @@ -From b14b3a3026ee97824cebd42c83945d0cf9ac6f74 Mon Sep 17 00:00:00 2001 +From 7e354e34edfbb83a5f5433f012bc00ea00651efa Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Wed, 30 Jan 2019 23:53:23 +0300 Subject: Fix build on Haiku diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1ca95be..1bd66fc 100644 +index e42c8f8..a8c33a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -23,7 +23,9 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") +@@ -23,7 +23,6 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") find_package(Qt5DBus ${QT_MINIMUM_VERSION} REQUIRED) find_package(Qt5LinguistTools ${QT_MINIMUM_VERSION} REQUIRED) find_package(Qt5Widgets ${QT_MINIMUM_VERSION} REQUIRED) -find_package(Qt5X11Extras ${QT_MINIMUM_VERSION} REQUIRED) -+if (UNIX AND NOT HAIKU) -+ find_package(Qt5X11Extras "${REQUIRED_QT_VERSION}" REQUIRED) -+endif() find_package(fm-qt ${LIBFMQT_MINIMUM_VERSION} REQUIRED) find_package(lxqt-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED) diff --git a/pcmanfm/CMakeLists.txt b/pcmanfm/CMakeLists.txt -index 66a56c6..90dc024 100644 +index 82e55b6..a915f5d 100644 --- a/pcmanfm/CMakeLists.txt +++ b/pcmanfm/CMakeLists.txt -@@ -75,13 +75,20 @@ target_include_directories(pcmanfm-qt - "${Qt5Gui_PRIVATE_INCLUDE_DIRS}" +@@ -88,7 +88,6 @@ target_include_directories(pcmanfm-qt ) -+if(UNIX AND NOT HAIKU) -+target_link_libraries(pcmanfm-qt Qt5::X11Extras) -+endif() -+ target_link_libraries(pcmanfm-qt - Qt5::X11Extras Qt5::Widgets Qt5::DBus fm-qt - ) - -+if(HAIKU) -+ target_link_libraries(pcmanfm-qt network) -+endif () -+ - install(TARGETS pcmanfm-qt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - # install a desktop entry file for pcmanfm-qt and desktop preferences diff --git a/pcmanfm/application.cpp b/pcmanfm/application.cpp -index 0e7950d..b8fa8c0 100644 +index 1a034fc..af6e1e7 100644 --- a/pcmanfm/application.cpp +++ b/pcmanfm/application.cpp -@@ -52,9 +52,9 @@ - #include "launcher.h" +@@ -56,7 +56,6 @@ #include "xdgdir.h" #include "connectserverdialog.h" -- + -#include -- -+#ifndef Q_OS_HAIKU -+ #include -+#endif + namespace PCManFM { - diff --git a/pcmanfm/desktopwindow.cpp b/pcmanfm/desktopwindow.cpp -index 583b680..e5844dd 100644 +index 74879c9..a0df8b9 100644 --- a/pcmanfm/desktopwindow.cpp +++ b/pcmanfm/desktopwindow.cpp -@@ -55,10 +55,13 @@ - #include "xdgdir.h" +@@ -58,10 +58,8 @@ #include "bulkrename.h" + #include "desktopentrydialog.h" -#include -+#ifndef Q_OS_HAIKU -+ #include -+ #include -+#endif -+ #include #include -#include - #define WORK_AREA_MARGIN 12 // margin of the work area #define MIN_SLIDE_INTERVAL 5*60000 // 5 min -@@ -1388,6 +1391,7 @@ void DesktopWindow::onFilePropertiesActivated() { - } + #define MAX_SLIDE_INTERVAL (24*60+55)*60000 // 24 h and 55 min +@@ -1822,6 +1820,9 @@ QModelIndex DesktopWindow::navigateWithKey(int key, Qt::KeyboardModifiers modifi } -+#ifndef Q_OS_HAIKU - static void forwardMouseEventToRoot(QMouseEvent* event) { - xcb_ungrab_pointer(QX11Info::connection(), event->timestamp()); - // forward the event to the root window -@@ -1453,8 +1457,12 @@ static void forwardMouseEventToRoot(QMouseEvent* event) { - xcb_send_event(QX11Info::connection(), 0, root, mask, (char*)&xcb_event); - xcb_flush(QX11Info::connection()); - } -+#endif - bool DesktopWindow::event(QEvent* event) { +#ifdef Q_OS_HAIKU + return 0; @@ -103,7 +65,7 @@ index 583b680..e5844dd 100644 switch(event->type()) { case QEvent::WinIdChange: { //qDebug() << "winid change:" << effectiveWinId(); -@@ -1472,7 +1480,9 @@ bool DesktopWindow::event(QEvent* event) { +@@ -1839,7 +1840,9 @@ bool DesktopWindow::event(QEvent* event) { xcb_change_property(con, XCB_PROP_MODE_REPLACE, effectiveWinId(), prop_atom, XA_ATOM, 32, 1, &atom); } break; @@ -113,11 +75,12 @@ index 583b680..e5844dd 100644 #undef FontChange // FontChange is defined in the headers of XLib and clashes with Qt, let's undefine it. case QEvent::StyleChange: case QEvent::FontChange: -@@ -1487,8 +1497,12 @@ bool DesktopWindow::event(QEvent* event) { +@@ -1854,9 +1857,13 @@ bool DesktopWindow::event(QEvent* event) { } #undef FontChange // this seems to be defined in Xlib headers as a macro, undef it! +#endif + #undef KeyPress // like above bool DesktopWindow::eventFilter(QObject* watched, QEvent* event) { +#ifdef Q_OS_HAIKU @@ -126,49 +89,47 @@ index 583b680..e5844dd 100644 if(watched == listView_) { switch(event->type()) { case QEvent::StyleChange: -@@ -1529,6 +1543,7 @@ bool DesktopWindow::eventFilter(QObject* watched, QEvent* event) { +@@ -1901,6 +1908,7 @@ bool DesktopWindow::eventFilter(QObject* watched, QEvent* event) { } } return Fm::FolderView::eventFilter(watched, event); +#endif } - void DesktopWindow::childDragMoveEvent(QDragMoveEvent* e) { + void DesktopWindow::childDragMoveEvent(QDragMoveEvent* e) { // see DesktopWindow::eventFilter for an explanation -- -2.19.1 +2.37.3 -From 6104d9e86bf0eb467734bd1cc178712480b3bee0 Mon Sep 17 00:00:00 2001 +From ac2885af14965fe5fe520585bfd8013b686d7a0c Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Thu, 31 Jan 2019 18:33:50 +1000 Subject: Disable DBUS for Haiku diff --git a/pcmanfm/application.cpp b/pcmanfm/application.cpp -index b8fa8c0..dc745c9 100644 +index af6e1e7..f715746 100644 --- a/pcmanfm/application.cpp +++ b/pcmanfm/application.cpp -@@ -21,8 +21,10 @@ +@@ -21,9 +21,6 @@ #include "application.h" #include "mainwindow.h" #include "desktopwindow.h" -+#ifndef __HAIKU__ - #include - #include -+#endif +-#include +-#include +-#include #include #include #include -@@ -87,7 +89,7 @@ Application::Application(int& argc, char** argv): - argv_ = argv; +@@ -96,6 +93,7 @@ Application::Application(int& argc, char** argv): + + underWayland_ = QGuiApplication::platformName() == QStringLiteral("wayland"); - setApplicationVersion(PCMANFM_QT_VERSION); -- +#ifndef __HAIKU__ // QDBusConnection::sessionBus().registerObject("/org/pcmanfm/Application", this); QDBusConnection dbus = QDBusConnection::sessionBus(); - if(dbus.registerService(serviceName)) { -@@ -123,6 +125,12 @@ Application::Application(int& argc, char** argv): + if(dbus.registerService(QLatin1String(serviceName))) { +@@ -147,6 +145,12 @@ Application::Application(int& argc, char** argv): // we're not the first instance isPrimaryInstance = false; } @@ -181,15 +142,15 @@ index b8fa8c0..dc745c9 100644 } Application::~Application() { -@@ -260,6 +268,7 @@ bool Application::parseCommandLineArgs() { +@@ -284,6 +288,7 @@ bool Application::parseCommandLineArgs() { } } } +#ifndef __HAIKU__ else { QDBusConnection dbus = QDBusConnection::sessionBus(); - QDBusInterface iface(serviceName, "/Application", ifaceName, dbus, this); -@@ -297,6 +306,7 @@ bool Application::parseCommandLineArgs() { + QDBusInterface iface(QLatin1String(serviceName), QStringLiteral("/Application"), QLatin1String(ifaceName), dbus, this); +@@ -323,6 +328,7 @@ bool Application::parseCommandLineArgs() { } } } @@ -198,17 +159,17 @@ index b8fa8c0..dc745c9 100644 } -- -2.19.1 +2.37.3 -From f641b107d39168c5c2e1a644c6486bd8a2e45d51 Mon Sep 17 00:00:00 2001 +From 27221aeab694bdc99f9a2712e508ffa0cff013ec Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Thu, 31 Jan 2019 18:34:26 +1000 Subject: Dirty hack for fix crash on exit diff --git a/pcmanfm/pcmanfm.cpp b/pcmanfm/pcmanfm.cpp -index fa57d3e..7da5641 100644 +index fa57d3e..8d21117 100644 --- a/pcmanfm/pcmanfm.cpp +++ b/pcmanfm/pcmanfm.cpp @@ -1,6 +1,12 @@ @@ -228,46 +189,45 @@ index fa57d3e..7da5641 100644 app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); app.init(); +- return app.exec(); +#ifdef __HAIKU__ + app.exec(); + kill(::getpid(), SIGKILL); + return 0; +#else - return app.exec(); ++ return app.exec(); +#endif } -- -2.19.1 +2.37.3 -From 3793befe2075cec3d0143324bf0413caade57117 Mon Sep 17 00:00:00 2001 +From 1a2ac8f82c7fea19a1370aea6f91c80ce3d38efa Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Thu, 31 Jan 2019 18:35:04 +1000 Subject: Remove Root Instance warning diff --git a/pcmanfm/mainwindow.cpp b/pcmanfm/mainwindow.cpp -index 9914451..1850ea1 100644 +index 8d00e60..e03e9aa 100644 --- a/pcmanfm/mainwindow.cpp +++ b/pcmanfm/mainwindow.cpp -@@ -135,7 +135,7 @@ MainWindow::MainWindow(Fm::FilePath path): - setAttribute(Qt::WA_DeleteOnClose); +@@ -136,6 +136,7 @@ MainWindow::MainWindow(Fm::FilePath path): // setup user interface ui.setupUi(this); -- + +#ifndef __HAIKU__ // add a warning label to the root instance if(geteuid() == 0) { QLabel *warningLabel = new QLabel(tr("Root Instance")); -@@ -145,7 +145,7 @@ MainWindow::MainWindow(Fm::FilePath path): +@@ -145,6 +146,7 @@ MainWindow::MainWindow(Fm::FilePath path): ui.verticalLayout->addWidget(warningLabel); ui.verticalLayout->setStretch(0, 1); } -- +#endif - splitView_ = settings.splitView(); - // hide menu items that are not usable + splitView_ = path && settings.splitView(); // splt view needs a path + -- -2.19.1 +2.37.3 diff --git a/x11-misc/pcmanfm-qt/pcmanfm_qt-0.14.0.recipe b/x11-misc/pcmanfm-qt/pcmanfm_qt-1.3.0.recipe similarity index 90% rename from x11-misc/pcmanfm-qt/pcmanfm_qt-0.14.0.recipe rename to x11-misc/pcmanfm-qt/pcmanfm_qt-1.3.0.recipe index 310f654d2..ec36b89d8 100644 --- a/x11-misc/pcmanfm-qt/pcmanfm_qt-0.14.0.recipe +++ b/x11-misc/pcmanfm-qt/pcmanfm_qt-1.3.0.recipe @@ -7,16 +7,16 @@ LXDE, which is also developed by the same author in conjunction with other \ developers. Since 2010, PCManFM has undergone a complete rewrite from \ scratch. So the new PCManFM is totally different from the old 0.5.x series." HOMEPAGE="https://wiki.lxde.org/en/PCManFM" -COPYRIGHT="2013-2019 LXQt team" +COPYRIGHT="2009-2014 洪任諭 (Hong Jen Yee)" LICENSE="GNU GPL v2" -REVISION="2" +REVISION="1" SOURCE_URI="https://github.com/lxqt/pcmanfm-qt/archive/$portVersion.tar.gz" -CHECKSUM_SHA256="54b325919c0e767a0109119e7d63898d5292d9b25959b4e7a2b1ff1eac942747" +CHECKSUM_SHA256="093c7d0d1d8a339fc91df1df055996b63ad200954fd40477f149365e0a732c7c" SOURCE_DIR="pcmanfm-qt-$portVersion" PATCHES="pcmanfm_qt-$portVersion.patchset" ADDITIONAL_FILES="pcmanfm-qt.rdef.in" -ARCHITECTURES="all !x86_gcc2 ?x86" +ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" @@ -64,19 +64,16 @@ BUILD_PREREQUIRES=" BUILD() { - mkdir -p build - cd build - cmake .. $cmakeDirArgs \ + export CXXFLAGS="-lnetwork" + cmake -Bbuild -S. $cmakeDirArgs \ -Dfm-qt_DIR=/system/data/cmake/fm-qt \ - -DCMAKE_BUILD_TYPE=Release \ - -DPULL_TRANSLATIONS=no - make $jobArgs + -DCMAKE_BUILD_TYPE=Release + make -C build $jobArgs } INSTALL() { - cd build - make install + make -C build install mkdir $appsDir mv $binDir/pcmanfm-qt $appsDir/PCManFM