--- MOVED +++ MOVED @@ -9246,3 +9246,9 @@ www/py-cactus||2017-04-19|Removed, depends on expired Django version devel/py-django16-tastypie-mongoengine|devel/py-django-tastypie-mongoengine|2017-04-19|Removed, uses expired Django version devel/freeocl|lang/pocl|2017-04-19|Has expired: Unfetchable for more than six months (google code has gone away); use lang/pocl instead +graphics/dri|graphics/mesa-dri|2017-04-20|Renamed for clarity and consistency with graphics/mesa-libs +graphics/gbm|graphics/mesa-libs|2017-04-20|Mesa libraries were merged into one port +graphics/libglapi|graphics/mesa-libs|2017-04-20|Mesa libraries were merged into one port +graphics/libglesv2|graphics/mesa-libs|2017-04-20|Mesa libraries were merged into one port +graphics/libEGL|graphics/mesa-libs|2017-04-20|Mesa libraries were merged into one port +graphics/libGL|graphics/mesa-libs|2017-04-20|Mesa libraries were merged into one port --- Mk/Scripts/qa.sh +++ Mk/Scripts/qa.sh @@ -537,13 +537,13 @@ elif echo ${pkg} | grep -E '/sdl2_(gfx|image|mixer|net|ttf)$' > /dev/null; then warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl2_||')2" # gl-related - elif [ ${pkg} = 'graphics/libGL' ]; then + elif expr ${lib_file} : "${LOCALBASE}/lib/libGL.so.*$" > /dev/null; then warn "you need USE_GL+=gl" - elif [ ${pkg} = 'graphics/gbm' ]; then + elif expr ${lib_file} : "${LOCALBASE}/lib/libgbm.so.*$" > /dev/null; then warn "you need USE_GL+=gbm" - elif [ ${pkg} = 'graphics/libglesv2' ]; then + elif expr ${lib_file} : "${LOCALBASE}/lib/libGLESv2.so.*$" > /dev/null; then warn "you need USE_GL+=glesv2" - elif [ ${pkg} = 'graphics/libEGL' ]; then + elif expr ${lib_file} : "${LOCALBASE}/lib/libEGL.so.*$" > /dev/null; then warn "you need USE_GL+=egl" elif [ ${pkg} = 'graphics/glew' ]; then warn "you need USE_GL+=glew" --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -1768,20 +1768,19 @@ PKG_IGNORE_DEPENDS?= 'this_port_does_not_exist' -_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/gbm -_GL_glesv2_BUILD_DEPENDS= libglesv2>0:graphics/libglesv2 -_GL_glesv2_RUN_DEPENDS= libglesv2>0:graphics/libglesv2 -_GL_egl_BUILD_DEPENDS= libEGL>0:graphics/libEGL -_GL_egl_RUN_DEPENDS= libEGL>0:graphics/libEGL -_GL_gl_BUILD_DEPENDS= libGL>0:graphics/libGL -_GL_gl_RUN_DEPENDS= libGL>0:graphics/libGL -_GL_gl_USE_XORG= glproto dri2proto +_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/mesa-libs +_GL_glesv2_BUILD_DEPENDS= ${LOCALBASE}/lib/libGLESv2.so:graphics/mesa-libs +_GL_glesv2_RUN_DEPENDS= ${LOCALBASE}/lib/libGLESv2.so:graphics/mesa-libs +_GL_egl_BUILD_DEPENDS= ${LOCALBASE}/lib/libEGL.so:graphics/mesa-libs +_GL_egl_RUN_DEPENDS= ${LOCALBASE}/lib/libEGL.so:graphics/mesa-libs +_GL_gl_BUILD_DEPENDS= ${LOCALBASE}/lib/libGL.so:graphics/mesa-libs +_GL_gl_RUN_DEPENDS= ${LOCALBASE}/lib/libGL.so:graphics/mesa-libs +_GL_gl_USE_XORG= glproto dri2proto dri3proto _GL_glew_LIB_DEPENDS= libGLEW.so:graphics/glew _GL_glu_LIB_DEPENDS= libGLU.so:graphics/libGLU -_GL_glu_USE_XORG= glproto dri2proto +_GL_glu_USE_XORG= glproto dri2proto dri3proto _GL_glw_LIB_DEPENDS= libGLw.so:graphics/libGLw _GL_glut_LIB_DEPENDS= libglut.so:graphics/freeglut - .if defined(USE_GL) . if ${USE_GL:tl} == "yes" USE_GL= glu --- Mk/bsd.xorg.mk +++ Mk/bsd.xorg.mk @@ -97,7 +97,7 @@ CONFIGURE_ARGS+= --with-xkb-path=${LOCALBASE}/share/X11/xkb \ --with-fontrootdir=${LOCALBASE}/share/fonts -LIB_PC_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/dri +LIB_PC_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri USE_XORG+= fontutil:build . endif --- emulators/i386-wine-devel/Makefile.i386 +++ emulators/i386-wine-devel/Makefile.i386 @@ -12,7 +12,7 @@ PKGINSTALL= ${SLAVEDIR}/files/pkg-install PKGDEINSTALL= ${PKGINSTALL} -RUN_DEPENDS= dri>0:graphics/dri +RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri CONFLICTS_INSTALL?= wine-[0-9]* wine-staging-[0-9]* wine-devel-[0-9]* \ i386-wine-[0-9]* i386-wine-staging-[0-9]* --- emulators/i386-wine/Makefile.i386 +++ emulators/i386-wine/Makefile.i386 @@ -12,7 +12,7 @@ PKGINSTALL= ${SLAVEDIR}/files/pkg-install PKGDEINSTALL= ${PKGINSTALL} -RUN_DEPENDS= dri>0:graphics/dri +RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri CONFLICTS_INSTALL?= wine-[0-9]* wine-staging-[0-9]* wine-devel-[0-9]* \ i386-wine-staging-[0-9]* i386-wine-devel-[0-9]* --- graphics/Makefile +++ graphics/Makefile @@ -144,7 +144,6 @@ SUBDIR += djview4-qt4 SUBDIR += djvulibre SUBDIR += dmtx-utils - SUBDIR += dri SUBDIR += driconf SUBDIR += dspdfviewer SUBDIR += duhdraw @@ -214,7 +213,6 @@ SUBDIR += fyre SUBDIR += g2 SUBDIR += gauche-gl - SUBDIR += gbm SUBDIR += gcolor SUBDIR += gcolor2 SUBDIR += gd @@ -469,8 +467,6 @@ SUBDIR += leptonica SUBDIR += lfview SUBDIR += lib3ds - SUBDIR += libEGL - SUBDIR += libGL SUBDIR += libGLU SUBDIR += libGLw SUBDIR += libafterimage @@ -493,8 +489,6 @@ SUBDIR += libgaiagraphics SUBDIR += libgeotiff SUBDIR += libgfx - SUBDIR += libglapi - SUBDIR += libglesv2 SUBDIR += libgltext SUBDIR += libgltf SUBDIR += libgnomecanvas @@ -588,6 +582,8 @@ SUBDIR += mapyrus SUBDIR += megapov SUBDIR += mesa-demos + SUBDIR += mesa-dri + SUBDIR += mesa-libs SUBDIR += meshviewer SUBDIR += metacam SUBDIR += metapixel --- graphics/copperspice/Makefile +++ graphics/copperspice/Makefile @@ -3,7 +3,7 @@ PORTNAME= copperspice PORTVERSION= 1.3.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= graphics MASTER_SITES= http://download.copperspice.com/copperspice/source/ @@ -17,7 +17,6 @@ libexpat.so:textproc/expat2 \ libffi.so:devel/libffi \ libfreetype.so:print/freetype2 \ - libglapi.so:graphics/libglapi \ libgstbase-0.10.so:multimedia/gstreamer \ libgstreamer-0.10.so:multimedia/gstreamer \ libpcre.so:devel/pcre \ --- graphics/dri/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# Created by: Eric Anholt -# $FreeBSD$ - -PORTNAME= dri -PORTVERSION= ${MESAVERSION} -PORTEPOCH= 2 -CATEGORIES= graphics - -COMMENT= OpenGL hardware acceleration drivers for the DRI - -LIB_DEPENDS= libdrm.so:graphics/libdrm \ - libexpat.so:textproc/expat2 - -USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \ - xfixes xshmfence xv xvmc xxf86vm - -OPTIONS_DEFINE= TEXTURE VAAPI VDPAU -OPTIONS_DEFAULT=TEXTURE -OPTIONS_SUB= yes - -TEXTURE_DESC= Enable texture-float support (patent encumbered) -TEXTURE_CONFIGURE_ENABLE= texture-float - -VAAPI_CONFIGURE_ENABLE= va -VAAPI_LIB_DEPENDS= libva.so:multimedia/libva -VAAPI_USE= XORG=xcb - -VDPAU_CONFIGURE_ENABLE= vdpau -VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau - -PKGHELP= ${.CURDIR}/pkg-help - -.include - -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -#src/mesa/libmesagallium.la -#MESA_BUILD_WRKSRC= src/util src/gallium -#MESA_INSTALL_WRKSRC= src/gallium - -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -post-install: - @${RM} -r ${STAGEDIR}/etc/OpenCL - -.include --- graphics/dri/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -This package contains the current stable release of the client drivers for the -DRI. With an X Server configured for the DRI they allow direct rendering of -hardware-accelerated OpenGL. - -WWW: http://dri.sourceforge.net/ --- graphics/dri/pkg-help +++ /dev/null @@ -1,15 +0,0 @@ -VAAPI and VDPAU options enable building Gallium based VA-API and VDPAU -drivers to decode video on the GPU via libva and libvdpau, respectively. -Gallium based VAAPI and VDPAU drivers are only available for Radeon GPUs. - -Both GPU decode options require newer drm drivers than are currently present -in a released FreeBSD kernel. These are options for DRM-next and DragonFly. - -The TEXTURE option enables texture-float support, which SGI claims requires -US Patent #6,650,327 [1], filed Jun 16, 1998 thus expiring on Jun 16, 2018. -Use may require a license depending on jurisdiction, consult a lawyer. - -See docs/patents.txt in the Mesa tarball or the following URLs: - -[1] https://www.google.com/patents/US6650327 -[2] http://www.opengl.org/registry/specs/ARB/texture_float.txt --- graphics/dri/pkg-plist +++ /dev/null @@ -1,89 +0,0 @@ -etc/drirc -@comment include/EGL/egl.h -@comment include/EGL/eglext.h -@comment include/EGL/eglextchromium.h -@comment include/EGL/eglmesaext.h -@comment include/EGL/eglplatform.h -@comment include/GL/gl.h -@comment include/GL/gl_mangle.h -@comment include/GL/glcorearb.h -@comment include/GL/glext.h -@comment include/GL/glx.h -@comment include/GL/glx_mangle.h -@comment include/GL/glxext.h -include/GL/internal/dri_interface.h -@comment include/GL/osmesa.h -@comment include/GLES2/gl2.h -@comment include/GLES2/gl2ext.h -@comment include/GLES2/gl2platform.h -@comment include/GLES3/gl3.h -@comment include/GLES3/gl31.h -@comment include/GLES3/gl32.h -@comment include/GLES3/gl3ext.h -@comment include/GLES3/gl3platform.h -@comment include/KHR/khrplatform.h -@comment include/gbm.h -%%I915_DRIVER%%lib/dri/i915_dri.so -%%I965_DRIVER%%lib/dri/i965_dri.so -%%SWRAST_GDRIVER%%lib/dri/kms_swrast_dri.so -%%R200_DRIVER%%lib/dri/r200_dri.so -%%R300_GDRIVER%%lib/dri/r300_dri.so -%%R600_GDRIVER%%lib/dri/r600_dri.so -%%VAAPI%%%%R600_GDRIVER%%lib/dri/r600_drv_video.so -%%RADEON_DRIVER%%lib/dri/radeon_dri.so -%%RADEONSI_GDRIVER%%lib/dri/radeonsi_dri.so -%%VAAPI%%%%RADEONSI_GDRIVER%%lib/dri/radeonsi_drv_video.so -%%SWRAST_DRIVER%%lib/dri/swrast_dri.so -%%SVGA_GDRIVER%%lib/dri/vmwgfx_dri.so -@comment lib/gallium-pipe/pipe_r300.so -@comment lib/gallium-pipe/pipe_r600.so -@comment lib/gallium-pipe/pipe_radeonsi.so -@comment lib/gallium-pipe/pipe_swrast.so -@comment lib/gallium-pipe/pipe_vmwgfx.so -@comment lib/libEGL.so -@comment lib/libEGL.so.1 -@comment lib/libEGL.so.1.0.0 -@comment lib/libGL.so -@comment lib/libGL.so.1 -@comment lib/libGL.so.1.2.0 -@comment lib/libGLESv2.so -@comment lib/libGLESv2.so.2 -@comment lib/libGLESv2.so.2.0.0 -@comment lib/libMesaOpenCL.so -@comment lib/libMesaOpenCL.so.1 -@comment lib/libMesaOpenCL.so.1.0.0 -@comment lib/libOSMesa.so -@comment lib/libOSMesa.so.8 -@comment lib/libOSMesa.so.8.0.0 -%%R600_GDRIVER%%lib/libXvMCr600.so -%%R600_GDRIVER%%lib/libXvMCr600.so.1 -%%R600_GDRIVER%%lib/libXvMCr600.so.1.0 -%%R600_GDRIVER%%lib/libXvMCr600.so.1.0.0 -@comment lib/libgbm.so -@comment lib/libgbm.so.1 -@comment lib/libgbm.so.1.0.0 -@comment lib/libglapi.so -@comment lib/libglapi.so.0 -@comment lib/libglapi.so.0.0.0 -%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so -%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so.1 -%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so.1.0 -%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so.1.0.0 -%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so -%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so.1 -%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so.1.0 -%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so.1.0.0 -%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so -%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1 -%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1.0 -%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1.0.0 -@comment lib/libwayland-egl.so -@comment lib/libwayland-egl.so.1 -@comment lib/libwayland-egl.so.1.0.0 -libdata/pkgconfig/dri.pc -@comment libdata/pkgconfig/egl.pc -@comment libdata/pkgconfig/gbm.pc -@comment libdata/pkgconfig/gl.pc -@comment libdata/pkgconfig/glesv2.pc -@comment libdata/pkgconfig/osmesa.pc -@comment libdata/pkgconfig/wayland-egl.pc --- graphics/gbm/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# Created by: kwm@FreeBSD.org -# $FreeBSD$ - -PORTNAME= gbm -PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 -CATEGORIES= graphics - -COMMENT= gbm library - -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 - -USE_XORG= x11 xau xcb xdmcp - -# stuff not needed by gbm but configure wants it -USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \ - xshmfence - -.include -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -MESA_BUILD_WRKSRC= src/mapi src/gbm -MESA_INSTALL_WRKSRC= src/gbm - -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -.include --- graphics/gbm/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the gbm utility library. - -WWW: http://mesa3d.org/ --- graphics/gbm/pkg-plist +++ /dev/null @@ -1,5 +0,0 @@ -include/gbm.h -lib/libgbm.so -lib/libgbm.so.1 -lib/libgbm.so.1.0.0 -libdata/pkgconfig/gbm.pc --- graphics/libEGL/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# Created by: kwm@FreeBSD.org -# $FreeBSD$ - -PORTNAME= libEGL -PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 -CATEGORIES= graphics - -COMMENT= OpenEGL library - -BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs -LIB_DEPENDS+= libexpat.so:textproc/expat2 \ - libdrm.so:graphics/libdrm - -USE_GL= gbm -USE_XORG= x11 xau xcb xdmcp - -# stuff not needed by libEGL but configure wants it -USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \ - xshmfence - -.include -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -MESA_BUILD_WRKSRC= src/mapi src/gbm src/egl/ -MESA_INSTALL_WRKSRC= src/egl - -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -.include --- graphics/libEGL/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the EGL utility library. - -WWW: http://mesa3d.org/ --- graphics/libEGL/pkg-plist +++ /dev/null @@ -1,10 +0,0 @@ -include/EGL/egl.h -include/EGL/eglext.h -include/EGL/eglextchromium.h -include/EGL/eglmesaext.h -include/EGL/eglplatform.h -include/KHR/khrplatform.h -lib/libEGL.so -lib/libEGL.so.1 -lib/libEGL.so.1.0.0 -libdata/pkgconfig/egl.pc --- graphics/libGL/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# Created by: Eric Anholt -# $FreeBSD$ - -PORTNAME= libGL -PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 -CATEGORIES= graphics - -COMMENT= OpenGL library that renders using GLX or DRI - -LIB_DEPENDS+= libdrm.so:graphics/libdrm \ - libglapi.so:graphics/libglapi \ - libexpat.so:textproc/expat2 - -USE_XORG= dri2proto dri3proto glproto presentproto x11 xcb xdamage xext \ - xfixes xshmfence xxf86vm - -.include -.include "${.CURDIR}/Makefile.common" - -MESA_BUILD_WRKSRC= src/mapi src/glx -MESA_INSTALL_WRKSRC= src/glx - -.include "${.CURDIR}/Makefile.targets" - -post-install: - @cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \ - ${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS - -.include --- graphics/libGL/Makefile.common +++ graphics/libGL/Makefile.common @@ -1,173 +0,0 @@ -# Makefile.common - shared code between MesaLib ports. -# -# !!! Here be dragons !!! (they seem to be everywhere these days) -# -# Remember to upgrade the following ports everytime you bump MESAVERSION: -# -# - graphics/dri -# - graphics/gbm -# - graphics/libEGL -# - graphics/libGL -# - graphics/libglapi -# - graphics/libglesv2 -# - graphics/libosmesa -# - lang/clover -# -# $FreeBSD$ - -MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/} -MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/} - -MESABASEVERSION= 17.0.3 -# if there is a subversion, don't include the '-' between 7.11-rc2. -MESASUBVERSION= - -MASTER_SITES= https://mesa.freedesktop.org/archive/ \ - https://mesa.freedesktop.org/archive/${MESABASEVERSION}/ \ - ftp://ftp.freedesktop.org/pub/mesa/ \ - ftp://ftp.freedesktop.org/pub/mesa/${MESABASEVERSION}/ - -DISTFILES= mesa-${MESADISTVERSION}${EXTRACT_SUFX} - -MAINTAINER= x11@FreeBSD.org - -BUILD_DEPENDS+= makedepend:devel/makedepend - -USES+= compiler:c++11-lib bison gettext-tools gmake libtool \ - localbase pathfix pkgconfig python:2,build shebangfix tar:xz -USE_LDCONFIG= yes -GNU_CONFIGURE= yes - -PKGINSTALL= ${.CURDIR}/pkg-install -PKGDEINSTALL= ${.CURDIR}/pkg-deinstall - -# only have one port to check with portscout. -.if ${PORTNAME} != libGL -PORTSCOUT= ignore:1 -.endif - -python_OLD_CMD= "/usr/bin/env[[:space:]]python" -python_CMD= ${LOCALBASE}/bin/python2 -SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \ - src/gallium/drivers/svga/svgadump/svga_dump.py \ - src/mapi/glapi/gen/*.py -SHEBANG_FILES+= src/mapi/mapi_abi.py - -MASTERDIR= ${.CURDIR}/../../graphics/libGL -PATCHDIR= ${MASTERDIR}/files -WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION} -DESCR= ${.CURDIR}/pkg-descr -PLIST= ${.CURDIR}/pkg-plist -INSTALL_TARGET= install-strip - -COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//} - -.if (${ARCH} != sparc64 && ${ARCH} != ia64) # no working LLVM -MESA_LLVM_VER?= 40 -LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${MESA_LLVM_VER}/lib -.endif - -# There are issues that need to be fixed to use TLS model "initial-exec" -# So stick with "global-dynamic"'s model for now. kan@ is working on a -# patch for rtld. We might want to backport global-dynamic or -# pthread_setspecific which it uses now by default. But since this -# configure switch is going away ... -# https://lists.freebsd.org/pipermail/freebsd-arch/2016-February/017699.html -CONFIGURE_ARGS+= --disable-glx-tls - -# libEGL, dri and clover need gallium enabled. -# the third option in --with-egl-platforms is wayland. -.if (${MESA_LLVM_VER} != "") -CONFIGURE_ARGS+= --enable-egl --with-egl-platforms=x11,drm -.else -CONFIGURE_ARGS+= --disable-egl -.endif - -# we don't care about GLes v1 -CONFIGURE_ARGS+= --disable-gles1 --enable-gles2 - -# Clover (OpenCL). -.if ${OPSYS} == DragonFly || \ - (${OPSYS} == FreeBSD && \ - (${ARCH} == amd64 || ${ARCH} == i386)) - -BUILD_DEPENDS+= libclc>=0.2.0.20160915:devel/libclc - -# We need the clang port too even if it is not used to compile because -# Clover needs some of the clang includes to build. -.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Mosmesa} != "" -_USES_pre_configure+= 290:clover-pre-configure - -# .if !exists() evaluates too early before cairo has a chance to be installed -clover-pre-configure: - @if [ -e ${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER} ] && \ - ! [ -e ${LOCALBASE}/bin/clang${MESA_LLVM_VER} ]; then \ - ${ECHO_MSG} "Your llvm${MESA_LLVM_VER} is not build with clang support, which is required."; \ - ${FALSE}; \ - fi -.endif - -CONFIGURE_ARGS+= --enable-opencl --enable-opencl-icd -.else -CONFIGURE_ARGS+= --disable-opencl -.endif - -CONFIGURE_ARGS+= --enable-osmesa --enable-xvmc - -# gallium -.if (${MESA_LLVM_VER} != "") -BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER} -.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Megl} != "" -RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER} -.endif - -CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER} - -CONFIGURE_ARGS+= --enable-gallium-llvm --enable-llvm-shared-libs -.else -CONFIGURE_ARGS+= --disable-gallium-llvm -.endif - -ALL_DRI_DRIVERS= I915 I965 RADEON R200 SWRAST -ALL_GALLIUM_DRIVERS= R300 R600 RADEONSI SVGA SWRAST - -.if ${ARCH} == amd64 || ${ARCH} == i386 -DRI_DRIVERS= I915 I965 RADEON R200 -GALLIUM_DRIVERS= R300 R600 RADEONSI SVGA -.endif - -.if ${ARCH} == powerpc || ${ARCH} == powerpc64 -DRI_DRIVERS= RADEON R200 -GALLIUM_DRIVERS= R300 R600 RADEONSI -.endif - -# software rendering for all arches -DRI_DRIVERS+= SWRAST -GALLIUM_DRIVERS+= SWRAST - -.for _d in ${ALL_DRI_DRIVERS} -. if ${DRI_DRIVERS:M${_d}} -PLIST_SUB+= ${_d}_DRIVER="" -. else -PLIST_SUB+= ${_d}_DRIVER="@comment " -. endif -.endfor - -CONFIGURE_ARGS+=--with-dri-drivers="${DRI_DRIVERS:tl}" - -.for _gd in ${ALL_GALLIUM_DRIVERS} -. if ${GALLIUM_DRIVERS:M${_gd}} -PLIST_SUB+= ${_gd}_GDRIVER="" -. else -PLIST_SUB+= ${_gd}_GDRIVER="@comment " -. endif -.endfor - -.if (${MESA_LLVM_VER} != "") -CONFIGURE_ARGS+=--with-gallium-drivers="${GALLIUM_DRIVERS:tl}" -.endif - -.if ${OPSYS} == DragonFly -LIB_DEPENDS+= libelf.so:devel/libelf -.endif - --- graphics/libGL/Makefile.targets +++ graphics/libGL/Makefile.targets @@ -1,55 +0,0 @@ -# $FreeBSD$ -# -# this file holds common targets - -post-patch: -.if ${OPSYS} == FreeBSD - @${REINPLACE_CMD} -e 's|x86_64|amd64|' \ - ${WRKSRC}/configure -# Clang 3.4 in 10.x on i386 fails with the following error when using "GCC atomics" -# -# glsl/cache.c:613:4: error: cannot compile this atomic library call yet -# p_atomic_add(cache->size, size); note: expanded from macro 'p_atomic_add' -# define p_atomic_add(v, i) (void) __atomic_add_fetch((v), (i), __ATOMIC_ACQ_REL) -# -.if ${OSVERSION} < 1100000 && ${ARCH} == "i386" - @${REINPLACE_CMD} -e 's|-DUSE_GCC_ATOMIC_BUILTINS||' ${WRKSRC}/configure -.endif -.else # ${OPSYS} == DragonFly -# Sed on dragonfly doesn't support \< or \> - @${REINPLACE_CMD} -e 's|\\>//|[[:>:]]//|' \ - ${WRKSRC}/configure -.endif # ${OPSYS} - @${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g' \ - ${WRKSRC}/src/mesa/drivers/dri/common/xmlconfig.c - @${REINPLACE_CMD} -e 's|#!/use/bin/python|#!${PYTHON_CMD}|g' \ - ${WRKSRC}/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py - @${REINPLACE_CMD} -e 's|!/use/bin/python2|!${PYTHON_CMD}|g' \ - ${WRKSRC}/src/mesa/main/get_hash_generator.py \ - ${WRKSRC}/src/mapi/glapi/gen/gl_enums.py \ - ${WRKSRC}/src/mapi/glapi/gen/gl_table.py - -pre-build: mesa-pre-build - -#custom targets so we can build parts of Mesa -mesa-pre-build: -# do propper gmake target. - @cd ${WRKSRC}/src/mesa/drivers/dri/common/ && ${MAKE_CMD} - @cd ${WRKSRC}/src/loader && ${MAKE_CMD} -# libloader.la - -.if defined(MESA_BUILD_WRKSRC) -do-build: -. for dir in ${MESA_BUILD_WRKSRC} - (cd ${WRKSRC}/${dir}; ${DO_MAKE_BUILD} ${ALL_TARGET};) -. endfor -.endif - -.if defined(MESA_INSTALL_WRKSRC) -do-install: -. for dir in ${MESA_INSTALL_WRKSRC} - (cd ${WRKSRC}/${dir} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ - ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) -. endfor -.endif - --- graphics/libGL/distinfo +++ graphics/libGL/distinfo @@ -1,3 +0,0 @@ -TIMESTAMP = 1491068637 -SHA256 (mesa-17.0.3.tar.xz) = ca646f5075a002d60ef9123c8a4331cede155c01712ef945a65c59a5e69fe7ed -SIZE (mesa-17.0.3.tar.xz) = 9485792 --- graphics/libGL/files/configure.ac +++ /dev/null @@ -1,78 +0,0 @@ ---- configure.ac.orig 2017-04-01 15:33:36 UTC -+++ configure.ac -@@ -943,18 +943,19 @@ llvm_add_target() { - # $1 is the llvm-config command with arguments. - strip_unwanted_llvm_flags() { - # Use \> (marks the end of the word) -- echo " `$1`" | sed \ -- -e 's/\s\+-m\S*//g' \ -- -e 's/\s\+-DNDEBUG\>//g' \ -- -e 's/\s\+-D_GNU_SOURCE\>//g' \ -- -e 's/\s\+-pedantic\>//g' \ -- -e 's/\s\+-W\S*//g' \ -- -e 's/\s\+-O\S*//g' \ -- -e 's/\s\+-g\S*//g' \ -+ echo " `$1`" | sed -E \ -+ -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-DNDEBUG\>//g' \ -+ -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \ -+ -e 's/[[[:space:]]]+-pedantic\>//g' \ -+ -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \ - -e 's/-fno-rtti\>/-Fno-rtti/g' \ -- -e 's/\s\+-f\S*//g' \ -+ -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \ - -e 's/-Fno-rtti\>/-fno-rtti/g' \ -- -e 's/^ //' -+ -e 's/-fno-exceptions\>//g' \ -+ -e 's/^[[[:space:]]]//' - } - - llvm_set_environment_variables() { -@@ -1121,7 +1122,7 @@ fi - AC_SUBST(LIBSENSORS_LIBS) - - case "$host_os" in --linux*) -+linux* | freebsd*) - dri3_default=yes - ;; - *) -@@ -1631,7 +1632,7 @@ dnl platform checks. Set DEFINES and LIB - if test "x$enable_dri" = xyes; then - # Platform specific settings and drivers to build - case "$host_os" in -- linux*) -+ linux* | freebsd*) - if test "x$enable_dri3" = xyes; then - DEFINES="$DEFINES -DHAVE_DRI3" - fi -@@ -2002,9 +2003,18 @@ if test "x$enable_opencl" = xyes; then - AC_MSG_ERROR([cannot enable OpenCL without Gallium]) - fi - -+ if test "x$acv_mesa_CLANG" = xno; then -+ -+ GCC_VERSION=`$CC -dumpversion` -+ if test $? -eq 0; then -+ GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1` -+ GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2` -+ fi -+ - if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then - AC_MSG_ERROR([gcc >= 4.7 is required to build clover]) - fi -+ fi # end of clang test - - if test "x$have_libclc" = xno; then - AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover. -@@ -2061,8 +2071,6 @@ if test "x$enable_opencl" = xyes; then - CLANG_LIBDIR=${LLVM_LIBDIR} - fi - CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} -- AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"], -- [AC_MSG_ERROR([Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries.])]) - fi - AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes) - AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes) --- graphics/libGL/files/patch-configure +++ /dev/null @@ -1,80 +0,0 @@ ---- configure.orig 2017-04-01 15:33:50 UTC -+++ configure -@@ -22351,18 +22351,19 @@ llvm_add_target() { - # $1 is the llvm-config command with arguments. - strip_unwanted_llvm_flags() { - # Use \> (marks the end of the word) -- echo " `$1`" | sed \ -- -e 's/\s\+-m\S*//g' \ -- -e 's/\s\+-DNDEBUG\>//g' \ -- -e 's/\s\+-D_GNU_SOURCE\>//g' \ -- -e 's/\s\+-pedantic\>//g' \ -- -e 's/\s\+-W\S*//g' \ -- -e 's/\s\+-O\S*//g' \ -- -e 's/\s\+-g\S*//g' \ -+ echo " `$1`" | sed -E \ -+ -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-DNDEBUG\>//g' \ -+ -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \ -+ -e 's/[[[:space:]]]+-pedantic\>//g' \ -+ -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \ - -e 's/-fno-rtti\>/-Fno-rtti/g' \ -- -e 's/\s\+-f\S*//g' \ -+ -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \ - -e 's/-Fno-rtti\>/-fno-rtti/g' \ -- -e 's/^ //' -+ -e 's/-fno-exceptions\>//g' \ -+ -e 's/^[[[:space:]]]//' - } - - llvm_set_environment_variables() { -@@ -22560,7 +22561,7 @@ fi - - - case "$host_os" in --linux*) -+linux* | freebsd*) - dri3_default=yes - ;; - *) -@@ -24099,7 +24100,7 @@ fi - if test "x$enable_dri" = xyes; then - # Platform specific settings and drivers to build - case "$host_os" in -- linux*) -+ linux* | freebsd*) - if test "x$enable_dri3" = xyes; then - DEFINES="$DEFINES -DHAVE_DRI3" - fi -@@ -25851,9 +25852,19 @@ if test "x$enable_opencl" = xyes; then - as_fn_error $? "cannot enable OpenCL without Gallium" "$LINENO" 5 - fi - -+ if test "x$acv_mesa_CLANG" = xno; then -+ -+ GCC_VERSION=`$CC -dumpversion` -+ if test $? -eq 0; then -+ GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1` -+ GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2` -+ fi -+ - if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then - as_fn_error $? "gcc >= 4.7 is required to build clover" "$LINENO" 5 - fi -+# end of clang test. -+ fi - - if test "x$have_libclc" = xno; then - as_fn_error $? "pkg-config cannot find libclc.pc which is required to build clover. -@@ -25916,9 +25927,6 @@ rm -f core conftest.err conftest.$ac_obj - CLANG_LIBDIR=${LLVM_LIBDIR} - fi - CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} -- if test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"; then : -- as_fn_error $? "Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries." "$LINENO" 5 --fi - fi - if test "x$enable_opencl" = xyes; then - HAVE_CLOVER_TRUE= --- graphics/libGL/files/patch-include_GL_internal_dri__interface.h +++ /dev/null @@ -1,19 +0,0 @@ -GCC on 9.x doesn't allow types to be overwritten, these types are defined -in drm.h also, which causes build issues in xorg-server. - ---- include/GL/internal/dri_interface.h.orig 2016-11-10 22:05:17 UTC -+++ include/GL/internal/dri_interface.h -@@ -40,13 +40,7 @@ - #ifndef DRI_INTERFACE_H - #define DRI_INTERFACE_H - --#ifdef HAVE_LIBDRM - #include --#else --typedef unsigned int drm_context_t; --typedef unsigned int drm_drawable_t; --typedef struct drm_clip_rect drm_clip_rect_t; --#endif - - /** - * \name DRI interface structures --- graphics/libGL/files/patch-src_egl_drivers_dri2_platform__x11.c +++ /dev/null @@ -1,16 +0,0 @@ -# work-around for https://bugs.freedesktop.org/show_bug.cgi?id=100627 -# ---- src/egl/drivers/dri2/platform_x11.c.orig 2017-04-01 15:33:36 UTC -+++ src/egl/drivers/dri2/platform_x11.c -@@ -1507,7 +1507,11 @@ - - if (!getenv("LIBGL_ALWAYS_SOFTWARE")) { - #ifdef HAVE_DRI3 -+#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined (__DRM_NEXT__) -+ if (getenv("LIBGL_DRI3_ENABLE") && !getenv("LIBGL_DRI3_DISABLE")) -+#else - if (!getenv("LIBGL_DRI3_DISABLE")) -+#endif - initialized = dri2_initialize_x11_dri3(drv, disp); - #endif - --- graphics/libGL/files/patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c +++ /dev/null @@ -1,118 +0,0 @@ -Revert the following commit. - -FreeBSD and DragonFly don't have the required render nodes. - -------- - -From 69a1b9959e59653da262185c4e2cf57d24939b19 Mon Sep 17 00:00:00 2001 -From: Emil Velikov -Date: Mon, 29 Jun 2015 12:36:45 +0100 -Subject: pipe-loader: drop support for non-render node devices - -Render nodes have been around for quite some time. Removing support via -the master/primary node allows us to clean up the conditional -compilation and simplify the build greatly. - -For example currently we the pipe-loader, which explicitly links against -xcb and friends (for X auth) if found at compile-time. That -would cause problems as one will be forced to use X/xcb, even if it's a -headless system that is used for opencl. - -v2: Clarify the linking topic in the commit message. - -Cc: Tom Stellard -Signed-off-by: Emil Velikov -Reviewed-by: Francisco Jerez - - ---- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c.orig 2017-04-01 15:33:37 UTC -+++ src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c -@@ -225,6 +225,14 @@ pipe_loader_drm_probe_fd(struct pipe_loa - } - - static int -+open_drm_minor(int minor) -+{ -+ char path[PATH_MAX]; -+ snprintf(path, sizeof(path), DRM_DEV_NAME, DRM_DIR_NAME, minor); -+ return open(path, O_RDWR, 0); -+} -+ -+static int - open_drm_render_node_minor(int minor) - { - char path[PATH_MAX]; -@@ -236,8 +244,15 @@ open_drm_render_node_minor(int minor) - int - pipe_loader_drm_probe(struct pipe_loader_device **devs, int ndev) - { -- int i, j, fd; -+ int i, k, fd, num_render_node_devs; -+ int j = 0; -+ -+ struct { -+ unsigned vendor_id; -+ unsigned chip_id; -+ } render_node_devs[DRM_RENDER_NODE_MAX_NODES]; - -+ /* Look for render nodes first */ - for (i = DRM_RENDER_NODE_MIN_MINOR, j = 0; - i <= DRM_RENDER_NODE_MAX_MINOR; i++) { - struct pipe_loader_device *dev; -@@ -251,6 +266,9 @@ pipe_loader_drm_probe(struct pipe_loader - continue; - } - -+ render_node_devs[j].vendor_id = dev->u.pci.vendor_id; -+ render_node_devs[j].chip_id = dev->u.pci.chip_id; -+ - if (j < ndev) { - devs[j] = dev; - } else { -@@ -260,6 +278,46 @@ pipe_loader_drm_probe(struct pipe_loader - j++; - } - -+ num_render_node_devs = j; -+ -+ /* Next look for drm devices. */ -+ for (i = 0; i < DRM_MAX_MINOR; i++) { -+ struct pipe_loader_device *dev; -+ boolean duplicate = FALSE; -+ fd = open_drm_minor(i); -+ if (fd < 0) -+ continue; -+ -+ if (!pipe_loader_drm_probe_fd(&dev, fd)) { -+ close(fd); -+ continue; -+ } -+ -+ /* Check to make sure we aren't already accessing this device via -+ * render nodes. -+ */ -+ for (k = 0; k < num_render_node_devs; k++) { -+ if (dev->u.pci.vendor_id == render_node_devs[k].vendor_id && -+ dev->u.pci.chip_id == render_node_devs[k].chip_id) { -+ close(fd); -+ dev->ops->release(&dev); -+ duplicate = TRUE; -+ break; -+ } -+ } -+ -+ if (duplicate) -+ continue; -+ -+ if (j < ndev) { -+ devs[j] = dev; -+ } else { -+ dev->ops->release(&dev); -+ } -+ -+ j++; -+ } -+ - return j; - } - --- graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c +++ /dev/null @@ -1,11 +0,0 @@ ---- src/gallium/auxiliary/util/u_network.c.orig 2016-11-10 22:05:17 UTC -+++ src/gallium/auxiliary/util/u_network.c -@@ -6,7 +6,7 @@ - #if defined(PIPE_SUBSYSTEM_WINDOWS_USER) - # include - # include --#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_HAIKU) || \ -+#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_HAIKU) || \ - defined(PIPE_OS_APPLE) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_SOLARIS) - # include - # include --- graphics/libGL/files/patch-src_gallium_include_pipe_p__config.h +++ /dev/null @@ -1,38 +0,0 @@ ---- src/gallium/include/pipe/p_config.h.orig 2016-11-10 22:05:17 UTC -+++ src/gallium/include/pipe/p_config.h -@@ -76,6 +76,13 @@ - #define PIPE_CC_ICL - #endif - -+#if defined(__sparc__) || defined(__sparc64__) -+#define PIPE_ARCH_SPARC -+#if defined(__sparc64__) -+#define PIPE_ARCH_SPARC_64 -+#endif -+#endif -+ - - /* - * Processor architecture -@@ -130,7 +137,7 @@ - - #if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) || defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64) - #define PIPE_ARCH_LITTLE_ENDIAN --#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390) -+#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390) || defined(PIPE_ARCH_SPARC) || defined(PIPE_ARCH_SPARC_64) - #define PIPE_ARCH_BIG_ENDIAN - #endif - -@@ -159,6 +166,12 @@ - #define PIPE_OS_ANDROID - #endif - -+#if defined(__DragonFly__) -+#define PIPE_OS_DRAGONFLY -+#define PIPE_OS_BSD -+#define PIPE_OS_UNIX -+#endif -+ - #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) - #define PIPE_OS_FREEBSD - #define PIPE_OS_BSD --- graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp +++ /dev/null @@ -1,30 +0,0 @@ -# fix errors like the following -# -# llvm/invocation.cpp:(.text+0x1275): undefined reference to `std::__1::basic_string, std::__1::allocator >::c_str() - const' -# /usr/bin/ld: ../../../../src/gallium/state_trackers/clover/.libs/libclover.a(libclllvm_la-invocation.o): relocation R_X86_64_PC32 against `_ZNKSt3__112bas -ic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv' can not be used when making a shared object; recompile with -fPIC -# /usr/bin/ld: final link failed: Bad value -# ---- src/gallium/state_trackers/clover/llvm/invocation.cpp.orig 2017-04-01 15:33:37 UTC -+++ src/gallium/state_trackers/clover/llvm/invocation.cpp -@@ -93,6 +93,8 @@ namespace { - return ctx; - } - -+ const char* cstr(const std::string& str) { return str.c_str(); } -+ - std::unique_ptr - create_compiler_instance(const target &target, - const std::vector &opts, -@@ -105,8 +107,8 @@ namespace { - // Parse the compiler options. A file name should be present at the end - // and must have the .cl extension in order for the CompilerInvocation - // class to recognize it as an OpenCL source file. -- const std::vector copts = -- map(std::mem_fn(&std::string::c_str), opts); -+ std::vector copts; -+ std::transform(opts.begin(), opts.end(), copts.begin(), cstr); - - if (!clang::CompilerInvocation::CreateFromArgs( - c->getInvocation(), copts.data(), copts.data() + copts.size(), diag)) --- graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp +++ /dev/null @@ -1,13 +0,0 @@ -# Fix error: no matching constructor for initialization of 'std::vector' -# ---- src/gallium/state_trackers/clover/llvm/metadata.hpp.orig 2016-11-10 22:05:17 UTC -+++ src/gallium/state_trackers/clover/llvm/metadata.hpp -@@ -42,7 +42,7 @@ namespace clover { - get_kernel_nodes(const ::llvm::Module &mod) { - if (const ::llvm::NamedMDNode *n = - mod.getNamedMetadata("opencl.kernels")) -- return { n->op_begin(), n->op_end() }; -+ return { n->getOperand(0), n->getOperand(n->getNumOperands()) }; - else - return {}; - } --- graphics/libGL/files/patch-src_gallium_state__trackers_clover_util_range.hpp +++ /dev/null @@ -1,31 +0,0 @@ -From b95533b981af9a6687b41418e7cc2a5652fc2bdb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= -Date: Fri, 7 Mar 2014 15:16:08 +0100 -Subject: [PATCH 3/3] Work around for clang 3.4 which fails to build Clover - -See: - https://bugs.freedesktop.org/show_bug.cgi?id=74098#c3 ---- src/gallium/state_trackers/clover/util/range.hpp.orig 2016-11-10 22:05:17 UTC -+++ src/gallium/state_trackers/clover/util/range.hpp -@@ -362,6 +362,12 @@ namespace clover { - return { i, i + n }; - } - -+ namespace detail { -+ template -+ using fixup_function_type = -+ typename std::conditional::value, T &, T>::type; -+ } -+ - /// - /// Create a range by transforming the contents of a number of - /// source ranges \a rs element-wise using a provided functor \a f. -@@ -369,7 +375,7 @@ namespace clover { - /// \sa adaptor_range. - /// - template -- adaptor_range -+ adaptor_range, Rs...> - map(F &&f, Rs &&... rs) { - return { std::forward(f), std::forward(rs)... }; - } --- graphics/libGL/files/patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c +++ /dev/null @@ -1,14 +0,0 @@ ---- src/gallium/winsys/svga/drm/vmw_screen_ioctl.c.orig 2016-11-10 22:05:17 UTC -+++ src/gallium/winsys/svga/drm/vmw_screen_ioctl.c -@@ -70,6 +70,11 @@ vmw_region_size(struct vmw_region *regio - return region->size; - } - -+#if defined(__DragonFly__) || defined(__FreeBSD__) || \ -+ defined(__NetBSD__) || defined(__OpenBSD__) -+#define ERESTART EINTR -+#endif -+ - uint32 - vmw_ioctl_context_create(struct vmw_winsys_screen *vws) - { --- graphics/libGL/files/patch-src_glx_glxext.c +++ /dev/null @@ -1,16 +0,0 @@ -# work-around for https://bugs.freedesktop.org/show_bug.cgi?id=100627 -# ---- src/glx/glxext.c.orig 2017-04-01 15:33:37 UTC -+++ src/glx/glxext.c -@@ -906,7 +906,11 @@ __glXInitialize(Display * dpy) - #if defined(GLX_USE_DRM) - if (glx_direct && glx_accel) { - #if defined(HAVE_DRI3) -+#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined (__DRM_NEXT__) -+ if (getenv("LIBGL_DRI3_ENABLE") && !getenv("LIBGL_DRI3_DISABLE")) -+#else - if (!getenv("LIBGL_DRI3_DISABLE")) -+#endif - dpyPriv->dri3Display = dri3_create_display(dpy); - #endif /* HAVE_DRI3 */ - dpyPriv->dri2Display = dri2CreateDisplay(dpy); --- graphics/libGL/files/patch-src_intel_tools_aubinator.c +++ /dev/null @@ -1,14 +0,0 @@ -# We don't have MAP_NORESERVE so use MAP_NOSYNC | MAP_NOCORE and -# hope for the best (this alloc is too big but it's only a test) -# ---- src/intel/tools/aubinator.c.orig 2017-04-01 15:33:37 UTC -+++ src/intel/tools/aubinator.c -@@ -1299,7 +1299,7 @@ int main(int argc, char *argv[]) - /* mmap a terabyte for our gtt space. */ - gtt_size = 1ull << 40; - gtt = mmap(NULL, gtt_size, PROT_READ | PROT_WRITE, -- MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0); -+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_NOSYNC | MAP_NOCORE, -1, 0); - if (gtt == MAP_FAILED) { - fprintf(stderr, "failed to alloc gtt space: %s\n", strerror(errno)); - exit(EXIT_FAILURE); --- graphics/libGL/files/patch-src_mapi_glapi_gen_gl__gentable.py +++ /dev/null @@ -1,11 +0,0 @@ ---- src/mapi/glapi/gen/gl_gentable.py.orig 2017-01-06 02:14:06 UTC -+++ src/mapi/glapi/gen/gl_gentable.py -@@ -44,7 +44,7 @@ header = """/* GLXEXT is the define used - #endif - - #if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \\ -- || (!defined(GLXEXT) && defined(DEBUG) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__)) -+ || (!defined(GLXEXT) && defined(DEBUG) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__DragonFly__)) - #define USE_BACKTRACE - #endif - --- graphics/libGL/files/patch-src_mesa_main_compiler.h +++ /dev/null @@ -1,12 +0,0 @@ ---- src/mesa/main/compiler.h.orig 2016-11-10 22:05:17 UTC -+++ src/mesa/main/compiler.h -@@ -56,6 +56,9 @@ extern "C" { - #if defined(__linux__) - #include - #define CPU_TO_LE32( x ) bswap_32( x ) -+#elif defined(__FreeBSD__) -+#include -+#define CPU_TO_LE32( x ) bswap32( x ) - #elif defined(__APPLE__) - #include - #define CPU_TO_LE32( x ) CFSwapInt32HostToLittle( x ) --- graphics/libGL/files/patch-src_util_ralloc.c +++ /dev/null @@ -1,18 +0,0 @@ ---- src/util/ralloc.c.orig 2017-04-01 15:33:37 UTC -+++ src/util/ralloc.c -@@ -338,6 +338,7 @@ ralloc_parent(const void *ptr) - - static void *autofree_context = NULL; - -+__attribute__((destructor)) - static void - autofree(void) - { -@@ -349,7 +350,6 @@ ralloc_autofree_context(void) - { - if (unlikely(autofree_context == NULL)) { - autofree_context = ralloc_context(NULL); -- atexit(autofree); - } - return autofree_context; - } --- graphics/libGL/files/patch-src_util_u__endian.h +++ /dev/null @@ -1,11 +0,0 @@ ---- src/util/u_endian.h.orig 2016-11-10 22:05:17 UTC -+++ src/util/u_endian.h -@@ -54,7 +54,7 @@ - # define PIPE_ARCH_BIG_ENDIAN - #endif - --#elif defined(__OpenBSD__) || defined(__NetBSD__) -+#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) - #include - #include - --- graphics/libGL/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -This package contains the OpenGL library, which can perform rendering over GLX -or using the Direct Rendering Infrastructure. - -WWW: http://www.freedesktop.org/Software/xorg --- graphics/libGL/pkg-plist +++ /dev/null @@ -1,11 +0,0 @@ -include/GL/gl.h -include/GL/gl_mangle.h -include/GL/glcorearb.h -include/GL/glext.h -include/GL/glx.h -include/GL/glx_mangle.h -include/GL/glxext.h -lib/libGL.so -lib/libGL.so.1 -lib/libGL.so.1.2.0 -libdata/pkgconfig/gl.pc --- graphics/libglapi/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# Created by: kwm@FreeBSD.org -# $FreeBSD$ - -PORTNAME= libglapi -PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 -CATEGORIES= graphics - -COMMENT= Common GL api library used by Mesa based ports - -LICENSE= MIT - -BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs - -USE_XORG= x11 xau xcb xdmcp xvmc - -# stuff not needed by libglapi but configure wants it -USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \ - xshmfence -LIB_DEPENDS+= libexpat.so:textproc/expat2 \ - libdrm.so:graphics/libdrm - -.include -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -MESA_BUILD_WRKSRC= src/mapi -MESA_INSTALL_WRKSRC= src/mapi - -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -post-install: - @${RM} -r ${STAGEDIR}${PREFIX}/include/GLES* - @${RM} ${STAGEDIR}${PREFIX}/lib/libGLESv2.so* - @${RM} ${STAGEDIR}${PREFIX}/libdata/pkgconfig/glesv2.pc - -.include --- graphics/libglapi/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the GL API utility library. - -WWW: http://mesa3d.org/ --- graphics/libglapi/pkg-plist +++ /dev/null @@ -1,3 +0,0 @@ -lib/libglapi.so -lib/libglapi.so.0 -lib/libglapi.so.0.0.0 --- graphics/libglesv2/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# Created by: kwm@FreeBSD.org -# $FreeBSD$ - -PORTNAME= libglesv2 -PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 -CATEGORIES= graphics - -COMMENT= OpenGL ES v2 library - -LICENSE= MIT - -LIB_DEPENDS+= libdrm.so:graphics/libdrm \ - libglapi.so:graphics/libglapi \ - libexpat.so:textproc/expat2 - -# stuff not needed by libglesv2 but configure wants it -USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \ - xshmfence - -.include -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -BUILD_WRKSRC= ${WRKSRC}/src/mapi -INSTALL_WRKSRC= ${WRKSRC}/src/mapi - -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -.include --- graphics/libglesv2/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the GL ES v2 utility library. - -WWW: http://mesa3d.org/ --- graphics/libglesv2/pkg-plist +++ /dev/null @@ -1,15 +0,0 @@ -include/GLES2/gl2.h -include/GLES2/gl2ext.h -include/GLES2/gl2platform.h -include/GLES3/gl3.h -include/GLES3/gl31.h -include/GLES3/gl32.h -include/GLES3/gl3ext.h -include/GLES3/gl3platform.h -lib/libGLESv2.so -lib/libGLESv2.so.2 -lib/libGLESv2.so.2.0.0 -@comment lib/libglapi.so -@comment lib/libglapi.so.0 -@comment lib/libglapi.so.0.0.0 -libdata/pkgconfig/glesv2.pc --- graphics/libosmesa/Makefile +++ graphics/libosmesa/Makefile @@ -3,27 +3,32 @@ PORTNAME= libosmesa PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 CATEGORIES= graphics COMMENT= Off-Screen Mesa implementation of the OpenGL API LIB_DEPENDS= libexpat.so:textproc/expat2 \ - libglapi.so:graphics/libglapi + libglapi.so:graphics/mesa-libs -USE_XORG= dri2proto dri3proto glproto presentproto x11 xau xcb xdmcp xvmc -# libosmesa doesn't link agains libGL but osmesa.h needs GL/gl.h -# and both headers are intalled by libGL .... -USE_GL= gl +USE_XORG= glproto .include +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -#MESA_BUILD_WRKSRC= src/util src/glsl src/mesa #/drivers/osmesa +CONFIGURE_ARGS+= --disable-dri --disable-egl --disable-gbm \ + --with-gallium-drivers=swrast +MESA_BUILD_WRKSRC= src/util src/compiler src/mapi src/mesa + +.if ${MESA_LLVM_VER} != "" +CONFGIURE_ARGS+= --enable-osmesa-gallium +MESA_BUILD_WRKSRC+= src/gallium +MESA_INSTALL_WRKSRC= src/gallium/state_trackers/osmesa src/gallium/targets/osmesa +.else +CONFIGURE_ARGS+= --enable-osmesa MESA_INSTALL_WRKSRC= src/mesa/drivers/osmesa +.endif -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets" post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/include/GL --- graphics/mesa-dri/Makefile +++ graphics/mesa-dri/Makefile @@ -1,22 +1,23 @@ # Created by: Eric Anholt # $FreeBSD$ -PORTNAME= dri +PORTNAME= mesa-dri PORTVERSION= ${MESAVERSION} -PORTEPOCH= 2 CATEGORIES= graphics -COMMENT= OpenGL hardware acceleration drivers for the DRI +COMMENT= OpenGL hardware acceleration drivers for DRI2+ LIB_DEPENDS= libdrm.so:graphics/libdrm \ libexpat.so:textproc/expat2 +RUN_DEPENDS= ${LOCALBASE}/lib/libtxc_dxtn.so:graphics/s2tc USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \ - xfixes xshmfence xv xvmc xxf86vm + xfixes xshmfence xv xvmc OPTIONS_DEFINE= TEXTURE VAAPI VDPAU OPTIONS_DEFAULT=TEXTURE OPTIONS_SUB= yes +PKGHELP= ${.CURDIR}/pkg-help TEXTURE_DESC= Enable texture-float support (patent encumbered) TEXTURE_CONFIGURE_ENABLE= texture-float @@ -28,17 +29,46 @@ VDPAU_CONFIGURE_ENABLE= vdpau VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau -PKGHELP= ${.CURDIR}/pkg-help - .include +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" +ALL_DRI_DRIVERS= I915 I965 RADEON R200 SWRAST +ALL_GALLIUM_DRIVERS= FREEDRENO R300 R600 RADEONSI SVGA SWRAST VC4 -#src/mesa/libmesagallium.la -#MESA_BUILD_WRKSRC= src/util src/gallium -#MESA_INSTALL_WRKSRC= src/gallium +DRI_DRIVERS= SWRAST +GALLIUM_DRIVERS= SWRAST +.if ${ARCH} == amd64 || ${ARCH} == i386 \ + || ${ARCH} == powerpc || ${ARCH} == powerpc64 +DRI_DRIVERS+= RADEON R200 +GALLIUM_DRIVERS+= R300 R600 RADEONSI +.elif ${ARCH} == armv6 || ${ARCH} == aarch64 +GALLIUM_DRIVERS+= FREEDRENO VC4 +.endif +.if ${ARCH} == amd64 || ${ARCH} == i386 +DRI_DRIVERS+= I915 I965 +GALLIUM_DRIVERS+= SVGA +.endif + +CONFIGURE_ARGS+= --with-dri-drivers="${DRI_DRIVERS:tl}" \ + --with-gallium-drivers="${GALLIUM_DRIVERS:tl}" + +.for _d in ${ALL_DRI_DRIVERS} +. if ${DRI_DRIVERS:M${_d}} +PLIST_SUB+= ${_d}_DRIVER="" +. else +PLIST_SUB+= ${_d}_DRIVER="@comment " +. endif +.endfor + +.for _gd in ${ALL_GALLIUM_DRIVERS} +. if ${GALLIUM_DRIVERS:M${_gd}} +PLIST_SUB+= ${_gd}_GDRIVER="" +. else +PLIST_SUB+= ${_gd}_GDRIVER="@comment " +. endif +.endfor -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets" post-install: @${RM} -r ${STAGEDIR}/etc/OpenCL --- graphics/mesa-dri/Makefile.common +++ graphics/mesa-dri/Makefile.common @@ -4,21 +4,17 @@ # # Remember to upgrade the following ports everytime you bump MESAVERSION: # -# - graphics/dri -# - graphics/gbm -# - graphics/libEGL -# - graphics/libGL -# - graphics/libglapi -# - graphics/libglesv2 # - graphics/libosmesa +# - graphics/mesa-dri +# - graphics/mesa-libs # - lang/clover # -# $FreeBSD: head/graphics/libGL/Makefile.common 438198 2017-04-10 19:14:48Z rezny $ +# $FreeBSD: head/graphics/mesa-libs/Makefile.common 438198 2017-04-10 19:14:48Z rezny $ MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/} MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/} -MESABASEVERSION= 17.0.3 +MESABASEVERSION= 17.0.4 # if there is a subversion, don't include the '-' between 7.11-rc2. MESASUBVERSION= @@ -31,8 +27,6 @@ MAINTAINER= x11@FreeBSD.org -BUILD_DEPENDS+= makedepend:devel/makedepend - USES+= compiler:c++11-lib bison gettext-tools gmake libtool \ localbase pathfix pkgconfig python:2,build shebangfix tar:xz USE_LDCONFIG= yes @@ -42,18 +36,20 @@ PKGDEINSTALL= ${.CURDIR}/pkg-deinstall # only have one port to check with portscout. -.if ${PORTNAME} != libGL +.if ${PORTNAME} != mesa-dri PORTSCOUT= ignore:1 .endif -python_OLD_CMD= "/usr/bin/env[[:space:]]python" -python_CMD= ${LOCALBASE}/bin/python2 +python_OLD_CMD= /usr/bin/env[[:space:]]python2 /usr/bin/python2 /bin/env[[:space:]]python SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \ src/gallium/drivers/svga/svgadump/svga_dump.py \ - src/mapi/glapi/gen/*.py -SHEBANG_FILES+= src/mapi/mapi_abi.py + src/gallium/drivers/freedreno/ir3/ir3_nir_trig.py \ + src/mapi/glapi/gen/*.py src/mapi/mapi_abi.py \ + src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py \ + src/mesa/main/get_*.py src/util/format_srgb.py \ + src/amd/*/*.py src/intel/genxml/gen_pack_header.py -MASTERDIR= ${.CURDIR}/../../graphics/libGL +MASTERDIR= ${.CURDIR}/../../graphics/mesa-dri PATCHDIR= ${MASTERDIR}/files WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION} DESCR= ${.CURDIR}/pkg-descr @@ -64,7 +60,17 @@ .if (${ARCH} != sparc64 && ${ARCH} != ia64) # no working LLVM MESA_LLVM_VER?= 40 +.endif + +.if ${MESA_LLVM_VER} != "" +BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER} +RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER} +CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER} LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${MESA_LLVM_VER}/lib +# The gallium-llvm switch is the global llvm switch for historical reasons +CONFIGURE_ARGS+= --enable-gallium-llvm +.else +CONFIGURE_ARGS+= --disable-gallium-llvm .endif # There are issues that need to be fixed to use TLS model "initial-exec" @@ -75,99 +81,10 @@ # https://lists.freebsd.org/pipermail/freebsd-arch/2016-February/017699.html CONFIGURE_ARGS+= --disable-glx-tls -# libEGL, dri and clover need gallium enabled. -# the third option in --with-egl-platforms is wayland. -.if (${MESA_LLVM_VER} != "") -CONFIGURE_ARGS+= --enable-egl --with-egl-platforms=x11,drm -.else -CONFIGURE_ARGS+= --disable-egl -.endif - # we don't care about GLes v1 -CONFIGURE_ARGS+= --disable-gles1 --enable-gles2 - -# Clover (OpenCL). -.if ${OPSYS} == DragonFly || \ - (${OPSYS} == FreeBSD && \ - (${ARCH} == amd64 || ${ARCH} == i386)) - -BUILD_DEPENDS+= libclc>=0.2.0.20160915:devel/libclc - -# We need the clang port too even if it is not used to compile because -# Clover needs some of the clang includes to build. -.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Mosmesa} != "" -_USES_pre_configure+= 290:clover-pre-configure - -# .if !exists() evaluates too early before cairo has a chance to be installed -clover-pre-configure: - @if [ -e ${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER} ] && \ - ! [ -e ${LOCALBASE}/bin/clang${MESA_LLVM_VER} ]; then \ - ${ECHO_MSG} "Your llvm${MESA_LLVM_VER} is not build with clang support, which is required."; \ - ${FALSE}; \ - fi -.endif - -CONFIGURE_ARGS+= --enable-opencl --enable-opencl-icd -.else -CONFIGURE_ARGS+= --disable-opencl -.endif - -CONFIGURE_ARGS+= --enable-osmesa --enable-xvmc - -# gallium -.if (${MESA_LLVM_VER} != "") -BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER} -.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Megl} != "" -RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER} -.endif - -CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER} - -CONFIGURE_ARGS+= --enable-gallium-llvm --enable-llvm-shared-libs -.else -CONFIGURE_ARGS+= --disable-gallium-llvm -.endif - -ALL_DRI_DRIVERS= I915 I965 RADEON R200 SWRAST -ALL_GALLIUM_DRIVERS= R300 R600 RADEONSI SVGA SWRAST - -.if ${ARCH} == amd64 || ${ARCH} == i386 -DRI_DRIVERS= I915 I965 RADEON R200 -GALLIUM_DRIVERS= R300 R600 RADEONSI SVGA -.endif - -.if ${ARCH} == powerpc || ${ARCH} == powerpc64 -DRI_DRIVERS= RADEON R200 -GALLIUM_DRIVERS= R300 R600 RADEONSI -.endif - -# software rendering for all arches -DRI_DRIVERS+= SWRAST -GALLIUM_DRIVERS+= SWRAST - -.for _d in ${ALL_DRI_DRIVERS} -. if ${DRI_DRIVERS:M${_d}} -PLIST_SUB+= ${_d}_DRIVER="" -. else -PLIST_SUB+= ${_d}_DRIVER="@comment " -. endif -.endfor - -CONFIGURE_ARGS+=--with-dri-drivers="${DRI_DRIVERS:tl}" - -.for _gd in ${ALL_GALLIUM_DRIVERS} -. if ${GALLIUM_DRIVERS:M${_gd}} -PLIST_SUB+= ${_gd}_GDRIVER="" -. else -PLIST_SUB+= ${_gd}_GDRIVER="@comment " -. endif -.endfor - -.if (${MESA_LLVM_VER} != "") -CONFIGURE_ARGS+=--with-gallium-drivers="${GALLIUM_DRIVERS:tl}" -.endif +CONFIGURE_ARGS+= --disable-gles1 .if ${OPSYS} == DragonFly -LIB_DEPENDS+= libelf.so:devel/libelf +LIB_DEPENDS+= libelf.so:devel/libelf .endif --- graphics/mesa-dri/Makefile.targets +++ graphics/mesa-dri/Makefile.targets @@ -1,11 +1,10 @@ -# $FreeBSD: head/graphics/libGL/Makefile.targets 438198 2017-04-10 19:14:48Z rezny $ +# $FreeBSD: head/graphics/mesa-libs/Makefile.targets 438198 2017-04-10 19:14:48Z rezny $ # # this file holds common targets post-patch: .if ${OPSYS} == FreeBSD - @${REINPLACE_CMD} -e 's|x86_64|amd64|' \ - ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|x86_64|amd64|' ${WRKSRC}/configure # Clang 3.4 in 10.x on i386 fails with the following error when using "GCC atomics" # # glsl/cache.c:613:4: error: cannot compile this atomic library call yet @@ -15,25 +14,16 @@ .if ${OSVERSION} < 1100000 && ${ARCH} == "i386" @${REINPLACE_CMD} -e 's|-DUSE_GCC_ATOMIC_BUILTINS||' ${WRKSRC}/configure .endif -.else # ${OPSYS} == DragonFly -# Sed on dragonfly doesn't support \< or \> - @${REINPLACE_CMD} -e 's|\\>//|[[:>:]]//|' \ - ${WRKSRC}/configure .endif # ${OPSYS} @${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g' \ ${WRKSRC}/src/mesa/drivers/dri/common/xmlconfig.c - @${REINPLACE_CMD} -e 's|#!/use/bin/python|#!${PYTHON_CMD}|g' \ - ${WRKSRC}/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py - @${REINPLACE_CMD} -e 's|!/use/bin/python2|!${PYTHON_CMD}|g' \ - ${WRKSRC}/src/mesa/main/get_hash_generator.py \ - ${WRKSRC}/src/mapi/glapi/gen/gl_enums.py \ - ${WRKSRC}/src/mapi/glapi/gen/gl_table.py pre-build: mesa-pre-build #custom targets so we can build parts of Mesa mesa-pre-build: # do propper gmake target. + @cd ${WRKSRC}/src && ${MAKE_CMD} git_sha1.h libglsl_util.la @cd ${WRKSRC}/src/mesa/drivers/dri/common/ && ${MAKE_CMD} @cd ${WRKSRC}/src/loader && ${MAKE_CMD} # libloader.la --- graphics/mesa-dri/distinfo +++ graphics/mesa-dri/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1491068637 -SHA256 (mesa-17.0.3.tar.xz) = ca646f5075a002d60ef9123c8a4331cede155c01712ef945a65c59a5e69fe7ed -SIZE (mesa-17.0.3.tar.xz) = 9485792 +TIMESTAMP = 1492459376 +SHA256 (mesa-17.0.4.tar.xz) = 1269dc8545a193932a0779b2db5bce9be4a5f6813b98c38b93b372be8362a346 +SIZE (mesa-17.0.4.tar.xz) = 9454976 --- graphics/mesa-dri/files/configure.ac +++ graphics/mesa-dri/files/configure.ac @@ -1,54 +1,57 @@ --- configure.ac.orig 2017-04-01 15:33:36 UTC +++ configure.ac -@@ -943,18 +943,19 @@ llvm_add_target() { +@@ -942,19 +942,19 @@ llvm_add_target() { + # Call this inside ` ` to get the return value. # $1 is the llvm-config command with arguments. strip_unwanted_llvm_flags() { - # Use \> (marks the end of the word) +- # Use \> (marks the end of the word) - echo " `$1`" | sed \ - -e 's/\s\+-m\S*//g' \ - -e 's/\s\+-DNDEBUG\>//g' \ - -e 's/\s\+-D_GNU_SOURCE\>//g' \ - -e 's/\s\+-pedantic\>//g' \ - -e 's/\s\+-W\S*//g' \ - -e 's/\s\+-O\S*//g' \ - -e 's/\s\+-g\S*//g' \ -+ echo " `$1`" | sed -E \ +- -e 's/-fno-rtti\>/-Fno-rtti/g' \ +- -e 's/\s\+-f\S*//g' \ +- -e 's/-Fno-rtti\>/-fno-rtti/g' \ +- -e 's/^ //' ++ echo " `$1` " | sed -E \ + -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-DNDEBUG\>//g' \ -+ -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \ -+ -e 's/[[[:space:]]]+-pedantic\>//g' \ ++ -e 's/[[[:space:]]]+-DNDEBUG[[[:space:]]]/ /g' \ ++ -e 's/[[[:space:]]]+-D_GNU_SOURCE[[[:space:]]]/ /g' \ ++ -e 's/[[[:space:]]]+-pedantic[[[:space:]]]/ /g' \ + -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \ + -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \ + -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \ - -e 's/-fno-rtti\>/-Fno-rtti/g' \ -- -e 's/\s\+-f\S*//g' \ ++ -e 's/-fno-rtti[[[:space:]]]/-Fno-rtti /g' \ + -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \ - -e 's/-Fno-rtti\>/-fno-rtti/g' \ -- -e 's/^ //' -+ -e 's/-fno-exceptions\>//g' \ -+ -e 's/^[[[:space:]]]//' ++ -e 's/-Fno-rtti[[[:space:]]]/-fno-rtti /g' \ ++ -e 's/^[[[:space:]]]//' \ ++ -e 's/[[[:space:]]]$//' } llvm_set_environment_variables() { -@@ -1121,7 +1122,7 @@ fi +@@ -1121,7 +1121,7 @@ fi AC_SUBST(LIBSENSORS_LIBS) case "$host_os" in -linux*) +linux* | freebsd*) dri3_default=yes ;; *) -@@ -1631,7 +1632,7 @@ dnl platform checks. Set DEFINES and LIB +@@ -1631,7 +1631,7 @@ dnl platform checks. Set DEFINES and LIB if test "x$enable_dri" = xyes; then # Platform specific settings and drivers to build case "$host_os" in - linux*) + linux* | freebsd*) if test "x$enable_dri3" = xyes; then DEFINES="$DEFINES -DHAVE_DRI3" fi -@@ -2002,9 +2003,18 @@ if test "x$enable_opencl" = xyes; then +@@ -2002,9 +2002,18 @@ if test "x$enable_opencl" = xyes; then AC_MSG_ERROR([cannot enable OpenCL without Gallium]) fi @@ -67,7 +70,7 @@ if test "x$have_libclc" = xno; then AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover. -@@ -2061,8 +2071,6 @@ if test "x$enable_opencl" = xyes; then +@@ -2061,8 +2070,6 @@ if test "x$enable_opencl" = xyes; then CLANG_LIBDIR=${LLVM_LIBDIR} fi CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} --- graphics/mesa-dri/files/patch-configure +++ graphics/mesa-dri/files/patch-configure @@ -1,54 +1,57 @@ --- configure.orig 2017-04-01 15:33:50 UTC +++ configure -@@ -22351,18 +22351,19 @@ llvm_add_target() { +@@ -22350,19 +22350,19 @@ llvm_add_target() { + # Call this inside ` ` to get the return value. # $1 is the llvm-config command with arguments. strip_unwanted_llvm_flags() { - # Use \> (marks the end of the word) +- # Use \> (marks the end of the word) - echo " `$1`" | sed \ - -e 's/\s\+-m\S*//g' \ - -e 's/\s\+-DNDEBUG\>//g' \ - -e 's/\s\+-D_GNU_SOURCE\>//g' \ - -e 's/\s\+-pedantic\>//g' \ - -e 's/\s\+-W\S*//g' \ - -e 's/\s\+-O\S*//g' \ - -e 's/\s\+-g\S*//g' \ -+ echo " `$1`" | sed -E \ -+ -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-DNDEBUG\>//g' \ -+ -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \ -+ -e 's/[[[:space:]]]+-pedantic\>//g' \ -+ -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \ -+ -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \ - -e 's/-fno-rtti\>/-Fno-rtti/g' \ +- -e 's/-fno-rtti\>/-Fno-rtti/g' \ - -e 's/\s\+-f\S*//g' \ -+ -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \ - -e 's/-Fno-rtti\>/-fno-rtti/g' \ +- -e 's/-Fno-rtti\>/-fno-rtti/g' \ - -e 's/^ //' -+ -e 's/-fno-exceptions\>//g' \ -+ -e 's/^[[[:space:]]]//' ++ echo " `$1` " | sed -E \ ++ -e 's/[[:space:]]+-m[^[:space:]]*//g' \ ++ -e 's/[[:space:]]+-DNDEBUG[[:space:]]/ /g' \ ++ -e 's/[[:space:]]+-D_GNU_SOURCE[[:space:]]/ /g' \ ++ -e 's/[[:space:]]+-pedantic[[:space:]]/ /g' \ ++ -e 's/[[:space:]]+-W[^[:space:]]*//g' \ ++ -e 's/[[:space:]]+-O[^[:space:]]*//g' \ ++ -e 's/[[:space:]]+-g[^[:space:]]*//g' \ ++ -e 's/-fno-rtti[[:space:]]/-Fno-rtti /g' \ ++ -e 's/[[:space:]]+-f[^[:space:]]*//g' \ ++ -e 's/-Fno-rtti[[:space:]]/-fno-rtti /g' \ ++ -e 's/^[[:space:]]//' \ ++ -e 's/[[:space:]]$//' } llvm_set_environment_variables() { -@@ -22560,7 +22561,7 @@ fi +@@ -22560,7 +22560,7 @@ fi case "$host_os" in -linux*) +linux* | freebsd*) dri3_default=yes ;; *) -@@ -24099,7 +24100,7 @@ fi +@@ -24099,7 +24099,7 @@ fi if test "x$enable_dri" = xyes; then # Platform specific settings and drivers to build case "$host_os" in - linux*) + linux* | freebsd*) if test "x$enable_dri3" = xyes; then DEFINES="$DEFINES -DHAVE_DRI3" fi -@@ -25851,9 +25852,19 @@ if test "x$enable_opencl" = xyes; then +@@ -25851,9 +25851,19 @@ if test "x$enable_opencl" = xyes; then as_fn_error $? "cannot enable OpenCL without Gallium" "$LINENO" 5 fi @@ -68,7 +71,7 @@ if test "x$have_libclc" = xno; then as_fn_error $? "pkg-config cannot find libclc.pc which is required to build clover. -@@ -25916,9 +25927,6 @@ rm -f core conftest.err conftest.$ac_obj +@@ -25916,9 +25926,6 @@ rm -f core conftest.err conftest.$ac_obj CLANG_LIBDIR=${LLVM_LIBDIR} fi CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} --- graphics/mesa-dri/pkg-descr +++ graphics/mesa-dri/pkg-descr @@ -1,5 +1,7 @@ -This package contains the current stable release of the client drivers for the -DRI. With an X Server configured for the DRI they allow direct rendering of -hardware-accelerated OpenGL. +This package contains the current stable release of the client drivers for DRI2+ -WWW: http://dri.sourceforge.net/ +With a X Server configured for DRI, they allow direct rendering of hardware- +accelerated OpenGL. This package also includes the software renderer, either +llvmpipe or classic SWrast. + +WWW: http://www.mesa3d.org/ --- graphics/mesa-libs/Makefile +++ graphics/mesa-libs/Makefile @@ -1,27 +1,64 @@ # Created by: Eric Anholt # $FreeBSD$ -PORTNAME= libGL +PORTNAME= mesa-libs PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 CATEGORIES= graphics -COMMENT= OpenGL library that renders using GLX or DRI +COMMENT= OpenGL libraries that support GLX and EGL clients +BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs LIB_DEPENDS+= libdrm.so:graphics/libdrm \ - libglapi.so:graphics/libglapi \ libexpat.so:textproc/expat2 USE_XORG= dri2proto dri3proto glproto presentproto x11 xcb xdamage xext \ xfixes xshmfence xxf86vm +OPTIONS_DEFINE= WAYLAND +OPTIONS_SUB= yes + +WAYLAND_DESC= Enable support for the Wayland platform in EGL +WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ + libwayland-server.so:graphics/wayland + .include -.include "${.CURDIR}/Makefile.common" +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" + +CONFIGURE_ARGS+= --with-dri-drivers=swrast --with-gallium-drivers=swrast -MESA_BUILD_WRKSRC= src/mapi src/glx -MESA_INSTALL_WRKSRC= src/glx +# libEGL needs gallium enabled which depends on llvm +.if ${MESA_LLVM_VER} != "" +.if ${PORT_OPTIONS:MWAYLAND} +CONFIGURE_ARGS+= --with-egl-platforms=x11,drm,wayland +.else +CONFIGURE_ARGS+= --with-egl-platforms=x11,drm +.endif +PLIST_SUB+= EGL="" +.else +CONFIGURE_ARGS+= --disable-egl +PLIST_SUB+= EGL="@comment " +.if ${PORT_OPTIONS:MWAYLAND} +IGNORE= WAYLAND is an option for EGL and thus only valid on platforms with LLVM +.endif +.endif + +MESA_BUILD_WRKSRC= src/mapi +MESA_INSTALL_WRKSRC= src/mapi + +.if ${PORT_OPTIONS:MWAYLAND} +MESA_BUILD_WRKSRC+= src/egl/wayland/wayland-drm src/egl/wayland/wayland-egl +MESA_INSTALL_WRKSRC+= src/egl/wayland/wayland-egl +.endif + +MESA_BUILD_WRKSRC+= src/gbm src/glx +MESA_INSTALL_WRKSRC+= src/gbm src/glx + +.if ${MESA_LLVM_VER} != "" +MESA_BUILD_WRKSRC+= src/egl +MESA_INSTALL_WRKSRC+= src/egl +.endif -.include "${.CURDIR}/Makefile.targets" +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets" post-install: @cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \ --- graphics/mesa-libs/pkg-descr +++ graphics/mesa-libs/pkg-descr @@ -1,4 +1,5 @@ -This package contains the OpenGL library, which can perform rendering over GLX -or using the Direct Rendering Infrastructure. +This package contains the Mesa OpenGL libraries for GLX and EGL clients. +These include libEGL, libGL, and libglesv2 as well as utlity libraries +libglapi and gbm. -WWW: http://www.freedesktop.org/Software/xorg +WWW: http://www.mesa3d.org/ --- graphics/mesa-libs/pkg-plist +++ graphics/mesa-libs/pkg-plist @@ -1,11 +1,45 @@ +%%EGL%%include/EGL/egl.h +%%EGL%%include/EGL/eglext.h +%%EGL%%include/EGL/eglextchromium.h +%%EGL%%include/EGL/eglmesaext.h +%%EGL%%include/EGL/eglplatform.h include/GL/gl.h include/GL/gl_mangle.h include/GL/glcorearb.h include/GL/glext.h include/GL/glx.h include/GL/glx_mangle.h include/GL/glxext.h +include/GLES2/gl2.h +include/GLES2/gl2ext.h +include/GLES2/gl2platform.h +include/GLES3/gl3.h +include/GLES3/gl31.h +include/GLES3/gl32.h +include/GLES3/gl3ext.h +include/GLES3/gl3platform.h +%%EGL%%include/KHR/khrplatform.h +include/gbm.h +%%EGL%%lib/libEGL.so +%%EGL%%lib/libEGL.so.1 +%%EGL%%lib/libEGL.so.1.0.0 lib/libGL.so lib/libGL.so.1 lib/libGL.so.1.2.0 +lib/libGLESv2.so +lib/libGLESv2.so.2 +lib/libGLESv2.so.2.0.0 +lib/libgbm.so +lib/libgbm.so.1 +lib/libgbm.so.1.0.0 +lib/libglapi.so +lib/libglapi.so.0 +lib/libglapi.so.0.0.0 +%%WAYLAND%%lib/libwayland-egl.so +%%WAYLAND%%lib/libwayland-egl.so.1 +%%WAYLAND%%lib/libwayland-egl.so.1.0.0 +%%EGL%%libdata/pkgconfig/egl.pc +libdata/pkgconfig/gbm.pc libdata/pkgconfig/gl.pc +libdata/pkgconfig/glesv2.pc +%%WAYLAND%%libdata/pkgconfig/wayland-egl.pc --- graphics/s2tc/Makefile +++ graphics/s2tc/Makefile @@ -11,7 +11,7 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= libGL>=9.1.7:graphics/libGL +BUILD_DEPENDS= mesa-libs>=0:graphics/mesa-libs TEST_DEPENDS= convert:graphics/ImageMagick \ nvcompress:graphics/nvidia-texture-tools \ wget:ftp/wget --- net/tigervnc-devel/Makefile +++ net/tigervnc-devel/Makefile @@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENCE.TXT PATCH_DEPENDS= ${NONEXISTENT}:x11-servers/xorg-server:patch -BUILD_DEPENDS= ${LOCALBASE}/include/GL/internal/dri_interface.h:graphics/dri \ +BUILD_DEPENDS= ${LOCALBASE}/include/GL/internal/dri_interface.h:graphics/mesa-dri \ ${LOCALBASE}/libdata/pkgconfig/fontutil.pc:x11-fonts/font-util \ bash:shells/bash # almost equivalent to x11-servers/xorg-server's --- net/tigervnc/Makefile +++ net/tigervnc/Makefile @@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENCE.TXT PATCH_DEPENDS= ${NONEXISTENT}:x11-servers/xorg-server:patch -BUILD_DEPENDS= ${LOCALBASE}/include/GL/internal/dri_interface.h:graphics/dri \ +BUILD_DEPENDS= ${LOCALBASE}/include/GL/internal/dri_interface.h:graphics/mesa-dri \ ${LOCALBASE}/libdata/pkgconfig/fontutil.pc:x11-fonts/font-util \ bash:shells/bash # almost equivalent to x11-servers/xorg-server's --- x11-toolkits/gtkada3/Makefile +++ x11-toolkits/gtkada3/Makefile @@ -3,6 +3,7 @@ PORTNAME= gtkada PORTVERSION= 3.14.2 +PORTREVISION= 1 CATEGORIES= x11-toolkits PKGNAMESUFFIX= 3 @@ -16,7 +17,6 @@ libfontconfig.so:x11-fonts/fontconfig \ libharfbuzz.so:print/harfbuzz \ libdrm.so:graphics/libdrm \ - libglapi.so:graphics/libglapi \ libatk-bridge-2.0.so:accessibility/at-spi2-atk \ libepoxy.so:graphics/libepoxy \ libpng16.so:graphics/png \ --- x11/xorg/Makefile +++ x11/xorg/Makefile @@ -3,15 +3,15 @@ PORTNAME= xorg PORTVERSION= 7.7 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11 MAINTAINER= x11@FreeBSD.org COMMENT= X.Org complete distribution metaport USES= metaport -RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/dri +RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri # data RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/xbitmaps.pc:x11/xbitmaps \