Index: Mk/Uses/kde.mk =================================================================== --- Mk/Uses/kde.mk +++ Mk/Uses/kde.mk @@ -57,7 +57,7 @@ KDE4_VERSION?= 4.14.3 KDE4_KDELIBS_VERSION= 4.14.30 KDE4_ACTIVITIES_VERSION= 4.13.3 -KDE4_WORKSPACE_VERSION= 4.11.21 +KDE4_WORKSPACE_VERSION= 4.11.22 KDE4_KDEPIM_VERSION?= 4.14.10 # Applications version for the kde4-applications. KDE4_APPLICATIONS_BRANCH?= Attic Index: Mk/bsd.xorg.mk =================================================================== --- Mk/bsd.xorg.mk +++ Mk/bsd.xorg.mk @@ -46,7 +46,7 @@ # All xorg ports needs xorg-macros. . if ${PORTNAME} != xorg-macros -USE_XORG+= xorg-macros +USE_XORG+= xorg-macros . endif . if ${XORG_CAT} == "app" @@ -58,11 +58,12 @@ . endif . if ${XORG_CAT} == "driver" -USE_XORG+= xorg-server xproto randrproto xi renderproto xextproto \ - inputproto kbproto fontsproto videoproto dri2proto dri3proto \ - xf86driproto presentproto glproto xineramaproto resourceproto \ - scrnsaverproto +USE_XORG+= dri2proto dri3proto fontsproto glproto inputproto kbproto \ + presentproto randrproto renderproto resourceproto \ + scrnsaverproto videoproto xextproto xf86driproto xi \ + xineramaproto xorg-server xproto CONFIGURE_ENV+= DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4' +CFLAGS+= -Werror=uninitialized USES+= libtool INSTALL_TARGET= install-strip . endif @@ -81,8 +82,9 @@ . endif . if ${XORG_CAT} == "lib" -USES+= pathfix libtool +USES+= libtool pathfix USE_LDCONFIG= yes +CFLAGS+= -Werror=uninitialized CONFIGURE_ARGS+=--enable-malloc0returnsnull . endif @@ -93,10 +95,10 @@ . if ${XORG_CAT} == "xserver" DISTFILES?= xorg-server-${PORTVERSION}.tar.bz2 WRKSRC= ${WRKDIR}/xorg-server-${PORTVERSION} -USES+= pathfix +USES+= libtool pathfix +CFLAGS+= -Werror=uninitialized CONFIGURE_ARGS+= --with-xkb-path=${LOCALBASE}/share/X11/xkb \ --with-fontrootdir=${LOCALBASE}/share/fonts - LIB_PC_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/dri USE_XORG+= fontutil:build . endif @@ -112,7 +114,7 @@ # Register all xorg .pc files here. # foo_LIB_PC_DEPENDS means it should go to BUILD_DEPENDS *and* RUN_DEPENDS. -XORG_MODULES= bigreqsproto \ +XORG_MODULES= bigreqsproto \ compositeproto \ damageproto \ dmx \ Index: astro/viking/Makefile =================================================================== --- astro/viking/Makefile +++ astro/viking/Makefile @@ -3,7 +3,7 @@ PORTNAME= viking PORTVERSION= 1.6.2 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= astro MASTER_SITES= SF/${PORTNAME}/ @@ -13,14 +13,14 @@ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs LIB_DEPENDS= libcurl.so:ftp/curl \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libgexiv2.so:graphics/gexiv2 \ libpcre.so:devel/pcre \ - libpng.so:graphics/png \ - libpthread-stubs.so:devel/libpthread-stubs + libpng.so:graphics/png RUN_DEPENDS= gpsbabel:astro/gpsbabel USES= compiler:c++11-lib gmake iconv desktop-file-utils perl5 pkgconfig tar:bzip2 Index: audio/py-karaoke/Makefile =================================================================== --- audio/py-karaoke/Makefile +++ audio/py-karaoke/Makefile @@ -3,7 +3,7 @@ PORTNAME= karaoke PORTVERSION= 0.7.5 -PORTREVISION= 9 +PORTREVISION= 10 CATEGORIES= audio python MASTER_SITES= SF/py${PORTNAME}/py${PORTNAME}/${PORTVERSION} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -14,9 +14,9 @@ LICENSE= LGPL21+ -BUILD_DEPENDS= ${PYGAME} -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libaa.so:graphics/aalib +BUILD_DEPENDS= ${PYGAME} \ + ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libaa.so:graphics/aalib RUN_DEPENDS= dejavu>0:x11-fonts/dejavu \ ${PYGAME} \ ${PYNUMPY} Index: audio/xmms-curses/Makefile =================================================================== --- audio/xmms-curses/Makefile +++ audio/xmms-curses/Makefile @@ -3,16 +3,16 @@ PORTNAME= xmms-curses PORTVERSION= 0.2.2 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= audio MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} MAINTAINER= ports@FreeBSD.org COMMENT= Ncurses program for (remote) controlling multimedia/xmms -BUILD_DEPENDS= xmms:multimedia/xmms +BUILD_DEPENDS= xmms:multimedia/xmms \ + ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs RUN_DEPENDS= xmms:multimedia/xmms -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs USES= gettext iconv ncurses USE_GNOME= gtk12 Index: cad/brlcad/Makefile =================================================================== --- cad/brlcad/Makefile +++ cad/brlcad/Makefile @@ -3,7 +3,7 @@ PORTNAME= brlcad PORTVERSION= 7.24.0 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= cad MASTER_SITES= SF/${PORTNAME}/BRL-CAD%20Source/${PORTVERSION} @@ -13,10 +13,10 @@ DEPRECATED= Depends on expring graphics/urt EXPIRATION_DATE=2017-04-01 -BUILD_DEPENDS= ${LOCALBASE}/include/tnt/jama_lu.h:math/jama \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs \ + ${LOCALBASE}/include/tnt/jama_lu.h:math/jama \ xsltproc:textproc/libxslt -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libdrm.so:graphics/libdrm \ +LIB_DEPENDS= libdrm.so:graphics/libdrm \ libpng.so:graphics/png \ librle.so:graphics/urt \ libfreetype.so:print/freetype2 \ Index: cad/openvsp/Makefile =================================================================== --- cad/openvsp/Makefile +++ cad/openvsp/Makefile @@ -3,6 +3,7 @@ PORTNAME= openvsp PORTVERSION= 3.10.0 +PORTREVISION= 1 DISTVERSIONPREFIX= ${GH_PROJECT}_ CATEGORIES= cad @@ -14,8 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libdrm.so:graphics/libdrm \ +LIB_DEPENDS= libdrm.so:graphics/libdrm \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ @@ -26,7 +26,8 @@ BUILD_DEPENDS= ${LOCALBASE}/lib/libopenNURBS.a:graphics/opennurbs \ ${LOCALBASE}/include/eli/code_eli.hpp:graphics/code-eli \ ${LOCALBASE}/include/glm/glm.hpp:math/glm \ - ${LOCALBASE}/include/eigen3/Eigen/Array:math/eigen3 + ${LOCALBASE}/include/eigen3/Eigen/Array:math/eigen3 \ + ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs USE_GITHUB= yes GH_PROJECT= OpenVSP Index: devel/fuel/Makefile =================================================================== --- devel/fuel/Makefile +++ devel/fuel/Makefile @@ -2,28 +2,33 @@ # $FreeBSD$ PORTNAME= fuel -DISTVERSION= 0.9.6 +DISTVERSION= 1.0.1 CATEGORIES= devel -MASTER_SITES= https://fuel-scm.googlecode.com/files/ +MASTER_SITES= https://fuel-scm.org/files/releases/ MAINTAINER= nukama+maintainer@gmail.com -COMMENT= GUI front-end to fossil SCM tool +COMMENT= GUI Front-End to the Fossil SCM tool LICENSE= GPLv2 -BROKEN= Unfetchable (google code has gone away) -DEPRECATED= Unfetchable for more than six months (google code has gone away) -EXPIRATION_DATE= 2017-04-30 - +BUILD_DEPENDS= bash:shells/bash RUN_DEPENDS= ${LOCALBASE}/bin/fossil:devel/fossil -USES= qmake -USE_QT4= corelib gui \ - moc_build rcc_build uic_build - -PLIST_FILES= bin/Fuel - -do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/Fuel ${STAGEDIR}${PREFIX}/bin/Fuel +OPTIONS_SINGLE= GUI +OPTIONS_SINGLE_GUI= QT4 QT5 +OPTIONS_DEFAULT= QT5 + +USES= qmake shebangfix +QT4_USE= QT4=corelib,gui,webkit,linguisttools_build,moc_build,rcc_build,uic_build +QT5_USE= QT5=core,gui,network,webkit,widgets,buildtools_build,linguisttools_build + +SHEBANG_FILES= intl/convert.sh +PLIST_FILES= bin/fuel share/applications/fuel.desktop \ + share/icons/hicolor/256x256/apps/fuel.png + +post-patch: + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \ + -e 's|/usr$$|${PREFIX}|' ${WRKSRC}/fuel.pro + @${REINPLACE_CMD} -e 's|/usr|${PREFIX}|' ${WRKSRC}/rsrc/fuel.desktop .include Index: devel/fuel/distinfo =================================================================== --- devel/fuel/distinfo +++ devel/fuel/distinfo @@ -1,2 +1,3 @@ -SHA256 (fuel-0.9.6.tar.gz) = 83b7e1f327f5c411d5f9f758fd74e9de274618fe601dea8128561186548381e2 -SIZE (fuel-0.9.6.tar.gz) = 3958347 +TIMESTAMP = 1489581484 +SHA256 (fuel-1.0.1.tar.gz) = 4e463cb9f3cf9c31c7ae95ce76b558502c0b07e1dd4109da714997f0dc9a65db +SIZE (fuel-1.0.1.tar.gz) = 4041886 Index: devel/fuel/pkg-descr =================================================================== --- devel/fuel/pkg-descr +++ devel/fuel/pkg-descr @@ -1,4 +1,4 @@ -Fuel is a cross-platform GUI front-end to the excellent fossil SCM tool, -implemented in Qt. +Fuel is a cross-platform GUI front-end for the excellent Fossil SCM tool +written in Qt. -WWW: https://code.google.com/p/fuel-scm/ +WWW: https://fuel-scm.org/fossil/home Index: devel/icu/Makefile =================================================================== --- devel/icu/Makefile +++ devel/icu/Makefile @@ -3,7 +3,7 @@ PORTNAME= icu DISTVERSION= 58_2 -PORTREVISION?= 0 # keep for icu-lx +PORTREVISION?= 1 # keep for icu-lx PORTEPOCH?= 1 CATEGORIES?= devel MASTER_SITES= http://download.icu-project.org/files/icu4c/${PORTVERSION}/ Index: devel/icu/files/patch-common_putil.cpp =================================================================== --- /dev/null +++ devel/icu/files/patch-common_putil.cpp @@ -0,0 +1,32 @@ +--- common/putil.cpp.orig 2016-10-19 17:20:56 UTC ++++ common/putil.cpp +@@ -1789,7 +1789,7 @@ remapPlatformDependentCodepage(const cha + */ + name = "ISO-8859-1"; + } +-#elif U_PLATFORM_IS_DARWIN_BASED ++#elif U_PLATFORM_IS_DARWIN_BASED || U_PLATFORM == U_PF_BSD + if (locale == NULL && *name == 0) { + /* + No locale was specified, and an empty name was passed in. +@@ -1808,11 +1808,6 @@ remapPlatformDependentCodepage(const cha + */ + name = "UTF-8"; + } +-#elif U_PLATFORM == U_PF_BSD +- if (uprv_strcmp(name, "CP949") == 0) { +- /* Remap CP949 to a similar codepage to avoid issues with backslash and won symbol. */ +- name = "EUC-KR"; +- } + #elif U_PLATFORM == U_PF_HPUX + if (locale != NULL && uprv_strcmp(locale, "zh_HK") == 0 && uprv_strcmp(name, "big5") == 0) { + /* HP decided to extend big5 as hkbig5 even though it's not compatible :-( */ +@@ -1942,7 +1937,7 @@ int_getDefaultCodepage() + nl_langinfo may use the same buffer as setlocale. */ + { + const char *codeset = nl_langinfo(U_NL_LANGINFO_CODESET); +-#if U_PLATFORM_IS_DARWIN_BASED || U_PLATFORM_IS_LINUX_BASED ++#if U_PLATFORM_IS_DARWIN_BASED || U_PLATFORM_IS_LINUX_BASED || U_PLATFORM == U_PF_BSD + /* + * On Linux and MacOSX, ensure that default codepage for non C/POSIX locale is UTF-8 + * instead of ASCII. Index: devel/libpthread-stubs/Makefile =================================================================== --- devel/libpthread-stubs/Makefile +++ devel/libpthread-stubs/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= libpthread-stubs -PORTVERSION= 0.3 -PORTREVISION= 6 +PORTVERSION= 0.4 CATEGORIES= devel MASTER_SITES= http://xcb.freedesktop.org/dist/ @@ -12,7 +11,8 @@ USES= libtool pathfix tar:bzip2 USE_LDCONFIG= yes - GNU_CONFIGURE= yes +PLIST_FILES= libdata/pkgconfig/pthread-stubs.pc + .include Index: devel/libpthread-stubs/distinfo =================================================================== --- devel/libpthread-stubs/distinfo +++ devel/libpthread-stubs/distinfo @@ -1,2 +1,3 @@ -SHA256 (libpthread-stubs-0.3.tar.bz2) = 35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299 -SIZE (libpthread-stubs-0.3.tar.bz2) = 203468 +TIMESTAMP = 1490198411 +SHA256 (libpthread-stubs-0.4.tar.bz2) = e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733 +SIZE (libpthread-stubs-0.4.tar.bz2) = 57565 Index: devel/libpthread-stubs/files/patch-Makefile.in =================================================================== --- devel/libpthread-stubs/files/patch-Makefile.in +++ /dev/null @@ -1,25 +0,0 @@ ---- Makefile.in.orig -+++ Makefile.in -@@ -75,9 +75,9 @@ - LTLIBRARIES = $(lib_LTLIBRARIES) - libpthread_stubs_la_LIBADD = - am__libpthread_stubs_la_SOURCES_DIST = stubs.c --@BUILD_LIB_TRUE@am_libpthread_stubs_la_OBJECTS = stubs.lo -+am_libpthread_stubs_la_OBJECTS = stubs.lo - libpthread_stubs_la_OBJECTS = $(am_libpthread_stubs_la_OBJECTS) --@BUILD_LIB_TRUE@am_libpthread_stubs_la_rpath = -rpath $(libdir) -+am_libpthread_stubs_la_rpath = -rpath $(libdir) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles -@@ -221,8 +221,8 @@ - top_srcdir = @top_srcdir@ - pkgconfigdir = $(prefix)/libdata/pkgconfig - pkgconfig_DATA = pthread-stubs.pc --@BUILD_LIB_TRUE@lib_LTLIBRARIES = libpthread-stubs.la --@BUILD_LIB_TRUE@libpthread_stubs_la_SOURCES = stubs.c -+lib_LTLIBRARIES = libpthread-stubs.la -+libpthread_stubs_la_SOURCES = stubs.c - all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - Index: devel/libpthread-stubs/files/patch-stubs.c =================================================================== --- devel/libpthread-stubs/files/patch-stubs.c +++ /dev/null @@ -1,28 +0,0 @@ -XXX This is a big hack as we cannot define pthread_condattr_{init,destroy} -here, or we will conflict with the weak symbols in libthr. The way our linker -works, the weak symbols will be resolved here, and pthread_condattr functions -will not work even in threaded applications. - -I am working to get these symbols added to libc, but in the meantime, this -is needed to avoid crashes in threaded applications which make use of -pthread_condattr*. ---- stubs.c.orig 2009-11-27 17:15:30.000000000 -0500 -+++ stubs.c 2009-11-27 17:16:29.000000000 -0500 -@@ -91,7 +91,7 @@ int pthread_cond_destroy() __attribute__ - # endif - #endif - --#ifndef HAVE_PTHREAD_CONDATTR_INIT -+#if 0 - #define NEED_ZERO_STUB - # ifdef SUPPORT_ATTRIBUTE_ALIAS - int pthread_condattr_init() __attribute__ ((weak, alias ("__pthread_zero_stub"))); -@@ -100,7 +100,7 @@ int pthread_condattr_init() __attribute_ - # endif - #endif - --#ifndef HAVE_PTHREAD_CONDATTR_DESTROY -+#if 0 - #define NEED_ZERO_STUB - # ifdef SUPPORT_ATTRIBUTE_ALIAS - int pthread_condattr_destroy() __attribute__ ((weak, alias ("__pthread_zero_stub"))); Index: devel/libpthread-stubs/pkg-plist =================================================================== --- devel/libpthread-stubs/pkg-plist +++ /dev/null @@ -1,5 +0,0 @@ -lib/libpthread-stubs.a -lib/libpthread-stubs.so -lib/libpthread-stubs.so.0 -lib/libpthread-stubs.so.0.0.0 -libdata/pkgconfig/pthread-stubs.pc Index: ftp/filezilla/Makefile =================================================================== --- ftp/filezilla/Makefile +++ ftp/filezilla/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= filezilla -PORTVERSION= 3.24.0 +PORTVERSION= 3.25.0 CATEGORIES= ftp MASTER_SITES= SF/${PORTNAME}/FileZilla_Client/${PORTVERSION} DISTNAME= FileZilla_${PORTVERSION}_src Index: ftp/filezilla/distinfo =================================================================== --- ftp/filezilla/distinfo +++ ftp/filezilla/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1484404999 -SHA256 (FileZilla_3.24.0_src.tar.bz2) = 3d5dd4899cdeca038afd330f24098a61a223f15b172611e0c210244911cd4cad -SIZE (FileZilla_3.24.0_src.tar.bz2) = 4635977 +TIMESTAMP = 1489523245 +SHA256 (FileZilla_3.25.0_src.tar.bz2) = 104e5f302dfef72cf9d235a880da159c93c9378ebfc48487ef07a1ba7f5834ac +SIZE (FileZilla_3.25.0_src.tar.bz2) = 4707698 Index: ftp/libfilezilla/Makefile =================================================================== --- ftp/libfilezilla/Makefile +++ ftp/libfilezilla/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= libfilezilla -PORTVERSION= 0.9.0 +PORTVERSION= 0.9.1 CATEGORIES= ftp MASTER_SITES= http://download.filezilla-project.org/${PORTNAME}/ Index: ftp/libfilezilla/distinfo =================================================================== --- ftp/libfilezilla/distinfo +++ ftp/libfilezilla/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1482678093 -SHA256 (libfilezilla-0.9.0.tar.bz2) = 41d02b3eb54be1b1fdab89104a28a47fb654465a8d9ad00446c221a27bd9800c -SIZE (libfilezilla-0.9.0.tar.bz2) = 383160 +TIMESTAMP = 1488994739 +SHA256 (libfilezilla-0.9.1.tar.bz2) = 18b2391771f330cccab2c55a66197b9098f236e616f26f86326795b900913b1a +SIZE (libfilezilla-0.9.1.tar.bz2) = 383315 Index: games/capicity/Makefile =================================================================== --- games/capicity/Makefile +++ games/capicity/Makefile @@ -3,7 +3,7 @@ PORTNAME= capicity PORTVERSION= 1.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= games MASTER_SITES= SF/capitalism/Capi%20City/${PORTVERSION}/ DISTNAME= CapiCity_${DISTVERSION} @@ -14,8 +14,8 @@ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/copying.txt -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libpcre.so:devel/pcre \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libpcre.so:devel/pcre \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ Index: games/capitalism/Makefile =================================================================== --- games/capitalism/Makefile +++ games/capitalism/Makefile @@ -3,7 +3,7 @@ PORTNAME= capitalism PORTVERSION= 0.5.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= games MASTER_SITES= SF/${PORTNAME}/Capitalism/0.5/ EXTRACT_SUFX= .tbz @@ -14,8 +14,8 @@ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/copying.txt -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libpcre.so:devel/pcre \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libpcre.so:devel/pcre \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ Index: games/eduke32/Makefile =================================================================== --- games/eduke32/Makefile +++ games/eduke32/Makefile @@ -3,11 +3,12 @@ PORTNAME= eduke32 PORTVERSION= 20170225 +PORTREVISION= 1 CATEGORIES= games MASTER_SITES= http://dukeworld.duke4.net/eduke32/synthesis/${PORTVERSION}-${SVNREVISION}/:eduke32 \ http://www.duke4.org/files/nightfright/hrp/:hrp \ http://burnbit.com/download/447717/:hrp \ - http://www.duke4.org/files/nightfright/:xxx \ + http://www.duke4.org/files/nightfright/related/:related \ ftp://ftp.3drealms.com/share/:shareware DISTFILES= ${PORTNAME}_src_${PORTVERSION}-${SVNREVISION}${EXTRACT_SUFX}:eduke32 EXTRACT_ONLY= ${PORTNAME}_src_${PORTVERSION}-${SVNREVISION}${EXTRACT_SUFX} @@ -16,11 +17,11 @@ COMMENT= Duke Nukem 3D Port based on JFDuke and EDuke LICENSE= GPLv2 BUILDLIC -LICENSE_FILE_GPLv2= ${WRKSRC}/source/duke3d/gpl-2.0.txt LICENSE_COMB= multi -LICENSE_PERMS_BUILDLIC= dist-mirror pkg-mirror auto-accept -LICENSE_NAME_BUILDLIC= BUILD SOURCE CODE LICENSE -LICENSE_FILE_BUILDLIC=${WRKSRC}/source/build/buildlic.txt +LICENSE_NAME_BUILDLIC= BUILD SOURCE CODE LICENSE +LICENSE_FILE_BUILDLIC= ${WRKSRC}/source/build/buildlic.txt +LICENSE_FILE_GPLv2= ${WRKSRC}/source/duke3d/gpl-2.0.txt +LICENSE_PERMS_BUILDLIC= dist-mirror pkg-mirror auto-accept LIB_DEPENDS= libFLAC.so:audio/flac \ libogg.so:audio/libogg \ @@ -35,52 +36,43 @@ USE_SDL= sdl2 mixer2 WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}-${SVNREVISION} SVNREVISION= 6079 -DATADIR= ${LOCALBASE}/share/duke3d +DATADIR= ${PREFIX}/share/duke3d SUB_FILES= pkg-message -SUB_LIST= DATADIR=${DATADIR} MAKEFILE= GNUmakefile +MAKE_ARGS= CC=${CC} CXX=${CXX} PLIST_FILES= bin/eduke32 bin/mapster32 PORTEXAMPLES= * BROKEN_sparc64= does not compile on sparc64 -OPTIONS_DEFINE= EXAMPLES HRP OFFENSIVE SHAREWARE -OPTIONS_RADIO= MIDI -OPTIONS_RADIO_MIDI= TIMIDITY TIMIDITYPLUS -OPTIONS_DEFAULT=TIMIDITY +OPTIONS_DEFINE= EXAMPLES HRP OFFENSIVE SHAREWARE VOXEL OPTIONS_DEFINE_i386= ASM OPTIONS_DEFAULT_i386= ASM ASM_BUILD_DEPENDS= nasm:devel/nasm -HRP_DESC= Install High Resolution Pack -HRP_DISTFILES= duke3d_hrp.zip:hrp +ASM_MAKE_ARGS_OFF= NOASM=1 +HRP_DESC= Install High Resolution Pack +HRP_DISTFILES= duke3d_hrp.zip:hrp HRP_PLIST_FILES= ${DATADIR}/duke3d_hrp.zip -MIDI_DESC= MIDI music support -OFFENSIVE_DESC= Install full XXX Pack +OFFENSIVE_DESC= Install Full XXX Pack OFFENSIVE_IMPLIES= HRP -OFFENSIVE_DISTFILES= duke3d_xxx.zip:xxx +OFFENSIVE_DISTFILES= duke3d_xxx.zip:related OFFENSIVE_PLIST_FILES= ${DATADIR}/duke3d_xxx.zip -SHAREWARE_DESC= Install shareware game data version 1.3 +SHAREWARE_DESC= Install shareware game data version 1.3 SHAREWARE_EXTRACT_ONLY= 3dduke13.zip SHAREWARE_DISTFILES= 3dduke13.zip:shareware -SHAREWARE_PLIST_FILES= ${DATADIR}/duke3d.grp -TIMIDITY_DESC= Use Timidity for music support -TIMIDITY_RUN_DEPENDS= timidity:audio/timidity -TIMIDITYPLUS_DESC= Use Timidity++ for music support -TIMIDITYPLUS_RUN_DEPENDS= timidity:audio/timidity++ +SHAREWARE_PLIST_FILES= ${DATADIR}/duke3d.grp ${DATADIR}/duke.rts +VOXEL_DESC= Install Voxel Pack +VOXEL_DISTFILES= duke3d_voxels.zip:related +VOXEL_PLIST_FILES= ${DATADIR}/duke3d_voxels.zip post-extract-SHAREWARE-on: @cd ${WRKDIR} && ${UNZIP_NATIVE_CMD} -qo DN3DSW13.SHR post-patch: - @${REINPLACE_CMD} -e '/^CC=/s|gcc|${CC}|' -e '/^CXX=/s|g++|${CXX}|' \ - ${WRKSRC}/GNUmakefile - @${REINPLACE_CMD} 's|/usr/share/games/eduke32|${DN3DDIR}|' \ - ${WRKSRC}/source/duke3d/src/game.cpp ${WRKSRC}/source/duke3d/src/astub.cpp - -post-patch-ASM-off: - @${REINPLACE_CMD} '/^NOASM =/s/0/1/' ${WRKSRC}/GNUmakefile + @${REINPLACE_CMD} 's|/usr/share/games/eduke32|${DATADIR}|' \ + ${WRKSRC}/source/duke3d/src/common.cpp do-install: ${INSTALL_PROGRAM} ${WRKSRC}/eduke32 ${STAGEDIR}${PREFIX}/bin @@ -102,5 +94,10 @@ do-install-SHAREWARE-on: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKDIR}/DUKE3D.GRP ${STAGEDIR}${DATADIR}/duke3d.grp + ${INSTALL_DATA} ${WRKDIR}/DUKE.RTS ${STAGEDIR}${DATADIR}/duke.rts + +do-install-VOXEL-on: + @${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${DISTDIR}/duke3d_voxels.zip ${STAGEDIR}${DATADIR}/duke3d_voxels.zip .include Index: games/eduke32/distinfo =================================================================== --- games/eduke32/distinfo +++ games/eduke32/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1488206145 +TIMESTAMP = 1489745171 SHA256 (eduke32_src_20170225-6079.tar.xz) = 23cecc904df1e1e528c499e775a4dce7417cc70b8d97e7dcef068ff197e6a0a7 SIZE (eduke32_src_20170225-6079.tar.xz) = 14759072 SHA256 (duke3d_hrp.zip) = f217df456b4f11055041731033e35e4402fada99253e714e37c4a27e6fdc78a5 @@ -7,3 +7,5 @@ SIZE (duke3d_xxx.zip) = 26586453 SHA256 (3dduke13.zip) = c67efd179022bc6d9bde54f404c707cbcbdc15423c20be72e277bc2bdddf3d0e SIZE (3dduke13.zip) = 5924374 +SHA256 (duke3d_voxels.zip) = b63deb1230554ecfd391699b85ae0be86ccb693657604378f0830ec0acec74e4 +SIZE (duke3d_voxels.zip) = 1743371 Index: games/eduke32/files/pkg-message.in =================================================================== --- games/eduke32/files/pkg-message.in +++ games/eduke32/files/pkg-message.in @@ -1,11 +1,15 @@ -============================================================================== +================================================================================ -To complete the installation of this port you need to copy the file -"DUKE3D.GRP" from the original Duke Nukem 3D distribution as "duke3d.grp" to -%%DATADIR%%, if you want to install it globally, and then run with --g %%DATADIR%%/duke3d.grp parameter. If you also installed any of the -optional packs, you need to add the -g parameter in the same manner. +To complete the installation of this port, you need to copy the files +DUKE3D.GRP and DUKE.RTS from the original Duke Nukem 3D distribution to +%%DATADIR%% with names "duke3d.grp" and "duke.rts" -If you installed the XXX Pack, you need to include both HRP and XXX Packs. +If you installed any of the optional packs, run the game with -g and the full +path of the pack file e.g. eduke32 -g %%DATADIR%%/duke3d_voxels.zip -============================================================================== +To use the XXX Pack, you need to first include the HRP, +i.e. eduke32 -g %%DATADIR%%/duke3d_hrp.zip -g %%DATADIR%%/duke3d_xxx.zip + +The Voxel pack is intended for use with classic textures, HRP has new models. + +================================================================================ Index: games/spellathon/Makefile =================================================================== --- games/spellathon/Makefile +++ games/spellathon/Makefile @@ -3,7 +3,7 @@ PORTNAME= spellathon PORTVERSION= 6.0 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= games MASTER_SITES= SF/${PORTNAME}/Spellathon%20${PORTVERSION} @@ -12,8 +12,8 @@ LICENSE= BSD2CLAUSE -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libpcre.so:devel/pcre \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libpcre.so:devel/pcre \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ Index: graphics/gbm/Makefile =================================================================== --- graphics/gbm/Makefile +++ graphics/gbm/Makefile @@ -8,8 +8,8 @@ COMMENT= gbm library -LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs \ - libexpat.so:textproc/expat2 \ +BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS+= libexpat.so:textproc/expat2 \ libdrm.so:graphics/libdrm \ libglapi.so:graphics/libglapi Index: graphics/libEGL/Makefile =================================================================== --- graphics/libEGL/Makefile +++ graphics/libEGL/Makefile @@ -8,8 +8,8 @@ COMMENT= OpenEGL library -LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs \ - libexpat.so:textproc/expat2 \ +BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS+= libexpat.so:textproc/expat2 \ libdrm.so:graphics/libdrm USE_GL= gbm Index: graphics/libdrm/Makefile =================================================================== --- graphics/libdrm/Makefile +++ graphics/libdrm/Makefile @@ -13,10 +13,9 @@ LICENSE= MIT -BUILD_DEPENDS= libdevq>=0.0.4:devel/libdevq +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs LIB_DEPENDS= libpciaccess.so:devel/libpciaccess \ - libdevq.so:devel/libdevq \ - libpthread-stubs.so:devel/libpthread-stubs + libdevq.so:devel/libdevq USES= libtool pkgconfig tar:bzip2 GNU_CONFIGURE= yes Index: graphics/libglapi/Makefile =================================================================== --- graphics/libglapi/Makefile +++ graphics/libglapi/Makefile @@ -10,7 +10,7 @@ LICENSE= MIT -LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs +BULID_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs USE_XORG= x11 xau xcb xdmcp xvmc Index: graphics/libreatlas/Makefile =================================================================== --- graphics/libreatlas/Makefile +++ graphics/libreatlas/Makefile @@ -3,7 +3,7 @@ PORTNAME= libreatlas PORTVERSION= 1.0.0a -PORTREVISION= 20 +PORTREVISION= 21 CATEGORIES= graphics geography MASTER_SITES= http://www.gaia-gis.it/gaia-sins/ @@ -12,10 +12,10 @@ LICENSE= GPLv3 +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs LIB_DEPENDS= libmspack.so:archivers/libmspack \ libspatialite.so:databases/spatialite \ libsqlite3.so:databases/sqlite3 \ - libpthread-stubs.so:devel/libpthread-stubs \ libpcre.so:devel/pcre \ libcairo.so:graphics/cairo \ libgeos.so:graphics/geos \ Index: lang/beignet/Makefile =================================================================== --- lang/beignet/Makefile +++ lang/beignet/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= beignet -PORTVERSION= 1.3.0 +PORTVERSION= 1.3.1 CATEGORIES= lang MASTER_SITES= https://01.org/sites/default/files/ DISTVERSIONSUFFIX= -source @@ -10,6 +10,9 @@ MAINTAINER= x11@FreeBSD.org COMMENT= OpenCL library for Intel GPUs +LICENSE= LGPL21+ +LICENSE_FILE= ${WRKSRC}/COPYING + BUILD_DEPENDS= clang${LLVMVER}:devel/llvm${LLVMVER} \ opencl>=0:devel/opencl LIB_DEPENDS= libOpenCL.so:devel/ocl-icd \ @@ -23,6 +26,7 @@ USE_XORG= sm ice x11 xext xfixes USE_GL= gl egl SHEBANG_FILES= src/git_sha1.sh backend/kernels/compile.sh +ALL_TARGET= all LLVMVER= 39 CMAKE_ARGS+= -DLLVM_CONFIG_EXECUTABLE=${LOCALBASE}/bin/llvm-config${LLVMVER} @@ -30,22 +34,33 @@ ONLY_FOR_ARCHS= i386 amd64 ONLY_FOR_ARCHS_REASON= Beignet needs a graphics driver supported by the Intel KMS driver -# running tests from makefile doesn't work quite yet, so comment them out for now. -#OPTIONS_DEFINE= TESTS -#TESTS_DESC= Build and run the test suite +OPTIONS_DEFINE= FP64 TEST +FP64_DESC= Double precision (experimental) + +FP64_CMAKE_BOOL= EXPERIMENTAL_DOUBLE +TEST_ALL_TARGET= flat_address_space utest_run + +.include + +.if ${ARCH} == amd64 +PLIST_SUB+= OCL20="" +.else # ${ARCH} == i386 +PLIST_SUB+= OCL20="@comment " +.endif post-patch: @${REINPLACE_CMD} -e 's|llvm-dis|llvm-dis${LLVMVER}|g; \ s|clang |clang${LLVMVER} |g' \ ${WRKSRC}/backend/kernels/compile.sh -#post-patch-TESTS-off: - @${REINPLACE_CMD} -e 's|ADD_SUBDIRECTORY(utests)||g' \ - ${WRKSRC}/CMakeLists.txt + +# XXX bug 213732: compiler_fill_gl_image() [FAILED] +do-test-TEST-on: + -@(cd ${TEST_WRKSRC}/utests; . ./setenv.sh; \ + ./flat_address_space; ./utest_run; ) + +pre-install-TEST-on: do-test-TEST-on post-install: @${RM} -r ${STAGEDIR}${PREFIX}/include/CL -#post-install-TESTS-on: -# @cd ${WRKSRC}/utests && sh ./setenv.sh && ./utest_run - .include Index: lang/beignet/distinfo =================================================================== --- lang/beignet/distinfo +++ lang/beignet/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1488314347 -SHA256 (beignet-1.3.0-source.tar.gz) = 63d98b4fe8fba3dbc0299d29fef84560625e5ac51b16b8fed453021d4afb5cd5 -SIZE (beignet-1.3.0-source.tar.gz) = 1133643 +TIMESTAMP = 1489436686 +SHA256 (beignet-1.3.1-source.tar.gz) = 399b7bc64d674b3092683263f7c085c5592686b9d837817e77857248e5cb561f +SIZE (beignet-1.3.1-source.tar.gz) = 1136608 Index: lang/beignet/files/patch-CMakeLists.txt =================================================================== --- lang/beignet/files/patch-CMakeLists.txt +++ lang/beignet/files/patch-CMakeLists.txt @@ -1,4 +1,4 @@ ---- CMakeLists.txt.orig 2017-01-20 10:44:56 UTC +--- CMakeLists.txt.orig 2017-03-13 07:23:01 UTC +++ CMakeLists.txt @@ -31,7 +31,6 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINA @@ -17,7 +17,7 @@ # XLib Find_Package(X11) -@@ -219,7 +218,7 @@ IF(OCLIcd_FOUND) +@@ -217,7 +216,7 @@ IF(OCLIcd_FOUND) "intel-beignet.icd.in" "${ICD_FILE_NAME}" ) @@ -25,4 +25,4 @@ + install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/etc/OpenCL/vendors) ELSE(OCLIcd_FOUND) MESSAGE(STATUS "Looking for OCL ICD header file - not found") - ENDIF(OCLIcd_FOUND) + MESSAGE(FATAL_ERROR "OCL ICD loader miss. If you really want to disable OCL ICD support, please run cmake with option -DOCLICD_COMPAT=0.") Index: lang/beignet/files/patch-CMake_FindLLVM.cmake =================================================================== --- lang/beignet/files/patch-CMake_FindLLVM.cmake +++ lang/beignet/files/patch-CMake_FindLLVM.cmake @@ -1,4 +1,4 @@ ---- CMake/FindLLVM.cmake.orig 2017-01-20 10:40:51 UTC +--- CMake/FindLLVM.cmake.orig 2017-02-14 09:37:24 UTC +++ CMake/FindLLVM.cmake @@ -46,21 +46,21 @@ endif (LLVM_FIND_VERSION_MAJOR AND LLVM_ Index: lang/beignet/files/patch-src_cl__device__id.c =================================================================== --- lang/beignet/files/patch-src_cl__device__id.c +++ lang/beignet/files/patch-src_cl__device__id.c @@ -1,4 +1,4 @@ ---- src/cl_device_id.c.orig 2017-01-20 10:40:51 UTC +--- src/cl_device_id.c.orig 2017-02-14 09:40:26 UTC +++ src/cl_device_id.c @@ -34,7 +34,12 @@ #include @@ -14,14 +14,14 @@ #ifndef CL_VERSION_1_2 #define CL_DEVICE_BUILT_IN_KERNELS 0x103F @@ -258,6 +263,7 @@ LOCAL cl_device_id - cl_get_gt_device(void) + cl_get_gt_device(cl_device_type device_type) { cl_device_id ret = NULL; +/* FIXME check cl_driver_get_device_id() */ const int device_id = cl_driver_get_device_id(); cl_device_id device = NULL; -@@ -743,7 +749,7 @@ kbl_gt4_break: +@@ -747,7 +753,7 @@ kbl_gt4_break: case PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS: case PCI_CHIP_SANDYBRIDGE_BRIDGE_S: case PCI_CHIP_SANDYBRIDGE_S_GT: @@ -30,7 +30,7 @@ ret = NULL; break; default: -@@ -764,6 +770,7 @@ kbl_gt4_break: +@@ -768,6 +774,7 @@ kbl_gt4_break: /* Apply any driver-dependent updates to the device info */ cl_driver_update_device_info(ret); @@ -38,7 +38,7 @@ #define toMB(size) (size)&(UINT64_MAX<<20) /* Get the global_mem_size and max_mem_alloc size from * driver, system ram and hardware*/ -@@ -783,6 +790,24 @@ kbl_gt4_break: +@@ -787,6 +794,24 @@ kbl_gt4_break: ret->max_mem_alloc_size = toMB((ret->global_mem_size * 3 / 4 > maxallocmem) ? maxallocmem: ret->global_mem_size * 3 / 4); } Index: lang/beignet/files/patch-src_git__sha1.sh =================================================================== --- lang/beignet/files/patch-src_git__sha1.sh +++ lang/beignet/files/patch-src_git__sha1.sh @@ -1,4 +1,4 @@ ---- src/git_sha1.sh.orig 2017-02-28 21:01:04 UTC +--- src/git_sha1.sh.orig 2017-03-13 21:02:42 UTC +++ src/git_sha1.sh @@ -1,4 +1,4 @@ -#!/usr/local/bin/bash Index: lang/beignet/files/patch-utests_CMakeLists.txt =================================================================== --- lang/beignet/files/patch-utests_CMakeLists.txt +++ lang/beignet/files/patch-utests_CMakeLists.txt @@ -1,6 +1,6 @@ ---- utests/CMakeLists.txt.orig 2017-01-20 10:40:51 UTC +--- utests/CMakeLists.txt.orig 2017-02-14 09:37:49 UTC +++ utests/CMakeLists.txt -@@ -333,12 +333,12 @@ list (GET GBE_BIN_GENERATER -1 GBE_BIN_F +@@ -329,12 +329,12 @@ list (GET GBE_BIN_GENERATER -1 GBE_BIN_F if(GEN_PCI_ID) ADD_CUSTOM_COMMAND( OUTPUT ${kernel_bin}.bin Index: lang/beignet/files/patch-utests_image__from__buffer.cpp =================================================================== --- /dev/null +++ lang/beignet/files/patch-utests_image__from__buffer.cpp @@ -0,0 +1,20 @@ +--- utests/image_from_buffer.cpp.orig 2017-03-13 21:06:07 UTC ++++ utests/image_from_buffer.cpp +@@ -1,6 +1,6 @@ + #include + #include "utest_helper.hpp" +-#include ++#include + #include + + static void image_from_buffer(void) +@@ -33,8 +33,7 @@ static void image_from_buffer(void) + // Setup kernel and images + size_t buffer_sz = sizeof(uint32_t) * w * h; + uint32_t* src_data; +- src_data = (uint32_t*)memalign(base_address_alignment, buffer_sz); +- if(!src_data) { ++ if(posix_memalign((void**)&src_data, base_address_alignment, buffer_sz)) { + fprintf(stderr, "run out of memory\n"); + return; + } Index: lang/beignet/pkg-plist =================================================================== --- lang/beignet/pkg-plist +++ lang/beignet/pkg-plist @@ -1,6 +1,8 @@ etc/OpenCL/vendors/intel-beignet.icd lib/beignet/beignet.bc lib/beignet/beignet.pch +%%OCL20%%lib/beignet/beignet_20.bc +%%OCL20%%lib/beignet/beignet_20.pch lib/beignet/include/ocl.h lib/beignet/include/ocl_as.h lib/beignet/include/ocl_async.h Index: net-p2p/libtorrent-rasterbar-python/Makefile =================================================================== --- net-p2p/libtorrent-rasterbar-python/Makefile +++ net-p2p/libtorrent-rasterbar-python/Makefile @@ -1,7 +1,6 @@ # Created by: Doug Barton # $FreeBSD$ -PORTREVISION= 2 CATEGORIES= net-p2p python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} Index: net/x11vnc/Makefile =================================================================== --- net/x11vnc/Makefile +++ net/x11vnc/Makefile @@ -3,7 +3,7 @@ PORTNAME= x11vnc PORTVERSION= 0.9.13 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= net MASTER_SITES= SF/libvncserver/${PORTNAME}/${PORTVERSION} @@ -12,8 +12,8 @@ LICENSE= GPLv2 -LIB_DEPENDS= libdbus-1.so:devel/dbus \ - libpthread-stubs.so:devel/libpthread-stubs +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libdbus-1.so:devel/dbus USE_XORG= x11 xcb xdamage xfixes xrandr xinerama xext xtst xau xrender \ xdmcp recordproto Index: science/massxpert/Makefile =================================================================== --- science/massxpert/Makefile +++ science/massxpert/Makefile @@ -3,7 +3,7 @@ PORTNAME= massxpert PORTVERSION= 3.4.0 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= science MASTER_SITES= http://download.tuxfamily.org/massxpert/source/ @@ -12,8 +12,8 @@ LICENSE= GPLv3 -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libpcre.so:devel/pcre \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libpcre.so:devel/pcre \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ Index: sysutils/ksysguardd/Makefile =================================================================== --- sysutils/ksysguardd/Makefile +++ sysutils/ksysguardd/Makefile @@ -2,10 +2,8 @@ PORTNAME= ksysguardd PORTVERSION= ${KDE4_WORKSPACE_VERSION} -CATEGORIES= sysutils kde -MASTER_SITES= KDE/${KDE4_APPLICATIONS_BRANCH}/applications/${KDE4_APPLICATIONS_VERSION}/src +CATEGORIES= sysutils kde kde-applications DISTNAME= kde-workspace-${PORTVERSION} -DIST_SUBDIR= KDE/${PORTVERSION} MAINTAINER= kde@FreeBSD.org COMMENT= KDE System Guard Daemon @@ -15,6 +13,8 @@ CMAKE_ARGS+= -DBIN_INSTALL_DIR:STRING="${PREFIX}/bin" \ -DSYSCONF_INSTALL_DIR:STRING="${PREFIX}/etc" +KDE_APPLICATIONS_VERSION= 15.08.0 + EXTRACT_AFTER_ARGS= '${DISTNAME}/ksysguard/${PORTNAME}' \ '${DISTNAME}/ksysguard/example/${PORTNAME}rc' \ '${DISTNAME}/ksysguard/gui/SignalIDs.h' Index: sysutils/ksysguardd/files/patch-CMakeLists.txt =================================================================== --- sysutils/ksysguardd/files/patch-CMakeLists.txt +++ sysutils/ksysguardd/files/patch-CMakeLists.txt @@ -1,4 +1,4 @@ ---- CMakeLists.txt.orig 2014-10-10 07:47:23 UTC +--- CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ CMakeLists.txt @@ -7,16 +7,19 @@ include_directories( ${CMAKE_CURRENT_SOU # Laurent: Verify that we install it into (kdeprefix)/etc/ and not into /etc Index: sysutils/ksysguardd/files/patch-config-ksysguardd.h.cmake =================================================================== --- sysutils/ksysguardd/files/patch-config-ksysguardd.h.cmake +++ sysutils/ksysguardd/files/patch-config-ksysguardd.h.cmake @@ -1,5 +1,5 @@ ---- ./config-ksysguardd.h.cmake.orig 2011-02-25 22:54:48.000000000 +0100 -+++ ./config-ksysguardd.h.cmake 2011-03-05 16:30:54.367061295 +0100 +--- config-ksysguardd.h.cmake.orig 2015-08-12 07:03:15 UTC ++++ config-ksysguardd.h.cmake @@ -1,3 +1,4 @@ #cmakedefine HAVE_LMSENSORS 1 #cmakedefine HAVE_XRES 1 Index: sysutils/ksysguardd/files/patch-modules.h =================================================================== --- /dev/null +++ sysutils/ksysguardd/files/patch-modules.h @@ -0,0 +1,13 @@ +* Silence a syntax warning + +--- modules.h.orig 2015-08-12 07:03:15 UTC ++++ modules.h +@@ -144,7 +144,7 @@ struct SensorModul SensorModulList[] = { + { "Uptime", initUptime, exitUptime, NULLIVFUNC, NULLVVFUNC, 0, NULLTIME }, + #endif /* OSTYPE_Linux */ + +-#if defined OSTYPE_FreeBSD || defined OSTYPE_DragonFly ++#if defined(OSTYPE_FreeBSD) || defined(OSTYPE_DragonFly) + { "Acpi", initACPI, exitACPI, updateACPI, NULLVVFUNC, 0, NULLTIME }, + #ifdef __i386__ + { "Apm", initApm, exitApm, updateApm, NULLVVFUNC, 0, NULLTIME }, Index: www/Makefile =================================================================== --- www/Makefile +++ www/Makefile @@ -2208,6 +2208,7 @@ SUBDIR += tomcat6 SUBDIR += tomcat7 SUBDIR += tomcat8 + SUBDIR += tomcat85 SUBDIR += tomee SUBDIR += trac SUBDIR += trac-OhlohWidgetsMacro Index: www/tomcat85/Makefile =================================================================== --- www/tomcat85/Makefile +++ www/tomcat85/Makefile @@ -2,14 +2,14 @@ # $FreeBSD$ PORTNAME= tomcat -PORTVERSION= 8.0.41 +PORTVERSION= 8.5.12 CATEGORIES= www java MASTER_SITES= APACHE/tomcat/tomcat-8/v${PORTVERSION}/bin -PKGNAMESUFFIX= 8 +PKGNAMESUFFIX= 85 DISTNAME= apache-${PORTNAME}-${PORTVERSION} -MAINTAINER= ale@FreeBSD.org -COMMENT= Open-source Java web server by Apache, 8.x branch +MAINTAINER= vvd@unislabs.com +COMMENT= Open-source Java web server by Apache, 8.5.x branch LICENSE= APACHE20 @@ -29,7 +29,8 @@ TOMCAT_HOME= ${PREFIX}/${TOMCAT_SUBDIR} TOMCAT_CONF_FILES= \ catalina.policy catalina.properties context.xml logging.properties \ - server.xml tomcat-users.xml tomcat-users.xsd web.xml + server.xml tomcat-users.xml tomcat-users.xsd web.xml \ + jaspic-providers.xml jaspic-providers.xsd PLIST_SUB= T=${TOMCAT_SUBDIR} \ WWWOWN=${WWWOWN} WWWGRP=${WWWGRP} Index: www/tomcat85/distinfo =================================================================== --- www/tomcat85/distinfo +++ www/tomcat85/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1487233810 -SHA256 (apache-tomcat-8.0.41.tar.gz) = a57204b5434755b5767299bbcd32e3afd2d6327cafa6b8372077f824aa7176d7 -SIZE (apache-tomcat-8.0.41.tar.gz) = 9254743 +TIMESTAMP = 1490321344 +SHA256 (apache-tomcat-8.5.12.tar.gz) = 6d2cad1b595d0cc8083f9bbbb73c359d611249c7eaf283c40cb4ae4ca9c4644a +SIZE (apache-tomcat-8.5.12.tar.gz) = 9353658 Index: www/tomcat85/files/tomcat85.in =================================================================== --- www/tomcat85/files/tomcat85.in +++ www/tomcat85/files/tomcat85.in @@ -1,65 +1,65 @@ #!/bin/sh # -# $FreeBSD: head/www/tomcat8/files/tomcat8.in 359492 2014-06-27 10:14:46Z ale $ +# $FreeBSD: head/www/tomcat85/files/tomcat85.in 359492 2014-06-27 10:14:46Z ale $ # -# PROVIDE: tomcat8 +# PROVIDE: tomcat85 # REQUIRE: LOGIN # KEYWORD: shutdown # -# Configuration settings for tomcat8 in /etc/rc.conf: +# Configuration settings for tomcat85 in /etc/rc.conf: # -# tomcat8_enable (bool): +# tomcat85_enable (bool): # Set to "NO" by default. -# Set it to "YES" to enable tomcat8 +# Set it to "YES" to enable tomcat85 # -# tomcat8_catalina_base (str) +# tomcat85_catalina_base (str) # Set to "%%TOMCAT_HOME%%" by default. # Set the CATALINA_BASE variable for the Tomcat process # -# tomcat8_catalina_tmpdir (str) +# tomcat85_catalina_tmpdir (str) # Set to "${catalina.base}/temp" by default. # Set the CATALINA_TMPDIR variable for the Tomcat process # -# tomcat8_stdout (str) +# tomcat85_stdout (str) # Set to "${catalina.base}/logs/catalina.out" by default. # Set the stdout redirection. It may also be '/dev/null', '&1' or '&2' # -# tomcat8_stderr (str) +# tomcat85_stderr (str) # Set to "&1" by default. # Set the stderr redirection. It may also be '/dev/null', '&1' or '&2' # -# tomcat8_pipe_cmd (str): +# tomcat85_pipe_cmd (str): # Set to "" by default. # Set a piped command to process stdout/stderr when passthru # -# tomcat8_logging_manager (str): +# tomcat85_logging_manager (str): # Set to "org.apache.juli.ClassLoaderLogManager" by default. # Set the JUL log manager # -# tomcat8_logging_config (str): +# tomcat85_logging_config (str): # Set to "${catalina.base}/conf/logging.properties" by default. # Set the JUL config file # -# tomcat8_java_home (str): +# tomcat85_java_home (str): # Set to "%%JAVA_HOME%%" by default. # Specify the Java VM to use. # -# tomcat8_classpath (str): +# tomcat85_classpath (str): # Set to "" by default. # Addtional classes to add to the CLASSPATH. If set, must start with ':' # -# tomcat8_java_opts (str): +# tomcat85_java_opts (str): # Set to "" by default. # Java VM args to use. # -# tomcat8_wait (int): +# tomcat85_wait (int): # Set to "30" by default. # Set the wait time (in seconds) for Tomcat process startup # # You may symlink this script with other names to run multiple -# instances of tomcat8 with different configurations. +# instances of tomcat85 with different configurations. # . /etc/rc.subr Index: www/tomcat85/pkg-descr =================================================================== --- www/tomcat85/pkg-descr +++ www/tomcat85/pkg-descr @@ -1,9 +1,9 @@ Apache Tomcat is a web server written in 100% Pure Java. -Apache Tomcat version 8.0 implements the Servlet 3.1, JavaServer Pages 2.3, -Java Unified Expression Language 3.0 and Java WebSocket 1.0 specifications +Apache Tomcat version 8.5 implements the Servlet 3.1, JavaServer Pages 2.3, +Java Unified Expression Language 3.0 and Java WebSocket 1.1 specifications from the Java Community Process, and includes many additional features that make it a useful platform for developing and deploying web applications and -web services. Tomcat 8 is aligned with Java EE 7. +web services. Tomcat 8.5 is aligned with Java EE 7. WWW: http://tomcat.apache.org/ Index: www/tomcat85/pkg-plist =================================================================== --- www/tomcat85/pkg-plist +++ www/tomcat85/pkg-plist @@ -22,6 +22,8 @@ @sample %%T%%/conf/catalina.policy.sample @sample %%T%%/conf/catalina.properties.sample @sample %%T%%/conf/context.xml.sample +@sample %%T%%/conf/jaspic-providers.xml.sample +@sample %%T%%/conf/jaspic-providers.xsd.sample @sample %%T%%/conf/logging.properties.sample @sample %%T%%/conf/server.xml.sample @sample %%T%%/conf/tomcat-users.xml.sample @@ -37,10 +39,11 @@ %%T%%/lib/catalina-storeconfig.jar %%T%%/lib/catalina-tribes.jar %%T%%/lib/catalina.jar -%%T%%/lib/ecj-4.5.1.jar +%%T%%/lib/ecj-4.6.1.jar %%T%%/lib/el-api.jar %%T%%/lib/jasper-el.jar %%T%%/lib/jasper.jar +%%T%%/lib/jaspic-api.jar %%T%%/lib/jsp-api.jar %%T%%/lib/servlet-api.jar %%T%%/lib/tomcat-api.jar @@ -135,9 +138,11 @@ %%T%%/webapps/docs/config/globalresources.html %%T%%/webapps/docs/config/host.html %%T%%/webapps/docs/config/http.html +%%T%%/webapps/docs/config/http2.html %%T%%/webapps/docs/config/index.html %%T%%/webapps/docs/config/jar-scan-filter.html %%T%%/webapps/docs/config/jar-scanner.html +%%T%%/webapps/docs/config/jaspic.html %%T%%/webapps/docs/config/listeners.html %%T%%/webapps/docs/config/loader.html %%T%%/webapps/docs/config/manager.html @@ -263,9 +268,6 @@ %%T%%/webapps/examples/WEB-INF/classes/cal/JspCalendar.java %%T%%/webapps/examples/WEB-INF/classes/cal/TableBean.class %%T%%/webapps/examples/WEB-INF/classes/cal/TableBean.java -%%T%%/webapps/examples/WEB-INF/classes/chat/ChatServlet$MessageSender.class -%%T%%/webapps/examples/WEB-INF/classes/chat/ChatServlet.class -%%T%%/webapps/examples/WEB-INF/classes/chat/ChatServlet.java %%T%%/webapps/examples/WEB-INF/classes/checkbox/CheckTest.class %%T%%/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java %%T%%/webapps/examples/WEB-INF/classes/colors/ColorGameBean.class @@ -296,6 +298,8 @@ %%T%%/webapps/examples/WEB-INF/classes/examples/ValuesTag.java %%T%%/webapps/examples/WEB-INF/classes/filters/ExampleFilter.class %%T%%/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java +%%T%%/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.class +%%T%%/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java %%T%%/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.class %%T%%/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java %%T%%/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.class @@ -580,12 +584,6 @@ %%T%%/webapps/examples/jsp/xml/xml.html %%T%%/webapps/examples/jsp/xml/xml.jsp %%T%%/webapps/examples/jsp/xml/xml.jsp.html -%%T%%/webapps/examples/servlets/chat/index.jsp -%%T%%/webapps/examples/servlets/chat/index.jsp.html -%%T%%/webapps/examples/servlets/chat/login.jsp -%%T%%/webapps/examples/servlets/chat/login.jsp.html -%%T%%/webapps/examples/servlets/chat/post.jsp -%%T%%/webapps/examples/servlets/chat/post.jsp.html %%T%%/webapps/examples/servlets/cookies.html %%T%%/webapps/examples/servlets/helloworld.html %%T%%/webapps/examples/servlets/images/code.gif Index: x11-servers/xephyr/Makefile =================================================================== --- x11-servers/xephyr/Makefile +++ x11-servers/xephyr/Makefile @@ -16,8 +16,6 @@ DESCR= ${.CURDIR}/pkg-descr SLAVE_PORT= yes -OPTIONS_EXCLUDE=DEVD HAL SUID - USE_XORG= x11 xcb CONFIGURE_ARGS+=--enable-xephyr --disable-dmx --disable-xnest --disable-xvfb \ Index: x11-servers/xorg-dmx/Makefile =================================================================== --- x11-servers/xorg-dmx/Makefile +++ x11-servers/xorg-dmx/Makefile @@ -11,8 +11,6 @@ DESCR= ${.CURDIR}/pkg-descr SLAVE_PORT= yes -OPTIONS_EXCLUDE=DEVD HAL SUID - USE_XORG= dmx dmxproto x11 xaw7 xext xfixes xi xmu xpm xrender xres xt xtst CONFIGURE_ARGS+=--enable-dmx --disable-xephyr --disable-xnest --disable-xvfb \ Index: x11-servers/xorg-nestserver/Makefile =================================================================== --- x11-servers/xorg-nestserver/Makefile +++ x11-servers/xorg-nestserver/Makefile @@ -2,7 +2,6 @@ # $FreeBSD$ PORTNAME= xorg-nestserver -PORTVERSION= 1.19.1 PORTEPOCH= 2 COMMENT= Nesting X server from X.Org @@ -11,15 +10,11 @@ MASTERDIR= ${.CURDIR}/../xorg-server DESCR= ${.CURDIR}/pkg-descr -DISTINFO_FILE= ${.CURDIR}/distinfo -PATCHDIR= ${.CURDIR}/files RUN_DEPENDS= xkeyboard-config>=2.5:x11/xkeyboard-config SLAVE_PORT= yes -OPTIONS_EXCLUDE=DEVD HAL SUID - -USE_XORG= x11 xext xfont2 +USE_XORG= x11 xext CONFIGURE_ARGS+=--enable-xnest --disable-dmx --disable-xephyr --disable-xvfb \ --disable-xwayland Index: x11-servers/xorg-nestserver/distinfo =================================================================== --- x11-servers/xorg-nestserver/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1484388904 -SHA256 (xorg/xserver/xorg-server-1.19.1.tar.bz2) = 79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb -SIZE (xorg/xserver/xorg-server-1.19.1.tar.bz2) = 6041792 Index: x11-servers/xorg-server/Makefile =================================================================== --- x11-servers/xorg-server/Makefile +++ x11-servers/xorg-server/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME?= xorg-server -PORTVERSION?= 1.18.4 +PORTVERSION?= 1.19.3 PORTREVISION?= 0 PORTEPOCH?= 1 CATEGORIES= x11-servers @@ -23,29 +23,39 @@ OPTIONS_SUB= yes OPTIONS_DEFINE= SUID OPTIONS_RADIO= CONF -OPTIONS_RADIO_CONF= DEVD HAL -DEVD_DESC= Use devd for autoconfiguration of input devices -HAL_DESC= Use hald for autoconfiguration of input devices -SUID_DESC= Install the Xorg server with setuid bit set -OPTIONS_DEFAULT=DEVD SUID +OPTIONS_RADIO_CONF= DEVD HAL UDEV +OPTIONS_DEFAULT= DEVD SUID + +SUID_DESC= Install setuid wrapper to allow startx as non-root +CONF_DESC= Backend to use for input device configuration +DEVD_DESC= Use devd (native) +HAL_DESC= Use HAL (deprecated) +UDEV_DESC= Use udev via libudev-devd (experimental) OPTIONS_EXCLUDE_sparc64= HAL -.include +DEVD_CONFIGURE_ENABLE= config-devd +HAL_CONFIGURE_ENABLE= config-hal +HAL_LIB_DEPENDS= libhal.so:sysutils/hal \ + libdbus-1.so:devel/dbus +SUID_CONFIGURE_ENABLE= suid-wrapper +SUID_CONFIGURE_ON= --libexecdir=${PREFIX}/bin # set SUID_WRAPPER_DIR +UDEV_CONFIGURE_ENABLE= config-udev +UDEV_CONFIGURE_ON= --disable-config-udev-kms +UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd -USES= gmake libtool perl5 ssl tar:bzip2 +USES= gmake perl5 ssl USE_PERL5= build USE_GL+= gl USE_XORG+= bigreqsproto compositeproto damageproto dri2proto dri3proto \ fixesproto fontsproto glproto inputproto kbproto pixman \ presentproto randrproto recordproto renderproto \ resourceproto scrnsaverproto videoproto xau \ - xcmiscproto xdmcp xextproto xf86driproto xfont \ + xcmiscproto xdmcp xextproto xf86driproto xfont2 \ xineramaproto xkbfile xproto xshmfence xtrans CONFIGURE_ARGS+=--without-doxygen --without-xmlto --without-fop \ - --localstatedir=/var --with-shared-memory-dir=/tmp \ - --disable-config-udev --disable-config-udev-kms \ - --without-dtrace --enable-glamor + --without-dtrace --with-shared-memory-dir=/tmp \ + --disable-install-setuid INSTALL_TARGET= install-strip .if ${SLAVE_PORT} == "no" || ${PORTNAME} == "xephyr" || ${PORTNAME} == "xwayland" @@ -62,9 +72,9 @@ --disable-xwayland SUB_FILES= pkg-install pkg-deinstall .else -CONFIGURE_ARGS+=--disable-xorg -# for slave ports we need to overwrite PLIST, so it doesn't overwrite -# PLIST_FILES, with the masterport plist. +CONFIGURE_ARGS+= --disable-xorg +OPTIONS_EXCLUDE= DEVD HAL UDEV SUID +# Set PLIST for slave ports so they only need to set PLIST_FILES PLIST= ${.CURDIR}/pkg-plist .endif @@ -77,16 +87,6 @@ CONFIGURE_ENV= SHA1_LIB="-L/usr/lib -lcrypto" SHA1_CFLAGS="-I/usr/include" .endif -.if ${PORT_OPTIONS:MHAL} -LIB_DEPENDS+= libhal.so:sysutils/hal -CONFIGURE_ARGS+= --enable-config-hal -.else -CONFIGURE_ARGS+= --disable-config-hal -.endif - -# We handle Xorg setuid in the plist. This allows to build xorg-server as a user. -CONFIGURE_ARGS+=--disable-install-setuid - .if ${ARCH} == "i386" || ${ARCH} == "amd64" LIB_DEPENDS+= libunwind.so:devel/libunwind .endif @@ -97,39 +97,15 @@ PLIST_SUB+= SPARC64="@comment " .endif -.if ${PORT_OPTIONS:MSUID} -pre-everything:: - @${ECHO_MSG} "By default, the X Server installs as a set-user-id root binary. When run by" - @${ECHO_MSG} "a normal user, it checks arguments and environment as done in the x11/wrapper" - @${ECHO_MSG} "port before handling them normally. If you are concerned about the security" - @${ECHO_MSG} "of this, but still want to run an X Server (for example using xdm/kdm/gdm," - @${ECHO_MSG} "which will still run the server as root), you can cancel the build and set" - @${ECHO_MSG} "xorg-server_UNSET=SUID in /etc/make.conf." -.endif - post-patch: @${REINPLACE_CMD} 's/test.*-traditional.*;/true;/' \ ${WRKSRC}/configure -# build libglx.so but don't install it yet. which is done in pre-install. - @${REINPLACE_CMD} -e 's|@GLX_TRUE@GLXMODS =|@GLX_BOGUS@GLXMODS =|g' \ - -e 's|^LTLIBRARIES = |LTLIBRARIES = libglx.la |g' \ - ${WRKSRC}/hw/xfree86/dixmods/Makefile.in - -post-configure: -.if ${PORT_OPTIONS:MDEVD} - @${REINPLACE_CMD} -e 's|config\.c|config.c devd.c|g' \ - -e 's|config\.lo|config.lo devd.lo|g' \ - ${WRKSRC}/config/Makefile - @${REINPLACE_CMD} -e 's|^/\* #undef CONFIG_UDEV \*/|#define CONFIG_DEVD 1|' \ - ${WRKSRC}/include/dix-config.h -.endif .if ${SLAVE_PORT} == "no" post-install: -# The .xorg dir because else the xorg-server might not load the correct -# libglx module. +# Avoid conflict with nvidia-driver, move libglx.so into .xorg directory @${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg - ${INSTALL_LIB} ${WRKSRC}/hw/xfree86/dixmods/.libs/libglx.so \ + ${MV} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/libglx.so \ ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg/ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/X11/xorg.conf.d .endif # ! SLAVE_PORT Index: x11-servers/xorg-server/distinfo =================================================================== --- x11-servers/xorg-server/distinfo +++ x11-servers/xorg-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1484803304 -SHA256 (xorg/xserver/xorg-server-1.18.4.tar.bz2) = 278459b2c31d61a15655d95a72fb79930c480a6bb8cf9226e48a07df8b1d31c8 -SIZE (xorg/xserver/xorg-server-1.18.4.tar.bz2) = 6009508 +TIMESTAMP = 1489641765 +SHA256 (xorg/xserver/xorg-server-1.19.3.tar.bz2) = 677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98 +SIZE (xorg/xserver/xorg-server-1.19.3.tar.bz2) = 6050221 Index: x11-servers/xorg-server/files/config_Makefile.am =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/config_Makefile.am @@ -0,0 +1,16 @@ +* Build the devd config backend if activated +* +--- config/Makefile.am.orig 2017-03-16 05:24:43 UTC ++++ config/Makefile.am +@@ -4,6 +4,11 @@ noinst_LTLIBRARIES = libconfig.la + libconfig_la_SOURCES = config.c config-backends.h + libconfig_la_LIBADD = + ++if CONFIG_DEVD ++libconfig_la_SOURCES += devd.c ++libconfig_la_LIBADD += -lusbhid ++endif ++ + if NEED_DBUS + AM_CFLAGS += $(DBUS_CFLAGS) + libconfig_la_SOURCES += dbus-core.c Index: x11-servers/xorg-server/files/configure.ac =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/configure.ac @@ -0,0 +1,97 @@ +* Plumb the devd config backend into configure +* +* define USE_DEV_IO for ARM platforms +* +* Only run pkg-config for udev if it is not disabled to prevent over-linking +* +* Automatically use systemd/logind only on Linux +* +--- configure.ac.orig 2017-03-15 18:05:25 UTC ++++ configure.ac +@@ -328,9 +328,12 @@ case $host_cpu in + esac + GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee" + ;; +- arm*) ++ arm*|aarch64*) + ARM_VIDEO=yes + DEFAULT_INT10="stub" ++ case $host_os in ++ *freebsd*) AC_DEFINE(USE_DEV_IO) ;; ++ esac + ;; + i*86) + I386_VIDEO=yes +@@ -628,6 +631,7 @@ AC_ARG_ENABLE(tslib, AS_HELP_ST + AC_ARG_ENABLE(dbe, AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes]) + AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--enable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no]) + AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes]) ++AC_ARG_ENABLE(config-devd, AS_HELP_STRING([--enable-config-devd], [Build devd support (default: auto)]), [CONFIG_DEVD=$enableval], [CONFIG_DEVD=auto]) + AC_ARG_ENABLE(config-udev, AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto]) + AC_ARG_ENABLE(config-udev-kms, AS_HELP_STRING([--enable-config-udev-kms], [Build udev kms support (default: auto)]), [CONFIG_UDEV_KMS=$enableval], [CONFIG_UDEV_KMS=auto]) + AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto]) +@@ -924,10 +928,27 @@ if test "x$CONFIG_UDEV" = xyes && test " + AC_MSG_ERROR([Hotplugging through both libudev and hal not allowed]) + fi + +-PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no]) +-if test "x$CONFIG_UDEV" = xauto; then +- CONFIG_UDEV="$HAVE_LIBUDEV" +- AC_DEFINE(HAVE_LIBUDEV, 1, [Define to 1 if libudev is available.]) ++if test "x$CONFIG_DEVD" = xauto; then ++ case $host_os in ++ *freebsd*) ++ CONFIG_DEVD=yes ++ ;; ++ *) ++ CONFIG_DEVD=no ++ ;; ++ esac ++fi ++AM_CONDITIONAL(CONFIG_DEVD, [test "x$CONFIG_DEVD" = xyes]) ++if test "x$CONFIG_DEVD" = xyes; then ++ AC_DEFINE(CONFIG_DEVD, 1, [Use devd for input auto configuration]) ++fi ++ ++if test "x$CONFIG_UDEV" != xno; then ++ PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no]) ++ if test "x$CONFIG_UDEV" = xauto; then ++ CONFIG_UDEV="$HAVE_LIBUDEV" ++ AC_DEFINE(HAVE_LIBUDEV, 1, [Define to 1 if libudev is available.]) ++ fi + fi + AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes]) + if test "x$CONFIG_UDEV" = xyes; then +@@ -975,7 +996,14 @@ AM_CONDITIONAL(CONFIG_HAL, [test "x$CONF + + if test "x$SYSTEMD_LOGIND" = xauto; then + if test "x$HAVE_DBUS" = xyes -a "x$CONFIG_UDEV" = xyes ; then +- SYSTEMD_LOGIND=yes ++ case $host_os in ++ *linux*) ++ SYSTEMD_LOGIND=yes ++ ;; ++ *) ++ SYSTEMD_LOGIND=no ++ ;; ++ esac + else + SYSTEMD_LOGIND=no + fi +@@ -2570,12 +2598,12 @@ AC_SUBST([prefix]) + + AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/sdksyms.dep]) + +-if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno; then ++if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno && test "x$CONFIG_DEVD" = xno; then + AC_MSG_WARN([ +- *********************************************** +- Neither HAL nor udev backend will be enabled. ++ ***************************************************** ++ Neither HAL, devd, nor udev backend will be enabled. + Input device hotplugging will not be available! +- ***********************************************]) ++ *****************************************************]) + fi + + AC_CONFIG_FILES([ Index: x11-servers/xorg-server/files/hw_xfree86_Makefile.am =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/hw_xfree86_Makefile.am @@ -0,0 +1,14 @@ +* Don't overwrite Xorg binary with Xorg.sh when SUID_WRAPPER_DIR == bindir +* Instead, relink bin/X to Xorg.wrap rather than to Xorg (which isn't Xorg.sh) +* +--- hw/xfree86/Makefile.am.orig 2017-03-16 05:24:43 UTC ++++ hw/xfree86/Makefile.am +@@ -109,7 +109,7 @@ endif + if SUID_WRAPPER + $(MKDIR_P) $(DESTDIR)$(SUID_WRAPPER_DIR) + mv $(DESTDIR)$(bindir)/Xorg $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg +- ${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg ++ (test ! -f $(DESTDIR)$(bindir)/Xorg && ${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg || cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) Xorg.wrap$(EXEEXT) X) + -chown root $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap && chmod u+s $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap + endif + Index: x11-servers/xorg-server/files/patch-config_Makefile.in =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/patch-config_Makefile.in @@ -0,0 +1,91 @@ +* generated from patched Makefile.am; revise and regen instead of editing +* +* Build the devd config backend if activated +* +--- config/Makefile.in.orig 2017-03-16 05:24:43 UTC ++++ config/Makefile.in +@@ -89,16 +89,18 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-@NEED_DBUS_TRUE@am__append_1 = $(DBUS_CFLAGS) +-@NEED_DBUS_TRUE@am__append_2 = dbus-core.c +-@NEED_DBUS_TRUE@am__append_3 = $(DBUS_LIBS) +-@CONFIG_UDEV_TRUE@am__append_4 = $(UDEV_CFLAGS) +-@CONFIG_UDEV_TRUE@am__append_5 = udev.c +-@CONFIG_UDEV_TRUE@am__append_6 = $(UDEV_LIBS) +-@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__append_7 = $(HAL_CFLAGS) +-@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__append_8 = hal.c +-@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__append_9 = $(HAL_LIBS) +-@CONFIG_HAL_FALSE@@CONFIG_UDEV_FALSE@@CONFIG_WSCONS_TRUE@am__append_10 = wscons.c ++@CONFIG_DEVD_TRUE@am__append_1 = devd.c ++@CONFIG_DEVD_TRUE@am__append_2 = -lusbhid ++@NEED_DBUS_TRUE@am__append_3 = $(DBUS_CFLAGS) ++@NEED_DBUS_TRUE@am__append_4 = dbus-core.c ++@NEED_DBUS_TRUE@am__append_5 = $(DBUS_LIBS) ++@CONFIG_UDEV_TRUE@am__append_6 = $(UDEV_CFLAGS) ++@CONFIG_UDEV_TRUE@am__append_7 = udev.c ++@CONFIG_UDEV_TRUE@am__append_8 = $(UDEV_LIBS) ++@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__append_9 = $(HAL_CFLAGS) ++@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__append_10 = hal.c ++@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__append_11 = $(HAL_LIBS) ++@CONFIG_HAL_FALSE@@CONFIG_UDEV_FALSE@@CONFIG_WSCONS_TRUE@am__append_12 = wscons.c + subdir = config + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ +@@ -126,16 +128,18 @@ am__DEPENDENCIES_1 = + @CONFIG_UDEV_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) + @CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__DEPENDENCIES_4 = \ + @CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@ $(am__DEPENDENCIES_1) +-libconfig_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \ +- $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) +-am__libconfig_la_SOURCES_DIST = config.c config-backends.h dbus-core.c \ +- udev.c hal.c wscons.c +-@NEED_DBUS_TRUE@am__objects_1 = dbus-core.lo +-@CONFIG_UDEV_TRUE@am__objects_2 = udev.lo +-@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__objects_3 = hal.lo +-@CONFIG_HAL_FALSE@@CONFIG_UDEV_FALSE@@CONFIG_WSCONS_TRUE@am__objects_4 = wscons.lo ++libconfig_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ ++ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ ++ $(am__DEPENDENCIES_4) ++am__libconfig_la_SOURCES_DIST = config.c config-backends.h devd.c \ ++ dbus-core.c udev.c hal.c wscons.c ++@CONFIG_DEVD_TRUE@am__objects_1 = devd.lo ++@NEED_DBUS_TRUE@am__objects_2 = dbus-core.lo ++@CONFIG_UDEV_TRUE@am__objects_3 = udev.lo ++@CONFIG_HAL_TRUE@@CONFIG_UDEV_FALSE@am__objects_4 = hal.lo ++@CONFIG_HAL_FALSE@@CONFIG_UDEV_FALSE@@CONFIG_WSCONS_TRUE@am__objects_5 = wscons.lo + am_libconfig_la_OBJECTS = config.lo $(am__objects_1) $(am__objects_2) \ +- $(am__objects_3) $(am__objects_4) ++ $(am__objects_3) $(am__objects_4) $(am__objects_5) + libconfig_la_OBJECTS = $(am_libconfig_la_OBJECTS) + AM_V_lt = $(am__v_lt_@AM_V@) + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +@@ -586,12 +590,14 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-AM_CFLAGS = $(DIX_CFLAGS) $(am__append_1) $(am__append_4) \ +- $(am__append_7) ++AM_CFLAGS = $(DIX_CFLAGS) $(am__append_3) $(am__append_6) \ ++ $(am__append_9) + noinst_LTLIBRARIES = libconfig.la +-libconfig_la_SOURCES = config.c config-backends.h $(am__append_2) \ +- $(am__append_5) $(am__append_8) $(am__append_10) +-libconfig_la_LIBADD = $(am__append_3) $(am__append_6) $(am__append_9) ++libconfig_la_SOURCES = config.c config-backends.h $(am__append_1) \ ++ $(am__append_4) $(am__append_7) $(am__append_10) \ ++ $(am__append_12) ++libconfig_la_LIBADD = $(am__append_2) $(am__append_5) $(am__append_8) \ ++ $(am__append_11) + @CONFIG_UDEV_TRUE@@XORG_TRUE@xorgconfddir = $(datadir)/X11/$(XF86CONFIGDIR) + @CONFIG_UDEV_TRUE@@XORG_TRUE@xorgconfd_DATA = 10-quirks.conf + EXTRA_DIST = x11-input.fdi fdi2iclass.py 10-quirks.conf +@@ -651,6 +657,7 @@ distclean-compile: + + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbus-core.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devd.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hal.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udev.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wscons.Plo@am__quote@ Index: x11-servers/xorg-server/files/patch-config_config-backends.h =================================================================== --- x11-servers/xorg-server/files/patch-config_config-backends.h +++ x11-servers/xorg-server/files/patch-config_config-backends.h @@ -1,11 +1,12 @@ ---- config/config-backends.h.orig 2016-07-15 16:17:45 UTC +* Define required functions for devd config backend +* +--- config/config-backends.h.orig 2017-03-15 18:05:25 UTC +++ config/config-backends.h -@@ -44,3 +44,8 @@ void config_hal_fini(void); +@@ -43,4 +43,7 @@ void config_hal_fini(void); + #elif defined(CONFIG_WSCONS) int config_wscons_init(void); void config_wscons_fini(void); - #endif -+ -+#ifdef CONFIG_DEVD ++#elif defined(CONFIG_DEVD) +int config_devd_init(void); +void config_devd_fini(void); -+#endif + #endif Index: x11-servers/xorg-server/files/patch-config_config.c =================================================================== --- x11-servers/xorg-server/files/patch-config_config.c +++ x11-servers/xorg-server/files/patch-config_config.c @@ -1,4 +1,6 @@ ---- config/config.c.orig 2016-07-19 17:07:29 UTC +* Call the devd config backend functions if activated +* +--- config/config.c.orig 2017-03-15 18:05:25 UTC +++ config/config.c @@ -55,6 +55,9 @@ config_init(void) #elif defined(CONFIG_WSCONS) Index: x11-servers/xorg-server/files/patch-config_devd.c =================================================================== --- x11-servers/xorg-server/files/patch-config_devd.c +++ x11-servers/xorg-server/files/patch-config_devd.c @@ -1,11 +1,15 @@ ---- config/devd.c.orig 2017-01-19 15:20:42 UTC +--- config/devd.c.orig 2017-03-16 05:24:43 UTC +++ config/devd.c -@@ -0,0 +1,532 @@ +@@ -0,0 +1,882 @@ +/* + * Copyright (c) 2012 Baptiste Daroussin + * Copyright (c) 2013, 2014 Alex Kozlov + * Copyright (c) 2014 Robert Millan + * Copyright (c) 2014 Jean-Sebastien Pedron ++ * Copyright (c) 2015 Hans Petter Selasky ++ * Copyright (c) 2015-2017 Rozhuk Ivan ++ * Copyright (c) 2016, 2017 Vladimir Kondratyev ++ * Copyright (c) 2017 Matthew Rezny + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), @@ -39,14 +43,23 @@ +#include +#include +#include ++#include ++#include ++#include ++#include ++#include + +#include ++#include +#include +#include +#include +#include +#include +#include ++#include ++#include ++#include + +#include "input.h" +#include "inputstr.h" @@ -54,467 +67,807 @@ +#include "config-backends.h" +#include "os.h" + -+#define DEVD_SOCK_PATH "/var/run/devd.pipe" ++/* from: */ ++#define _IOC_READ IOC_OUT ++struct input_id { ++ uint16_t bustype; ++ uint16_t vendor; ++ uint16_t product; ++ uint16_t version; ++}; ++ ++#define EVIOCGBIT(ev, len) _IOC(_IOC_READ, 'E', 0x20 + (ev), (len)) ++#define EVIOCGID _IOR('E', 0x02, struct input_id) ++#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, (len)) ++#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, (len)) ++ ++#define EV_KEY 0x01 ++#define EV_REL 0x02 ++#define EV_ABS 0x03 ++#define BTN_MISC 0x100 ++#define BTN_LEFT 0x110 ++#define BTN_RIGHT 0x111 ++#define BTN_MIDDLE 0x112 ++#define BTN_JOYSTICK 0x120 ++#define BTN_TOOL_PEN 0x140 ++#define BTN_TOOL_FINGER 0x145 ++#define BTN_TOUCH 0x14a ++#define BTN_STYLUS 0x14b ++#define BTN_STYLUS2 0x14c ++#define KEY_MAX 0x2ff ++#define KEY_CNT (KEY_MAX + 1) ++#define REL_X 0x00 ++#define REL_Y 0x01 ++#define REL_MAX 0x0f ++#define REL_CNT (REL_MAX + 1) ++#define ABS_X 0x00 ++#define ABS_Y 0x01 ++#define ABS_PRESSURE 0x18 ++#define ABS_MT_SLOT 0x2f ++#define ABS_MAX 0x3f ++#define ABS_CNT (ABS_MAX + 1) ++ ++#define ULONG_BITS (sizeof(unsigned long) * 8) ++#define ULONG_CNT(__x) (((__x) + ULONG_BITS - 1) / ULONG_BITS) ++#define ULONG_IS_BIT_SET(__x, __bit) (((((const unsigned long*)(__x))[((__bit) >> 5)] >> ((__bit) & 0x1f))) & 0x01) ++ ++/* from: */ ++#define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len) /* get identifier string */ ++ ++/* WebCamD specific. */ ++#define WEBCAMD_IOCTL_GET_USB_VENDOR_ID _IOR('q', 250, unsigned short) ++#define WEBCAMD_IOCTL_GET_USB_PRODUCT_ID _IOR('q', 251, unsigned short) ++#define WEBCAMD_IOCTL_GET_USB_SPEED _IOR('q', 252, unsigned int) ++ ++#ifdef COMPAT_32BIT ++ #define hid_pass_ptr(ptr) ((uint64_t)(uintptr_t)(ptr)) ++#else ++ #define hid_pass_ptr(ptr) (ptr) ++#endif ++ ++#define _PATH_DEV_LEN (sizeof(_PATH_DEV) - 1) ++#define DEVD_PATH_DEV "devd:" _PATH_DEV ++#define DEVD_PATH_DEV_LEN (sizeof(DEVD_PATH_DEV) - 1) ++#define DEVD_PATH_LEN (DEVD_PATH_DEV_LEN - _PATH_DEV_LEN) ++ ++#define DEVD_SOCK_PATH _PATH_VARRUN "devd.pipe" + +#define DEVD_EVENT_ADD '+' +#define DEVD_EVENT_REMOVE '-' ++#define DEVD_EVENT_NOTIFY '!' ++ ++#define RECONNECT_DELAY (5 * 1000) + -+#define RECONNECT_DELAY 5 * 1000 ++#define is_meuqual(__v1, __v1sz, __v2, __v2sz) \ ++ ((__v1sz) == (__v2sz) && NULL != (__v1) && NULL != (__v2) && \ ++ 0 == memcmp((__v1), (__v2), (__v1sz))) + -+static int sock_devd; -+static bool is_console_kbd = false; -+static bool is_kbdmux = false; ++#define is_meuqual_cstr(__cstr, __v, __vsz) \ ++ is_meuqual(__cstr, (sizeof(__cstr) - 1), __v, __vsz) ++ ++#define is_de_euqual_cstr(__de, __cstr) \ ++ (NULL != (__de) && \ ++ is_meuqual((__de)->d_name, (__de)->d_namlen, __cstr, (sizeof(__cstr) - 1))) ++ ++#define devd_get_val_cstr(__cstr, __buf, __bufsz, __valsz) \ ++ devd_get_val((__buf), (__bufsz), __cstr, (sizeof(__cstr) - 1), \ ++ (__valsz)) ++ ++static int devd_skt = 0; ++static char devd_buf[4096]; ++static size_t devd_buf_used = 0; ++static int is_kbdmux = 0; +static OsTimerPtr rtimer = NULL; + -+struct hw_type { -+ const char *driver; -+ int flag; -+ const char *xdriver; ++/* Input devices. */ ++typedef struct hw_type_s { ++ const char *dev_name; ++ size_t dev_name_size; ++ size_t path_offset; ++ int flags; ++ const char *xdriver; ++} hw_type_t, *hw_type_p; ++ ++/* xdriver can be set via config "InputClass" section. ++ * Do not set xdriver name if device have more than one ++ * xf86-input-* drivers. ++ * "input/event" can be hadled by: xf86-input-evdev and ++ * xf86-input-wacom, let user choose. ++ */ ++static hw_type_t hw_types[] = { ++ { "uhid", 4, 0, 0, NULL }, ++ { "ukbd", 4, 0, ATTR_KEY | ATTR_KEYBOARD, "kbd" }, ++ { "atkbd", 5, 0, ATTR_KEY | ATTR_KEYBOARD, "kbd" }, ++ { "kbdmux", 6, 0, ATTR_KEY | ATTR_KEYBOARD, "kbd" }, ++ { "sysmouse", 8, 0, ATTR_POINTER, "mouse" }, ++ { "ums", 3, 0, ATTR_POINTER, "mouse" }, ++ { "psm", 3, 0, ATTR_POINTER, "mouse" }, ++ { "vboxguest", 9, 0, ATTR_POINTER, "vboxmouse" }, ++ { "joy", 3, 0, ATTR_JOYSTICK, NULL }, ++ { "atp", 3, 0, ATTR_TOUCHPAD, NULL }, ++ { "uep", 3, 0, ATTR_TOUCHSCREEN, NULL }, ++ { "input/event",5, 6, 0, NULL }, ++ { "input/js", 2, 6, ATTR_JOYSTICK, NULL }, ++ { NULL, 0, 0, 0, NULL }, +}; + -+static struct hw_type hw_types[] = { -+ { "ukbd", ATTR_KEYBOARD, "kbd" }, -+ { "atkbd", ATTR_KEYBOARD, "kbd" }, -+ { "kbdmux", ATTR_KEYBOARD, "kbd" }, -+ { "sysmouse", ATTR_POINTER, "mouse" }, -+ { "ums", ATTR_POINTER, "mouse" }, -+ { "psm", ATTR_POINTER, "mouse" }, -+ { "vboxguest", ATTR_POINTER, "vboxmouse" }, -+ { "joy", ATTR_JOYSTICK, NULL }, -+ { "atp", ATTR_TOUCHPAD, NULL }, -+ { "uep", ATTR_TOUCHSCREEN, NULL }, -+ { NULL, -1, NULL }, ++/* Input devices paths. */ ++static hw_type_t hw_type_path[] = { ++ { "input/", 0, 6, 0, NULL }, ++ { NULL, 0, 0, 0, NULL }, +}; + -+static bool -+sysctl_exists(const struct hw_type *device, int unit, -+ char *devname, size_t devname_len) ++static size_t ++bits_calc(const unsigned long *bits, size_t off_start, size_t off_stop) +{ -+ char sysctlname[PATH_MAX]; -+ size_t len; -+ int ret; ++ size_t count = 0; + -+ if (device == NULL || device->driver == NULL) -+ return false; ++ for (size_t i = off_start; i < off_stop; ++i) { ++ if (ULONG_IS_BIT_SET(bits, i)) { ++ ++count; ++ } ++ } ++ return count; ++} + -+ /* Check if a sysctl exists. */ -+ snprintf(sysctlname, sizeof(sysctlname), "dev.%s.%i.%%desc", -+ device->driver, unit); -+ ret = sysctlbyname(sysctlname, NULL, &len, NULL, 0); ++static hw_type_p ++get_dev_type_by_name(const char *dev_name, size_t dev_name_size) ++{ ++ if (!dev_name || !dev_name_size) ++ return NULL; + -+ if (ret == 0 && len > 0) { -+ snprintf(devname, devname_len, "%s%i", device->driver, unit); -+ return true; ++ for (size_t i = 0; hw_types[i].dev_name; ++i) { ++ if (dev_name_size >= (hw_types[i].dev_name_size + hw_types[i].path_offset) && ++ !memcmp(dev_name, hw_types[i].dev_name, (hw_types[i].path_offset + hw_types[i].dev_name_size))) { ++ return &hw_types[i]; ++ } + } ++ return NULL; ++} + -+ return false; ++static hw_type_p ++get_dev_type_by_path(const char *dev_name, size_t dev_name_size, hw_type_p hw_type_cust) ++{ ++ if (!dev_name || !dev_name_size || !hw_type_cust) ++ return NULL; ++ ++ for (size_t i = 0; hw_type_path[i].dev_name; ++i) { ++ if (dev_name_size <= hw_type_path[i].path_offset || ++ memcmp(dev_name, hw_type_path[i].dev_name, hw_type_path[i].path_offset)) ++ continue; ++ /* Path in white list. */ ++ hw_type_cust->dev_name = dev_name; ++ hw_type_cust->flags = hw_type_path[i].flags; ++ hw_type_cust->xdriver = hw_type_path[i].xdriver; ++ hw_type_cust->path_offset = hw_type_path[i].path_offset; ++ size_t name_end = hw_type_cust->path_offset; ++ while (name_end < dev_name_size && !isdigit(dev_name[name_end])) ++ ++name_end; ++ hw_type_cust->dev_name_size = (name_end - hw_type_cust->path_offset); ++ return hw_type_cust; ++ } ++ return NULL; +} + -+static bool -+devpath_exists(const struct hw_type *device, -+ char *devname, size_t devname_len) ++static int ++is_kbdmux_enabled(void) +{ -+ char *devpath; -+ struct stat st; -+ int ret; ++ /* Xorg uses /dev/ttyv0 as a console device */ ++ /* const char device[]="/dev/console"; */ ++ static const char *device = _PATH_TTY "v0"; + -+ if (device == NULL || device->driver == NULL) -+ return false; ++ int fd = open(device, O_RDONLY); ++ if (fd < 0) ++ return 0; + -+ /* Check if /dev/$driver exists. */ -+ asprintf(&devpath, "/dev/%s", device->driver); -+ if (devpath == NULL) -+ return false; ++ keyboard_info_t info; ++ int ret = (ioctl(fd, KDGKBINFO, &info) == -1 || ++ memcmp(info.kb_name, "kbdmux", 6)) ? 0 : 1; ++ close(fd); ++ return ret; ++} + -+ ret = stat(devpath, &st); -+ free(devpath); ++/* Derived from EvdevProbe() function of xf86-input-evdev driver */ ++static int ++get_evdev_flags(int fd) ++{ ++ if (fd<0) ++ return 0; + -+ if (ret == 0) { -+ strncpy(devname, device->driver, devname_len); -+ return true; ++ unsigned long key_bits[ULONG_CNT(KEY_CNT)], rel_bits[ULONG_CNT(REL_CNT)], abs_bits[ULONG_CNT(ABS_CNT)]; ++ size_t has_keys = 0, has_buttons = 0, has_lmr = 0, has_rel_axes = 0, has_abs_axes = 0, has_mt = 0; ++ if (ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(key_bits)), key_bits) != -1) { ++ has_keys = bits_calc(key_bits, 0, BTN_MISC); ++ has_buttons = bits_calc(key_bits, BTN_MISC, BTN_JOYSTICK); ++ has_lmr = bits_calc(key_bits, BTN_LEFT, BTN_MIDDLE); ++ } ++ if (ioctl(fd, EVIOCGBIT(EV_REL, sizeof(rel_bits)), rel_bits) != -1) { ++ has_rel_axes = bits_calc(rel_bits, 0, REL_MAX); ++ } ++ if (ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(abs_bits)), abs_bits) != -1) { ++ has_abs_axes = bits_calc(abs_bits, 0, ABS_MAX); ++ has_mt = bits_calc(abs_bits, ABS_MT_SLOT, ABS_MAX); ++ } ++ ++ int flags = 0; ++ if (has_abs_axes) { ++ if (has_mt) { ++ if (!has_buttons) { ++ /* ++ * XXX: I'm not sure that joystick detection is ++ * done right. xf86-input-evdev does not support them. ++ */ ++ if (ULONG_IS_BIT_SET(key_bits, BTN_JOYSTICK)) ++ flags = ATTR_JOYSTICK; ++ else ++ ++has_buttons; ++ } ++ } ++ if (!flags && ULONG_IS_BIT_SET(abs_bits, ABS_X) && ULONG_IS_BIT_SET(abs_bits, ABS_Y)) { ++ if (ULONG_IS_BIT_SET(key_bits, BTN_TOOL_PEN) || ++ ULONG_IS_BIT_SET(key_bits, BTN_STYLUS) || ++ ULONG_IS_BIT_SET(key_bits, BTN_STYLUS2)) ++ flags = ATTR_TABLET; ++ else if (ULONG_IS_BIT_SET(abs_bits, ABS_PRESSURE) || ++ ULONG_IS_BIT_SET(key_bits, BTN_TOUCH)) { ++ if (has_lmr || ULONG_IS_BIT_SET(key_bits, BTN_TOOL_FINGER)) ++ flags = ATTR_TOUCHPAD; ++ else ++ flags = ATTR_TOUCHSCREEN; ++ } else if (!(ULONG_IS_BIT_SET(rel_bits, REL_X) && ++ ULONG_IS_BIT_SET(rel_bits, REL_Y)) && ++ has_lmr) /* some touchscreens use BTN_LEFT rather than BTN_TOUCH */ ++ flags = ATTR_TOUCHSCREEN; ++ } ++ } ++ if (!flags) { ++ if (has_keys) ++ flags = ATTR_KEY | ATTR_KEYBOARD; ++ else if (has_rel_axes || has_abs_axes || has_buttons) ++ flags = ATTR_POINTER; + } ++ return flags; ++} + -+ return false; ++/* From: sys/dev/usb/usb_hid.c */ ++static int ++hid_is_collection(report_desc_t s, uint32_t usage) ++{ ++ struct hid_data* hd = hid_start_parse(s, ~0, -1); ++ if (!hd) ++ return 0; ++ ++ struct hid_item hi; ++ int rc; ++ while ((rc = hid_get_item(hd, &hi))) { ++ if (hi.kind == hid_collection && hi.usage == usage) ++ break; ++ } ++ hid_end_parse(hd); ++ return rc; ++} ++ ++static int ++hid_is_mouse(report_desc_t s) ++{ ++ struct hid_data* hd = hid_start_parse(s, (1 << hid_input), -1); ++ if (!hd) ++ return 0; ++ ++ struct hid_item hi; ++ int found = 0, mdepth = 0; ++ while (hid_get_item(hd, &hi)) { ++ switch (hi.kind) { ++ case hid_collection: ++ if (mdepth != 0) ++ ++mdepth; ++ else if (hi.collection == 1 && ++ hi.usage == HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_MOUSE)) ++ ++mdepth; ++ break; ++ case hid_endcollection: ++ if (mdepth) ++ --mdepth; ++ break; ++ case hid_input: ++ if (!mdepth) ++ break; ++ if (hi.usage == HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X) && ++ (hi.flags & (HIO_CONST|HIO_RELATIVE)) == HIO_RELATIVE) ++ ++found; ++ if (hi.usage == HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_Y) && ++ (hi.flags & (HIO_CONST|HIO_RELATIVE)) == HIO_RELATIVE) ++ ++found; ++ break; ++ default: ++ break; ++ } ++ } ++ hid_end_parse(hd); ++ return found; +} + +static char * -+sysctl_get_str(const char *sysctlname) ++sysctl_get_str(const char *sysctlname, size_t *size_ret) +{ -+ char *dest = NULL; -+ size_t len; ++ if (!sysctlname) ++ return NULL; + -+ if (sysctlname == NULL) ++ size_t len = 0; ++ if (sysctlbyname(sysctlname, NULL, &len, NULL, 0) || !len) + return NULL; + -+ if (sysctlbyname(sysctlname, NULL, &len, NULL, 0) == 0) { -+ dest = malloc(len + 1); -+ if (dest) { -+ if (sysctlbyname(sysctlname, dest, &len, NULL, 0) == 0) -+ dest[len] = '\0'; -+ else { -+ free(dest); -+ dest = NULL; -+ } -+ } -+ } ++ char* dest = malloc(len + 1); ++ if (!dest) ++ return NULL; + ++ if (sysctlbyname(sysctlname, dest, &len, NULL, 0)) { ++ free(dest); ++ return NULL; ++ } ++ dest[len] = 0; ++ if (size_ret) ++ *size_ret = len; + return dest; +} + -+static void -+device_added(const char *devname) ++static char * ++devd_get_val(char *buf, size_t buf_size, const char *val_name, size_t val_name_size, size_t *val_size) +{ -+ char path[PATH_MAX]; -+ char sysctlname[PATH_MAX]; -+ char *vendor; -+ char *product = NULL; -+ char *config_info = NULL; -+ char *walk; -+ InputOption *options = NULL; -+ InputAttributes attrs = { }; -+ DeviceIntPtr dev = NULL; -+ int i; -+ int fd; -+ -+ for (i = 0; hw_types[i].driver != NULL; i++) { -+ size_t len; -+ -+ len = strlen(hw_types[i].driver); -+ if (strcmp(devname, hw_types[i].driver) == 0 || -+ (strncmp(devname, hw_types[i].driver, len) == 0 && -+ isnumber(*(devname + len)))) { -+ attrs.flags |= hw_types[i].flag; -+ break; ++ if (!buf || !buf_size || !val_name || !val_name_size) ++ return NULL; ++ ++ char *ret = buf, *buf_end = (buf + buf_size); ++ while (ret && ret < buf_end) { ++ ret = memmem(ret, (buf_end - ret), val_name, val_name_size); ++ if (!ret) ++ return NULL; ++ /* Found. */ ++ /* Check: space before or buf+1. */ ++ if ((buf + 1) < ret && ret[-1] != ' ') { ++ ret += val_name_size; ++ continue; + } -+ } ++ /* Check: = after name and size for value. */ ++ ret += val_name_size; ++ if ((ret + 1) >= buf_end) ++ return NULL; ++ if (ret[0] != '=') ++ continue; ++ ++ret; ++ break; ++ } ++ if (!ret || !val_size) ++ return ret; ++ /* Calc value data size. */ ++ char* ptr = memchr(ret, ' ', (buf_end - ret)); ++ if (!ptr) /* End of string/last value. */ ++ ptr = buf_end; ++ *val_size = (ptr - ret); ++ return ret; ++} + -+ if (hw_types[i].driver == NULL || hw_types[i].xdriver == NULL) { -+ LogMessage(X_INFO, "config/devd: ignoring device %s\n", -+ devname); ++static void ++device_added(const char *dev_name, size_t dev_name_size, int allow_no_device) ++{ ++ if (!dev_name || !dev_name_size || dev_name_size > PATH_MAX) + return; ++ ++ char config_info[PATH_MAX + 32]; ++ /* Make dev_name null ended string. */ ++ snprintf(config_info, sizeof(config_info), DEVD_PATH_DEV"%.*s", (int)dev_name_size, dev_name); ++ /* Set / update pointers to dev_name and dev_path. */ ++ char* dev_path = (config_info + DEVD_PATH_LEN); /* Skip: "devd:" */ ++ dev_name = (dev_path + _PATH_DEV_LEN); /* Skip: "/dev/" */ ++ ++ /* Is known input device or path? */ ++ hw_type_t *hwtype = get_dev_type_by_name(dev_name, dev_name_size); ++ if (!hwtype) { ++ hw_type_t hwtype_cust; ++ hwtype = get_dev_type_by_path(dev_name, dev_name_size, &hwtype_cust); + } ++ if (!hwtype) /* Not found in white list. */ ++ return; + + /* Skip keyboard devices if kbdmux is enabled */ -+ if (is_kbdmux && is_console_kbd && hw_types[i].flag & ATTR_KEYBOARD) { -+ LogMessage(X_INFO, "config/devd: kbdmux is enabled, ignoring device %s\n", -+ devname); ++ if (is_kbdmux && !allow_no_device && (hwtype->flags & ATTR_KEYBOARD)) { ++ LogMessage(X_INFO, "config/devd: kbdmux is enabled, ignoring device %s\n", dev_name); + return; + } -+ -+ snprintf(path, sizeof(path), "/dev/%s", devname); -+ -+ options = input_option_new(NULL, "_source", "server/devd"); -+ if (!options) ++ /* Skip duplicate devices. */ ++ if (device_is_duplicate(config_info)) { ++ LogMessage(X_WARNING, "config/devd: device %s already added. ignoring\n", dev_path); + return; ++ } + -+ snprintf(sysctlname, sizeof(sysctlname), "dev.%s.%s.%%desc", -+ hw_types[i].driver, devname + strlen(hw_types[i].driver)); -+ vendor = sysctl_get_str(sysctlname); -+ if (vendor == NULL) { -+ options = input_option_new(options, "name", devname); -+ } -+ else { -+ if ((walk = strchr(vendor, ' ')) != NULL) { -+ walk[0] = '\0'; -+ walk++; -+ product = walk; -+ if ((walk = strchr(product, ',')) != NULL) -+ walk[0] = '\0'; -+ } -+ -+ attrs.vendor = strdup(vendor); -+ if (product) { -+ attrs.product = strdup(product); -+ options = input_option_new(options, "name", product); -+ } -+ else -+ options = input_option_new(options, "name", "(unnamed)"); -+ -+ free(vendor); -+ } -+ -+ /* XXX implement usb_id */ -+ attrs.usb_id = NULL; -+ attrs.device = strdup(path); -+ options = input_option_new(options, "driver", hw_types[i].xdriver); -+ -+ fd = open(path, O_RDONLY); -+ if (fd > 0) { -+ close(fd); -+ options = input_option_new(options, "device", path); -+ } -+ else { -+ if (attrs.flags & ~ATTR_KEYBOARD) { -+ LogMessage(X_INFO, "config/devd: device %s already opened\n", -+ path); -+ ++ /* Init and set attributes. */ ++ char pnp_usb_id[PATH_MAX], product[PATH_MAX], vendor[PATH_MAX]; ++ InputAttributes attrs; ++ memset(&attrs, 0, sizeof(attrs)); ++ attrs.device = dev_path; ++ attrs.flags = hwtype->flags; ++ ++ /* Try to open device. */ ++ int fd = open(dev_path, O_RDONLY); ++ if (fd < 0) { ++ if (!(hwtype->flags & (ATTR_KEY | ATTR_KEYBOARD))) { + /* + * Fail if cannot open device, it breaks AllowMouseOpenFail, -+ * but it should not matter when config/devd enabled ++ * but it should not matter when config/devd is enabled + */ -+ goto unwind; ++ LogMessage(X_WARNING, "config/devd: device %s already opened\n", dev_path); ++ return; + } -+ -+ if (is_console_kbd) { ++ if (!allow_no_device) { + /* + * There can be only one keyboard attached to console and + * it is already added. + */ -+ LogMessage(X_WARNING, "config/devd: console keyboard is " -+ "already added, ignoring %s (%s)\n", -+ attrs.product, path); -+ goto unwind; ++ LogMessage(X_WARNING, "config/devd: console keyboard is already added, ignoring %s\n", dev_path); ++ return; ++ } ++ } else { ++ /* Try to get device info via ioctl(). */ ++ keyboard_info_t kbdi; ++ mousehw_t mshw; ++ struct input_id iid; ++ report_desc_t rep_desc; ++ ++ if (ioctl(fd, KDGKBINFO, &kbdi) != -1) { /* Is this keyboard? */ ++ memcpy(product, kbdi.kb_name, sizeof(kbdi.kb_name)); ++ attrs.product = product; ++ attrs.flags = ATTR_KEY | ATTR_KEYBOARD; ++ LogMessage(X_INFO, "config/devd: detected keyboard: %s, kb_index=%i, kb_unit=%i, kb_type=%i, kb_config=%i\n", ++ kbdi.kb_name, kbdi.kb_index, kbdi.kb_unit, kbdi.kb_type, kbdi.kb_config); ++ } else if (ioctl(fd, MOUSE_GETHWINFO, &mshw) != -1) { /* Is this mouse? */ ++ /* FreeBSD mouse drivers does not return real vid+pid. */ ++ /* construct USB ID in lowercase hex - "0000:ffff" */ ++ if (mshw.iftype != MOUSE_IF_USB && mshw.model > 0) { ++ snprintf(pnp_usb_id, sizeof(pnp_usb_id), "%04x:%04x", mshw.hwid, mshw.model); ++ attrs.usb_id = pnp_usb_id; ++ } ++ if (mshw.type == MOUSE_PAD) ++ attrs.flags = ATTR_TOUCHPAD; ++ else ++ attrs.flags = ATTR_POINTER; ++ LogMessage(X_INFO, "config/devd: detected mouse: hwid=%04x, model=%04x, type=%04x, iftype=%04x, buttons=%d\n", ++ mshw.hwid, mshw.model, mshw.type, mshw.iftype, mshw.buttons); ++ } else if (ioctl(fd, JSIOCGNAME((sizeof(product) - 1)), product) != -1) { /* Is this joystick? */ ++ attrs.product = product; ++ attrs.flags = ATTR_JOYSTICK; ++ LogMessage(X_INFO, "config/devd: detected joystick: %s\n", product); ++ } else if (ioctl(fd, EVIOCGID, &iid) != -1 && ++ ioctl(fd, EVIOCGNAME((sizeof(product) - 1)), product) != -1) { /* Is this event? */ ++ /* construct USB ID in lowercase hex - "0000:ffff" */ ++ snprintf(pnp_usb_id, sizeof(pnp_usb_id), "%04x:%04x", iid.vendor, iid.product); ++ attrs.usb_id = pnp_usb_id; ++ attrs.product = product; ++ /* Detect device type. */ ++ attrs.flags = get_evdev_flags(fd); ++ /* Skip keyboard devices if kbdmix is enabled */ ++ if (is_kbdmux && (attrs.flags & ATTR_KEYBOARD)) { ++ close(fd); ++ LogMessage(X_INFO, "config/devd: kbdmux is enabled, ignoring device %s\n", dev_name); ++ return; ++ } ++ LogMessage(X_INFO, "config/devd: detected event input: %s, bustype=%04x, vendor=%04x, product=%04x, version=%04x\n", ++ product, iid.bustype, iid.vendor, iid.product, iid.version); ++ } else if ((rep_desc = hid_get_report_desc(fd))) { /* Is USB HID? */ ++ if (hid_is_mouse(rep_desc)) { ++ attrs.flags = ATTR_POINTER; ++ LogMessage(X_INFO, "config/devd: detected USB HID mouse\n"); ++ } else if (hid_is_collection(rep_desc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_KEYBOARD))) { ++ /* Skip keyboard devices if kbdmux is enabled */ ++ if (is_kbdmux) { ++ hid_dispose_report_desc(rep_desc); ++ close(fd); ++ LogMessage(X_INFO, "config/devd: kbdmux is enabled, ignoring device %s\n", dev_name); ++ return; ++ } ++ attrs.flags = ATTR_KEY | ATTR_KEYBOARD; ++ LogMessage(X_INFO, "config/devd: detected USB HID keyboard\n"); ++ } else if (hid_is_collection(rep_desc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_JOYSTICK)) || ++ hid_is_collection(rep_desc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_GAME_PAD))) { ++ attrs.flags = ATTR_JOYSTICK; ++ LogMessage(X_INFO, "config/devd: detected USB HID joystick\n"); ++ } else ++ LogMessage(X_INFO, "config/devd: detected USB HID of unknown type\n"); ++ hid_dispose_report_desc(rep_desc); ++ } ++ ++ if (!attrs.usb_id) { /* Is this webcamd device? */ ++ unsigned short vid, pid; ++ if (ioctl(fd, WEBCAMD_IOCTL_GET_USB_VENDOR_ID, &vid) != -1 && ++ ioctl(fd, WEBCAMD_IOCTL_GET_USB_PRODUCT_ID, &pid) != -1) { ++ snprintf(pnp_usb_id, sizeof(pnp_usb_id), "%04x:%04x", vid, pid); ++ attrs.usb_id = pnp_usb_id; ++ LogMessage(X_INFO, "config/devd: webcamd device: %s\n", pnp_usb_id); ++ } + } -+ else -+ /* -+ * Don't pass "device" option if the keyboard is already -+ * attached to the console (ie. open() fails). -+ * This would activate a special logic in xf86-input-keyboard. -+ * Prevent any other attached to console keyboards being -+ * processed. There can be only one such device. -+ */ -+ is_console_kbd = true; + } ++ close(fd); + -+ if (asprintf(&config_info, "devd:%s", devname) == -1) { -+ config_info = NULL; -+ goto unwind; ++ /* Try to get device info via sysctl(). */ ++ if (!attrs.usb_id && !attrs.pnp_id) { ++ char sysctlname[PATH_MAX]; ++ snprintf(sysctlname, sizeof(sysctlname), "dev.%.*s.%s.%%pnpinfo", ++ (int)hwtype->dev_name_size, ++ (hwtype->dev_name + hwtype->path_offset), ++ (dev_name + hwtype->path_offset + hwtype->dev_name_size)); ++ size_t sdata_size; ++ char* sdata = sysctl_get_str(sysctlname, &sdata_size); ++ if (sdata) { ++ size_t pid_size, vid_size; ++ char* ptr_vid = devd_get_val_cstr("vendor", sdata, sdata_size, &vid_size); ++ char* ptr_pid = devd_get_val_cstr("product", sdata, sdata_size, &pid_size); ++ if (ptr_vid && ptr_pid) { /* usb_id */ ++ ptr_vid[vid_size] = 0; ++ ptr_pid[pid_size] = 0; ++ snprintf(pnp_usb_id, sizeof(pnp_usb_id), "%s:%s", ptr_vid, ptr_pid); ++ attrs.usb_id = pnp_usb_id; ++ LogMessage(X_INFO, "config/devd: [sysctl] usb_id: %s\n", pnp_usb_id); ++ } else { /* pnp_id */ ++ strlcpy(pnp_usb_id, sdata, sizeof(pnp_usb_id)); ++ attrs.pnp_id = pnp_usb_id; ++ } ++ free(sdata); ++ } ++ } ++ if (!attrs.vendor || !attrs.product) { ++ char sysctlname[PATH_MAX]; ++ snprintf(sysctlname, sizeof(sysctlname), "dev.%.*s.%s.%%desc", ++ (int)hwtype->dev_name_size, ++ (hwtype->dev_name + hwtype->path_offset), ++ (dev_name + hwtype->path_offset + hwtype->dev_name_size)); ++ size_t sdata_size; ++ char* sdata = sysctl_get_str(sysctlname, &sdata_size); ++ if (sdata) { ++ /* Vendor. */ ++ char* ptr_pid = memchr(sdata, ' ', sdata_size); ++ if (ptr_pid) ++ ptr_pid[0] = 0; ++ strlcpy(vendor, sdata, sizeof(vendor)); ++ attrs.vendor = vendor; ++ /* Product. */ ++ if (!attrs.product && ptr_pid) { ++ ++ptr_pid; ++ char* ptr_vid = memchr(ptr_pid, ',', (sdata_size - (ptr_pid - sdata))); ++ if (ptr_vid) ++ ptr_vid[0] = 0; ++ strlcpy(product, ptr_pid, sizeof(product)); ++ attrs.product = product; ++ } else ++ product[0] = 0; ++ free(sdata); ++ LogMessage(X_INFO, "config/devd: [sysctl] vendor: %s, product: %s\n", vendor, product); ++ } + } + -+ if (device_is_duplicate(config_info)) { -+ LogMessage(X_WARNING, "config/devd: device %s (%s) already added. " -+ "ignoring\n", attrs.product, path); -+ goto unwind; -+ } -+ -+ options = input_option_new(options, "config_info", config_info); -+ LogMessage(X_INFO, "config/devd: adding input device %s (%s)\n", -+ attrs.product, path); -+ -+ NewInputDeviceRequest(options, &attrs, &dev); -+ -+unwind: -+ free(config_info); -+ input_option_free_list(&options); -+ free(attrs.usb_id); -+ free(attrs.product); -+ free(attrs.device); -+ free(attrs.vendor); ++ /* Init options. */ ++ InputOption *option = NULL, *options = NULL; ++ if ((option = input_option_new(options, "_source", "server/devd"))) ++ options = option; ++ if (option && (option = input_option_new(options, "config_info", config_info))) ++ options = option; ++ if (option && (option = input_option_new(options, "name", (attrs.product ? attrs.product : dev_name)))) ++ options = option; ++ if (option && hwtype->xdriver && (option = input_option_new(options, "driver", hwtype->xdriver))) ++ options = option; ++ /* ++ * Don't pass "device" option if the keyboard is already attached to the console (ie. open() failed) ++ * This would activate a special logic in xf86-input-keyboard. Prevent any other attached to console ++ * keyboards being processed. There can be only one such device. ++ */ ++ if (option && fd >= 0 && (option = input_option_new(options, "device", dev_path))) ++ options = option; ++ /* Most drivers just use "device" but evdev also uses "path" so populate both */ ++ if (option && (option = input_option_new(options, "path", dev_path))) ++ options = option; ++ if (option) { ++ LogMessage(X_INFO, "config/devd: adding input device %s\n", dev_path); ++ DeviceIntPtr dev_iptr = NULL; ++ int rc; ++ if ((rc = NewInputDeviceRequest(options, &attrs, &dev_iptr)) != Success) ++ LogMessage(X_ERROR, "config/devd: error %d adding device %s\n", rc, dev_path); ++ } else ++ LogMessage(X_ERROR, "config/devd: error adding device %s\n", dev_path); ++ if (options) ++ input_option_free_list(&options); ++ return; +} + +static void -+device_removed(char *devname) ++device_removed(const char *dev_name, size_t dev_name_size) +{ -+ char *config_info; + -+ if (asprintf(&config_info, "devd:%s", devname) == -1) ++ if (!dev_name || !dev_name_size || dev_name_size > PATH_MAX) + return; + ++ hw_type_t hwtype_cust; ++ if (!get_dev_type_by_name(dev_name, dev_name_size) && ++ !get_dev_type_by_path(dev_name, dev_name_size, &hwtype_cust)) ++ return; /* Device not in list - unknown. */ ++ ++ char config_info[PATH_MAX + 32]; ++ snprintf(config_info, sizeof(config_info), DEVD_PATH_DEV"%.*s", (int)dev_name_size, dev_name); ++ if (device_is_duplicate(config_info)) ++ LogMessage(X_INFO, "config/devd: removing input device %s\n", (config_info + DEVD_PATH_LEN)); ++ else ++ LogMessage(X_INFO, "config/devd: removing nonexistent device %s\n", (config_info + DEVD_PATH_LEN)); + remove_devices("devd", config_info); -+ -+ free(config_info); ++ return; +} + -+static bool is_kbdmux_enabled(void) -+{ -+ /* Xorg uses /dev/ttyv0 as a console device */ -+ /* const char device[]="/dev/console"; */ -+ const char device[]="/dev/ttyv0"; -+ keyboard_info_t info; -+ int fd; -+ -+ fd = open(device, O_RDONLY); -+ -+ if (fd < 0) -+ return false; -+ -+ if (ioctl(fd, KDGKBINFO, &info) == -1) { -+ close(fd); -+ return false; -+ } -+ -+ close(fd); -+ -+ if (!strncmp(info.kb_name, "kbdmux", 6)) -+ return true; -+ -+ return false; -+} -+ -+static void -+disconnect_devd(int sock) -+{ -+ if (sock >= 0) { -+ RemoveGeneralSocket(sock); -+ close(sock); -+ } -+} ++static void socket_handler(int fd, int ready, void *data); + +static int +connect_devd(void) +{ -+ struct sockaddr_un devd; -+ int sock; -+ -+ sock = socket(AF_UNIX, SOCK_STREAM, 0); ++ int sock = socket(AF_UNIX, SOCK_STREAM, 0); + if (sock < 0) { -+ LogMessage(X_ERROR, "config/devd: fail opening stream socket\n"); ++ LogMessage(X_ERROR, "config/devd: failed opening stream socket: %s\n", strerror(errno)); + return -1; + } + ++ struct sockaddr_un devd; + devd.sun_family = AF_UNIX; -+ strlcpy(devd.sun_path, DEVD_SOCK_PATH, sizeof(devd.sun_path)); -+ -+ if (connect(sock, (struct sockaddr *) &devd, sizeof(devd)) < 0) { ++ memcpy(devd.sun_path, DEVD_SOCK_PATH, sizeof(DEVD_SOCK_PATH)); ++ if (connect(sock, (struct sockaddr*)&devd, sizeof(devd)) < 0) { ++ int error = errno; + close(sock); -+ LogMessage(X_ERROR, "config/devd: fail to connect to devd\n"); ++ LogMessage(X_ERROR, "config/devd: failed to connect to devd: %s)\n", strerror(error)); + return -1; + } + -+ AddGeneralSocket(sock); ++ SetNotifyFd(sock, socket_handler, X_NOTIFY_READ, NULL); ++ return sock; ++} + -+ return sock; ++static void ++disconnect_devd(int sock) ++{ ++ if (sock < 0) ++ return; ++ RemoveNotifyFd(sock); ++ close(sock); ++ return; +} + +static CARD32 +reconnect_handler(OsTimerPtr timer, CARD32 time, void *arg) +{ -+ int newsock; -+ -+ if ((newsock = connect_devd()) > 0) { -+ sock_devd = newsock; -+ TimerFree(rtimer); -+ rtimer = NULL; -+ LogMessage(X_INFO, "config/devd: reopening devd socket\n"); -+ return 0; -+ } -+ -+ /* Try again after RECONNECT_DELAY */ -+ return RECONNECT_DELAY; ++ devd_buf_used = 0; ++ devd_skt = connect_devd(); ++ if (devd_skt < 0) /* Try again after RECONNECT_DELAY */ ++ return RECONNECT_DELAY; ++ TimerFree(rtimer); ++ rtimer = NULL; ++ LogMessage(X_INFO, "config/devd: reopened devd socket\n"); ++ return 0; +} + -+static ssize_t -+socket_getline(int fd, char **out) ++static void ++socket_handler(int fd, int ready, void *data) +{ -+ char *buf, *newbuf; -+ ssize_t ret, cap, sz = 0; -+ char c; -+ -+ cap = 1024; -+ buf = malloc(cap * sizeof(char)); -+ if (!buf) -+ return -1; -+ -+ for (;;) { -+ ret = read(sock_devd, &c, 1); -+ if (ret < 0) { -+ if (errno == EINTR) -+ continue; -+ free(buf); -+ return -1; -+ /* EOF - devd socket is lost */ -+ } else if (ret == 0) { -+ disconnect_devd(sock_devd); -+ rtimer = TimerSet(NULL, 0, 1, reconnect_handler, NULL); -+ LogMessage(X_WARNING, "config/devd: devd socket is lost\n"); -+ free(buf); -+ return -1; ++ /* Read new data. */ ++ while (1) { ++ ssize_t ios = recv(devd_skt, (devd_buf + devd_buf_used), (sizeof(devd_buf) - devd_buf_used), MSG_DONTWAIT); ++ if (ios > 0) { /* Read OK. */ ++ devd_buf_used += ios; ++ continue; /* Try to read more. */ + } -+ if (c == '\n') -+ break; -+ -+ if (sz + 1 >= cap) { -+ cap *= 2; -+ newbuf = realloc(buf, cap * sizeof(char)); -+ if (!newbuf) { -+ free(buf); -+ return -1; -+ } -+ buf = newbuf; ++ /* Something wrong. */ ++ int error = errno; ++ if (error == EAGAIN) ++ break; /* All available data read. */ ++ if (error == EINTR) ++ continue; ++ if (devd_buf_used >= sizeof(devd_buf)) { ++ devd_buf_used = 0; /* Message too long, reset buf. */ ++ continue; + } -+ buf[sz] = c; -+ sz++; ++ /* devd socket is lost */ ++ disconnect_devd(devd_skt); ++ rtimer = TimerSet(NULL, 0, 1, reconnect_handler, NULL); ++ LogMessage(X_WARNING, "config/devd: devd socket read error: %s\n", strerror(error)); ++ return; + } + -+ buf[sz] = '\0'; -+ if (sz >= 0) -+ *out = buf; -+ else -+ free(buf); -+ -+ /* Number of bytes in the line, not counting the line break */ -+ return sz; -+} -+ -+static void -+wakeup_handler(void *data, int err, void *read_mask) -+{ -+ char *line = NULL; -+ char *walk; -+ -+ if (err < 0) -+ return; ++ /* Process data. */ ++ char *ptr, *line = (devd_buf + 1); ++ size_t line_size = 0; ++ while((ptr = memchr(line, '\n', (devd_buf_used - line_size)))) { ++ line_size = (ptr - line); ++ do { ++ if (*(line - 1) != DEVD_EVENT_NOTIFY) ++ break; /* Handle only notify. */ ++ /* Check: is system=DEVFS. */ ++ size_t val_size; ++ char* val = devd_get_val_cstr("system", line, line_size, &val_size); ++ if (!is_meuqual_cstr("DEVFS", val, val_size)) ++ break; ++ /* Check: is subsystem=CDEV. */ ++ val = devd_get_val_cstr("subsystem", line, line_size, &val_size); ++ if (!is_meuqual_cstr("CDEV", val, val_size)) ++ break; ++ /* Get device name. */ ++ size_t cdev_size; ++ char* cdev = devd_get_val_cstr("cdev", line, line_size, &cdev_size); ++ if (!cdev) ++ break; ++ /* Get event type. */ ++ val = devd_get_val_cstr("type", line, line_size, &val_size); ++ if (is_meuqual_cstr("CREATE", val, val_size)) { ++ device_added(cdev, cdev_size, 0); ++ } else if (is_meuqual_cstr("DESTROY", val, val_size)) { ++ device_removed(cdev, cdev_size); ++ } ++ } while(0); + -+ if (FD_ISSET(sock_devd, (fd_set *) read_mask)) { -+ if (socket_getline(sock_devd, &line) < 0) ++ line += (line_size + 2); /* Skip '\n' and event type byte. */ ++ line_size = (line - devd_buf); ++ if (devd_buf_used <= line_size) { ++ devd_buf_used = 0; + return; -+ -+ walk = strchr(line + 1, ' '); -+ if (walk != NULL) -+ walk[0] = '\0'; -+ -+ switch (*line) { -+ case DEVD_EVENT_ADD: -+ device_added(line + 1); -+ break; -+ case DEVD_EVENT_REMOVE: -+ device_removed(line + 1); -+ break; -+ default: -+ break; + } -+ free(line); + } -+} -+ -+static void -+block_handler(void *data, struct timeval **tv, void *read_mask) -+{ ++ /* Save line without end marker. */ ++ if (line_size) { ++ devd_buf_used -= (line_size - 1); ++ memmove(devd_buf, (line - 1), devd_buf_used); ++ } ++ return; +} + +int +config_devd_init(void) +{ -+ char devicename[1024]; -+ int i, j; -+ + LogMessage(X_INFO, "config/devd: probing input devices...\n"); + + /* + * Add fake keyboard and give up on keyboards management + * if kbdmux is enabled + */ -+ if ((is_kbdmux = is_kbdmux_enabled()) == true) -+ device_added("kbdmux"); -+ -+ for (i = 0; hw_types[i].driver != NULL; i++) { -+ /* First scan the sysctl to determine the hardware */ -+ for (j = 0; j < 16; j++) { -+ if (sysctl_exists(&hw_types[i], j, -+ devicename, sizeof(devicename)) != 0) -+ device_added(devicename); ++ is_kbdmux = is_kbdmux_enabled(); ++ if (is_kbdmux) ++ device_added("kbdmux0", 7, 1); ++ ++ /* Scan /dev/ for devices. */ ++ struct dirent** namelist; ++ size_t dir_cnt = scandir(_PATH_DEV, &namelist, 0, alphasort); ++ for (size_t i = 0; i < dir_cnt; ++i) { ++ struct dirent* de = namelist[i]; ++ if (is_de_euqual_cstr(de, ".") || ++ is_de_euqual_cstr(de, "..")) { ++ free(de); ++ continue; + } -+ -+ if (devpath_exists(&hw_types[i], devicename, sizeof(devicename)) != 0) -+ device_added(devicename); ++ if (de->d_type != DT_DIR) { ++ device_added(de->d_name, de->d_namlen, 0); ++ } else { /* Sub folder. */ ++ char devicename[PATH_MAX]; ++ snprintf(devicename, sizeof(devicename), _PATH_DEV "%s", de->d_name); ++ struct dirent** snamelist; ++ size_t sdir_cnt = scandir(devicename, &snamelist, 0, alphasort); ++ for (size_t j = 0; j < sdir_cnt; ++j) { ++ struct dirent* sde = snamelist[j]; ++ if (!is_de_euqual_cstr(sde, ".") && ++ !is_de_euqual_cstr(sde, "..") && ++ sde->d_type != DT_DIR) { ++ size_t tm = snprintf(devicename, sizeof(devicename), "%s/%s", de->d_name, sde->d_name); ++ device_added(devicename, tm, 0); ++ } ++ free(sde); ++ } ++ free(snamelist); ++ } ++ free(de); + } ++ free(namelist); + -+ if ((sock_devd = connect_devd()) < 0) -+ return 0; -+ -+ RegisterBlockAndWakeupHandlers(block_handler, wakeup_handler, NULL); -+ -+ return 1; ++ devd_buf_used = 0; ++ devd_skt = connect_devd(); ++ return (devd_skt < 0) ? 0 : 1; +} + +void @@ -527,9 +880,6 @@ + rtimer = NULL; + } + -+ disconnect_devd(sock_devd); -+ -+ RemoveBlockAndWakeupHandlers(block_handler, wakeup_handler, NULL); -+ -+ is_console_kbd = false; ++ disconnect_devd(devd_skt); ++ return; +} Index: x11-servers/xorg-server/files/patch-config_udev.c =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/patch-config_udev.c @@ -0,0 +1,53 @@ +* Don't pass the device parameter when using kbdmux to prevent conflict +* +* Specify a driver to use for basic devices (keyboard and mouse), otherwise none attaches +* +--- config/udev.c.orig 2017-03-15 18:05:25 UTC ++++ config/udev.c +@@ -29,6 +29,7 @@ + + #include + #include ++#include + #include + + #include "input.h" +@@ -188,7 +189,21 @@ device_added(struct udev_device *udev_de + attrs.product = strdup(name); + input_options = input_option_new(input_options, "name", name); + input_options = input_option_new(input_options, "path", path); +- input_options = input_option_new(input_options, "device", path); ++ if(strstr(path, "kbdmux") != NULL) { ++ /* ++ * Don't pass "device" option if the keyboard is already attached ++ * to the console (ie. open() fails). This would activate a special ++ * logic in xf86-input-keyboard. Prevent any other attached to console ++ * keyboards being processed. There can be only one such device. ++ */ ++ int fd = open(path, O_RDONLY); ++ if (fd > -1) { ++ close(fd); ++ input_options = input_option_new(input_options, "device", path); ++ } ++ } ++ else ++ input_options = input_option_new(input_options, "device", path); + input_options = input_option_new(input_options, "major", itoa(major(devnum))); + input_options = input_option_new(input_options, "minor", itoa(minor(devnum))); + if (path) +@@ -272,6 +287,15 @@ device_added(struct udev_device *udev_de + } + } + ++ if (attrs.flags & (ATTR_KEY | ATTR_KEYBOARD)) ++ input_options = input_option_new(input_options, "driver", "kbd"); ++ else if (attrs.flags & ATTR_POINTER) { ++ if (strstr(path, "vbox")) ++ input_options = input_option_new(input_options, "driver", "vboxmouse"); ++ else ++ input_options = input_option_new(input_options, "driver", "mouse"); ++ } ++ + input_options = input_option_new(input_options, "config_info", config_info); + + /* Default setting needed for non-seat0 seats */ Index: x11-servers/xorg-server/files/patch-configure =================================================================== --- x11-servers/xorg-server/files/patch-configure +++ x11-servers/xorg-server/files/patch-configure @@ -1,6 +1,41 @@ ---- configure.orig 2016-07-19 17:27:31 UTC +* generated from patched configure.ac; revise and regen instead of editing +* +* Plumb the devd config backend into configure +* +* define USE_DEV_IO for ARM platforms +* +* Only run pkg-config for udev if it is not disabled to prevent over-linking +* +* Automatically use systemd/logind only on Linux +* +--- configure.orig 2017-03-15 18:05:39 UTC +++ configure -@@ -23168,9 +23168,14 @@ $as_echo "#define USE_ALPHA_PIO 1" >>con +@@ -1032,6 +1032,8 @@ CONFIG_UDEV_FALSE + CONFIG_UDEV_TRUE + UDEV_LIBS + UDEV_CFLAGS ++CONFIG_DEVD_FALSE ++CONFIG_DEVD_TRUE + HAVE_SYSTEMD_DAEMON_FALSE + HAVE_SYSTEMD_DAEMON_TRUE + SYSTEMD_DAEMON_LIBS +@@ -1367,6 +1369,7 @@ enable_tslib + enable_dbe + enable_xf86bigfont + enable_dpms ++enable_config_devd + enable_config_udev + enable_config_udev_kms + enable_config_hal +@@ -2191,6 +2194,7 @@ Optional Features: + --disable-dbe Build DBE extension (default: enabled) + --enable-xf86bigfont Build XF86 Big Font extension (default: disabled) + --disable-dpms Build DPMS extension (default: enabled) ++ --enable-config-devd Build devd support (default: auto) + --enable-config-udev Build udev support (default: auto) + --enable-config-udev-kms + Build udev kms support (default: auto) +@@ -23280,9 +23284,13 @@ $as_echo "#define USE_ALPHA_PIO 1" >>con esac GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee" ;; @@ -9,19 +44,122 @@ ARM_VIDEO=yes DEFAULT_INT10="stub" + case $host_os in -+ *freebsd*) -+ $as_echo "#define USE_DEV_IO 1" >>confdefs.h -+ ;; ++ *freebsd*) $as_echo "#define USE_DEV_IO 1" >>confdefs.h ++ ;; + esac ;; i*86) I386_VIDEO=yes -@@ -26057,7 +26062,7 @@ fi - case "x$XTRANS_SEND_FDS" in - xauto) - case "$host_os" in -- linux*|solaris*) -+ linux*|solaris*|freebsd*|dragonfly*|openbsd*) - XTRANS_SEND_FDS=yes - ;; - *) +@@ -24053,6 +24061,13 @@ else + DPMSExtension=yes + fi + ++# Check whether --enable-config-devd was given. ++if test "${enable_config_devd+set}" = set; then : ++ enableval=$enable_config_devd; CONFIG_DEVD=$enableval ++else ++ CONFIG_DEVD=auto ++fi ++ + # Check whether --enable-config-udev was given. + if test "${enable_config_udev+set}" = set; then : + enableval=$enable_config_udev; CONFIG_UDEV=$enableval +@@ -25813,6 +25828,31 @@ if test "x$CONFIG_UDEV" = xyes && test " + as_fn_error $? "Hotplugging through both libudev and hal not allowed" "$LINENO" 5 + fi + ++if test "x$CONFIG_DEVD" = xauto; then ++ case $host_os in ++ *freebsd*) ++ CONFIG_DEVD=yes ++ ;; ++ *) ++ CONFIG_DEVD=no ++ ;; ++ esac ++fi ++ if test "x$CONFIG_DEVD" = xyes; then ++ CONFIG_DEVD_TRUE= ++ CONFIG_DEVD_FALSE='#' ++else ++ CONFIG_DEVD_TRUE='#' ++ CONFIG_DEVD_FALSE= ++fi ++ ++if test "x$CONFIG_DEVD" = xyes; then ++ ++$as_echo "#define CONFIG_DEVD 1" >>confdefs.h ++ ++fi ++ ++if test "x$CONFIG_UDEV" != xno; then + + pkg_failed=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UDEV" >&5 +@@ -25884,11 +25924,12 @@ else + $as_echo "yes" >&6; } + HAVE_LIBUDEV=yes + fi +-if test "x$CONFIG_UDEV" = xauto; then +- CONFIG_UDEV="$HAVE_LIBUDEV" ++ if test "x$CONFIG_UDEV" = xauto; then ++ CONFIG_UDEV="$HAVE_LIBUDEV" + + $as_echo "#define HAVE_LIBUDEV 1" >>confdefs.h + ++ fi + fi + if test "x$CONFIG_UDEV" = xyes; then + CONFIG_UDEV_TRUE= +@@ -26132,7 +26173,14 @@ fi + + if test "x$SYSTEMD_LOGIND" = xauto; then + if test "x$HAVE_DBUS" = xyes -a "x$CONFIG_UDEV" = xyes ; then +- SYSTEMD_LOGIND=yes ++ case $host_os in ++ *linux*) ++ SYSTEMD_LOGIND=yes ++ ;; ++ *) ++ SYSTEMD_LOGIND=no ++ ;; ++ esac + else + SYSTEMD_LOGIND=no + fi +@@ -32849,17 +32897,17 @@ DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER + ac_config_commands="$ac_config_commands sdksyms" + + +-if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno; then ++if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno && test "x$CONFIG_DEVD" = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +- *********************************************** +- Neither HAL nor udev backend will be enabled. ++ ***************************************************** ++ Neither HAL, devd, nor udev backend will be enabled. + Input device hotplugging will not be available! +- ***********************************************" >&5 ++ *****************************************************" >&5 + $as_echo "$as_me: WARNING: +- *********************************************** +- Neither HAL nor udev backend will be enabled. ++ ***************************************************** ++ Neither HAL, devd, nor udev backend will be enabled. + Input device hotplugging will not be available! +- ***********************************************" >&2;} ++ *****************************************************" >&2;} + fi + + ac_config_files="$ac_config_files Makefile glx/Makefile include/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile doc/Makefile doc/dtrace/Makefile man/Makefile fb/Makefile glamor/Makefile record/Makefile config/Makefile mi/Makefile miext/Makefile miext/sync/Makefile miext/damage/Makefile miext/shadow/Makefile miext/rootless/Makefile os/Makefile pseudoramiX/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile dri3/Makefile present/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/Xorg.sh hw/xfree86/common/Makefile hw/xfree86/common/xf86Build.h hw/xfree86/ddc/Makefile hw/xfree86/dixmods/Makefile hw/xfree86/doc/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile hw/xfree86/dri2/pci_ids/Makefile hw/xfree86/drivers/Makefile hw/xfree86/drivers/modesetting/Makefile hw/xfree86/exa/Makefile hw/xfree86/exa/man/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/fbdevhw/man/Makefile hw/xfree86/glamor_egl/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/man/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/hurd/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/os-support/stub/Makefile hw/xfree86/parser/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile hw/dmx/doxygen/doxygen.conf hw/dmx/doxygen/Makefile hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/dmx/man/Makefile hw/vfb/Makefile hw/vfb/man/Makefile hw/xnest/Makefile hw/xnest/man/Makefile hw/xwin/Makefile hw/xwin/dri/Makefile hw/xwin/glx/Makefile hw/xwin/man/Makefile hw/xwin/winclipboard/Makefile hw/xquartz/Makefile hw/xquartz/GL/Makefile hw/xquartz/bundle/Makefile hw/xquartz/man/Makefile hw/xquartz/mach-startup/Makefile hw/xquartz/pbproxy/Makefile hw/xquartz/xpr/Makefile hw/kdrive/Makefile hw/kdrive/ephyr/Makefile hw/kdrive/ephyr/man/Makefile hw/kdrive/fake/Makefile hw/kdrive/fbdev/Makefile hw/kdrive/linux/Makefile hw/kdrive/src/Makefile hw/xwayland/Makefile test/Makefile test/xi1/Makefile test/xi2/Makefile xserver.ent xorg-server.pc" +@@ -33122,6 +33170,10 @@ if test -z "${HAVE_SYSTEMD_DAEMON_TRUE}" + as_fn_error $? "conditional \"HAVE_SYSTEMD_DAEMON\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${CONFIG_DEVD_TRUE}" && test -z "${CONFIG_DEVD_FALSE}"; then ++ as_fn_error $? "conditional \"CONFIG_DEVD\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${CONFIG_UDEV_TRUE}" && test -z "${CONFIG_UDEV_FALSE}"; then + as_fn_error $? "conditional \"CONFIG_UDEV\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 Index: x11-servers/xorg-server/files/patch-hw_xfree86_Makefile.in =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/patch-hw_xfree86_Makefile.in @@ -0,0 +1,14 @@ +* Don't overwrite Xorg binary with Xorg.sh when SUID_WRAPPER_DIR == bindir +* Instead, relink bin/X to Xorg.wrap rather than to Xorg (which isn't Xorg.sh) +* +--- hw/xfree86/Makefile.in.orig 2017-03-16 05:24:43 UTC ++++ hw/xfree86/Makefile.in +@@ -1149,7 +1149,7 @@ install-exec-hook: + @INSTALL_SETUID_TRUE@ chmod u+s $(DESTDIR)$(bindir)/Xorg + @SUID_WRAPPER_TRUE@ $(MKDIR_P) $(DESTDIR)$(SUID_WRAPPER_DIR) + @SUID_WRAPPER_TRUE@ mv $(DESTDIR)$(bindir)/Xorg $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg +-@SUID_WRAPPER_TRUE@ ${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg ++@SUID_WRAPPER_TRUE@ (test ! -f $(DESTDIR)$(bindir)/Xorg && ${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg || cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) Xorg.wrap$(EXEEXT) X) + @SUID_WRAPPER_TRUE@ -chown root $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap && chmod u+s $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap + + uninstall-local: Index: x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86AutoConfig.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86AutoConfig.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86AutoConfig.c @@ -1,4 +1,8 @@ ---- hw/xfree86/common/xf86AutoConfig.c.orig 2017-01-11 20:00:58 UTC +* Try using modesetting driver before falling back to scfb or vesa +* +* Use our scfb driver as fallback instead of Linux's fbdev +* +--- hw/xfree86/common/xf86AutoConfig.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/common/xf86AutoConfig.c @@ -276,7 +276,7 @@ listPossibleVideoDrivers(char *matches[] i += xf86PciMatchDriver(&matches[i], nmatches - i); Index: x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Config.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Config.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Config.c @@ -1,12 +1,14 @@ ---- hw/xfree86/common/xf86Config.c.orig 2016-07-19 17:14:30 UTC +* Select the devd config backend if it is activated +* +--- hw/xfree86/common/xf86Config.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/common/xf86Config.c -@@ -1410,13 +1410,16 @@ checkCoreInputDevices(serverLayoutPtr se +@@ -1375,13 +1375,16 @@ checkCoreInputDevices(serverLayoutPtr se } if (!xf86Info.forceInputDevices && !(foundPointer && foundKeyboard)) { -#if defined(CONFIG_HAL) || defined(CONFIG_UDEV) || defined(CONFIG_WSCONS) +#if defined(CONFIG_HAL) || defined(CONFIG_UDEV) || defined(CONFIG_WSCONS) || \ -+ defined(CONFIG_DEVD) ++ defined(CONFIG_DEVD) const char *config_backend; #if defined(CONFIG_HAL) Index: x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Globals.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Globals.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Globals.c @@ -1,4 +1,6 @@ ---- hw/xfree86/common/xf86Globals.c.orig 2016-07-19 17:07:29 UTC +* Include devd in the set of config backends +* +--- hw/xfree86/common/xf86Globals.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/common/xf86Globals.c @@ -122,7 +122,8 @@ xf86InfoRec xf86Info = { .pmFlag = TRUE, Index: x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Xinput.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Xinput.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_common_xf86Xinput.c @@ -1,6 +1,8 @@ ---- hw/xfree86/common/xf86Xinput.c.orig 2016-07-19 17:07:29 UTC +* Recognize devd backend as a source of auto-configured devices +* +--- hw/xfree86/common/xf86Xinput.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/common/xf86Xinput.c -@@ -841,7 +841,7 @@ xf86NewInputDevice(InputInfoPtr pInfo, D +@@ -871,7 +871,7 @@ xf86NewInputDevice(InputInfoPtr pInfo, D { InputDriverPtr drv = NULL; DeviceIntPtr dev = NULL; @@ -9,7 +11,7 @@ int rval; char *path = NULL; -@@ -996,6 +996,7 @@ NewInputDeviceRequest(InputOption *optio +@@ -1034,6 +1034,7 @@ NewInputDeviceRequest(InputOption *optio if (strcmp(key, "_source") == 0 && (strcmp(value, "server/hal") == 0 || strcmp(value, "server/udev") == 0 || Index: x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_bsd__init.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_bsd__init.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_bsd__init.c @@ -1,4 +1,4 @@ ---- hw/xfree86/os-support/bsd/bsd_init.c.orig 2016-07-19 17:07:29 UTC +--- hw/xfree86/os-support/bsd/bsd_init.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/os-support/bsd/bsd_init.c @@ -230,6 +230,9 @@ xf86OpenConsole() * Add cases for other *BSD that behave the same. Index: x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_i386__video.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_i386__video.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_i386__video.c @@ -1,5 +1,5 @@ Index: programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c ---- hw/xfree86/os-support/bsd/i386_video.c.orig 2016-07-15 16:18:11 UTC +--- hw/xfree86/os-support/bsd/i386_video.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/os-support/bsd/i386_video.c @@ -32,6 +32,7 @@ #include "xf86Priv.h" Index: x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_ppc__video.c =================================================================== --- x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_ppc__video.c +++ x11-servers/xorg-server/files/patch-hw_xfree86_os-support_bsd_ppc__video.c @@ -1,4 +1,4 @@ ---- hw/xfree86/os-support/bsd/ppc_video.c.orig 2016-07-15 16:18:11 UTC +--- hw/xfree86/os-support/bsd/ppc_video.c.orig 2017-03-15 18:05:25 UTC +++ hw/xfree86/os-support/bsd/ppc_video.c @@ -79,7 +79,11 @@ xf86DisableIO() { Index: x11-servers/xorg-server/files/patch-hw_xfree86_xorg-wrapper.c =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/patch-hw_xfree86_xorg-wrapper.c @@ -0,0 +1,27 @@ +* Skip the detection of root rights requirement, the assumption that presence +* of KMS drivers removes the root requirement is only valid for Linux +* +--- hw/xfree86/xorg-wrapper.c.orig 2017-03-15 18:05:25 UTC ++++ hw/xfree86/xorg-wrapper.c +@@ -188,9 +188,6 @@ static int on_console(int fd) + + int main(int argc, char *argv[]) + { +-#ifdef WITH_LIBDRM +- struct drm_mode_card_res res; +-#endif + char buf[PATH_MAX]; + int i, r, fd; + int kms_cards = 0; +@@ -227,9 +224,10 @@ int main(int argc, char *argv[]) + } + } + +-#ifdef WITH_LIBDRM ++#if defined(WITH_LIBDRM) && defined(__linux__) + /* Detect if we need root rights, except when overriden by the config */ + if (needs_root_rights == -1) { ++ struct drm_mode_card_res res; + for (i = 0; i < 16; i++) { + snprintf(buf, sizeof(buf), DRM_DEV_NAME, DRM_DIR_NAME, i); + fd = open(buf, O_RDWR); Index: x11-servers/xorg-server/files/patch-include_dix-config.h.in =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/patch-include_dix-config.h.in @@ -0,0 +1,14 @@ +* Add a define which will be toggled by configure when devd backend is activated +* +--- include/dix-config.h.in.orig 2017-03-15 18:05:25 UTC ++++ include/dix-config.h.in +@@ -433,6 +433,9 @@ + /* Support D-Bus */ + #undef HAVE_DBUS + ++/* Use devd for input hotplug */ ++#undef CONFIG_DEVD ++ + /* Use libudev for input hotplug */ + #undef CONFIG_UDEV + Index: x11-servers/xorg-server/files/patch-xkb_Makefile.in =================================================================== --- x11-servers/xorg-server/files/patch-xkb_Makefile.in +++ x11-servers/xorg-server/files/patch-xkb_Makefile.in @@ -1,6 +1,11 @@ ---- xkb/Makefile.in.orig 2017-01-19 15:20:42 UTC +* Skip installing a README into a directory which is actually a symlink created +* by another port. If this file is installed, then upon uninstall pkg will +* delete the directory under the symlink, which would cause a reinstall to fail +* as the target directory is not remade until reinstalling the other port +* +--- xkb/Makefile.in.orig 2017-03-16 05:24:43 UTC +++ xkb/Makefile.in -@@ -878,7 +878,7 @@ info: info-am +@@ -886,7 +886,7 @@ info: info-am info-am: Index: x11-servers/xorg-server/files/xkb_Makefile.am =================================================================== --- /dev/null +++ x11-servers/xorg-server/files/xkb_Makefile.am @@ -0,0 +1,13 @@ +* Skip installing a README into a directory which is actually a symlink created +* by another port. If this file is installed, then upon uninstall pkg will +* delete the directory under the symlink, which would cause a reinstall to fail +* as the target directory is not remade until reinstalling the other port +* +--- xkb/Makefile.am.orig 2017-03-16 05:24:43 UTC ++++ xkb/Makefile.am +@@ -39,4 +39,4 @@ libxkbstubs_la_SOURCES = ddxVT.c ddxPriv + EXTRA_DIST = xkbDflts.h xkbgeom.h xkb.h + + xkbcompileddir = $(XKB_COMPILED_DIR) +-dist_xkbcompiled_DATA = README.compiled ++#dist_xkbcompiled_DATA = README.compiled Index: x11-servers/xorg-server/pkg-plist =================================================================== --- x11-servers/xorg-server/pkg-plist +++ x11-servers/xorg-server/pkg-plist @@ -1,6 +1,6 @@ bin/X -%%SUID%%@(,,4555) bin/Xorg -%%NO_SUID%%bin/Xorg +bin/Xorg +%%SUID%%@(,,4555) bin/Xorg.wrap bin/cvt bin/gtf include/xorg/BT.h @@ -159,7 +159,7 @@ include/xorg/xorg-server.h include/xorg/xorgVersion.h include/xorg/xserver-properties.h -@comment include/xorg/xserver_poll.h +include/xorg/xserver_poll.h include/xorg/xvdix.h include/xorg/xvmcext.h lib/xorg/modules/drivers/modesetting_drv.so @@ -177,13 +177,16 @@ lib/xorg/protocol.txt libdata/pkgconfig/xorg-server.pc man/man1/Xorg.1.gz +%%SUID%%man/man1/Xorg.wrap.1.gz man/man1/Xserver.1.gz man/man1/cvt.1.gz man/man1/gtf.1.gz man/man4/exa.4.gz man/man4/fbdevhw.4.gz man/man4/modesetting.4.gz +%%SUID%%man/man5/Xwrapper.config.5.gz man/man5/xorg.conf.5.gz man/man5/xorg.conf.d.5.gz +%%UDEV%%share/X11/xorg.conf.d/10-quirks.conf share/aclocal/xorg-server.m4 @dir etc/X11/xorg.conf.d Index: x11-servers/xorg-vfbserver/Makefile =================================================================== --- x11-servers/xorg-vfbserver/Makefile +++ x11-servers/xorg-vfbserver/Makefile @@ -2,7 +2,6 @@ # $FreeBSD$ PORTNAME= xorg-vfbserver -PORTVERSION= 1.19.1 PORTEPOCH= 1 COMMENT= X virtual framebuffer server from X.Org @@ -11,13 +10,8 @@ MASTERDIR= ${.CURDIR}/../xorg-server DESCR= ${.CURDIR}/pkg-descr -DISTINFO_FILE= ${.CURDIR}/distinfo -PATCHDIR= ${.CURDIR}/files SLAVE_PORT= yes -OPTIONS_EXCLUDE=DEVD HAL SUID - -USE_XORG= xfont2 CONFIGURE_ARGS+=--enable-xvfb --disable-dmx --disable-xephyr --disable-xnest \ --disable-xwayland Index: x11-servers/xorg-vfbserver/distinfo =================================================================== --- x11-servers/xorg-vfbserver/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1484389062 -SHA256 (xorg/xserver/xorg-server-1.19.1.tar.bz2) = 79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb -SIZE (xorg/xserver/xorg-server-1.19.1.tar.bz2) = 6041792 Index: x11-servers/xwayland/Makefile =================================================================== --- x11-servers/xwayland/Makefile +++ x11-servers/xwayland/Makefile @@ -1,7 +1,6 @@ # $FreeBSD$ PORTNAME= xwayland -PORTVERSION= 1.19.1 COMMENT= X Clients under Wayland @@ -13,18 +12,13 @@ MASTERDIR= ${.CURDIR}/../xorg-server DESCR= ${.CURDIR}/pkg-descr -DISTINFO_FILE= ${.CURDIR}/distinfo -PATCHDIR= ${.CURDIR}/files SLAVE_PORT= yes -OPTIONS_EXCLUDE=DEVD HAL SUID - -USE_XORG= x11 xext xfont2 +USE_XORG= x11 xext USE_GL+= egl gbm -CONFIGURE_ARGS+= --disable-docs --disable-devel-docs \ - --enable-xwayland --disable-xorg --disable-xvfb --disable-xnest \ - --disable-xquartz --disable-xwin +CONFIGURE_ARGS+=--disable-dmx --disable-xephyr --disable-xnest --disable-xvfb \ + --enable-xwayland PLIST_FILES= bin/Xwayland Index: x11-servers/xwayland/distinfo =================================================================== --- x11-servers/xwayland/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1484388904 -SHA256 (xorg/xserver/xorg-server-1.19.1.tar.bz2) = 79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb -SIZE (xorg/xserver/xorg-server-1.19.1.tar.bz2) = 6041792 Index: x11-wm/echinus/Makefile =================================================================== --- x11-wm/echinus/Makefile +++ x11-wm/echinus/Makefile @@ -3,15 +3,15 @@ PORTNAME= echinus PORTVERSION= 0.4.9 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11-wm MASTER_SITES= http://plhk.ru/static/echinus/ MAINTAINER= hrkfdn@gmail.com COMMENT= Dynamic window manager for X11 based on dwm -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libfreetype.so:print/freetype2 \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig Index: x11/kde4-workspace/Makefile =================================================================== --- x11/kde4-workspace/Makefile +++ x11/kde4-workspace/Makefile @@ -2,10 +2,7 @@ PORTNAME= kde-workspace PORTVERSION= ${KDE4_WORKSPACE_VERSION} -PORTREVISION= 7 -CATEGORIES= x11 kde -MASTER_SITES= KDE/${KDE4_APPLICATIONS_BRANCH}/applications/${KDE4_APPLICATIONS_VERSION}/src -DIST_SUBDIR= KDE/${PORTVERSION} +CATEGORIES= x11 kde kde-applications MAINTAINER= kde@FreeBSD.org COMMENT= KDE Plasma Desktop @@ -14,6 +11,8 @@ libck-connector.so:sysutils/consolekit \ libpci.so:devel/libpci \ libhal.so:sysutils/hal \ + libqjson.so:devel/qjson \ + libcln.so:math/cln \ libqalculate.so:math/libqalculate \ libprison.so:graphics/prison \ libboost_thread.so:devel/boost-libs \ @@ -42,18 +41,20 @@ USES= cmake:outsource compiler:c++11-lib gettext gmake jpeg kde:4 \ pkgconfig shebangfix tar:xz -USE_GL= glu -USE_GNOME= glib20 +USE_GL= gl glu +USE_GNOME= glib20 libxml2 USE_KDE= kactivities kdelibs nepomuk-core oxygen-icons4 \ pimlibs akonadi automoc4 ontologies qimageblitz soprano strigi USE_QT4= corelib dbus declarative designer_build gui network \ - opengl phonon qtestlib script sql webkit xml \ + opengl phonon qtestlib script sql svg webkit xml \ moc_build qmake_build rcc_build uic_build -USE_XORG= kbproto x11 xau xcomposite xcursor xdamage xdmcp xfixes \ - xft xi xinerama xkbfile xrandr xrender xres xscrnsaver xtst +USE_XORG= ice sm kbproto x11 xau xcb xcomposite xcursor xdamage xdmcp xext xfixes \ + xft xi xinerama xkbfile xpm xrandr xrender xres xscrnsaver xtst xxf86vm SHEBANG_FILES= kwin/clients/oxygen/data/update_oxygen.pl USE_LDCONFIG= yes +KDE4_APPLICATIONS_VERSION= 15.08.0 + CMAKE_ARGS= -DCMAKE_REQUIRED_FLAGS:STRING="-L${LOCALBASE}/lib" \ -DBUILD_python:BOOL=OFF \ -DBUILD_ruby:BOOL=OFF \ Index: x11/kde4-workspace/distinfo =================================================================== --- x11/kde4-workspace/distinfo +++ x11/kde4-workspace/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1466144753 -SHA256 (KDE/4.11.21/kde-workspace-4.11.21.tar.xz) = 7196c68802af335b15a3b8e14c55a15ed7c2c0e9145a047dc6d4a281fe7f7c8f -SIZE (KDE/4.11.21/kde-workspace-4.11.21.tar.xz) = 13550508 +TIMESTAMP = 1490594696 +SHA256 (KDE/4.11.22/kde-workspace-4.11.22.tar.xz) = f035334e843d67ee88551ae9e6c5f64bf7b1edfe311b12501575fe74be0b03b7 +SIZE (KDE/4.11.22/kde-workspace-4.11.22.tar.xz) = 13553668 Index: x11/kde4-workspace/files/patch-CMakeLists.txt =================================================================== --- x11/kde4-workspace/files/patch-CMakeLists.txt +++ x11/kde4-workspace/files/patch-CMakeLists.txt @@ -1,4 +1,4 @@ ---- CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +--- CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ CMakeLists.txt @@ -198,7 +198,7 @@ if(NOT WIN32) configure_file(config-unix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-unix.h ) Index: x11/kde4-workspace/files/patch-ConfigureChecks.cmake =================================================================== --- x11/kde4-workspace/files/patch-ConfigureChecks.cmake +++ x11/kde4-workspace/files/patch-ConfigureChecks.cmake @@ -1,4 +1,4 @@ ---- ConfigureChecks.cmake.orig 2015-06-26 03:17:21 UTC +--- ConfigureChecks.cmake.orig 2015-08-12 07:03:15 UTC +++ ConfigureChecks.cmake @@ -21,16 +21,7 @@ if (PAM_FOUND) endmacro(define_pam_service) Index: x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt =================================================================== --- x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt +++ x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt @@ -1,4 +1,4 @@ ---- kdm/kfrontend/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +--- kdm/kfrontend/CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ kdm/kfrontend/CMakeLists.txt @@ -111,6 +111,6 @@ install(TARGETS kdmctl ${INSTALL_TARGETS Index: x11/kde4-workspace/files/patch-kdm__backend__client.c =================================================================== --- x11/kde4-workspace/files/patch-kdm__backend__client.c +++ x11/kde4-workspace/files/patch-kdm__backend__client.c @@ -1,35 +0,0 @@ ---- kdm/backend/client.c.orig 2015-06-26 03:17:21 UTC -+++ kdm/backend/client.c -@@ -1322,6 +1322,9 @@ startClient(volatile int *pid) - char ckDeviceBuf[20] = ""; - const char *ckDevice = ckDeviceBuf; - dbus_bool_t isLocal; -+# ifdef BSD -+ FILE *proc; -+# endif - #endif - char *failsafeArgv[2]; - char *buf, *buf2; -@@ -1353,6 +1356,13 @@ startClient(volatile int *pid) - # ifdef HAVE_VTS - if (td->serverVT > 0) - sprintf(ckDeviceBuf, "/dev/tty%d", td->serverVT); -+# elif defined(BSD) -+ if ((proc = popen( "/usr/local/libexec/ck-get-x11-display-device", "r" ))) { -+ fscanf( proc, "%s", ckDeviceBuf ); -+ pclose(proc); -+ if (strcmp( ckDeviceBuf, "usage" ) == 0 || strcmp( ckDeviceBuf, "ERROR:" ) == 0) -+ ckDeviceBuf[0] = '\0'; -+ } - # endif - isLocal = ((td->displayType & d_location) == dLocal); - # ifdef XDMCP -@@ -1532,7 +1542,7 @@ startClient(volatile int *pid) - environ = pam_env; - # endif - removeCreds = True; /* set it first - i don't trust PAM's rollback */ -- pretc = pam_setcred(pamh, 0); -+ pretc = pam_setcred(pamh, PAM_ESTABLISH_CRED); - reInitErrorLog(); - # ifndef HAVE_PAM_GETENVLIST - pam_env = environ; Index: x11/kde4-workspace/files/patch-kdm_backend_client.c =================================================================== --- x11/kde4-workspace/files/patch-kdm_backend_client.c +++ x11/kde4-workspace/files/patch-kdm_backend_client.c @@ -1,4 +1,4 @@ ---- kdm/backend/client.c.orig 2015-06-26 03:17:21 UTC +--- kdm/backend/client.c.orig 2015-08-12 07:03:15 UTC +++ kdm/backend/client.c @@ -1322,6 +1322,9 @@ startClient(volatile int *pid) char ckDeviceBuf[20] = ""; Index: x11/kde4-workspace/files/patch-kinfocenter =================================================================== --- x11/kde4-workspace/files/patch-kinfocenter +++ x11/kde4-workspace/files/patch-kinfocenter @@ -5,7 +5,7 @@ Improve GetInfo_ReadfromPipe function to use Qt types, pass program name and its parameters as separate arguments. ---- cmake/modules/FindBSDDevinfo.cmake.orig 2016-12-13 11:26:31 UTC +--- cmake/modules/FindBSDDevinfo.cmake.orig 2015-08-12 07:03:15 UTC +++ cmake/modules/FindBSDDevinfo.cmake @@ -0,0 +1,15 @@ +# Find FreeBSD devinfo library @@ -23,7 +23,7 @@ +find_package_handle_standard_args(BSDDEVINFO DEFAULT_MSG BSDDEVINFO_LIBRARY BSDDEVINFO_INCLUDE_DIR) + +mark_as_advanced(BSDDEVINFO_INCLUDE_DIR BSDDEVINFO_LIBRARY) ---- kinfocenter/Modules/base/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/base/CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/base/CMakeLists.txt @@ -1,6 +1,7 @@ # TODO: HAVE_LIBDEVINFO_H (for Solaris 7 and later) @@ -34,7 +34,7 @@ +macro_bool_to_01(BSDDEVINFO_FOUND HAVE_DEVINFO_H) configure_file (../base/config-infocenter.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-infocenter.h ) ---- kinfocenter/Modules/base/info_fbsd.cpp.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/base/info_fbsd.cpp.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/base/info_fbsd.cpp @@ -15,8 +15,6 @@ */ @@ -290,7 +290,7 @@ new QTreeWidgetItem(tree, list); return 0; ---- kinfocenter/Modules/base/info_hpux.cpp.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/base/info_hpux.cpp.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/base/info_hpux.cpp @@ -30,6 +30,7 @@ along with this program. If not, see @@ -318,7 +318,7 @@ } /* Parts taken from fsusage.c from the Midnight Commander (mc) ---- kinfocenter/Modules/base/info_linux.cpp.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/base/info_linux.cpp.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/base/info_linux.cpp @@ -33,6 +33,7 @@ along with this program. If not, see @@ -344,7 +344,7 @@ /* if lspci failed, read the contents of /proc/pci */ return GetInfo_ReadfromFile(tree, INFO_PCI, 0); ---- kinfocenter/Modules/base/os_base.h.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/base/os_base.h.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/base/os_base.h @@ -330,12 +330,12 @@ static bool GetInfo_XServer_Generic(QTre } @@ -361,7 +361,7 @@ if (!proc.waitForFinished()) { // Process hanged or did not start return 0; ---- kinfocenter/Modules/info/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/info/CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/info/CMakeLists.txt @@ -13,6 +13,9 @@ set(kcm_info_PART_SRCS main.cpp info.cpp kde4_add_plugin(kcm_info ${kcm_info_PART_SRCS}) Index: x11/kde4-workspace/files/patch-kinfocenter_Modules_pci_kpci.cpp =================================================================== --- x11/kde4-workspace/files/patch-kinfocenter_Modules_pci_kpci.cpp +++ x11/kde4-workspace/files/patch-kinfocenter_Modules_pci_kpci.cpp @@ -1,7 +1,7 @@ * Obey user's unit preferences when displaying PCI info. * Use correct units, someone forgot about terabytes * ---- kinfocenter/Modules/pci/kpci.cpp.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/pci/kpci.cpp.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/pci/kpci.cpp @@ -22,6 +22,8 @@ extern "C" { #include Index: x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.h =================================================================== --- x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.h +++ x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.h @@ -1,6 +1,6 @@ * Add a couple variables for the additional functionality in FancyPlotter.cpp * ---- ksysguard/gui/SensorDisplayLib/FancyPlotter.h.orig 2015-06-26 03:17:21 UTC +--- ksysguard/gui/SensorDisplayLib/FancyPlotter.h.orig 2015-08-12 07:03:15 UTC +++ ksysguard/gui/SensorDisplayLib/FancyPlotter.h @@ -52,6 +52,7 @@ class FPSensorProperties : public KSGRD: double minValue; Index: x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.cpp =================================================================== --- x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.cpp +++ x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.cpp @@ -6,7 +6,7 @@ * * Allow a stored description for sensors to override the label * ---- ksysguard/gui/SensorDisplayLib/FancyPlotter.cpp.orig 2015-06-26 03:17:21 UTC +--- ksysguard/gui/SensorDisplayLib/FancyPlotter.cpp.orig 2015-08-12 07:03:15 UTC +++ ksysguard/gui/SensorDisplayLib/FancyPlotter.cpp @@ -48,6 +48,7 @@ class SensorToAdd { QRegExp name; Index: x11/kde4-workspace/files/patch-ksysguard_gui_SystemLoad2.sgrd =================================================================== --- x11/kde4-workspace/files/patch-ksysguard_gui_SystemLoad2.sgrd +++ x11/kde4-workspace/files/patch-ksysguard_gui_SystemLoad2.sgrd @@ -1,7 +1,7 @@ * Provide a detailed view of Memory and Swap Used instead of the simplistic and * misleading view that showed only application use (kernel use was neglected) * ---- ksysguard/gui/SystemLoad2.sgrd.orig 2015-06-26 03:17:21 UTC +--- ksysguard/gui/SystemLoad2.sgrd.orig 2015-08-12 07:03:15 UTC +++ ksysguard/gui/SystemLoad2.sgrd @@ -3,11 +3,14 @@ Index: x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.h =================================================================== --- x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.h +++ x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.h @@ -1,6 +1,6 @@ * Add the detailed setMemInfo used in ksysguard.cpp * ---- ksysguard/gui/ksysguard.h.orig 2015-06-26 03:17:21 UTC +--- ksysguard/gui/ksysguard.h.orig 2015-08-12 07:03:15 UTC +++ ksysguard/gui/ksysguard.h @@ -77,6 +77,7 @@ class TopLevel : public KXmlGuiWindow, p void configureCurrentSheet(); Index: x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.cpp =================================================================== --- x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.cpp +++ x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.cpp @@ -2,7 +2,7 @@ * * Make the the Status Bar elements reasonably proportional in size * ---- ksysguard/gui/ksysguard.cpp.orig 2015-06-26 03:17:21 UTC +--- ksysguard/gui/ksysguard.cpp.orig 2015-08-12 07:03:15 UTC +++ ksysguard/gui/ksysguard.cpp @@ -93,19 +93,21 @@ TopLevel::TopLevel() /* Create the status bar. It displays some information about the Index: x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt =================================================================== --- x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt +++ x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt @@ -1,4 +1,4 @@ ---- kwin/opengltest/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +--- kwin/opengltest/CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ kwin/opengltest/CMakeLists.txt @@ -2,9 +2,11 @@ Index: x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.h =================================================================== --- x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.h +++ x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.h @@ -1,6 +1,6 @@ * Add handler for change of mutability of the desktop toolbox * ---- plasma/desktop/toolboxes/desktoptoolbox.h.orig 2015-06-26 03:17:21 UTC +--- plasma/desktop/toolboxes/desktoptoolbox.h.orig 2015-08-12 07:03:15 UTC +++ plasma/desktop/toolboxes/desktoptoolbox.h @@ -81,6 +81,7 @@ protected Q_SLOTS: * show/hide the toolbox Index: x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.cpp =================================================================== --- x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.cpp +++ x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.cpp @@ -1,6 +1,6 @@ * Hide the desktop toolbox (aka "cashew") when widgets are locked * ---- plasma/desktop/toolboxes/desktoptoolbox.cpp.orig 2015-06-26 03:17:21 UTC +--- plasma/desktop/toolboxes/desktoptoolbox.cpp.orig 2015-08-12 07:03:15 UTC +++ plasma/desktop/toolboxes/desktoptoolbox.cpp @@ -177,6 +177,8 @@ void DesktopToolBox::init() connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), Index: x11/kde4-workspace/files/patch-plasma_generic_applets_systemtray_CMakeLists.txt =================================================================== --- /dev/null +++ x11/kde4-workspace/files/patch-plasma_generic_applets_systemtray_CMakeLists.txt @@ -0,0 +1,13 @@ +* build fails with bare -lXss, the macro uses proper path for libXss +* +--- plasma/generic/applets/systemtray/CMakeLists.txt.orig 2015-08-12 07:03:15 UTC ++++ plasma/generic/applets/systemtray/CMakeLists.txt +@@ -43,7 +43,7 @@ include (CheckLibraryExists) + check_library_exists (Xss XScreenSaverQueryInfo "" HAVE_LIBXSS) + configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) + IF (HAVE_LIBXSS) +- SET (IDLE_DETECTION_LIB "Xss") ++ SET (IDLE_DETECTION_LIB ${X11_Xss_LIB}) + ENDIF (HAVE_LIBXSS) + + kde4_add_plugin(plasma_applet_systemtray ${systemtray_SRCS}) Index: x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp =================================================================== --- x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp +++ x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp @@ -1,21 +0,0 @@ ---- powerdevil/daemon/backends/upower/xrandrbrightness.cpp.orig 2015-06-26 03:17:21 UTC -+++ powerdevil/daemon/backends/upower/xrandrbrightness.cpp -@@ -62,6 +62,9 @@ XRandrBrightness::XRandrBrightness() - qWarning("No available Randr resources"); - return; - } -+ -+ if (brightness() == -1) -+ m_resources = 0; - } - - XRandrBrightness::~XRandrBrightness() -@@ -89,7 +92,7 @@ bool XRandrBrightness::isSupported() con - - float XRandrBrightness::brightness() const - { -- float result = 0; -+ float result = -1; - - if (!m_resources) - return result; Index: x11/kde4-workspace/files/patch-powerdevil_daemon_backends_upower_xrandrbrightness.cpp =================================================================== --- x11/kde4-workspace/files/patch-powerdevil_daemon_backends_upower_xrandrbrightness.cpp +++ x11/kde4-workspace/files/patch-powerdevil_daemon_backends_upower_xrandrbrightness.cpp @@ -1,4 +1,4 @@ ---- powerdevil/daemon/backends/upower/xrandrbrightness.cpp.orig 2015-06-26 03:17:21 UTC +--- powerdevil/daemon/backends/upower/xrandrbrightness.cpp.orig 2015-08-12 07:03:15 UTC +++ powerdevil/daemon/backends/upower/xrandrbrightness.cpp @@ -62,6 +62,9 @@ XRandrBrightness::XRandrBrightness() qWarning("No available Randr resources"); Index: x11/kde4-workspace/files/patch-startkde.cmake =================================================================== --- x11/kde4-workspace/files/patch-startkde.cmake +++ x11/kde4-workspace/files/patch-startkde.cmake @@ -1,4 +1,4 @@ ---- startkde.cmake.orig 2015-06-26 03:17:21 UTC +--- startkde.cmake.orig 2015-08-12 07:03:15 UTC +++ startkde.cmake @@ -271,7 +271,8 @@ export XDG_DATA_DIRS # Make sure that D-Bus is running Index: x11/kde4-workspace/files/patch-usbview =================================================================== --- x11/kde4-workspace/files/patch-usbview +++ x11/kde4-workspace/files/patch-usbview @@ -4,7 +4,7 @@ Old code probably works on NetBSD, but let it use libusb-1 as well. Use DeviceNotifier instead of polling. ---- cmake/modules/FindLibUSB1.cmake.orig 2016-12-13 11:26:31 UTC +--- cmake/modules/FindLibUSB1.cmake.orig 2015-08-12 07:03:15 UTC +++ cmake/modules/FindLibUSB1.cmake @@ -0,0 +1,21 @@ +# - Try to find libusb v1.0 library @@ -28,7 +28,7 @@ +find_package_handle_standard_args(LIBUSB1 DEFAULT_MSG LIBUSB1_LIBRARY LIBUSB1_INCLUDE_DIR) + +mark_as_advanced(LIBUSB1_INCLUDE_DIR LIBUSB1_LIBRARY) ---- kinfocenter/Modules/usbview/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/usbview/CMakeLists.txt.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/usbview/CMakeLists.txt @@ -1,15 +1,25 @@ +macro_optional_find_package(LibUSB1) @@ -58,12 +58,12 @@ install(TARGETS kcm_usb DESTINATION ${PLUGIN_INSTALL_DIR} ) ---- kinfocenter/Modules/usbview/config-kcmusb.h.cmake.orig 2016-12-13 11:26:31 UTC +--- kinfocenter/Modules/usbview/config-kcmusb.h.cmake.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/usbview/config-kcmusb.h.cmake @@ -0,0 +1,2 @@ +/* Defined if you have libusb */ +#cmakedefine HAVE_LIBUSB1 1 ---- kinfocenter/Modules/usbview/kcmusb.cpp.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/usbview/kcmusb.cpp.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/usbview/kcmusb.cpp @@ -12,7 +12,6 @@ #include @@ -108,7 +108,7 @@ int level = 0; bool found = true; ---- kinfocenter/Modules/usbview/usbdevices.cpp.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/usbview/usbdevices.cpp.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/usbview/usbdevices.cpp @@ -27,9 +27,9 @@ @@ -428,7 +428,7 @@ -#endif // !(defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)) +#endif // defined(Q_OS_LINUX) +#endif // defined(HAVE_LIBUSB1) ---- kinfocenter/Modules/usbview/usbdevices.h.orig 2015-06-26 03:17:21 UTC +--- kinfocenter/Modules/usbview/usbdevices.h.orig 2015-08-12 07:03:15 UTC +++ kinfocenter/Modules/usbview/usbdevices.h @@ -14,18 +14,9 @@ #include Index: x11/plasma-scriptengine-python/Makefile =================================================================== --- x11/plasma-scriptengine-python/Makefile +++ x11/plasma-scriptengine-python/Makefile @@ -2,10 +2,8 @@ PORTNAME= plasma-scriptengine-python PORTVERSION= ${KDE4_WORKSPACE_VERSION} -CATEGORIES= x11 kde -MASTER_SITES= KDE/${KDE4_APPLICATIONS_BRANCH}/applications/${KDE4_APPLICATIONS_VERSION}/src +CATEGORIES= x11 kde kde-applications DISTNAME= kde-workspace-${PORTVERSION} -DIST_SUBDIR= KDE/${PORTVERSION} MAINTAINER= kde@FreeBSD.org COMMENT= Plasma scriptengine for Python @@ -15,6 +13,8 @@ USE_QT4= qmake_build moc_build uic_build rcc_build DISTINFO_FILE= ${.CURDIR:H:H}/x11/kde4-workspace/distinfo +KDE_APPLICATIONS_VERSION= 15.08.0 + CMAKE_SOURCE_PATH= ${WRKSRC}/plasma/generic/scriptengines/python pre-configure: Index: x11/plasma-scriptengine-python/pkg-plist =================================================================== --- x11/plasma-scriptengine-python/pkg-plist +++ x11/plasma-scriptengine-python/pkg-plist @@ -1,21 +1,15 @@ %%PYTHON_SITELIBDIR%%/PyKDE4/plasmascript.py %%PYTHON_SITELIBDIR%%/PyKDE4/%%PYCACHE%%plasmascript.%%PYC_SUFFIX%% -%%PYTHON_SITELIBDIR%%/PyKDE4/%%PYCACHE%%plasmascript.%%PYO_SUFFIX%% share/apps/plasma_scriptengine_python/plasma_importer.py share/apps/plasma_scriptengine_python/%%PYCACHE%%plasma_importer.%%PYC_SUFFIX%% -share/apps/plasma_scriptengine_python/%%PYCACHE%%plasma_importer.%%PYO_SUFFIX%% share/apps/plasma_scriptengine_python/pyappletscript.py share/apps/plasma_scriptengine_python/%%PYCACHE%%pyappletscript.%%PYC_SUFFIX%% -share/apps/plasma_scriptengine_python/%%PYCACHE%%pyappletscript.%%PYO_SUFFIX%% share/apps/plasma_scriptengine_python/pydataengine.py share/apps/plasma_scriptengine_python/%%PYCACHE%%pydataengine.%%PYC_SUFFIX%% -share/apps/plasma_scriptengine_python/%%PYCACHE%%pydataengine.%%PYO_SUFFIX%% share/apps/plasma_scriptengine_python/pyrunner.py share/apps/plasma_scriptengine_python/%%PYCACHE%%pyrunner.%%PYC_SUFFIX%% -share/apps/plasma_scriptengine_python/%%PYCACHE%%pyrunner.%%PYO_SUFFIX%% share/apps/plasma_scriptengine_python/pywallpaper.py share/apps/plasma_scriptengine_python/%%PYCACHE%%pywallpaper.%%PYC_SUFFIX%% -share/apps/plasma_scriptengine_python/%%PYCACHE%%pywallpaper.%%PYO_SUFFIX%% share/kde4/services/plasma-scriptengine-applet-python.desktop share/kde4/services/plasma-scriptengine-dataengine-python.desktop share/kde4/services/plasma-scriptengine-runner-python.desktop Index: x11/plasma-scriptengine-ruby/Makefile =================================================================== --- x11/plasma-scriptengine-ruby/Makefile +++ x11/plasma-scriptengine-ruby/Makefile @@ -2,10 +2,8 @@ PORTNAME= plasma-scriptengine-ruby PORTVERSION= ${KDE4_WORKSPACE_VERSION} -CATEGORIES= x11 kde -MASTER_SITES= KDE/${KDE4_APPLICATIONS_BRANCH}/applications/${KDE4_APPLICATIONS_VERSION}/src +CATEGORIES= x11 kde kde-applications DISTNAME= kde-workspace-${PORTVERSION} -DIST_SUBDIR= KDE/${PORTVERSION} MAINTAINER= kde@FreeBSD.org COMMENT= Plasma scriptengine for Ruby @@ -16,6 +14,8 @@ USE_RUBY= yes DISTINFO_FILE= ${.CURDIR:H:H}/x11/kde4-workspace/distinfo +KDE_APPLICATIONS_VERSION= 15.08.0 + CMAKE_SOURCE_PATH= ${WRKSRC}/plasma/generic/scriptengines/ruby .include Index: x11/slim/Makefile =================================================================== --- x11/slim/Makefile +++ x11/slim/Makefile @@ -3,7 +3,7 @@ PORTNAME= slim PORTVERSION= 1.3.6 -PORTREVISION= 13 +PORTREVISION= 14 CATEGORIES= x11 MASTER_SITES= ftp://ftp.berlios.de/pub/slim/ \ SF/slim.berlios @@ -13,8 +13,8 @@ LICENSE= GPLv2 -LIB_DEPENDS= libpthread-stubs.so:devel/libpthread-stubs \ - libpng.so:graphics/png \ +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs +LIB_DEPENDS= libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libfontconfig.so:x11-fonts/fontconfig @@ -26,8 +26,8 @@ SUB_FILES= pkg-message CMAKE_ARGS= -DUSE_CONSOLEKIT=yes \ - -DBUILD_SLIMLOCK=no \ - -DBUILD_SHARED_LIBS=yes + -DBUILD_SLIMLOCK=no \ + -DBUILD_SHARED_LIBS=yes OPTIONS_DEFINE= PAM UTF8 CONSOLEKIT OPTIONS_DEFAULT= PAM CONSOLEKIT Index: x11/xpra/Makefile =================================================================== --- x11/xpra/Makefile +++ x11/xpra/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= xpra -PORTVERSION= 1.0.4 +PORTVERSION= 2.0 CATEGORIES= x11 MASTER_SITES= http://xpra.org/src/ @@ -14,14 +14,15 @@ BUILD_DEPENDS= cython:lang/cython \ ${PYTHON_PKGNAMEPREFIX}gtk2>2:x11-toolkits/py-gtk2 \ ${PYNUMPY} -LIB_DEPENDS= libfreetype.so:print/freetype2 \ +LIB_DEPENDS= libturbojpeg.so:graphics/libjpeg-turbo \ + libfreetype.so:print/freetype2 \ libfontconfig.so:x11-fonts/fontconfig RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lz4>=0.7.0_1:archivers/py-lz4 \ ${PYTHON_PKGNAMEPREFIX}rencode>1:converters/py-rencode \ ${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus \ ${PYTHON_PKGNAMEPREFIX}pyinotify>0:devel/py-pyinotify \ ${PYTHON_PKGNAMEPREFIX}xxhash>0:devel/py-xxhash \ - ${PYTHON_PKGNAMEPREFIX}pillow>1:graphics/py-pillow \ + ${PYTHON_PKGNAMEPREFIX}pillow>=3.0:graphics/py-pillow \ ${PYTHON_PKGNAMEPREFIX}PyOpenGL>=3.1.0:graphics/py-PyOpenGL \ ${PYTHON_PKGNAMEPREFIX}PyOpenGL-accelerate>=3.1.0:graphics/py-PyOpenGL-accelerate \ ${PYTHON_PKGNAMEPREFIX}netifaces>0:net/py-netifaces \ @@ -42,7 +43,7 @@ USE_XORG= x11 xcomposite xdamage xext xfixes xkbfile xrandr xtst PLIST_SUB+= PORTVERSION=${PORTVERSION} PYTHON_VER=${PYTHON_VER} -OPTIONS_DEFINE= AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV OPENCL OPENCV SWSCALE VPX WEBCAM WEBP X264 X265 XVID +OPTIONS_DEFINE= AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX WEBCAM X264 X265 OPTIONS_DEFAULT= AVAHI AVCODEC CUPS FFMPEG GSTREAMER HTML5 LIBYUV SWSCALE VPX X264 OPTIONS_SUB= yes @@ -51,16 +52,12 @@ FFMPEG_DESC= Enable FFmpeg encoder GSTREAMER_DESC= Enable GStreamer for sound forwarding HTML5_DESC= Install HTML5 client interface -LIBYUV_DESC= Enable libyuv CSC module (CPU, fastest) -OPENCL_DESC= Enable OpenCL CSC module (GPU) -OPENCV_DESC= Enable OpenCV CSC module (CPU, deprecated) -SWSCALE_DESC= Enable swscale (FFmpeg) CSC module (CPU) -VPX_DESC= Enable VP8 and VP9 codec (good) +LIBYUV_DESC= Enable libyuv CSC module (fastest) +SWSCALE_DESC= Enable swscale (FFmpeg) CSC module +VPX_DESC= Enable VP8 and VP9 codec WEBCAM_DESC= Enable webcam forwarding (client only) -WEBP_DESC= Enable WebP codec (deprecated) -X264_DESC= Enable X264 encoder (good) +X264_DESC= Enable X264 encoder X265_DESC= Enable X265 encoder (slow) -XVID_DESC= Enable Xvid encoder (unstable, deprecated) AVAHI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}avahi>0:net/py-avahi AVAHI_VARS= XPRA_OPTIONS+=mdns @@ -75,30 +72,21 @@ HTML5_VARS= XPRA_OPTIONS+=html5 LIBYUV_LIB_DEPENDS= libyuv.so:graphics/libyuv LIBYUV_VARS= XPRA_OPTIONS+=csc_libyuv -OPENCL_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd -OPENCL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyopencl>0:devel/py-pyopencl -OPENCL_VARS= XPRA_OPTIONS+=csc_opencl -OPENCV_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opencv2>2:graphics/py-opencv2 -OPENCV_VARS= XPRA_OPTIONS+=csc_opencv SWSCALE_LIB_DEPENDS= libswscale.so:multimedia/ffmpeg SWSCALE_VARS= XPRA_OPTIONS+=csc_swscale VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx VPX_VARS= XPRA_OPTIONS+=vpx WEBCAM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opencv2>2:graphics/py-opencv2 WEBCAM_VARS= XPRA_OPTIONS+=webcam -WEBP_LIB_DEPENDS= libwebp.so:graphics/webp -WEBP_VARS= XPRA_OPTIONS+=webp X264_LIB_DEPENDS= libx264.so:multimedia/libx264 X264_VARS= XPRA_OPTIONS+=enc_x264 X265_LIB_DEPENDS= libx265.so:multimedia/x265 X265_VARS= XPRA_OPTIONS+=enc_x265 -XVID_LIB_DEPENDS= libxvidcore.so:multimedia/xvid -XVID_VARS= XPRA_OPTIONS+=enc_xvid PYDISTUTILS_PKGNAME= xpra_all -XPRA_OPTIONS_ALL= csc_libyuv csc_opencl csc_opencv csc_swscale -XPRA_OPTIONS_ALL+= dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 enc_xvid -XPRA_OPTIONS_ALL+= html5 mdns sound printing vpx webcam webp +XPRA_OPTIONS_ALL= csc_libyuv csc_swscale +XPRA_OPTIONS_ALL+= dec_avcodec2 enc_ffmpeg enc_x264 enc_x265 +XPRA_OPTIONS_ALL+= html5 mdns sound printing vpx webcam XPRA_OPTIONS_ALL+= ${XPRA_OPTIONS_DISABLED} XPRA_OPTIONS_DISABLED= Xdummy Xdummy_wrapper minify nvenc7 @@ -123,20 +111,19 @@ PYDISTUTILS_INSTALLARGS+= ${PYDISTUTILS_ARGS} post-patch: - ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/setup.py - ${REINPLACE_CMD} -e 's|%%GCC_RUNTIME%%|${LOCALBASE}/lib/gcc${_GCC_VER}|' \ + @${REINPLACE_CMD} -e 's|%%GCC_RUNTIME%%|${LOCALBASE}/lib/gcc${_GCC_VER}|' \ ${WRKSRC}/scripts/xpra ${WRKSRC}/scripts/xpra_launcher - ${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \ + @${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' \ ${WRKSRC}/xpra/platform/pycups_printing.py - ${REINPLACE_CMD} -e 's|/usr/sbin|${LOCALBASE}/sbin|' \ + @${REINPLACE_CMD} -e 's|/usr/sbin|${LOCALBASE}/sbin|' \ ${WRKSRC}/etc/xpra/conf.d/16_printing.conf.in post-install: - ${MV} ${STAGEDIR}${ETCDIR}/xorg.conf \ + @${MV} ${STAGEDIR}${ETCDIR}/xorg.conf \ ${STAGEDIR}${ETCDIR}/xorg.conf.sample - ${MV} ${STAGEDIR}${ETCDIR}/xpra.conf \ + @${MV} ${STAGEDIR}${ETCDIR}/xpra.conf \ ${STAGEDIR}${ETCDIR}/xpra.conf.sample - ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \ - -exec ${STRIP_CMD} {} \; + @${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} -name '*.so' \ + -exec ${STRIP_CMD} {} + .include Index: x11/xpra/distinfo =================================================================== --- x11/xpra/distinfo +++ x11/xpra/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1489268981 -SHA256 (xpra-1.0.4.tar.xz) = c841940957761e60454eac44c955d174b3d864c853f28b387e784a6d85fc9924 -SIZE (xpra-1.0.4.tar.xz) = 1890404 +TIMESTAMP = 1489775415 +SHA256 (xpra-2.0.tar.xz) = ca9e9622a9d435f9591bf60baec50ea02ebad4e0c0017e1df43dfddd6616e807 +SIZE (xpra-2.0.tar.xz) = 1925080 Index: x11/xpra/files/patch-scripts_xpra =================================================================== --- x11/xpra/files/patch-scripts_xpra +++ x11/xpra/files/patch-scripts_xpra @@ -1,7 +1,7 @@ # preload the correct libgcc_s.so for libgfortran.so, # which is required for numpy # ---- scripts/xpra.orig 2016-12-06 10:56:26 UTC +--- scripts/xpra.orig 2017-03-17 07:24:27 UTC +++ scripts/xpra @@ -1,5 +1,8 @@ #!/usr/bin/env python Index: x11/xpra/files/patch-scripts_xpra__launcher =================================================================== --- x11/xpra/files/patch-scripts_xpra__launcher +++ x11/xpra/files/patch-scripts_xpra__launcher @@ -1,7 +1,7 @@ # preload the correct libgcc_s.so for libgfortran.so, # which is required for numpy # ---- scripts/xpra_launcher.orig 2016-12-06 10:56:26 UTC +--- scripts/xpra_launcher.orig 2017-03-17 07:24:27 UTC +++ scripts/xpra_launcher @@ -1,5 +1,8 @@ #!/usr/bin/env python Index: x11/xpra/files/patch-setup.py =================================================================== --- x11/xpra/files/patch-setup.py +++ x11/xpra/files/patch-setup.py @@ -1,15 +1,6 @@ ---- setup.py.orig 2017-02-06 09:47:42 UTC +--- setup.py.orig 2017-03-17 07:24:28 UTC +++ setup.py -@@ -218,7 +218,7 @@ else: - nvenc7_ENABLED = DEFAULT and pkg_config_ok("--exists", "nvenc7") - - memoryview_ENABLED = sys.version>='2.7' --csc_opencl_ENABLED = DEFAULT and pkg_config_ok("--exists", "OpenCL") and check_pyopencl_AMD() -+csc_opencl_ENABLED = DEFAULT and pkg_config_ok("--exists", "OpenCL") - csc_libyuv_ENABLED = DEFAULT and memoryview_ENABLED and pkg_config_ok("--exists", "libyuv", fallback=WIN32) - - #Cython / gcc / packaging build options: -@@ -1839,12 +1839,12 @@ if WIN32: +@@ -1801,12 +1801,12 @@ if WIN32: else: #OSX and *nix: scripts += ["scripts/xpra", "scripts/xpra_launcher"] @@ -24,7 +15,7 @@ add_data_files("share/appdata", ["xdg/xpra.appdata.xml"]) #here, we override build and install so we can -@@ -1877,7 +1877,7 @@ else: +@@ -1839,7 +1839,7 @@ else: if printing_ENABLED and os.name=="posix": #install "/usr/lib/cups/backend" with 0700 permissions: xpraforwarder_src = os.path.join("cups", "xpraforwarder") @@ -33,17 +24,7 @@ self.mkpath(cups_backend_dir) xpraforwarder_dst = os.path.join(cups_backend_dir, "xpraforwarder") shutil.copyfile(xpraforwarder_src, xpraforwarder_dst) -@@ -1895,7 +1895,8 @@ else: - #install xorg.conf, cuda.conf and nvenc.keys: - etc_xpra = os.path.join(etc_prefix, "etc", "xpra") - self.mkpath(etc_xpra) -- for x in ("xorg.conf", "cuda.conf", "nvenc.keys"): -+ etc_files = ["xorg.conf", "cuda.conf", "nvenc.keys"] if nvenc7_ENABLED else ["xorg.conf"] -+ for x in etc_files: - shutil.copyfile("etc/xpra/%s" % x, os.path.join(etc_xpra, x)) - - if pam_ENABLED: -@@ -1928,7 +1929,7 @@ else: +@@ -1891,7 +1891,7 @@ else: add_packages("xpra.platform.xposix") remove_packages("xpra.platform.win32", "xpra.platform.darwin") #not supported by all distros, but doesn't hurt to install it anyway: @@ -52,15 +33,3 @@ #gentoo does weird things, calls --no-compile with build *and* install #then expects to find the cython modules!? ie: -@@ -2353,7 +2354,10 @@ if enc_x265_ENABLED: - - toggle_packages(enc_xvid_ENABLED, "xpra.codecs.enc_xvid") - if enc_xvid_ENABLED: -- xvid_pkgconfig = pkgconfig("xvid") -+ xvid_pkgconfig = pkgconfig(optimize=3) -+ add_to_keywords(xvid_pkgconfig, 'libraries', "xvidcore") -+ add_to_keywords(xvid_pkgconfig, 'library_dirs', "%%LOCALBASE%%/lib") -+ add_to_keywords(xvid_pkgconfig, 'include_dirs', "%%LOCALBASE%%/include") - cython_add(Extension("xpra.codecs.enc_xvid.encoder", - ["xpra/codecs/enc_xvid/encoder.pyx", buffers_c], - **xvid_pkgconfig)) Index: x11/xpra/files/patch-xpra_client_gtk__base_bug__report.py =================================================================== --- x11/xpra/files/patch-xpra_client_gtk__base_bug__report.py +++ x11/xpra/files/patch-xpra_client_gtk__base_bug__report.py @@ -1,7 +1,7 @@ # Don't override window background colors in order to # avoid usability problems with light on dark themes # ---- xpra/client/gtk_base/bug_report.py.orig 2016-12-06 10:56:26 UTC +--- xpra/client/gtk_base/bug_report.py.orig 2017-03-17 07:24:27 UTC +++ xpra/client/gtk_base/bug_report.py @@ -43,7 +43,6 @@ class BugReport(object): self.window.set_default_size(400, 300) Index: x11/xpra/files/patch-xpra_client_gtk__base_client__launcher.py =================================================================== --- x11/xpra/files/patch-xpra_client_gtk__base_client__launcher.py +++ x11/xpra/files/patch-xpra_client_gtk__base_client__launcher.py @@ -1,9 +1,9 @@ # Don't override window background color in order to # avoid usability problems with light on dark themes # ---- xpra/client/gtk_base/client_launcher.py.orig 2016-12-06 10:56:26 UTC +--- xpra/client/gtk_base/client_launcher.py.orig 2017-03-17 07:24:27 UTC +++ xpra/client/gtk_base/client_launcher.py -@@ -146,7 +146,6 @@ class ApplicationWindow: +@@ -143,7 +143,6 @@ class ApplicationWindow: self.window.set_default_size(400, 260) self.window.set_border_width(20) self.window.set_title("Xpra Launcher") Index: x11/xpra/files/patch-xpra_client_gtk__base_start__new__command.py =================================================================== --- x11/xpra/files/patch-xpra_client_gtk__base_start__new__command.py +++ x11/xpra/files/patch-xpra_client_gtk__base_start__new__command.py @@ -1,7 +1,7 @@ # Don't override window background color in order to # avoid usability problems with light on dark themes # ---- xpra/client/gtk_base/start_new_command.py.orig 2016-12-06 10:56:26 UTC +--- xpra/client/gtk_base/start_new_command.py.orig 2017-03-17 07:24:27 UTC +++ xpra/client/gtk_base/start_new_command.py @@ -45,7 +45,6 @@ class StartNewCommand(object): self.window.set_default_size(400, 150) Index: x11/xpra/pkg-plist =================================================================== --- x11/xpra/pkg-plist +++ x11/xpra/pkg-plist @@ -23,6 +23,10 @@ %%PYTHON_SITELIBDIR%%/xpra/__init__.py %%PYTHON_SITELIBDIR%%/xpra/__init__.pyc %%PYTHON_SITELIBDIR%%/xpra/__init__.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/xpra/buffers/__init__.py +%%PYTHON_SITELIBDIR%%/xpra/buffers/__init__.pyc +%%PYTHON_SITELIBDIR%%/xpra/buffers/__init__.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/xpra/buffers/membuf.so %%PYTHON_SITELIBDIR%%/xpra/build_info.py %%PYTHON_SITELIBDIR%%/xpra/build_info.pyc %%PYTHON_SITELIBDIR%%/xpra/build_info.%%PYTHON_PYOEXTENSION%% @@ -192,29 +196,10 @@ %%PYTHON_SITELIBDIR%%/xpra/codecs/codec_constants.py %%PYTHON_SITELIBDIR%%/xpra/codecs/codec_constants.pyc %%PYTHON_SITELIBDIR%%/xpra/codecs/codec_constants.%%PYTHON_PYOEXTENSION%% -%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__init__.py -%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__init__.pyc -%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/__init__.%%PYTHON_PYOEXTENSION%% -%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_cython/colorspace_converter.so %%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__init__.py %%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__init__.pyc %%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/__init__.%%PYTHON_PYOEXTENSION%% %%LIBYUV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_libyuv/colorspace_converter.so -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/__init__.py -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/__init__.pyc -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/__init__.%%PYTHON_PYOEXTENSION%% -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/colorspace_converter.py -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/colorspace_converter.pyc -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/colorspace_converter.%%PYTHON_PYOEXTENSION%% -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/opencl_kernels.py -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/opencl_kernels.pyc -%%OPENCL%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencl/opencl_kernels.%%PYTHON_PYOEXTENSION%% -%%OPENCV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencv/__init__.py -%%OPENCV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencv/__init__.pyc -%%OPENCV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencv/__init__.%%PYTHON_PYOEXTENSION%% -%%OPENCV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencv/colorspace_converter.py -%%OPENCV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencv/colorspace_converter.pyc -%%OPENCV%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_opencv/colorspace_converter.%%PYTHON_PYOEXTENSION%% %%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/__init__.py %%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/__init__.pyc %%SWSCALE%%%%PYTHON_SITELIBDIR%%/xpra/codecs/csc_swscale/__init__.%%PYTHON_PYOEXTENSION%% @@ -241,13 +226,14 @@ %%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/__init__.pyc %%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/__init__.%%PYTHON_PYOEXTENSION%% %%X265%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_x265/encoder.so -%%XVID%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_xvid/__init__.py -%%XVID%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_xvid/__init__.pyc -%%XVID%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_xvid/__init__.%%PYTHON_PYOEXTENSION%% -%%XVID%%%%PYTHON_SITELIBDIR%%/xpra/codecs/enc_xvid/encoder.so %%PYTHON_SITELIBDIR%%/xpra/codecs/image_wrapper.py %%PYTHON_SITELIBDIR%%/xpra/codecs/image_wrapper.pyc %%PYTHON_SITELIBDIR%%/xpra/codecs/image_wrapper.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/xpra/codecs/jpeg/__init__.py +%%PYTHON_SITELIBDIR%%/xpra/codecs/jpeg/__init__.pyc +%%PYTHON_SITELIBDIR%%/xpra/codecs/jpeg/__init__.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/xpra/codecs/jpeg/decoder.so +%%PYTHON_SITELIBDIR%%/xpra/codecs/jpeg/encoder.so %%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/__init__.py %%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/__init__.pyc %%PYTHON_SITELIBDIR%%/xpra/codecs/libav_common/__init__.%%PYTHON_PYOEXTENSION%% @@ -272,11 +258,6 @@ %%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/__init__.%%PYTHON_PYOEXTENSION%% %%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/decoder.so %%VPX%%%%PYTHON_SITELIBDIR%%/xpra/codecs/vpx/encoder.so -%%WEBP%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__init__.py -%%WEBP%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__init__.pyc -%%WEBP%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/__init__.%%PYTHON_PYOEXTENSION%% -%%WEBP%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/decode.so -%%WEBP%%%%PYTHON_SITELIBDIR%%/xpra/codecs/webp/encode.so %%PYTHON_SITELIBDIR%%/xpra/codecs/xor/__init__.py %%PYTHON_SITELIBDIR%%/xpra/codecs/xor/__init__.pyc %%PYTHON_SITELIBDIR%%/xpra/codecs/xor/__init__.%%PYTHON_PYOEXTENSION%% @@ -418,9 +399,6 @@ %%PYTHON_SITELIBDIR%%/xpra/net/protocol.py %%PYTHON_SITELIBDIR%%/xpra/net/protocol.pyc %%PYTHON_SITELIBDIR%%/xpra/net/protocol.%%PYTHON_PYOEXTENSION%% -%%PYTHON_SITELIBDIR%%/xpra/net/pycrypto_backend.py -%%PYTHON_SITELIBDIR%%/xpra/net/pycrypto_backend.pyc -%%PYTHON_SITELIBDIR%%/xpra/net/pycrypto_backend.%%PYTHON_PYOEXTENSION%% %%PYTHON_SITELIBDIR%%/xpra/net/pycryptography_backend.py %%PYTHON_SITELIBDIR%%/xpra/net/pycryptography_backend.pyc %%PYTHON_SITELIBDIR%%/xpra/net/pycryptography_backend.%%PYTHON_PYOEXTENSION%%