aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Kostenko <isanych@gmail.com>2020-05-21 19:29:52 +0100
committerGitHub <noreply@github.com>2020-05-21 11:29:52 -0700
commit96edc8c4a3f0c3b9e278ce8b38cf87c1c9d668bf (patch)
tree1074265ac30d71962cbae2a8976cc27d3529bab3
parentbb7ab2c92e5fb67efb43c878d6cf248bd4b6c4fd (diff)
downloadvcpkg-96edc8c4a3f0c3b9e278ce8b38cf87c1c9d668bf.tar.gz
vcpkg-96edc8c4a3f0c3b9e278ce8b38cf87c1c9d668bf.zip
[freeglut] updated to 3.2.1 (#11423)
* [freeglut] updated to 3.2.1 * [freeglut] address review comments * [freeglut] add glut forwarding header * [freeglut] revert incorrect wrapper location * [freeglut] enable FREEGLUT_REPLACE_GLUT * [freeglut] static lib renaming is not needed anymore * [freeglut] revert FREEGLUT_REPLACE_GLUT setting, always use glut.h * Revert "[freeglut] static lib renaming is not needed anymore" This reverts commit 550018c1b81d483ef7d36e5e925e60f7cffeb368.
-rw-r--r--ports/freeglut/CONTROL2
-rw-r--r--ports/freeglut/gcc10.patch31
-rw-r--r--ports/freeglut/macOS_Xquartz.patch8
-rw-r--r--ports/freeglut/portfile.cmake15
-rw-r--r--ports/freeglut/use_targets_to_export_x11_dependency.patch36
5 files changed, 58 insertions, 34 deletions
diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL
index 05cd80860..acda2181e 100644
--- a/ports/freeglut/CONTROL
+++ b/ports/freeglut/CONTROL
@@ -1,4 +1,4 @@
Source: freeglut
-Version: 3.0.0-9
+Version: 3.2.1
Homepage: https://sourceforge.net/projects/freeglut/
Description: Open source implementation of GLUT with source and binary backwards compatibility.
diff --git a/ports/freeglut/gcc10.patch b/ports/freeglut/gcc10.patch
new file mode 100644
index 000000000..dc5193b6a
--- /dev/null
+++ b/ports/freeglut/gcc10.patch
@@ -0,0 +1,31 @@
+diff --git a/src/fg_gl2.h b/src/fg_gl2.h
+index ab8ba5c..a1a52da 100644
+--- a/src/fg_gl2.h
++++ b/src/fg_gl2.h
+@@ -67,13 +67,19 @@ typedef void (APIENTRY *FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+ typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
+ typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+
+-FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
+-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
+-FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
+-FGH_PFNGLBUFFERDATAPROC fghBufferData;
+-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
+-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
+-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
++#if __GNUC__ > 9
++#define FG_ATTRIBUTE_COMMON __attribute__((__common__))
++#else
++#define FG_ATTRIBUTE_COMMON
++#endif
++
++FGH_PFNGLGENBUFFERSPROC FG_ATTRIBUTE_COMMON fghGenBuffers;
++FGH_PFNGLDELETEBUFFERSPROC FG_ATTRIBUTE_COMMON fghDeleteBuffers;
++FGH_PFNGLBINDBUFFERPROC FG_ATTRIBUTE_COMMON fghBindBuffer;
++FGH_PFNGLBUFFERDATAPROC FG_ATTRIBUTE_COMMON fghBufferData;
++FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC FG_ATTRIBUTE_COMMON fghEnableVertexAttribArray;
++FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC FG_ATTRIBUTE_COMMON fghDisableVertexAttribArray;
++FGH_PFNGLVERTEXATTRIBPOINTERPROC FG_ATTRIBUTE_COMMON fghVertexAttribPointer;
+
+ # endif
+
diff --git a/ports/freeglut/macOS_Xquartz.patch b/ports/freeglut/macOS_Xquartz.patch
index 423b3b901..c154dceb5 100644
--- a/ports/freeglut/macOS_Xquartz.patch
+++ b/ports/freeglut/macOS_Xquartz.patch
@@ -1,11 +1,11 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f68b27f..4339858 100644
+index 6f403af..ce6f9f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -220,6 +220,16 @@ ENDIF()
+@@ -258,6 +258,16 @@ ENDIF()
IF(FREEGLUT_GLES)
- ADD_DEFINITIONS(-DFREEGLUT_GLES)
- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL)
+ LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES)
+ LIST(APPEND LIBS GLESv2 GLESv1_CM EGL)
+ELSEIF(APPLE)
+ # on OSX FindOpenGL uses framework version of OpenGL, but we need X11 version
+ FIND_PATH(GLX_INCLUDE_DIR GL/glx.h
diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake
index eec5b3096..8b619c2b4 100644
--- a/ports/freeglut/portfile.cmake
+++ b/ports/freeglut/portfile.cmake
@@ -1,9 +1,7 @@
-include(vcpkg_common_functions)
-
vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/freeglut/freeglut/3.0.0/freeglut-3.0.0.tar.gz"
- FILENAME "freeglut-3.0.0.tar.gz"
- SHA512 9c45d5b203b26a7ff92331b3e080a48e806c92fbbe7c65d9262dd18c39cd6efdad8a795a80f499a2d23df84b4909dbd7c1bab20d7dd3555d3d88782ce9dd15b0
+ URLS "http://downloads.sourceforge.net/project/freeglut/freeglut/3.2.1/freeglut-3.2.1.tar.gz"
+ FILENAME "freeglut-3.2.1.tar.gz"
+ SHA512 aced4bbcd36269ce6f4ee1982e0f9e3fffbf18c94f785d3215ac9f4809b992e166c7ada496ed6174e13d77c0f7ef3ca4c57d8a282e96cbbe6ff086339ade3b08
)
vcpkg_extract_source_archive_ex(
@@ -12,9 +10,10 @@ vcpkg_extract_source_archive_ex(
PATCHES
use_targets_to_export_x11_dependency.patch
macOS_Xquartz.patch
+ gcc10.patch
)
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(NOT VCPKG_TARGET_IS_WINDOWS)
message("Freeglut currently requires the following libraries from the system package manager:\n opengl\n glu\n libx11\n xrandr\n xi\n xxf86vm\n\nThese can be installed on Ubuntu systems via apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev\nOn macOS Xquartz is required.")
endif()
@@ -45,6 +44,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeGLUT)
# Rename static lib (otherwise it's incompatible with FindGLUT.cmake)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
@@ -68,8 +68,7 @@ endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freeglut)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/freeglut/COPYING ${CURRENT_PACKAGES_DIR}/share/freeglut/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_pdbs()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/freeglut/use_targets_to_export_x11_dependency.patch b/ports/freeglut/use_targets_to_export_x11_dependency.patch
index 9933efd44..2f9e6b1bf 100644
--- a/ports/freeglut/use_targets_to_export_x11_dependency.patch
+++ b/ports/freeglut/use_targets_to_export_x11_dependency.patch
@@ -1,29 +1,23 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0d3260b..edf034a 100644
+index 6f403af..4ced28a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -257,8 +257,6 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC)
+@@ -72,7 +72,7 @@ SET(FREEGLUT_HEADERS
+ include/GL/freeglut_ext.h
+ include/GL/freeglut_std.h
+ )
+-IF(FREEGLUT_REPLACE_GLUT)
++IF(TRUE)
+ LIST(APPEND FREEGLUT_HEADERS
+ include/GL/glut.h
+ )
+@@ -312,8 +312,7 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC)
INCLUDE(CheckIncludeFiles)
- IF(UNIX AND NOT(ANDROID OR BLACKBERRY))
+ IF(UNIX AND NOT(ANDROID OR BLACKBERRY OR FREEGLUT_WAYLAND))
FIND_PACKAGE(X11 REQUIRED)
-- INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
-- LIST(APPEND LIBS ${X11_LIBRARIES})
+- INCLUDE_DIRECTORIES(${X11_X11_INCLUDE_PATH})
+- LIST(APPEND LIBS ${X11_X11_LIB})
++ LIST(APPEND LIBS X11::X11)
IF(X11_Xrandr_FOUND)
SET(HAVE_X11_EXTENSIONS_XRANDR_H TRUE)
LIST(APPEND LIBS ${X11_Xrandr_LIB})
-@@ -339,9 +337,15 @@ ENDIF()
-
- IF(FREEGLUT_BUILD_SHARED_LIBS)
- ADD_LIBRARY(freeglut SHARED ${FREEGLUT_SRCS})
-+ IF(UNIX AND NOT(ANDROID OR BLACKBERRY))
-+ TARGET_LINK_LIBRARIES(freeglut PRIVATE X11::X11)
-+ ENDIF()
- ENDIF()
- IF(FREEGLUT_BUILD_STATIC_LIBS)
- ADD_LIBRARY(freeglut_static STATIC ${FREEGLUT_SRCS})
-+ IF(UNIX AND NOT(ANDROID OR BLACKBERRY))
-+ TARGET_LINK_LIBRARIES(freeglut_static PRIVATE X11::X11)
-+ ENDIF()
- ENDIF()
-
-