diff options
| author | Stefano Sinigardi <stesinigardi@hotmail.com> | 2019-05-09 20:45:23 +0200 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-05-09 11:45:23 -0700 |
| commit | 9c33de2d07e3f28ce52ea6520c9d8d23f83a1c8d (patch) | |
| tree | 9c6eb0e03cacd136e2e00d7877fb11c87205b0ec /ports/libwebp | |
| parent | 223d5d82ac06cefc009c7c125771f5569d086ac5 (diff) | |
| download | vcpkg-9c33de2d07e3f28ce52ea6520c9d8d23f83a1c8d.tar.gz vcpkg-9c33de2d07e3f28ce52ea6520c9d8d23f83a1c8d.zip | |
[freeimage,freeglut,giflib,libwebp] port patches from #5169 (#6364)
* [freeimage] improve compatibility with other ports, using typedefs identical to other headers to avoid errors
* [libwebp] fixes for non-win32 systems
* [giflib] revert again #5578
* [freeglut] add missing wrapper for linux
Diffstat (limited to 'ports/libwebp')
| -rw-r--r-- | ports/libwebp/0001-build-fixes.patch | 4 | ||||
| -rw-r--r-- | ports/libwebp/0003-remove-missing-symbol.patch | 13 | ||||
| -rw-r--r-- | ports/libwebp/0004-add-missing-linked-library.patch | 15 | ||||
| -rw-r--r-- | ports/libwebp/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libwebp/portfile.cmake | 65 |
5 files changed, 82 insertions, 19 deletions
diff --git a/ports/libwebp/0001-build-fixes.patch b/ports/libwebp/0001-build-fixes.patch index c25ecbfee..490978727 100644 --- a/ports/libwebp/0001-build-fixes.patch +++ b/ports/libwebp/0001-build-fixes.patch @@ -2,13 +2,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 499ddce..895fda9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -159,6 +159,10 @@ add_definitions(-DHAVE_CONFIG_H) +@@ -159,6 +159,12 @@ add_definitions(-DHAVE_CONFIG_H) if(MSVC) # avoid security warnings for e.g., fopen() used in the examples. add_definitions(-D_CRT_SECURE_NO_WARNINGS) + add_definitions(-DWEBP_HAVE_JUST_SDL_H) + if(BUILD_SHARED_LIBS) + add_definitions(-DWEBP_EXTERN=__declspec\(dllexport\)) ++ else() ++ add_definitions(-DFREEGLUT_STATIC) + endif() else() add_definitions(-Wall) diff --git a/ports/libwebp/0003-remove-missing-symbol.patch b/ports/libwebp/0003-remove-missing-symbol.patch new file mode 100644 index 000000000..218481bbc --- /dev/null +++ b/ports/libwebp/0003-remove-missing-symbol.patch @@ -0,0 +1,13 @@ +diff --git a/examples/gifdec.c b/examples/gifdec.c +index 4219352..ab0592a 100644 +--- a/examples/gifdec.c ++++ b/examples/gifdec.c +@@ -310,7 +310,7 @@ void GIFDisplayError(const GifFileType* const gif, int gif_error) { + #else + (void)gif; + fprintf(stderr, "GIFLib Error %d: ", gif_error); +- PrintGifError(); ++ //PrintGifError(); + fprintf(stderr, "\n"); + #endif + } diff --git a/ports/libwebp/0004-add-missing-linked-library.patch b/ports/libwebp/0004-add-missing-linked-library.patch new file mode 100644 index 000000000..49a34ef4d --- /dev/null +++ b/ports/libwebp/0004-add-missing-linked-library.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a98540c..a3697cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -479,6 +479,10 @@ if(WEBP_BUILD_VWEBP) + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR}/src + ${OPENGL_INCLUDE_DIR}) ++ if(UNIX AND NOT(ANDROID OR BLACKBERRY OR APPLE)) ++ find_package(X11 REQUIRED) ++ target_link_libraries(vwebp ${X11_LIBRARIES} ${X11_Xxf86vm_LIB}) ++ endif() + install(TARGETS vwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + check_c_compiler_flag("-Wno-deprecated-declarations" HAS_NO_DEPRECATED) diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index ed3ff55ca..11647702d 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,8 +1,8 @@ Source: libwebp -Version: 1.0.2-2 +Version: 1.0.2-3 Description: Lossy compression of digital photographic images. Build-Depends: opengl Feature: all Description: enable all webp features -Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut, sdl1 +Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut (!osx), sdl1 (windows) diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index bae24ddff..f0bd669ee 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -9,6 +9,8 @@ vcpkg_from_github( PATCHES 0001-build-fixes.patch 0002-cmake-config-add-backwards-compatibility.patch + 0003-remove-missing-symbol.patch + 0004-add-missing-linked-library.patch ) set(WEBP_BUILD_ANIM_UTILS OFF) @@ -30,6 +32,10 @@ if("all" IN_LIST FEATURES) set(WEBP_BUILD_EXTRAS ON) endif() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message("WebP currently requires the following library from the system package manager:\n Xxf86vm\n\nThis can be installed on Ubuntu systems via apt-get install libxxf86vm-dev") +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -59,26 +65,53 @@ vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH "share/WebP/cmake/" TARGET_PATH "share/WebP/") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +#somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it +if(CMAKE_HOST_WIN32) +set(EXECUTABLE_SUFFIX ".exe") +else() +set(EXECUTABLE_SUFFIX "") +endif() + if("all" IN_LIST FEATURES) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/get_disto.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/gif2webp.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/img2webp.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp_sdl.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpinfo.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpmux.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webp_quality.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/get_disto${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/gif2webp${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/img2webp${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp_sdl${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpinfo${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpmux${EXECUTABLE_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webp_quality${EXECUTABLE_SUFFIX}) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/libwebp/) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/get_disto.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/get_disto.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/gif2webp.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/gif2webp.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/img2webp.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/img2webp.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp_sdl.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp_sdl.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpinfo.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpinfo.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpmux.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpmux.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webp_quality.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/webp_quality.exe) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/get_disto${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/get_disto${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/get_disto${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/gif2webp${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/gif2webp${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/gif2webp${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/img2webp${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/img2webp${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/img2webp${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/vwebp${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/vwebp_sdl${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp_sdl${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp_sdl${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/webpinfo${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpinfo${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpinfo${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/webpmux${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpmux${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpmux${EXECUTABLE_SUFFIX}) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/webp_quality${EXECUTABLE_SUFFIX}") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webp_quality${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/webp_quality${EXECUTABLE_SUFFIX}) + endif() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/libwebp) endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebp/COPYING ${CURRENT_PACKAGES_DIR}/share/libwebp/copyright) |
