diff options
author | rezny <rezny@FreeBSD.org> | 2017-05-13 02:46:53 +0800 |
---|---|---|
committer | rezny <rezny@FreeBSD.org> | 2017-05-13 02:46:53 +0800 |
commit | 2a86e9db0353764dd454ec2e2a6825d74211aee3 (patch) | |
tree | 6651ec21aaf32f47dda7b92dcfb61385f580c8c9 | |
parent | 1bdd19c4ec73c7795ca2ddcdfd72887bbca8bdd6 (diff) | |
download | freebsd-ports-gnome-2a86e9db0353764dd454ec2e2a6825d74211aee3.tar.gz freebsd-ports-gnome-2a86e9db0353764dd454ec2e2a6825d74211aee3.tar.zst freebsd-ports-gnome-2a86e9db0353764dd454ec2e2a6825d74211aee3.zip |
Consolidate the Mesa ports, update to 17.0.4, and add Wayland option
* libGL, libEGL, libglesv2, libglapi, and gbm have been moved into mesa-libs,
graphics/dri has been renamed to mesa-dri, and USE_GL has been adjusted
* mesa-libs has a new WAYLAND option that enables platform support in libEGL
* mesa-dri now depends on graphics/s2tc for compressed texture support [1]
* re-remove obsolete dependency on makedepends [2]
* correct sed fix backported from 17.1 [3]
PR: 218799 (exp-run), 212762 [1], 218552 [2], 218562 [3]
Submitted by: dbn [1], jbeich [2,3]
Reported by: afiskon@devzen.ru [1]
Reviewed by: kwm, johalun0@gmail.com
Approved by: portmgr, swills (mentor)
Differential Revision: https://reviews.freebsd.org/D10448
74 files changed, 463 insertions, 607 deletions
@@ -9378,3 +9378,9 @@ chinese/fortune||2017-05-07|Has expired: Unfetchable for more than six months (g benchmarks/gobench||2017-05-07|Has expired: Builds each time it runs sysutils/grok||2017-05-07|Has expired: Unfetchable for more than six months (google code has gone away) audio/xaylet|audio/aylet|2017-05-07|Moved to a single port with GUI option +graphics/dri|graphics/mesa-dri|2017-05-12|Renamed for clarity and consistency with graphics/mesa-libs +graphics/gbm|graphics/mesa-libs|2017-05-12|Mesa libraries were merged into one port +graphics/libglapi|graphics/mesa-libs|2017-05-12|Mesa libraries were merged into one port +graphics/libglesv2|graphics/mesa-libs|2017-05-12|Mesa libraries were merged into one port +graphics/libEGL|graphics/mesa-libs|2017-05-12|Mesa libraries were merged into one port +graphics/libGL|graphics/mesa-libs|2017-05-12|Mesa libraries were merged into one port diff --git a/Mk/Scripts/qa.sh b/Mk/Scripts/qa.sh index c3b8d15aa656..024fce7e8fa7 100644 --- a/Mk/Scripts/qa.sh +++ b/Mk/Scripts/qa.sh @@ -537,13 +537,13 @@ proxydeps_suggest_uses() { 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" diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 719aef6a1853..52bbdf1c1387 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1763,20 +1763,19 @@ IGNORE= has USE_LDCONFIG32 set to yes, which is not correct 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 diff --git a/Mk/bsd.xorg.mk b/Mk/bsd.xorg.mk index b29a35ac1107..bf84b9cf3e11 100644 --- a/Mk/bsd.xorg.mk +++ b/Mk/bsd.xorg.mk @@ -97,7 +97,7 @@ USES+= pathfix 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 diff --git a/emulators/i386-wine-devel/Makefile.i386 b/emulators/i386-wine-devel/Makefile.i386 index 11e523513e6f..2044c8ab616a 100644 --- a/emulators/i386-wine-devel/Makefile.i386 +++ b/emulators/i386-wine-devel/Makefile.i386 @@ -12,7 +12,7 @@ MASTERDIR= ${SLAVEDIR}/../wine-devel 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]* diff --git a/emulators/i386-wine/Makefile.i386 b/emulators/i386-wine/Makefile.i386 index 2ce12a1d8e88..63def4f7bf92 100644 --- a/emulators/i386-wine/Makefile.i386 +++ b/emulators/i386-wine/Makefile.i386 @@ -12,7 +12,7 @@ MASTERDIR= ${SLAVEDIR}/../wine 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]* diff --git a/graphics/Makefile b/graphics/Makefile index 69228b4556be..dabd335ac69d 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -148,7 +148,6 @@ SUBDIR += djview4-qt4 SUBDIR += djvulibre SUBDIR += dmtx-utils - SUBDIR += dri SUBDIR += driconf SUBDIR += dspdfviewer SUBDIR += duhdraw @@ -218,7 +217,6 @@ SUBDIR += fyre SUBDIR += g2 SUBDIR += gauche-gl - SUBDIR += gbm SUBDIR += gcolor SUBDIR += gcolor2 SUBDIR += gcolor3 @@ -473,8 +471,6 @@ SUBDIR += leptonica SUBDIR += lfview SUBDIR += lib3ds - SUBDIR += libEGL - SUBDIR += libGL SUBDIR += libGLU SUBDIR += libGLw SUBDIR += libafterimage @@ -497,8 +493,6 @@ SUBDIR += libgaiagraphics SUBDIR += libgeotiff SUBDIR += libgfx - SUBDIR += libglapi - SUBDIR += libglesv2 SUBDIR += libgltext SUBDIR += libgltf SUBDIR += libgnomecanvas @@ -592,6 +586,8 @@ SUBDIR += mapyrus SUBDIR += megapov SUBDIR += mesa-demos + SUBDIR += mesa-dri + SUBDIR += mesa-libs SUBDIR += meshviewer SUBDIR += metacam SUBDIR += metapixel diff --git a/graphics/copperspice/Makefile b/graphics/copperspice/Makefile index 68b24d7cc497..d0b4096082da 100644 --- a/graphics/copperspice/Makefile +++ b/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 @@ LIB_DEPENDS= libaudio.so:audio/nas \ 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 \ diff --git a/graphics/dri/Makefile b/graphics/dri/Makefile deleted file mode 100644 index d2bef87d2cb4..000000000000 --- a/graphics/dri/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# Created by: Eric Anholt <anholt@FreeBSD.org> -# $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 <bsd.port.options.mk> - -.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 <bsd.port.mk> diff --git a/graphics/dri/pkg-descr b/graphics/dri/pkg-descr deleted file mode 100644 index 776a52aaf110..000000000000 --- a/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/ diff --git a/graphics/gbm/Makefile b/graphics/gbm/Makefile deleted file mode 100644 index 7db148fedcf9..000000000000 --- a/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 <bsd.port.options.mk> -.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 <bsd.port.mk> diff --git a/graphics/gbm/pkg-descr b/graphics/gbm/pkg-descr deleted file mode 100644 index 810b4fc4ceff..000000000000 --- a/graphics/gbm/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the gbm utility library. - -WWW: http://mesa3d.org/ diff --git a/graphics/gbm/pkg-plist b/graphics/gbm/pkg-plist deleted file mode 100644 index 891e4aeed89b..000000000000 --- a/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 diff --git a/graphics/libEGL/Makefile b/graphics/libEGL/Makefile deleted file mode 100644 index 3da0c811e80a..000000000000 --- a/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 <bsd.port.options.mk> -.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 <bsd.port.mk> diff --git a/graphics/libEGL/pkg-descr b/graphics/libEGL/pkg-descr deleted file mode 100644 index cab51aaa54db..000000000000 --- a/graphics/libEGL/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the EGL utility library. - -WWW: http://mesa3d.org/ diff --git a/graphics/libEGL/pkg-plist b/graphics/libEGL/pkg-plist deleted file mode 100644 index 016620daeb19..000000000000 --- a/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 diff --git a/graphics/libGL/Makefile b/graphics/libGL/Makefile deleted file mode 100644 index fbb085966d6e..000000000000 --- a/graphics/libGL/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# Created by: Eric Anholt <anholt@FreeBSD.org> -# $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 <bsd.port.options.mk> -.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 <bsd.port.mk> diff --git a/graphics/libGL/Makefile.common b/graphics/libGL/Makefile.common deleted file mode 100644 index 13a6d361f8db..000000000000 --- a/graphics/libGL/Makefile.common +++ /dev/null @@ -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 - diff --git a/graphics/libGL/distinfo b/graphics/libGL/distinfo deleted file mode 100644 index e8cc973ab76a..000000000000 --- a/graphics/libGL/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1491068637 -SHA256 (mesa-17.0.3.tar.xz) = ca646f5075a002d60ef9123c8a4331cede155c01712ef945a65c59a5e69fe7ed -SIZE (mesa-17.0.3.tar.xz) = 9485792 diff --git a/graphics/libGL/pkg-descr b/graphics/libGL/pkg-descr deleted file mode 100644 index eeba29334de5..000000000000 --- a/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 diff --git a/graphics/libGL/pkg-plist b/graphics/libGL/pkg-plist deleted file mode 100644 index 88ec363b70f1..000000000000 --- a/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 diff --git a/graphics/libglapi/Makefile b/graphics/libglapi/Makefile deleted file mode 100644 index bbf5bc75f1f1..000000000000 --- a/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 <bsd.port.options.mk> -.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 <bsd.port.mk> diff --git a/graphics/libglapi/pkg-descr b/graphics/libglapi/pkg-descr deleted file mode 100644 index cc12cb79ae8b..000000000000 --- a/graphics/libglapi/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the GL API utility library. - -WWW: http://mesa3d.org/ diff --git a/graphics/libglapi/pkg-plist b/graphics/libglapi/pkg-plist deleted file mode 100644 index f2a3e03c9109..000000000000 --- a/graphics/libglapi/pkg-plist +++ /dev/null @@ -1,3 +0,0 @@ -lib/libglapi.so -lib/libglapi.so.0 -lib/libglapi.so.0.0.0 diff --git a/graphics/libglesv2/Makefile b/graphics/libglesv2/Makefile deleted file mode 100644 index da1d4c54df2e..000000000000 --- a/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 <bsd.port.options.mk> -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -BUILD_WRKSRC= ${WRKSRC}/src/mapi -INSTALL_WRKSRC= ${WRKSRC}/src/mapi - -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" - -.include <bsd.port.mk> diff --git a/graphics/libglesv2/pkg-descr b/graphics/libglesv2/pkg-descr deleted file mode 100644 index 0a13a5a72a52..000000000000 --- a/graphics/libglesv2/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -This package contains the GL ES v2 utility library. - -WWW: http://mesa3d.org/ diff --git a/graphics/libglesv2/pkg-plist b/graphics/libglesv2/pkg-plist deleted file mode 100644 index 9ddc08b803c4..000000000000 --- a/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 diff --git a/graphics/libosmesa/Makefile b/graphics/libosmesa/Makefile index 04502b6cdae1..bc31ed35fec6 100644 --- a/graphics/libosmesa/Makefile +++ b/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 <bsd.port.options.mk> - -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" - -#MESA_BUILD_WRKSRC= src/util src/glsl src/mesa #/drivers/osmesa +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" + +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 diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile new file mode 100644 index 000000000000..44853da02ea0 --- /dev/null +++ b/graphics/mesa-dri/Makefile @@ -0,0 +1,76 @@ +# Created by: Eric Anholt <anholt@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= mesa-dri +PORTVERSION= ${MESAVERSION} +CATEGORIES= graphics + +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 + +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 + +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 + +.include <bsd.port.options.mk> +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" + +ALL_DRI_DRIVERS= I915 I965 RADEON R200 SWRAST +ALL_GALLIUM_DRIVERS= FREEDRENO R300 R600 RADEONSI SVGA SWRAST VC4 + +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/mesa-dri/Makefile.targets" + +post-install: + @${RM} -r ${STAGEDIR}/etc/OpenCL + +.include <bsd.port.mk> diff --git a/graphics/mesa-dri/Makefile.common b/graphics/mesa-dri/Makefile.common new file mode 100644 index 000000000000..287e8c5e320a --- /dev/null +++ b/graphics/mesa-dri/Makefile.common @@ -0,0 +1,90 @@ +# 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/libosmesa +# - graphics/mesa-dri +# - graphics/mesa-libs +# - lang/clover +# +# $FreeBSD$ + +MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/} +MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/} + +MESABASEVERSION= 17.0.4 +# 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 + +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} != mesa-dri +PORTSCOUT= ignore:1 +.endif + +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/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/mesa-dri +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 +.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" +# 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 + +# we don't care about GLes v1 +CONFIGURE_ARGS+= --disable-gles1 + +.if ${OPSYS} == DragonFly +LIB_DEPENDS+= libelf.so:devel/libelf +.endif + diff --git a/graphics/libGL/Makefile.targets b/graphics/mesa-dri/Makefile.targets index 71629e2b156b..1da45abbe46a 100644 --- a/graphics/libGL/Makefile.targets +++ b/graphics/mesa-dri/Makefile.targets @@ -4,8 +4,7 @@ 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 @@ post-patch: .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 diff --git a/graphics/mesa-dri/distinfo b/graphics/mesa-dri/distinfo new file mode 100644 index 000000000000..79711232c99a --- /dev/null +++ b/graphics/mesa-dri/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1492459376 +SHA256 (mesa-17.0.4.tar.xz) = 1269dc8545a193932a0779b2db5bce9be4a5f6813b98c38b93b372be8362a346 +SIZE (mesa-17.0.4.tar.xz) = 9454976 diff --git a/graphics/libGL/files/configure.ac b/graphics/mesa-dri/files/configure.ac index f5bd08bdf3f9..4061d0c67ae5 100644 --- a/graphics/libGL/files/configure.ac +++ b/graphics/mesa-dri/files/configure.ac @@ -1,9 +1,10 @@ --- 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' \ @@ -12,25 +13,27 @@ - -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 @@ -39,7 +42,7 @@ 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 @@ -48,7 +51,7 @@ 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} diff --git a/graphics/libGL/files/patch-configure b/graphics/mesa-dri/files/patch-configure index 5216c37796bd..1daf477b2acd 100644 --- a/graphics/libGL/files/patch-configure +++ b/graphics/mesa-dri/files/patch-configure @@ -1,9 +1,10 @@ --- 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' \ @@ -12,25 +13,27 @@ - -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 @@ -39,7 +42,7 @@ 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 @@ -48,7 +51,7 @@ 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} diff --git a/graphics/libGL/files/patch-include_GL_internal_dri__interface.h b/graphics/mesa-dri/files/patch-include_GL_internal_dri__interface.h index 292d66dd6d2b..292d66dd6d2b 100644 --- a/graphics/libGL/files/patch-include_GL_internal_dri__interface.h +++ b/graphics/mesa-dri/files/patch-include_GL_internal_dri__interface.h diff --git a/graphics/libGL/files/patch-src_egl_drivers_dri2_platform__x11.c b/graphics/mesa-dri/files/patch-src_egl_drivers_dri2_platform__x11.c index 40c8de0d4a1c..40c8de0d4a1c 100644 --- a/graphics/libGL/files/patch-src_egl_drivers_dri2_platform__x11.c +++ b/graphics/mesa-dri/files/patch-src_egl_drivers_dri2_platform__x11.c diff --git a/graphics/libGL/files/patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c b/graphics/mesa-dri/files/patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c index c1e855d7105b..c1e855d7105b 100644 --- a/graphics/libGL/files/patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c +++ b/graphics/mesa-dri/files/patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c diff --git a/graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c b/graphics/mesa-dri/files/patch-src_gallium_auxiliary_util_u__network.c index 618348e8f474..618348e8f474 100644 --- a/graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c +++ b/graphics/mesa-dri/files/patch-src_gallium_auxiliary_util_u__network.c diff --git a/graphics/libGL/files/patch-src_gallium_include_pipe_p__config.h b/graphics/mesa-dri/files/patch-src_gallium_include_pipe_p__config.h index 57053969e8c3..57053969e8c3 100644 --- a/graphics/libGL/files/patch-src_gallium_include_pipe_p__config.h +++ b/graphics/mesa-dri/files/patch-src_gallium_include_pipe_p__config.h diff --git a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp b/graphics/mesa-dri/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp index 02b4071cae21..d34536ba7e1c 100644 --- a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp +++ b/graphics/mesa-dri/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp @@ -23,7 +23,7 @@ ic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv' can not be used when // class to recognize it as an OpenCL source file. - const std::vector<const char *> copts = - map(std::mem_fn(&std::string::c_str), opts); -+ std::vector<const char *> copts; ++ std::vector<const char *> copts(opts.size()); + std::transform(opts.begin(), opts.end(), copts.begin(), cstr); if (!clang::CompilerInvocation::CreateFromArgs( diff --git a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp b/graphics/mesa-dri/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp index 3254f70fcd62..3254f70fcd62 100644 --- a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp +++ b/graphics/mesa-dri/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp diff --git a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_util_range.hpp b/graphics/mesa-dri/files/patch-src_gallium_state__trackers_clover_util_range.hpp index f54ab0601e9e..f54ab0601e9e 100644 --- a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_util_range.hpp +++ b/graphics/mesa-dri/files/patch-src_gallium_state__trackers_clover_util_range.hpp diff --git a/graphics/libGL/files/patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c b/graphics/mesa-dri/files/patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c index bc41ac9d4955..bc41ac9d4955 100644 --- a/graphics/libGL/files/patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c +++ b/graphics/mesa-dri/files/patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c diff --git a/graphics/libGL/files/patch-src_glx_glxext.c b/graphics/mesa-dri/files/patch-src_glx_glxext.c index 5ce6507416f0..5ce6507416f0 100644 --- a/graphics/libGL/files/patch-src_glx_glxext.c +++ b/graphics/mesa-dri/files/patch-src_glx_glxext.c diff --git a/graphics/libGL/files/patch-src_intel_tools_aubinator.c b/graphics/mesa-dri/files/patch-src_intel_tools_aubinator.c index 206487393420..206487393420 100644 --- a/graphics/libGL/files/patch-src_intel_tools_aubinator.c +++ b/graphics/mesa-dri/files/patch-src_intel_tools_aubinator.c diff --git a/graphics/libGL/files/patch-src_mapi_glapi_gen_gl__gentable.py b/graphics/mesa-dri/files/patch-src_mapi_glapi_gen_gl__gentable.py index efbd90d3fc89..efbd90d3fc89 100644 --- a/graphics/libGL/files/patch-src_mapi_glapi_gen_gl__gentable.py +++ b/graphics/mesa-dri/files/patch-src_mapi_glapi_gen_gl__gentable.py diff --git a/graphics/libGL/files/patch-src_mesa_main_compiler.h b/graphics/mesa-dri/files/patch-src_mesa_main_compiler.h index ecbf16bcd2b1..ecbf16bcd2b1 100644 --- a/graphics/libGL/files/patch-src_mesa_main_compiler.h +++ b/graphics/mesa-dri/files/patch-src_mesa_main_compiler.h diff --git a/graphics/libGL/files/patch-src_util_ralloc.c b/graphics/mesa-dri/files/patch-src_util_ralloc.c index 2c3841d38903..2c3841d38903 100644 --- a/graphics/libGL/files/patch-src_util_ralloc.c +++ b/graphics/mesa-dri/files/patch-src_util_ralloc.c diff --git a/graphics/libGL/files/patch-src_util_u__endian.h b/graphics/mesa-dri/files/patch-src_util_u__endian.h index 67e7bcd093ad..67e7bcd093ad 100644 --- a/graphics/libGL/files/patch-src_util_u__endian.h +++ b/graphics/mesa-dri/files/patch-src_util_u__endian.h diff --git a/graphics/mesa-dri/pkg-descr b/graphics/mesa-dri/pkg-descr new file mode 100644 index 000000000000..690f6832f0a2 --- /dev/null +++ b/graphics/mesa-dri/pkg-descr @@ -0,0 +1,7 @@ +This package contains the current stable release of the client drivers for DRI2+ + +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/ diff --git a/graphics/dri/pkg-help b/graphics/mesa-dri/pkg-help index 03d56b5752d8..03d56b5752d8 100644 --- a/graphics/dri/pkg-help +++ b/graphics/mesa-dri/pkg-help diff --git a/graphics/dri/pkg-plist b/graphics/mesa-dri/pkg-plist index 7e78bd505ee7..7e78bd505ee7 100644 --- a/graphics/dri/pkg-plist +++ b/graphics/mesa-dri/pkg-plist diff --git a/graphics/mesa-libs/Makefile b/graphics/mesa-libs/Makefile new file mode 100644 index 000000000000..350bbed28563 --- /dev/null +++ b/graphics/mesa-libs/Makefile @@ -0,0 +1,67 @@ +# Created by: Eric Anholt <anholt@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= mesa-libs +PORTVERSION= ${MESAVERSION} +CATEGORIES= graphics + +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 \ + 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 <bsd.port.options.mk> +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" + +CONFIGURE_ARGS+= --with-dri-drivers=swrast --with-gallium-drivers=swrast + +# 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}/../../graphics/mesa-dri/Makefile.targets" + +post-install: + @cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \ + ${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS + +.include <bsd.port.mk> diff --git a/graphics/mesa-libs/pkg-descr b/graphics/mesa-libs/pkg-descr new file mode 100644 index 000000000000..c2dcc0b38af8 --- /dev/null +++ b/graphics/mesa-libs/pkg-descr @@ -0,0 +1,5 @@ +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.mesa3d.org/ diff --git a/graphics/mesa-libs/pkg-plist b/graphics/mesa-libs/pkg-plist new file mode 100644 index 000000000000..75c2078b51bd --- /dev/null +++ b/graphics/mesa-libs/pkg-plist @@ -0,0 +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 diff --git a/graphics/s2tc/Makefile b/graphics/s2tc/Makefile index 01833a950988..ea3b6a816682 100644 --- a/graphics/s2tc/Makefile +++ b/graphics/s2tc/Makefile @@ -11,7 +11,7 @@ COMMENT= Subset of a well-known texture compression scheme 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 diff --git a/graphics/wayland/Makefile b/graphics/wayland/Makefile index e0ea92859936..d3aa0ab4b918 100644 --- a/graphics/wayland/Makefile +++ b/graphics/wayland/Makefile @@ -19,7 +19,7 @@ # and keep diff with upstream minimal. PORTNAME= wayland -PORTVERSION= 1.12.0 +PORTVERSION= 1.13.0 CATEGORIES= graphics wayland MASTER_SITES= http://wayland.freedesktop.org/releases/ @@ -29,7 +29,7 @@ COMMENT= Wayland composite "server" LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libexpat.so:textproc/expat2 \ +LIB_DEPENDS= libexpat.so:textproc/expat2 \ libffi.so:devel/libffi \ libepoll-shim.so:devel/libepoll-shim diff --git a/graphics/wayland/distinfo b/graphics/wayland/distinfo index 1217bc965ee2..28c67d39389a 100644 --- a/graphics/wayland/distinfo +++ b/graphics/wayland/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1481659324 -SHA256 (wayland-1.12.0.tar.xz) = d6b4135cba0188abcb7275513c72dede751d6194f6edc5b82183a3ba8b821ab1 -SIZE (wayland-1.12.0.tar.xz) = 379520 +TIMESTAMP = 1493984926 +SHA256 (wayland-1.13.0.tar.xz) = 69b052c031a61e89af7cc8780893d0da1e301492352aa449dee9345043e6fe51 +SIZE (wayland-1.13.0.tar.xz) = 414508 diff --git a/graphics/wayland/files/patch-Makefile.am b/graphics/wayland/files/patch-Makefile.am index c3b12cae4ba3..c25dd8f2752b 100644 --- a/graphics/wayland/files/patch-Makefile.am +++ b/graphics/wayland/files/patch-Makefile.am @@ -1,4 +1,4 @@ ---- Makefile.am.orig 2016-02-29 23:30:58 UTC +--- Makefile.am.orig 2017-05-05 11:54:01 UTC +++ Makefile.am @@ -73,7 +73,7 @@ nodist_include_HEADERS = \ protocol/wayland-client-protocol.h @@ -18,7 +18,7 @@ libwayland_client_la_LDFLAGS = -version-info 3:0:3 libwayland_client_la_SOURCES = \ src/wayland-client.c -@@ -186,7 +186,7 @@ libtest_runner_la_LIBADD = \ +@@ -198,7 +198,7 @@ libtest_runner_la_LIBADD = \ libwayland-util.la \ libwayland-client.la \ libwayland-server.la \ diff --git a/graphics/wayland/files/patch-src_wayland-server.c b/graphics/wayland/files/patch-src_wayland-server.c index efc16114e97f..283d0213be26 100644 --- a/graphics/wayland/files/patch-src_wayland-server.c +++ b/graphics/wayland/files/patch-src_wayland-server.c @@ -1,5 +1,5 @@ ---- src/wayland-server.c.orig 2016-09-20 17:33:11.000000000 +0000 -+++ src/wayland-server.c 2016-12-13 20:07:06.878000000 +0000 +--- src/wayland-server.c.orig 2017-02-07 22:59:06 UTC ++++ src/wayland-server.c @@ -25,6 +25,8 @@ #define _GNU_SOURCE @@ -21,10 +21,10 @@ #include "wayland-util.h" #include "wayland-private.h" #include "wayland-server.h" -@@ -79,7 +86,13 @@ +@@ -79,7 +86,13 @@ struct wl_client { struct wl_list link; struct wl_map objects; - struct wl_signal destroy_signal; + struct wl_priv_signal destroy_signal; +#ifdef HAVE_SYS_UCRED_H + /* FreeBSD */ + struct xucred xucred; @@ -33,9 +33,9 @@ struct ucred ucred; +#endif int error; - struct wl_signal resource_created_signal; + struct wl_priv_signal resource_created_signal; }; -@@ -466,10 +479,20 @@ +@@ -503,10 +516,20 @@ wl_client_create(struct wl_display *disp if (!client->source) goto err_client; @@ -56,7 +56,7 @@ client->connection = wl_connection_create(fd); if (client->connection == NULL) -@@ -523,12 +546,23 @@ +@@ -560,12 +583,23 @@ WL_EXPORT void wl_client_get_credentials(struct wl_client *client, pid_t *pid, uid_t *uid, gid_t *gid) { diff --git a/graphics/wayland/files/patch-src_wayland-shm.c b/graphics/wayland/files/patch-src_wayland-shm.c index e773606d9fba..d8a2fa94de7f 100644 --- a/graphics/wayland/files/patch-src_wayland-shm.c +++ b/graphics/wayland/files/patch-src_wayland-shm.c @@ -1,4 +1,4 @@ ---- src/wayland-shm.c.orig 2016-03-09 00:55:02 UTC +--- src/wayland-shm.c.orig 2016-11-18 00:32:40 UTC +++ src/wayland-shm.c @@ -30,6 +30,8 @@ @@ -9,7 +9,7 @@ #include <stdbool.h> #include <stdio.h> #include <stdlib.h> -@@ -57,6 +59,9 @@ struct wl_shm_pool { +@@ -59,6 +61,9 @@ struct wl_shm_pool { char *data; int32_t size; int32_t new_size; @@ -19,7 +19,7 @@ }; struct wl_shm_buffer { -@@ -74,15 +79,24 @@ struct wl_shm_sigbus_data { +@@ -76,15 +81,24 @@ struct wl_shm_sigbus_data { int fallback_mapping_used; }; @@ -45,7 +45,7 @@ if (data == MAP_FAILED) { wl_resource_post_error(pool->resource, WL_SHM_ERROR_INVALID_FD, -@@ -108,6 +122,10 @@ shm_pool_unref(struct wl_shm_pool *pool, +@@ -110,6 +124,10 @@ shm_pool_unref(struct wl_shm_pool *pool, if (pool->internal_refcount + pool->external_refcount) return; @@ -56,7 +56,7 @@ munmap(pool->data, pool->size); free(pool); } -@@ -221,6 +239,73 @@ shm_pool_destroy(struct wl_client *clien +@@ -223,6 +241,73 @@ shm_pool_destroy(struct wl_client *clien wl_resource_destroy(resource); } @@ -130,7 +130,7 @@ static void shm_pool_resize(struct wl_client *client, struct wl_resource *resource, int32_t size) -@@ -282,7 +367,14 @@ shm_create_pool(struct wl_client *client +@@ -284,7 +369,14 @@ shm_create_pool(struct wl_client *client "failed mmap fd %d", fd); goto err_free; } diff --git a/graphics/wayland/files/patch-tests_connection-test.c b/graphics/wayland/files/patch-tests_connection-test.c index 2d06aa680d65..365888d2b712 100644 --- a/graphics/wayland/files/patch-tests_connection-test.c +++ b/graphics/wayland/files/patch-tests_connection-test.c @@ -1,6 +1,6 @@ ---- tests/connection-test.c.orig 2016-02-17 01:13:16 UTC +--- tests/connection-test.c.orig 2017-02-07 22:59:06 UTC +++ tests/connection-test.c -@@ -36,6 +36,7 @@ +@@ -37,6 +37,7 @@ #include <sys/stat.h> #include <poll.h> @@ -8,7 +8,7 @@ #include "wayland-private.h" #include "test-runner.h" #include "test-compositor.h" -@@ -47,7 +48,7 @@ setup(int *s) +@@ -48,7 +49,7 @@ setup(int *s) { struct wl_connection *connection; @@ -17,7 +17,7 @@ connection = wl_connection_create(s[0]); assert(connection); -@@ -145,8 +146,7 @@ struct marshal_data { +@@ -181,8 +182,7 @@ struct marshal_data { static void setup_marshal_data(struct marshal_data *data) { diff --git a/graphics/wayland/files/patch-tests_event-loop-test.c b/graphics/wayland/files/patch-tests_event-loop-test.c index ab9416671168..b37383a38858 100644 --- a/graphics/wayland/files/patch-tests_event-loop-test.c +++ b/graphics/wayland/files/patch-tests_event-loop-test.c @@ -1,6 +1,6 @@ ---- tests/event-loop-test.c.orig 2015-07-06 19:38:51 UTC +--- tests/event-loop-test.c.orig 2016-10-22 16:23:10 UTC +++ tests/event-loop-test.c -@@ -166,10 +166,10 @@ TEST(event_loop_signal) +@@ -167,10 +167,10 @@ TEST(event_loop_signal) signal_callback, &got_it); assert(source); @@ -14,7 +14,7 @@ assert(got_it == 1); wl_event_source_remove(source); -@@ -233,12 +233,20 @@ TEST(event_loop_timer) +@@ -234,12 +234,20 @@ TEST(event_loop_timer) source = wl_event_loop_add_timer(loop, timer_callback, &got_it); assert(source); diff --git a/graphics/wayland/files/patch-tests_os-wrappers-test.c b/graphics/wayland/files/patch-tests_os-wrappers-test.c index c8ec9c5492ce..527d00252e1a 100644 --- a/graphics/wayland/files/patch-tests_os-wrappers-test.c +++ b/graphics/wayland/files/patch-tests_os-wrappers-test.c @@ -1,4 +1,4 @@ ---- tests/os-wrappers-test.c.orig 2015-07-06 19:38:51 UTC +--- tests/os-wrappers-test.c.orig 2016-10-22 16:23:10 UTC +++ tests/os-wrappers-test.c @@ -26,6 +26,8 @@ @@ -7,9 +7,9 @@ +#include "../config.h" + #include <stdlib.h> + #include <stdint.h> #include <assert.h> - #include <sys/types.h> -@@ -37,7 +39,13 @@ +@@ -38,7 +40,13 @@ #include <stdarg.h> #include <fcntl.h> #include <stdio.h> @@ -23,7 +23,7 @@ #include "wayland-private.h" #include "test-runner.h" -@@ -54,8 +62,13 @@ static int wrapped_calls_fcntl; +@@ -55,8 +63,13 @@ static int wrapped_calls_fcntl; static ssize_t (*real_recvmsg)(int, struct msghdr *, int); static int wrapped_calls_recvmsg; @@ -37,7 +37,7 @@ static void init_fallbacks(int do_fallbacks) -@@ -64,7 +77,11 @@ init_fallbacks(int do_fallbacks) +@@ -65,7 +78,11 @@ init_fallbacks(int do_fallbacks) real_socket = dlsym(RTLD_NEXT, "socket"); real_fcntl = dlsym(RTLD_NEXT, "fcntl"); real_recvmsg = dlsym(RTLD_NEXT, "recvmsg"); @@ -49,7 +49,7 @@ } __attribute__ ((visibility("default"))) int -@@ -72,10 +89,12 @@ socket(int domain, int type, int protoco +@@ -73,10 +90,12 @@ socket(int domain, int type, int protoco { wrapped_calls_socket++; @@ -62,7 +62,7 @@ return real_socket(domain, type, protocol); } -@@ -88,10 +107,12 @@ fcntl(int fd, int cmd, ...) +@@ -89,10 +108,12 @@ fcntl(int fd, int cmd, ...) wrapped_calls_fcntl++; @@ -75,7 +75,7 @@ va_start(ap, cmd); arg = va_arg(ap, void*); -@@ -105,14 +126,17 @@ recvmsg(int sockfd, struct msghdr *msg, +@@ -106,14 +127,17 @@ recvmsg(int sockfd, struct msghdr *msg, { wrapped_calls_recvmsg++; @@ -93,7 +93,7 @@ __attribute__ ((visibility("default"))) int epoll_create1(int flags) { -@@ -126,6 +150,15 @@ epoll_create1(int flags) +@@ -127,6 +151,15 @@ epoll_create1(int flags) return real_epoll_create1(flags); } @@ -109,7 +109,7 @@ static void do_os_wrappers_socket_cloexec(int n) -@@ -155,12 +188,14 @@ TEST(os_wrappers_socket_cloexec) +@@ -156,12 +189,14 @@ TEST(os_wrappers_socket_cloexec) do_os_wrappers_socket_cloexec(0); } @@ -124,7 +124,7 @@ static void do_os_wrappers_dupfd_cloexec(int n) -@@ -194,11 +229,13 @@ TEST(os_wrappers_dupfd_cloexec) +@@ -195,11 +230,13 @@ TEST(os_wrappers_dupfd_cloexec) do_os_wrappers_dupfd_cloexec(0); } @@ -138,7 +138,7 @@ struct marshal_data { struct wl_connection *read_connection; -@@ -217,8 +254,7 @@ struct marshal_data { +@@ -218,8 +255,7 @@ struct marshal_data { static void setup_marshal_data(struct marshal_data *data) { @@ -148,7 +148,7 @@ data->read_connection = wl_connection_create(data->s[0]); assert(data->read_connection); -@@ -327,11 +363,13 @@ TEST(os_wrappers_recvmsg_cloexec) +@@ -328,11 +364,13 @@ TEST(os_wrappers_recvmsg_cloexec) do_os_wrappers_recvmsg_cloexec(0); } @@ -162,7 +162,7 @@ static void do_os_wrappers_epoll_create_cloexec(int n) -@@ -341,12 +379,20 @@ do_os_wrappers_epoll_create_cloexec(int +@@ -342,12 +380,20 @@ do_os_wrappers_epoll_create_cloexec(int nr_fds = count_open_fds(); diff --git a/graphics/wayland/files/patch-tests_queue-test.c b/graphics/wayland/files/patch-tests_queue-test.c index 9f38fa230fdb..e7329bf4fabf 100644 --- a/graphics/wayland/files/patch-tests_queue-test.c +++ b/graphics/wayland/files/patch-tests_queue-test.c @@ -1,4 +1,4 @@ ---- tests/queue-test.c.orig 2016-04-29 23:36:09 UTC +--- tests/queue-test.c.orig 2016-10-22 16:23:10 UTC +++ tests/queue-test.c @@ -23,6 +23,8 @@ * SOFTWARE. @@ -7,9 +7,9 @@ +#include "../config.h" + #include <stdlib.h> + #include <stdint.h> #include <stdio.h> - #include <stdbool.h> -@@ -30,6 +32,9 @@ +@@ -31,6 +33,9 @@ #include <sys/types.h> #include <sys/wait.h> #include <assert.h> diff --git a/graphics/wayland/files/patch-tests_test-runner.c b/graphics/wayland/files/patch-tests_test-runner.c index 1949c52317ed..014bbc14bbb2 100644 --- a/graphics/wayland/files/patch-tests_test-runner.c +++ b/graphics/wayland/files/patch-tests_test-runner.c @@ -1,4 +1,4 @@ ---- tests/test-runner.c.orig 2016-05-03 00:46:35 UTC +--- tests/test-runner.c.orig 2016-11-18 00:32:40 UTC +++ tests/test-runner.c @@ -25,6 +25,12 @@ @@ -74,7 +74,7 @@ static const struct test * find_test(const char *name) -@@ -291,6 +316,8 @@ is_debugger_attached(void) +@@ -292,6 +317,8 @@ is_debugger_attached(void) return 0; } @@ -83,7 +83,7 @@ pid = fork(); if (pid == -1) { perror("fork"); -@@ -311,7 +338,7 @@ is_debugger_attached(void) +@@ -312,7 +339,7 @@ is_debugger_attached(void) _exit(1); if (!waitpid(-1, NULL, 0)) _exit(1); @@ -92,7 +92,7 @@ ptrace(PTRACE_DETACH, ppid, NULL, NULL); _exit(0); } else { -@@ -345,17 +372,19 @@ int main(int argc, char *argv[]) +@@ -346,17 +373,19 @@ int main(int argc, char *argv[]) const struct test *t; pid_t pid; int total, pass; @@ -115,7 +115,7 @@ if (is_debugger_attached()) { leak_check_enabled = 0; timeouts_enabled = 0; -@@ -363,6 +392,16 @@ int main(int argc, char *argv[]) +@@ -364,6 +393,16 @@ int main(int argc, char *argv[]) leak_check_enabled = !getenv("WAYLAND_TEST_NO_LEAK_CHECK"); timeouts_enabled = !getenv("WAYLAND_TEST_NO_TIMEOUTS"); } @@ -132,7 +132,7 @@ if (argc == 2 && strcmp(argv[1], "--help") == 0) usage(argv[0], EXIT_SUCCESS); -@@ -394,7 +433,8 @@ int main(int argc, char *argv[]) +@@ -395,7 +434,8 @@ int main(int argc, char *argv[]) if (pid == 0) run_test(t); /* never returns */ @@ -142,7 +142,7 @@ stderr_set_color(RED); fprintf(stderr, "waitid failed: %m\n"); stderr_reset_color(); -@@ -425,6 +465,25 @@ int main(int argc, char *argv[]) +@@ -426,6 +466,25 @@ int main(int argc, char *argv[]) break; } diff --git a/lang/clover/Makefile b/lang/clover/Makefile index 03fec26f22ac..365496ee2024 100644 --- a/lang/clover/Makefile +++ b/lang/clover/Makefile @@ -2,30 +2,40 @@ PORTNAME= clover PORTVERSION= ${MESAVERSION} -PORTREVISION= 0 CATEGORIES= lang COMMENT= Mesa "Clover" OpenCL library -BUILD_DEPENDS= opencl>=0:devel/opencl +BUILD_DEPENDS= libclc>=0.2.0.20160915:devel/libclc \ + opencl>=0:devel/opencl \ + ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs LIB_DEPENDS= libdrm.so:graphics/libdrm \ - libOpenCL.so:devel/ocl-icd \ - libexpat.so:textproc/expat2 + libexpat.so:textproc/expat2 \ + libOpenCL.so:devel/ocl-icd RUN_DEPENDS= opencl>=0:devel/opencl -USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \ - xfixes xshmfence xvmc xxf86vm - -ONLY_FOR_ARCHS= i386 amd64 -ONLY_FOR_ARCHS_REASON= Clover needs a graphics driver supported by the Radeon KMS driver +ONLY_FOR_ARCHS= i386 amd64 +ONLY_FOR_ARCHS_REASON= Clover needs a GPU supported by the Radeon KMS driver .include <bsd.port.options.mk> -.include "${.CURDIR}/../../graphics/libGL/Makefile.common" +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common" + +CONFIGURE_ARGS+= --enable-opencl --enable-opencl-icd --disable-dri \ + --disable-egl --disable-gbm --disable-glx \ + --disable-va --disable-vdpau --disable-xvmc \ + --with-gallium-drivers=r600,radeonsi -#MESA_BUILD_WRKSRC= src/util src/glsl src/mesa src/gallium +#MESA_BUILD_WRKSRC= src/util src/compiler src/mesa src/gallium MESA_INSTALL_WRKSRC= src/gallium/targets/opencl src/gallium/targets/pipe-loader -.include "${.CURDIR}/../../graphics/libGL/Makefile.targets" +.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets" + +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 built with clang support, which is required."; \ + ${FALSE}; \ + fi post-install: @${MV} ${STAGEDIR}/etc/OpenCL ${STAGEDIR}${PREFIX}/etc/ diff --git a/lang/clover/pkg-descr b/lang/clover/pkg-descr index 0385eee7880f..d2afb15cfebc 100644 --- a/lang/clover/pkg-descr +++ b/lang/clover/pkg-descr @@ -1,5 +1,4 @@ -This package contains the Mesa "Clover" libOpenCL implementation. This -implementation is build onto GALLIUM and as such can only be used on Radeon -cards. +This package contains Mesa's libOpenCL implementation "Clover". +It is built upon GALLIUM and currently only supports Radeon GPUs. WWW: http://dri.freedesktop.org/wiki/GalliumCompute/ diff --git a/lang/clover/pkg-plist b/lang/clover/pkg-plist index 5686603b7ee4..eb9d5242ea4b 100644 --- a/lang/clover/pkg-plist +++ b/lang/clover/pkg-plist @@ -1,9 +1,6 @@ etc/OpenCL/vendors/mesa.icd -lib/gallium-pipe/pipe_r300.so lib/gallium-pipe/pipe_r600.so lib/gallium-pipe/pipe_radeonsi.so -lib/gallium-pipe/pipe_swrast.so -lib/gallium-pipe/pipe_vmwgfx.so lib/libMesaOpenCL.so lib/libMesaOpenCL.so.1 lib/libMesaOpenCL.so.1.0.0 diff --git a/net/tigervnc-devel/Makefile b/net/tigervnc-devel/Makefile index 867d7c099c4f..d1e2fd128035 100644 --- a/net/tigervnc-devel/Makefile +++ b/net/tigervnc-devel/Makefile @@ -15,7 +15,7 @@ LICENSE= GPLv2+ 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 diff --git a/net/tigervnc/Makefile b/net/tigervnc/Makefile index dd0af159bcda..60d1933d55a3 100644 --- a/net/tigervnc/Makefile +++ b/net/tigervnc/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv2+ 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 diff --git a/science/iboview/Makefile b/science/iboview/Makefile index b32dcd19af6d..760728d3101d 100644 --- a/science/iboview/Makefile +++ b/science/iboview/Makefile @@ -3,7 +3,7 @@ PORTNAME= iboview PORTVERSION= 20150427 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= science MASTER_SITES= http://www.iboview.org/bin/ DISTNAME= ibo-view.20150427 @@ -15,17 +15,15 @@ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= qt5-buildtools>=0:devel/qt5-buildtools \ - libGLU>=0:graphics/libGLU \ - boost-libs>=0:devel/boost-libs -LIB_DEPENDS= libgcc_s.so:lang/gcc \ - libGL.so:graphics/libGL -RUN_DEPENDS= libGLU>=0:graphics/libGLU \ boost-libs>=0:devel/boost-libs +LIB_DEPENDS= libgcc_s.so:lang/gcc +RUN_DEPENDS= boost-libs>=0:devel/boost-libs ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON_amd64= only builds and is supported on amd64 USES= tar:bz2 qmake:outsource blaslapack:openblas +USE_GL= gl glu USE_QT5= core gui widgets opengl script svg PLIST_FILES= bin/iboview diff --git a/x11-toolkits/gtkada3/Makefile b/x11-toolkits/gtkada3/Makefile index 0231fb4c371b..395bf7b6cd15 100644 --- a/x11-toolkits/gtkada3/Makefile +++ b/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 @@ LIB_DEPENDS= libfreetype.so:print/freetype2 \ 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 \ diff --git a/x11/xorg/Makefile b/x11/xorg/Makefile index 8481c80fd4a4..ec9d795e587b 100644 --- a/x11/xorg/Makefile +++ b/x11/xorg/Makefile @@ -3,7 +3,7 @@ PORTNAME= xorg PORTVERSION= 7.7 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11 MAINTAINER= x11@FreeBSD.org @@ -11,7 +11,7 @@ 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 \ |