diff --git a/x11-toolkits/qt5-gui/Makefile b/x11-toolkits/qt5-gui/Makefile index 3735e1fd3bdb..1539528e6ef4 100644 --- a/x11-toolkits/qt5-gui/Makefile +++ b/x11-toolkits/qt5-gui/Makefile @@ -1,111 +1,111 @@ PORTNAME= gui DISTVERSION= ${QT5_VERSION} -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= x11-toolkits graphics PKGNAMEPREFIX= qt5- MAINTAINER= kde@FreeBSD.org COMMENT= Qt graphical user interface module BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \ ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers \ ${LOCALBASE}/include/xf86drm.h:graphics/libdrm \ at-spi2-core>=0:accessibility/at-spi2-core LIB_DEPENDS= libdbus-1.so:devel/dbus \ libevdev.so:devel/libevdev \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libinput.so:x11/libinput \ libpng.so:graphics/png \ libxcb-icccm.so:x11/xcb-util-wm \ libxcb-image.so:x11/xcb-util-image \ libxcb-keysyms.so:x11/xcb-util-keysyms \ libxcb-render-util.so:x11/xcb-util-renderutil \ libxcb.so:x11/libxcb \ libxkbcommon.so:x11/libxkbcommon RUN_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers \ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ xdg-open:devel/xdg-utils USES= compiler:c++11-lang gl gnome jpeg localbase \ qmake:no_env qt-dist:5,base USE_GL= egl gl USE_GNOME= glib20 USE_QT= core dbus network buildtools_build qmake_build QT_BINARIES= yes QT_CONFIG= accessibility accessibility-atspi-bridge dbus \ fontconfig glib opengl png system-freetype system-jpeg \ system-png xcb xcb-glx xcb-render xcb-xlib xinput2 xlib \ xrender QT_DEFINES= ACCESSIBILITY DBUS FONTCONFIG FREETYPE GLIB \ IMAGEFORMAT_PNG OPENGL SHAPE XCB XKB XKBCOMMON XRENDER USE_XORG= ice sm xi xrender HAS_CONFIGURE= yes CONFIGURE_ARGS= -no-eglfs \ -no-libudev \ -system-harfbuzz # Explicitly set to c++14 to avoid c++17/c++1z, since libX11's headers # are using the obsolete 'register' keyword. CONFIGURE_ARGS+= -c++std \ c++14 BUILD_WRKSRC= ${WRKSRC}/src/${PORTNAME} INSTALL_WRKSRC= ${BUILD_WRKSRC} OPTIONS_DEFINE= X11 OPTIONS_DEFAULT= X11 OPTIONS_SUB= yes X11_USES= xorg X11_USE= xorg=x11 # Build and install QtPlatformSupport and default QPA plugins (XCB, # minimal and offscreen). QtGui won't work without (one of) them, but # they depend on QtGui itself, so they can't be added as dependencies. # QtPlatformSupport doesn't need to be installed (it's a static # library), but might be needed by people porting Qt on new platforms. _MORE_WRKSRCS= src/platformheaders src/platformsupport src/plugins/platforms \ src/plugins/generic # Image formats are split through different tarballs, these are the # main ones; input contexts require no additional dependency. _MORE_WRKSRCS+= src/plugins/imageformats src/plugins/platforminputcontexts # openglextensions is the static library to use for further things like qtcanvas3d _MORE_WRKSRCS+= src/openglextensions # Inherited from Qt 4. .if defined(PACKAGE_BUILDING) RUN_DEPENDS+= ${LOCALBASE}/share/fonts/encodings/encodings.dir:x11-fonts/encodings \ xorg-fonts-truetype>0:x11-fonts/xorg-fonts-truetype .endif post-configure: .for d in src/tools/qvkgen src/gui ${_MORE_WRKSRCS} ${MKDIR} ${WRKSRC}/${d} cd ${WRKSRC}/${d} && ${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} ${WRKSRC}/${d} .endfor pre-build: .for d in src/tools/qvkgen @cd ${WRKSRC}/${d} && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \ ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET} .endfor post-build: .for d in ${_MORE_WRKSRCS} @cd ${WRKSRC}/${d} && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \ ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET} .endfor post-install: .for d in src/tools/qvkgen ${_MORE_WRKSRCS} @cd ${WRKSRC}/${d} && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \ ${MAKE_ARGS} ${INSTALL_TARGET} .endfor .include diff --git a/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbconnection_xi2.cpp b/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbconnection_xi2.cpp new file mode 100644 index 000000000000..afbc656bf7e4 --- /dev/null +++ b/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbconnection_xi2.cpp @@ -0,0 +1,54 @@ +--- src/plugins/platforms/xcb/qxcbconnection_xi2.cpp.orig 2019-08-05 16:22:20.511830000 -0500 ++++ src/plugins/platforms/xcb/qxcbconnection_xi2.cpp 2019-08-05 16:25:40.211970000 -0500 +@@ -43,6 +43,7 @@ + #include "qxcbwindow.h" + #include "qtouchdevice.h" + #include "QtCore/qmetaobject.h" ++#include "QtCore/qendian.h" + #include + #include + #include +@@ -66,6 +67,7 @@ + xiEventMask.mask = XCB_INPUT_XI_EVENT_MASK_HIERARCHY; + xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_DEVICE_CHANGED; + xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_PROPERTY; ++ xiEventMask.mask = qToLittleEndian(xiEventMask.mask); + xcb_input_xi_select_events(xcb_connection(), rootWindow(), 1, &xiEventMask.header); + } + +@@ -90,7 +92,7 @@ + qt_xcb_input_event_mask_t mask; + mask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER; + mask.header.mask_len = 1; +- mask.mask = bitMask; ++ mask.mask = qToLittleEndian(bitMask); + xcb_void_cookie_t cookie = + xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &mask.header); + xcb_generic_error_t *error = xcb_request_check(xcb_connection(), cookie); +@@ -359,7 +361,7 @@ + qt_xcb_input_event_mask_t xiMask; + xiMask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER; + xiMask.header.mask_len = 1; +- xiMask.mask = mask; ++ xiMask.mask = qToLittleEndian(mask); + + xcb_void_cookie_t cookie = + xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &xiMask.header); +@@ -386,7 +388,7 @@ + tabletDevices.insert(deviceId); + xiEventMask[i].header.deviceid = deviceId; + xiEventMask[i].header.mask_len = 1; +- xiEventMask[i].mask = mask; ++ xiEventMask[i].mask = qToLittleEndian(mask); + } + xcb_input_xi_select_events(xcb_connection(), window, nrTablets, &(xiEventMask.data()->header)); + } +@@ -402,7 +404,7 @@ + #endif + xiEventMask[i].header.deviceid = scrollingDevice.deviceId; + xiEventMask[i].header.mask_len = 1; +- xiEventMask[i].mask = mask; ++ xiEventMask[i].mask = qToLittleEndian(mask); + i++; + } + xcb_input_xi_select_events(xcb_connection(), window, i, &(xiEventMask.data()->header)); \ No newline at end of file