> http://build-failures.rhaalovely.net/sparc64/2019-08-21/x11/kde4/krfb.log > http://build-failures.rhaalovely.net/powerpc/2019-08-09/x11/kde4/krfb.log
We've 3 issues here: - a typical max() macro clash in the bundled libvncviewer. I did it the harsh way, upstream has a different fix, but it has a bigger footprint on the codebase [0] - there was an occurrence where FALSE and TRUE were undefined, so i redefined them. Looks like clang and gcc approaches are different on that matter. - headers must be placed as defined in style(9) in various places, otherwise some variables/functions are undefined, heavily inspired by how Debian did it [1]. While here i've moved HOMEPAGE to https. It builds fine on macppc [2] and amd64. The runtime is also good on these two platforms. Comments/feedback are welcome :) Charlène. [0] https://github.com/LibVNC/libvncserver/commit/785f0fa2d1fe18f08bf521ed4a0d34a5d0c87782 [1] https://sources.debian.org/patches/krfb/4:17.08.3-1/build_against_gcc-6.patch/ [2] https://bin.charlenew.xyz/krfb.log Index: Makefile =================================================================== RCS file: /cvs/ports/x11/kde4/krfb/Makefile,v retrieving revision 1.9 diff -u -p -u -p -r1.9 Makefile --- Makefile 27 Jun 2018 21:04:17 -0000 1.9 +++ Makefile 25 Aug 2019 20:35:56 -0000 @@ -2,10 +2,10 @@ COMMENT = desktop sharing DISTNAME = krfb-${MODKDE4_VERSION} -REVISION = 4 +REVISION = 5 CATEGORIES = net -HOMEPAGE = http://projects.kde.org/projects/kde/kdenetwork/krfb +HOMEPAGE = https://userbase.kde.org/Krfb SHARED_LIBS = krfbprivate 52.0 Index: patches/patch-krfb_events_cpp =================================================================== RCS file: patches/patch-krfb_events_cpp diff -N patches/patch-krfb_events_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_events_cpp 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,25 @@ +$OpenBSD$ + +Fix for ports-gcc>=6 + +Index: krfb/events.cpp +--- krfb/events.cpp.orig ++++ krfb/events.cpp +@@ -22,8 +22,6 @@ + Boston, MA 02110-1301, USA. + */ + +-#include "events.h" +- + #include <QtGui/QApplication> + #include <QtGui/QX11Info> + #include <QtGui/QDesktopWidget> +@@ -32,6 +30,8 @@ + #include <X11/Xutil.h> + #include <X11/keysym.h> + #include <X11/extensions/XTest.h> ++ ++#include "events.h" + + enum { + LEFTSHIFT = 1, Index: patches/patch-krfb_framebuffer_h =================================================================== RCS file: patches/patch-krfb_framebuffer_h diff -N patches/patch-krfb_framebuffer_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_framebuffer_h 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,24 @@ +$OpenBSD$ +Fix for ports-gcc>=6 + +Index: krfb/framebuffer.h +--- krfb/framebuffer.h.orig ++++ krfb/framebuffer.h +@@ -10,8 +10,6 @@ + #ifndef FRAMEBUFFER_H + #define FRAMEBUFFER_H + +-#include "rfb.h" +- + #include <kdemacros.h> + + #include <QtCore/QObject> +@@ -19,6 +17,8 @@ + #include <QtCore/QList> + + #include <QtGui/QWidget> ++ ++#include "rfb.h" + + class FrameBuffer; + /** Index: patches/patch-krfb_invitationsrfbclient_cpp =================================================================== RCS file: patches/patch-krfb_invitationsrfbclient_cpp diff -N patches/patch-krfb_invitationsrfbclient_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_invitationsrfbclient_cpp 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ +Fix for ports-gcc>=6 + +Index: krfb/invitationsrfbclient.cpp +--- krfb/invitationsrfbclient.cpp.orig ++++ krfb/invitationsrfbclient.cpp +@@ -18,16 +18,17 @@ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ ++#include <KNotification> ++#include <KLocale> ++#include <QtCore/QSocketNotifier> ++#include <poll.h> ++ + #include "rfb.h" + #include "invitationsrfbclient.h" + #include "invitationsrfbserver.h" + #include "krfbconfig.h" + #include "sockethelpers.h" + #include "connectiondialog.h" +-#include <KNotification> +-#include <KLocale> +-#include <QtCore/QSocketNotifier> +-#include <poll.h> + + struct PendingInvitationsRfbClient::Private + { Index: patches/patch-krfb_invitationsrfbserver_cpp =================================================================== RCS file: patches/patch-krfb_invitationsrfbserver_cpp diff -N patches/patch-krfb_invitationsrfbserver_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_invitationsrfbserver_cpp 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ +Fix for ports-gcc>=6 + +Index: krfb/invitationsrfbserver.cpp +--- krfb/invitationsrfbserver.cpp.orig ++++ krfb/invitationsrfbserver.cpp +@@ -18,10 +18,6 @@ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +-#include "invitationsrfbserver.h" +-#include "invitationsrfbclient.h" +-#include "krfbconfig.h" +-#include "rfbservermanager.h" + #include <QtCore/QTimer> + #include <QtGui/QApplication> + #include <QtNetwork/QHostInfo> +@@ -33,6 +29,10 @@ + #include <KStringHandler> + #include <KWallet/Wallet> + #include <DNSSD/PublicService> ++#include "invitationsrfbserver.h" ++#include "invitationsrfbclient.h" ++#include "krfbconfig.h" ++#include "rfbservermanager.h" + using KWallet::Wallet; + + //static Index: patches/patch-krfb_rfbclient_cpp =================================================================== RCS file: patches/patch-krfb_rfbclient_cpp diff -N patches/patch-krfb_rfbclient_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_rfbclient_cpp 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ +Fix for ports-gcc>=6 + +Index: krfb/rfbclient.cpp +--- krfb/rfbclient.cpp.orig ++++ krfb/rfbclient.cpp +@@ -17,16 +17,16 @@ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +-#include "rfbclient.h" +-#include "connectiondialog.h" +-#include "krfbconfig.h" +-#include "sockethelpers.h" +-#include "events.h" + #include <QtCore/QSocketNotifier> + #include <KDebug> + #include <KNotification> + #include <poll.h> + #include <strings.h> //for bzero() ++#include "rfbclient.h" ++#include "connectiondialog.h" ++#include "krfbconfig.h" ++#include "sockethelpers.h" ++#include "events.h" + + struct RfbClient::Private + { Index: patches/patch-krfb_rfbserver_cpp =================================================================== RCS file: patches/patch-krfb_rfbserver_cpp diff -N patches/patch-krfb_rfbserver_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_rfbserver_cpp 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,26 @@ +$OpenBSD$ +Fix for ports-gcc>=6 + +Also redefine TRUE and FALSE, that are getting undef'd in rfb.h + +Index: krfb/rfbserver.cpp +--- krfb/rfbserver.cpp.orig ++++ krfb/rfbserver.cpp +@@ -17,12 +17,15 @@ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +-#include "rfbserver.h" +-#include "rfbservermanager.h" + #include <QtCore/QSocketNotifier> + #include <QApplication> + #include <QClipboard> + #include <KDebug> ++#include "rfbserver.h" ++#include "rfbservermanager.h" ++ ++#define TRUE true ++#define FALSE false + + struct RfbServer::Private + { Index: patches/patch-krfb_rfbservermanager_cpp =================================================================== RCS file: patches/patch-krfb_rfbservermanager_cpp diff -N patches/patch-krfb_rfbservermanager_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-krfb_rfbservermanager_cpp 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,32 @@ +$OpenBSD$ +Fix for ports-gcc>=6 + +Index: krfb/rfbservermanager.cpp +--- krfb/rfbservermanager.cpp.orig ++++ krfb/rfbservermanager.cpp +@@ -18,12 +18,6 @@ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +-#include "rfbservermanager.h" +-#include "rfbserver.h" +-#include "framebuffer.h" +-#include "framebuffermanager.h" +-#include "sockethelpers.h" +-#include "krfbconfig.h" + #include <QtCore/QTimer> + #include <QtGui/QApplication> + #include <QtGui/QDesktopWidget> +@@ -33,6 +27,12 @@ + #include <KLocale> + #include <KUser> + #include <KNotification> ++#include "rfbservermanager.h" ++#include "rfbserver.h" ++#include "framebuffer.h" ++#include "framebuffermanager.h" ++#include "sockethelpers.h" ++#include "krfbconfig.h" + + static const char *cur = + " " Index: patches/patch-libvncserver_rfb_rfbproto_h =================================================================== RCS file: patches/patch-libvncserver_rfb_rfbproto_h diff -N patches/patch-libvncserver_rfb_rfbproto_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libvncserver_rfb_rfbproto_h 25 Aug 2019 20:35:56 -0000 @@ -0,0 +1,19 @@ +$OpenBSD$ + +ports-gcc fix for: +error: macro "max" passed 3 arguments, but takes just 2 + +Index: libvncserver/rfb/rfbproto.h +--- libvncserver/rfb/rfbproto.h.orig ++++ libvncserver/rfb/rfbproto.h +@@ -90,6 +90,10 @@ + #define strncasecmp _strnicmp + #endif + ++#ifdef max ++#undef max ++#endif ++ + #if !defined(WIN32) || defined(__MINGW32__) + #define max(a,b) (((a)>(b))?(a):(b)) + #ifdef LIBVNCSERVER_HAVE_SYS_TIME_H
