1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-13 07:34:50 +00:00

Add waffle 1.5.0.

Waffle is a cross-platform C library that allows one to defer selection
of an OpenGL API and window system until runtime.

It is used by the piglit, Mesa's OpenGL test suite, to test multiple
OpenGL flavors in a cross-platform way.
This commit is contained in:
Koop Mast 2015-01-14 16:04:12 +00:00
parent b3020cae4d
commit 4027840998
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=377024
11 changed files with 199 additions and 0 deletions

View File

@ -1006,6 +1006,7 @@
SUBDIR += visprint
SUBDIR += volpack
SUBDIR += vp
SUBDIR += waffle
SUBDIR += webp
SUBDIR += whirlgif
SUBDIR += white_dune

41
graphics/waffle/Makefile Normal file
View File

@ -0,0 +1,41 @@
# Created by: Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
# $FreeBSD$
PORTNAME= waffle
PORTVERSION= 1.5.0
CATEGORIES= graphics
MASTER_SITES= http://www.waffle-gl.org/files/release/waffle-${PORTVERSION}/
MAINTAINER= x11@FreeBSD.org
COMMENT= Library that allows to defer selection of an OpenGL API until runtime
LICENSE= BSD2CLAUSE
USES= cmake:outsource ninja pkgconfig tar:xz
USE_LDCONFIG= yes
DOCSDIR= ${PREFIX}/share/doc/waffle1
OPTIONS_DEFINE= DOCS
USE_XORG= x11 xcb
USE_GL= gl egl
CFLAGS+= -I${LOCALBASE}/include
LIBS+= -L${LOCALBASE}/lib
#CMAKE_ARGS+= -Dwaffle_has_glx=ON \
# -Dwaffle_has_x11_egl=ON
# todo needs libudev
# -Dwaffle_has_gbm=ON
PLIST_SUB+= PORTVERSION=${PORTVERSION}
.include <bsd.port.options.mk>
.if ! ${PORT_OPTIONS:MDOCS}
post-install:
${RM} -rf ${STAGEDIR}${DOCSDIR}
.endif
.include <bsd.port.mk>

2
graphics/waffle/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (waffle-1.5.0.tar.xz) = 6344fa2803d76182a08380780605b36c38e795639a3229281c96b75cc30137a8
SIZE (waffle-1.5.0.tar.xz) = 177164

View File

@ -0,0 +1,11 @@
--- CMakeLists.txt.orig 2014-12-09 22:33:50.000000000 +0100
+++ CMakeLists.txt 2015-01-02 15:27:40.696351276 +0100
@@ -135,7 +135,7 @@
install(
FILES ${CMAKE_BINARY_DIR}/${waffle_libname}.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig
COMPONENT pkgconfig
)

View File

@ -0,0 +1,10 @@
diff --git Options.cmake Options.cmake
index 7f694e3..8fa62dd 100644
--- Options.cmake
+++ Options.cmake
@@ -1,4 +1,4 @@
-if(waffle_on_linux)
+if(waffle_on_linux OR waffle_on_freebsd)
# On Linux, you must enable at least one of the below options.
option(waffle_has_glx "Build support for GLX" OFF)
option(waffle_has_wayland "Build support for Wayland" OFF)

View File

@ -0,0 +1,20 @@
--- cmake/Modules/WaffleDefineCompilerFlags.cmake.orig 2014-12-09 22:33:50.000000000 +0100
+++ cmake/Modules/WaffleDefineCompilerFlags.cmake 2015-01-02 15:29:36.754344546 +0100
@@ -50,7 +50,7 @@
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 @@
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

@ -0,0 +1,13 @@
diff --git cmake/Modules/WaffleDefineOS.cmake cmake/Modules/WaffleDefineOS.cmake
index e437947..b1a3079 100644
--- cmake/Modules/WaffleDefineOS.cmake
+++ 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)
else()

View File

@ -0,0 +1,13 @@
diff --git examples/CMakeLists.txt examples/CMakeLists.txt
index 48147f9..d6d1b5a 100644
--- examples/CMakeLists.txt
+++ examples/CMakeLists.txt
@@ -7,7 +7,7 @@ install(FILES Makefile.example
# 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

@ -0,0 +1,39 @@
--- src/waffle/CMakeLists.txt.orig 2014-12-09 22:33:50.000000000 +0100
+++ src/waffle/CMakeLists.txt 2015-01-14 10:00:50.216345455 +0100
@@ -38,7 +38,7 @@
${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 @@
)
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)

12
graphics/waffle/pkg-descr Normal file
View File

@ -0,0 +1,12 @@
Waffle is a cross-platform C library that allows one to defer selection
of an OpenGL API and window system until runtime. For example, on Linux,
Waffle enables an application to select X11/EGL with an OpenGL 3.3
core profile, Wayland with OpenGL ES2, and other window system / API
combinations.
Waffle's immediate goal is to enable Piglit, Mesa's OpenGL test suite,
to test multiple OpenGL flavors in a cross-platform way. However,
Waffle's design does not preclude it from being useful to other
projects.
WWW: http://www.waffle-gl.org/

37
graphics/waffle/pkg-plist Normal file
View File

@ -0,0 +1,37 @@
bin/wflinfo
include/waffle-1/waffle.h
include/waffle-1/waffle_gbm.h
include/waffle-1/waffle_glx.h
include/waffle-1/waffle_version.h
include/waffle-1/waffle_wayland.h
include/waffle-1/waffle_x11_egl.h
lib/libwaffle-1.so
lib/libwaffle-1.so.0
lib/libwaffle-1.so.0.5.0
libdata/pkgconfig/waffle-1.pc
share/cmake/Modules/FindWaffle.cmake
%%PORTDOCS%%%%DOCSDIR%%/HACKING.txt
%%PORTDOCS%%%%DOCSDIR%%/LICENSE-threads.txt
%%PORTDOCS%%%%DOCSDIR%%/LICENSE.txt
%%PORTDOCS%%%%DOCSDIR%%/README.txt
%%PORTDOCS%%%%DOCSDIR%%/examples/Makefile.example
%%PORTDOCS%%%%DOCSDIR%%/examples/gl_basic.c
%%PORTDOCS%%%%DOCSDIR%%/examples/simple-x11-egl.c
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-0.1.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-0.2.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-0.3.0.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-0.3.1.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.0.0.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.0.1.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.1.0.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.1.1.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.1.2.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.2.0.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.2.1.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.2.2.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.3.0.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.4.0.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.4.1.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.4.2.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.4.3.txt
%%PORTDOCS%%%%DOCSDIR%%/%%CMAKE_BUILD_TYPE%%-notes/waffle-1.5.0.txt