Index: graphics/libdrm/Makefile =================================================================== --- graphics/libdrm/Makefile (revision 400649) +++ graphics/libdrm/Makefile (working copy) @@ -3,6 +3,7 @@ PORTNAME= libdrm PORTVERSION= 2.4.65 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= graphics x11 MASTER_SITES= http://dri.freedesktop.org/libdrm/ @@ -59,6 +60,12 @@ PLIST_SUB+= RADEON_DRIVERS="@comment " .endif +# This variable is not for users. So use a non-default name, intended for +# people working on DRM kernel module development. +.if !defined(LIBDRM_SKIP_RETURN_PATCH) +EXTRA_PATCHES+= ${FILESDIR}/extra-xf86drm.c +.endif + pre-patch: @${REINPLACE_CMD} 's|{libdir}/pkgconfig|{prefix}/libdata/pkgconfig|g; \ s,i?86|x86_64),i?86|amd64|x86_64),g' \ Index: graphics/libdrm/files/extra-xf86drm.c =================================================================== --- graphics/libdrm/files/extra-xf86drm.c (nonexistent) +++ graphics/libdrm/files/extra-xf86drm.c (working copy) @@ -0,0 +1,15 @@ +Error code 512 is being leaked from kernel space. While it should be +converted to either EINTR or EAGAIN in the kernel. Teach libdrm to do this +for now. Newer kernel modules will have this fixed included. + +--- xf86drm.c.orig 2015-11-02 12:26:19.910518000 +0100 ++++ xf86drm.c 2015-11-02 12:27:10.575894000 +0100 +@@ -174,7 +174,7 @@ + + do { + ret = ioctl(fd, request, arg); +- } while (ret == -1 && (errno == EINTR || errno == EAGAIN)); ++ } while (ret == -1 && (errno == EINTR || errno == EAGAIN || errno == 512)); + return ret; + } + Property changes on: graphics/libdrm/files/extra-xf86drm.c ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property