Index: head/games/flightgear/Makefile =================================================================== --- head/games/flightgear/Makefile (revision 502968) +++ head/games/flightgear/Makefile (revision 502969) @@ -1,73 +1,63 @@ # Created by: Brian Buchanan # $FreeBSD$ PORTNAME= flightgear PORTVERSION= 2018.3.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= games MASTER_SITES= SF/flightgear/release-${PORTVERSION:R} MAINTAINER= martymac@FreeBSD.org COMMENT= FlightGear flight simulator LICENSE= GPLv2 LIB_DEPENDS= libpng.so:graphics/png \ libboost_thread.so:devel/boost-libs \ libfltk.so:x11-toolkits/fltk \ libfreetype.so:print/freetype2 \ libosg.so:graphics/osg \ libspeex.so:audio/speex \ libspeexdsp.so:audio/speexdsp \ libcurl.so:ftp/curl \ libudev.so:devel/libudev-devd BUILD_DEPENDS= ${LOCALBASE}/lib/libplibsl.a:x11-toolkits/plib \ - ${LOCALBASE}/lib/libSimGearCore.a:devel/simgear + ${LOCALBASE}/lib/libSimGearCore.a:devel/simgear \ + ${LOCALBASE}/include/linux/input.h:devel/evdev-proto RUN_DEPENDS= ${LOCALBASE}/lib/libplibsl.a:x11-toolkits/plib \ ${LOCALBASE}/lib/libSimGearCore.a:devel/simgear \ ${LOCALBASE}/share/flightgear/version:games/flightgear-data # Disable ninja, see https://sourceforge.net/p/flightgear/codetickets/2118/ USES= alias cmake:noninja compiler:c++11-lang cpe dos2unix gl jpeg \ openal:al,alut sqlite tar:bzip2 USE_XORG= ice sm x11 xext xft xi xinerama xmu xt USE_GL= gl glew glu glut LLD_UNSAFE= yes DOS2UNIX_REGEX= .*\.(c|h|cxx|cpp|hxx|hpp) CMAKE_ARGS+= -DSYSTEM_SQLITE:BOOL=ON \ -DFG_DATA_DIR:PATH=${LOCALBASE}/share/${PORTNAME} \ -DCMAKE_INSTALL_MANDIR:PATH=${MANPREFIX}/man \ -DFGCOM_DATA_PATH:PATH=${DATADIR} LDFLAGS+= -L${LOCALBASE}/lib OPTIONS_DEFINE= DBUS QT5 OPTIONS_DEFAULT= DBUS QT5 DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus DBUS_USES= pkgconfig DBUS_CMAKE_ON= -DUSE_DBUS:BOOL=ON DBUS_CMAKE_OFF= -DUSE_DBUS:BOOL=OFF QT5_CMAKE_ON= -DENABLE_QT:BOOL=ON QT5_CMAKE_OFF= -DENABLE_QT:BOOL=OFF QT5_USES= qt:5 QT5_USE= QT=core,buildtools,gui,declarative,network,qmake,widgets,svg post-patch: # Avoid conflict with C++20 by adding .txt suffix @${MV} ${WRKSRC}/version ${WRKSRC}/version.txt @${REINPLACE_CMD} -Ei .c++20 '/file|set_prop/s/version[[:>:]]/&.txt/' \ ${WRKSRC}/CMakeLists.txt -.include - -# XXX Disable EVENT_INPUT on 13-CURRENT to avoid crashing during startup -# See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237835 -# and: https://svnweb.freebsd.org/base?view=revision&revision=340387 -.if ${OSVERSION} >= 1300003 -CMAKE_ARGS+= -DEVENT_INPUT:BOOL=OFF -.else -BUILD_DEPENDS+= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto -.endif - -.include +.include Index: head/games/flightgear/files/patch-src-Input-FGLinuxEventInput.cxx =================================================================== --- head/games/flightgear/files/patch-src-Input-FGLinuxEventInput.cxx (nonexistent) +++ head/games/flightgear/files/patch-src-Input-FGLinuxEventInput.cxx (revision 502969) @@ -0,0 +1,29 @@ +Avoid crashing when udev_device_get_parent() returns a NULL pointer + +Backport from commit 66e6afb + +--- src/Input/FGLinuxEventInput.cxx.orig ++++ src/Input/FGLinuxEventInput.cxx +@@ -481,13 +481,15 @@ void FGLinuxEventInput::postinit() + struct udev_device *dev = udev_device_new_from_syspath(udev, path); + const char * node = udev_device_get_devnode(dev); + +- dev = udev_device_get_parent( dev ); +- const char * name = udev_device_get_sysattr_value(dev,"name"); +- const char * serial = udev_device_get_sysattr_value(dev, "serial"); +- SG_LOG(SG_INPUT,SG_DEBUG, "name=" << (name?name:"") << ", node=" << (node?node:"")); +- if( name && node ) { +- std::string serialString = serial ? serial : std::string{}; +- AddDevice( new FGLinuxInputDevice(name, node, serialString) ); ++ struct udev_device * parent_dev = udev_device_get_parent( dev ); ++ if ( parent_dev != NULL ) { ++ const char * name = udev_device_get_sysattr_value(parent_dev,"name"); ++ const char * serial = udev_device_get_sysattr_value(parent_dev, "serial"); ++ SG_LOG(SG_INPUT,SG_DEBUG, "name=" << (name?name:"") << ", node=" << (node?node:"")); ++ if( name && node ) { ++ std::string serialString = serial ? serial : std::string{}; ++ AddDevice( new FGLinuxInputDevice(name, node, serialString) ); ++ } + } + + udev_device_unref(dev); Property changes on: head/games/flightgear/files/patch-src-Input-FGLinuxEventInput.cxx ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property