graphics/waffle: Update to 1.6.0-7

- Waffle moved to freedesktop gitlab
- Now supports building with Meson, which allows us to remove all
  the CMake patches from the port.  The Meson build however still
  expects that cmake is available in the build environment.
- New version generates CMake config with 'Waffle' named variables
  (which devel/apitrace expects) instead of 'WAFFLE'
- Extra xdg-shell patch to make devel/apitrace 'eglretrace' work
  on modern Wayland compositors (wlroots has removed the old wl-shell
  protocol, so this is required to make apitrace's debug trace
  replays work on sway/wayfire/...)
- All backends are now options (on by default)
- Manpages are now built
- graphics/piglit needs a small patch to build

PR:		242892, 242893
Submitted by:	Greg V <greg@unrelenting.technology> (based on)
Approved by:	x11 (maintainer timeout, 27 days)
This commit is contained in:
Tobias Kortkamp 2020-01-23 12:42:55 +00:00
parent def485ec8b
commit 124c464417
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=523925
11 changed files with 127 additions and 129 deletions

View file

@ -0,0 +1,13 @@
--- tests/egl/egl-context-priority.c.orig 2019-12-26 13:24:57 UTC
+++ tests/egl/egl-context-priority.c
@@ -24,6 +24,10 @@
#include "piglit-util-egl.h"
#include "piglit-util-gl.h"
+#ifndef EGL_NO_CONFIG_MESA
+#define EGL_NO_CONFIG_MESA ((EGLConfig)0)
+#endif
+
/**
* @file egl-context-priority.c
*

View file

@ -2,33 +2,57 @@
# $FreeBSD$
PORTNAME= waffle
PORTVERSION= 1.5.2
PORTREVISION= 9
DISTVERSION= 1.6.0-7
CATEGORIES= graphics
MASTER_SITES= http://www.waffle-gl.org/files/release/waffle-${PORTVERSION}/
# Wayland xdg-shell support (to run on sway/wayfire/etc. that have removed wl-shell)
PATCH_SITES= https://gitlab.freedesktop.org/oreaus/${PORTNAME}/commit/
PATCHFILES= 3cdce7b38cbd91cd7288e21940b279bf7ddc5757.patch:-p1
MAINTAINER= x11@FreeBSD.org
COMMENT= Library that allows to defer selection of an OpenGL API until runtime
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USES= cmake compiler:c11 gl localbase pathfix pkgconfig tar:xz xorg
BUILD_DEPENDS= cmake:devel/cmake
USES= compiler:c11 gl localbase meson pkgconfig python:3.5+,build
USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= mesa
GL_COMMIT= b71cfa674db5828a2be04a42ce9996d6677629ee
USE_GL= egl gl
USE_LDCONFIG= yes
USE_XORG= x11 xcb
DOCSDIR= ${PREFIX}/share/doc/waffle1
BINARY_ALIAS= python3=${PYTHON_CMD}
CMAKE_ARGS+= -Dwaffle_has_glx=ON \
-Dwaffle_has_x11_egl=ON
#CMAKE_ARGS+= -Dwaffle_has_gbm=ON # FIXME: Required udev
OPTIONS_DEFINE= DOCS GBM MANPAGES SURFACELESS WAYLAND X11
OPTIONS_DEFAULT= GBM MANPAGES SURFACELESS WAYLAND X11
OPTIONS_SUB= yes
PLIST_SUB+= PORTVERSION=${PORTVERSION}
GBM_DESC= GBM/DRM/KMS direct-on-hardware support
SURFACELESS_DESC= Surfaceless EGL support
OPTIONS_DEFINE= DOCS WAYLAND
OPTIONS_DEFAULT=WAYLAND
GBM_LIB_DEPENDS= libudev.so:devel/libudev-devd
GBM_USE= GL=gbm
GBM_MESON_ENABLED= gbm
MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl
MANPAGES_USES= gnome
MANPAGES_USE= GNOME=libxslt:build
MANPAGES_MESON_TRUE= build-manpages
SURFACELESS_MESON_ENABLED= surfaceless_egl
WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols \
wayland-scanner:graphics/wayland
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland
WAYLAND_CMAKE_BOOL= waffle_has_wayland
WAYLAND_MESON_ENABLED= wayland
X11_USES= xorg
X11_USE= XORG=x11,xcb
X11_MESON_ENABLED= glx x11_egl
.include <bsd.port.mk>

View file

@ -1,2 +1,5 @@
SHA256 (waffle-1.5.2.tar.xz) = d2c096cf654bf0061323a4b9231a1ef5b749a1e5c7c5bfe067e964219c2a851c
SIZE (waffle-1.5.2.tar.xz) = 179284
TIMESTAMP = 1577365999
SHA256 (mesa-waffle-b71cfa674db5828a2be04a42ce9996d6677629ee_GL0.tar.gz) = d1081c6f8fc1dd74edebbda9e095eac42df95ed1428a628914222d4233b6be44
SIZE (mesa-waffle-b71cfa674db5828a2be04a42ce9996d6677629ee_GL0.tar.gz) = 340730
SHA256 (3cdce7b38cbd91cd7288e21940b279bf7ddc5757.patch) = 507b48e027446573653b000c3c4bb4bfce0be8287cf0834eb145825bd0d25ea7
SIZE (3cdce7b38cbd91cd7288e21940b279bf7ddc5757.patch) = 13119

View file

@ -1,8 +0,0 @@
--- Options.cmake.orig 2015-01-22 20:00:17 UTC
+++ Options.cmake
@@ -1,4 +1,4 @@
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
if(gl_FOUND AND x11-xcb_FOUND)
set(glx_default ON)
else()

View file

@ -1,20 +0,0 @@
--- cmake/Modules/WaffleDefineCompilerFlags.cmake.orig 2015-01-22 20:00:17 UTC
+++ cmake/Modules/WaffleDefineCompilerFlags.cmake
@@ -50,7 +50,7 @@ if (NOT MSVC)
waffle_add_c_flag("-Werror=int-conversion" WERROR_INT_CONVERSION)
waffle_add_c_flag("-fvisibility=hidden" WITH_VISIBILITY_HIDDEN)
- if(waffle_on_linux)
+ if(waffle_on_linux OR waffle_on_freebsd)
# On MacOS, the SSE2 headers trigger this error.
waffle_add_c_flag("-Werror=missing-prototypes" WERROR_MISSING_PROTOTYPES)
endif()
@@ -97,7 +97,7 @@ if(waffle_on_mac)
add_definitions(-DWAFFLE_HAS_CGL)
endif()
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
if(waffle_has_glx)
add_definitions(-DWAFFLE_HAS_GLX)
endif()

View file

@ -1,11 +0,0 @@
--- cmake/Modules/WaffleDefineOS.cmake.orig 2015-01-22 20:00:17 UTC
+++ cmake/Modules/WaffleDefineOS.cmake
@@ -25,6 +25,8 @@
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
set(waffle_on_linux true)
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
+ set(waffle_on_freebsd true)
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
set(waffle_on_mac true)
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")

View file

@ -1,11 +0,0 @@
--- cmake/Modules/WaffleFindDependencies.cmake.orig 2015-01-22 20:00:17 UTC
+++ cmake/Modules/WaffleFindDependencies.cmake
@@ -62,7 +62,7 @@ if(waffle_on_mac)
endif()
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
# waffle_has_egl
waffle_pkg_config(egl egl)

View file

@ -1,11 +0,0 @@
--- cmake/Modules/WaffleValidateOptions.cmake.orig 2015-01-22 20:00:17 UTC
+++ cmake/Modules/WaffleValidateOptions.cmake
@@ -44,7 +44,7 @@ if(DEFINED waffle_install_docdir)
"details.")
endif()
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
if(NOT waffle_has_glx AND NOT waffle_has_wayland AND
NOT waffle_has_x11_egl AND NOT waffle_has_gbm)
message(FATAL_ERROR

View file

@ -1,11 +0,0 @@
--- examples/CMakeLists.txt.orig 2015-01-22 20:00:17 UTC
+++ examples/CMakeLists.txt
@@ -11,7 +11,7 @@ install(
# Target: simple-x11-egl (executable)
# ----------------------------------------------------------------------------
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
add_executable(simple-x11-egl simple-x11-egl.c)
target_link_libraries(simple-x11-egl ${waffle_libname})
endif()

View file

@ -1,39 +0,0 @@
--- src/waffle/CMakeLists.txt.orig 2015-01-22 20:00:17 UTC
+++ src/waffle/CMakeLists.txt
@@ -38,7 +38,7 @@ list(APPEND waffle_libdeps
${THREADS_LIBRARIES}
)
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
if(waffle_has_wayland)
list(APPEND waffle_libdeps
${wayland-client_LDFLAGS}
@@ -114,15 +114,22 @@ if(waffle_has_glx)
)
endif()
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
list(APPEND waffle_sources
linux/linux_dl.c
linux/linux_platform.c
)
- list(APPEND waffle_libdeps
- dl
- pthread
- )
+ if(waffle_on_linux)
+ list(APPEND waffle_libdeps
+ dl
+ pthread
+ )
+ endif()
+ if(waffle_on_freebsd)
+ list(APPEND waffle_libdeps
+ pthread
+ )
+ endif()
endif()
if(waffle_has_wayland)

View file

@ -9,13 +9,81 @@ lib/cmake/Waffle/WaffleConfig.cmake
lib/cmake/Waffle/WaffleConfigVersion.cmake
lib/libwaffle-1.so
lib/libwaffle-1.so.0
lib/libwaffle-1.so.0.5.2
lib/libwaffle-1.so.0.6.90
libdata/pkgconfig/waffle-1.pc
share/cmake/Modules/FindWaffle.cmake
%%MANPAGES%%man/man1/wflinfo.1.gz
%%MANPAGES%%man/man3/waffle_attrib_list.3.gz
%%MANPAGES%%man/man3/waffle_attrib_list_get.3.gz
%%MANPAGES%%man/man3/waffle_attrib_list_get_with_default.3.gz
%%MANPAGES%%man/man3/waffle_attrib_list_length.3.gz
%%MANPAGES%%man/man3/waffle_attrib_list_update.3.gz
%%MANPAGES%%man/man3/waffle_config.3.gz
%%MANPAGES%%man/man3/waffle_config_choose.3.gz
%%MANPAGES%%man/man3/waffle_config_destroy.3.gz
%%MANPAGES%%man/man3/waffle_config_get_native.3.gz
%%MANPAGES%%man/man3/waffle_context.3.gz
%%MANPAGES%%man/man3/waffle_context_create.3.gz
%%MANPAGES%%man/man3/waffle_context_destroy.3.gz
%%MANPAGES%%man/man3/waffle_context_get_native.3.gz
%%MANPAGES%%man/man3/waffle_display.3.gz
%%MANPAGES%%man/man3/waffle_display_connect.3.gz
%%MANPAGES%%man/man3/waffle_display_disconnect.3.gz
%%MANPAGES%%man/man3/waffle_display_get_native.3.gz
%%MANPAGES%%man/man3/waffle_display_supports_context_api.3.gz
%%MANPAGES%%man/man3/waffle_dl.3.gz
%%MANPAGES%%man/man3/waffle_dl_can_open.3.gz
%%MANPAGES%%man/man3/waffle_dl_sym.3.gz
%%MANPAGES%%man/man3/waffle_enum.3.gz
%%MANPAGES%%man/man3/waffle_enum_to_string.3.gz
%%MANPAGES%%man/man3/waffle_error.3.gz
%%MANPAGES%%man/man3/waffle_error_get_code.3.gz
%%MANPAGES%%man/man3/waffle_error_get_info.3.gz
%%MANPAGES%%man/man3/waffle_error_to_string.3.gz
%%MANPAGES%%man/man3/waffle_gbm.3.gz
%%MANPAGES%%man/man3/waffle_gbm_config.3.gz
%%MANPAGES%%man/man3/waffle_gbm_context.3.gz
%%MANPAGES%%man/man3/waffle_gbm_display.3.gz
%%MANPAGES%%man/man3/waffle_gbm_window.3.gz
%%MANPAGES%%man/man3/waffle_get_current_context.3.gz
%%MANPAGES%%man/man3/waffle_get_current_display.3.gz
%%MANPAGES%%man/man3/waffle_get_current_window.3.gz
%%MANPAGES%%man/man3/waffle_get_proc_address.3.gz
%%MANPAGES%%man/man3/waffle_glx.3.gz
%%MANPAGES%%man/man3/waffle_glx_config.3.gz
%%MANPAGES%%man/man3/waffle_glx_context.3.gz
%%MANPAGES%%man/man3/waffle_glx_display.3.gz
%%MANPAGES%%man/man3/waffle_glx_window.3.gz
%%MANPAGES%%man/man3/waffle_init.3.gz
%%MANPAGES%%man/man3/waffle_is_extension_in_string.3.gz
%%MANPAGES%%man/man3/waffle_make_current.3.gz
%%MANPAGES%%man/man3/waffle_native.3.gz
%%MANPAGES%%man/man3/waffle_native_config.3.gz
%%MANPAGES%%man/man3/waffle_native_context.3.gz
%%MANPAGES%%man/man3/waffle_native_display.3.gz
%%MANPAGES%%man/man3/waffle_native_window.3.gz
%%MANPAGES%%man/man3/waffle_teardown.3.gz
%%MANPAGES%%man/man3/waffle_wayland.3.gz
%%MANPAGES%%man/man3/waffle_wayland_config.3.gz
%%MANPAGES%%man/man3/waffle_wayland_context.3.gz
%%MANPAGES%%man/man3/waffle_wayland_display.3.gz
%%MANPAGES%%man/man3/waffle_wayland_window.3.gz
%%MANPAGES%%man/man3/waffle_window.3.gz
%%MANPAGES%%man/man3/waffle_window_create.3.gz
%%MANPAGES%%man/man3/waffle_window_destroy.3.gz
%%MANPAGES%%man/man3/waffle_window_get_native.3.gz
%%MANPAGES%%man/man3/waffle_window_show.3.gz
%%MANPAGES%%man/man3/waffle_window_swap_buffers.3.gz
%%MANPAGES%%man/man3/waffle_x11_egl.3.gz
%%MANPAGES%%man/man3/waffle_x11_egl_config.3.gz
%%MANPAGES%%man/man3/waffle_x11_egl_context.3.gz
%%MANPAGES%%man/man3/waffle_x11_egl_display.3.gz
%%MANPAGES%%man/man3/waffle_x11_egl_window.3.gz
%%MANPAGES%%man/man7/waffle.7.gz
%%MANPAGES%%man/man7/waffle_feature_test_macros.7.gz
%%PORTDOCS%%%%DOCSDIR%%/HACKING.txt
%%PORTDOCS%%%%DOCSDIR%%/LICENSE-threads.txt
%%PORTDOCS%%%%DOCSDIR%%/LICENSE.txt
%%PORTDOCS%%%%DOCSDIR%%/README.txt
%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTDOCS%%%%DOCSDIR%%/examples/Makefile.example
%%PORTDOCS%%%%DOCSDIR%%/examples/gl_basic.c
%%PORTDOCS%%%%DOCSDIR%%/examples/simple-x11-egl.c
@ -39,4 +107,5 @@ share/cmake/Modules/FindWaffle.cmake
%%PORTDOCS%%%%DOCSDIR%%/release-notes/waffle-1.4.4.txt
%%PORTDOCS%%%%DOCSDIR%%/release-notes/waffle-1.5.0.txt
%%PORTDOCS%%%%DOCSDIR%%/release-notes/waffle-1.5.1.txt
%%PORTDOCS%%%%DOCSDIR%%/release-notes/waffle-%%PORTVERSION%%.txt
%%PORTDOCS%%%%DOCSDIR%%/release-notes/waffle-1.5.2.txt
%%PORTDOCS%%%%DOCSDIR%%/release-notes/waffle-1.6.0.md