diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 648a6b69..e3b5f8e6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -280,7 +280,7 @@ jobs: id: libjpeg if: steps.vcpkg.outcome == 'success' continue-on-error: true - run: ./vcpkg.exe install libjpeg-turbo --overlay-ports ./WebKitRequirements/ports --triplet ${{ matrix.triplet }} + run: ./vcpkg.exe install libjpeg-turbo --triplet ${{ matrix.triplet }} - name: Read libjpeg-turbo config if: steps.libjpeg.outcome == 'success' || steps.libjpeg.outcome == 'failure' continue-on-error: true diff --git a/README.md b/README.md index a45ecbac..9c52587b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,6 @@ | [lcms](https://www.littlecms.com/) | 2.16.0 | 2023-12-03 | | [highway](https://github.com/google/highway) | 1.2.0 | 2024-05-31 | | [libpng](http://www.libpng.org/pub/png/libpng.html) | 1.6.44 | 2024-09-12 | -| [libjpeg-turbo](http://libjpeg-turbo.virtualgl.org) | 3.0.3 | 2024-05-08 | | [libwebp](https://github.com/webmproject/libwebp) | 1.4.0 | 2024-04-12 | | [libjxl](https://github.com/libjxl/libjxl) | 0.11.0 | 2024-09-13 | | [sqlite](http://sqlite.org) | 3.47.0 | 2024-10-21 | diff --git a/ports/libjpeg-turbo/patches/0001-Make-executables-conditional.patch b/ports/libjpeg-turbo/patches/0001-Make-executables-conditional.patch deleted file mode 100644 index f81c3d0b..00000000 --- a/ports/libjpeg-turbo/patches/0001-Make-executables-conditional.patch +++ /dev/null @@ -1,152 +0,0 @@ -From 5d4828ca4a8d6b6982130168f0d726128b63939c Mon Sep 17 00:00:00 2001 -From: Don -Date: Tue, 5 Nov 2019 14:12:34 -0800 -Subject: [PATCH 1/2] Make executables conditional - -Adds an option ENABLE_EXECUTABLES which specifies whether executables should be built. ---- - CMakeLists.txt | 18 +++++++++++++++--- - sharedlib/CMakeLists.txt | 13 ++++++++----- - 2 files changed, 23 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ff9c9c27..23e11f5e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -217,6 +217,8 @@ option(ENABLE_SHARED "Build shared libraries" TRUE) - boolean_number(ENABLE_SHARED) - option(ENABLE_STATIC "Build static libraries" TRUE) - boolean_number(ENABLE_STATIC) -+option(ENABLE_EXECUTABLES "Build executables" TRUE) -+boolean_number(ENABLE_EXECUTABLES) - option(REQUIRE_SIMD - "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" - FALSE) -@@ -721,6 +723,7 @@ if(WITH_TURBOJPEG) - LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}") - endif() - -+ if(ENABLE_EXECUTABLES) - add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) - target_link_libraries(tjunittest turbojpeg) - -@@ -732,6 +735,7 @@ if(WITH_TURBOJPEG) - - add_executable(tjexample tjexample.c) - target_link_libraries(tjexample turbojpeg) -+ endif() - - add_custom_target(tjdoc COMMAND doxygen -s doxygen.config - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) -@@ -755,6 +759,7 @@ if(WITH_TURBOJPEG) - set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg) - endif() - -+ if(ENABLE_EXECUTABLES) - add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c - md5/md5hl.c) - target_link_libraries(tjunittest-static turbojpeg-static) -@@ -764,6 +769,7 @@ if(WITH_TURBOJPEG) - if(UNIX) - target_link_libraries(tjbench-static m) - endif() -+ endif() - endif() - endif() - -@@ -773,7 +779,7 @@ endif() - set(CDJPEG_COMPILE_FLAGS - "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED ${USE_SETMODE}") - --if(ENABLE_STATIC) -+if(ENABLE_STATIC AND ENABLE_EXECUTABLES) - # Compile a separate version of these source files with 12-bit and 16-bit - # data precision. - add_library(cjpeg12-static OBJECT rdgif.c rdppm.c) -@@ -812,9 +818,11 @@ if(ENABLE_STATIC) - target_link_libraries(example-static jpeg-static) - endif() - -+if(ENABLE_EXECUTABLES) - add_executable(rdjpgcom rdjpgcom.c) - - add_executable(wrjpgcom wrjpgcom.c) -+endif() - - - ############################################################################### -@@ -1730,8 +1738,10 @@ if(WITH_TURBOJPEG) - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) -+ if(ENABLE_EXECUTABLES) - install(TARGETS tjbench - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) -+ endif() - if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND - CMAKE_C_LINKER_SUPPORTS_PDB) - install(FILES "$" -@@ -1742,7 +1752,7 @@ if(WITH_TURBOJPEG) - install(TARGETS turbojpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib) -- if(NOT ENABLE_SHARED) -+ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) - if(GENERATOR_IS_MULTI_CONFIG) - set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") - else() -@@ -1760,7 +1770,7 @@ if(ENABLE_STATIC) - install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib) -- if(NOT ENABLE_SHARED) -+ if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) - if(GENERATOR_IS_MULTI_CONFIG) - set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") - else() -@@ -1775,8 +1785,10 @@ if(ENABLE_STATIC) - endif() - endif() - -+if(ENABLE_EXECUTABLES) - install(TARGETS rdjpgcom wrjpgcom - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) -+endif() - - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg - ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.c -diff --git a/sharedlib/CMakeLists.txt b/sharedlib/CMakeLists.txt -index eaed9e95..322e67b2 100644 ---- a/sharedlib/CMakeLists.txt -+++ b/sharedlib/CMakeLists.txt -@@ -74,6 +74,13 @@ elseif(MINGW) - set_target_properties(jpeg PROPERTIES SUFFIX -${SO_MAJOR_VERSION}.dll) - endif() - -+install(TARGETS jpeg EXPORT ${CMAKE_PROJECT_NAME}Targets -+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) -+ -+if(ENABLE_EXECUTABLES) - if(WIN32) - set(USE_SETMODE "-DUSE_SETMODE") - endif() -@@ -118,13 +125,9 @@ target_link_libraries(example jpeg) - add_executable(jcstest ../jcstest.c) - target_link_libraries(jcstest jpeg) - --install(TARGETS jpeg EXPORT ${CMAKE_PROJECT_NAME}Targets -- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib -- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) - install(TARGETS cjpeg djpeg jpegtran - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) -+endif() - if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND - CMAKE_C_LINKER_SUPPORTS_PDB) - install(FILES "$" --- -2.45.1.windows.1 diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake deleted file mode 100644 index 555612f6..00000000 --- a/ports/libjpeg-turbo/portfile.cmake +++ /dev/null @@ -1,76 +0,0 @@ -include(${CMAKE_CURRENT_LIST_DIR}/vcpkg_acquire_gnuwin32_program.cmake) - -set(VERSION 3.0.3) - -set(FILENAME "libjpeg-turbo-${VERSION}.tar.gz") -set(URLS "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/${VERSION}/${FILENAME}") - -# Get archive -vcpkg_download_distfile(ARCHIVE - URLS ${URLS} - FILENAME ${FILENAME} - SHA512 7c3a6660e7a54527eaa40929f5cc3d519842ffb7e961c32630ae7232b71ecaa19e89dbf5600c61038f0c5db289b607c2316fe9b6b03d482d770bcac29288d129 -) - -# Patches -set(PATCHES - ${CMAKE_CURRENT_LIST_DIR}/patches/0001-Make-executables-conditional.patch -) - -# Extract archive -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} - PATCHES ${PATCHES} -) - -# Find NASM and add to the path -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(${NASM_EXE_PATH}) - -# Find gnutools and add to the path -vcpkg_acquire_gnuwin32_program(GREP) -vcpkg_acquire_gnuwin32_program(SED) -get_filename_component(GREP_EXE_PATH ${GREP} DIRECTORY) -get_filename_component(SED_EXE_PATH ${SED} DIRECTORY) -vcpkg_add_to_path(${GREP_EXE_PATH}) -vcpkg_add_to_path(${SED_EXE_PATH}) - -# Run CMake build -set(BUILD_OPTIONS - -DENABLE_EXECUTABLES=OFF - -DWITH_SIMD=ON - -DWITH_TURBOJPEG=OFF -) - -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ENABLE_SHARED) -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ENABLE_STATIC) - -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME MATCHES "^Windows") - string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} "dynamic" WITH_CRT_DLL) - - list(APPEND BUILD_OPTIONS -DWITH_CRT_DLL=${WITH_CRT_DLL}) -endif () - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${BUILD_OPTIONS} - -DENABLE_STATIC=${ENABLE_STATIC} - -DENABLE_SHARED=${ENABLE_SHARED} -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libjpeg-turbo) -vcpkg_fixup_pkgconfig() - -# Prepare distribution -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo RENAME copyright) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/version ${VERSION}) diff --git a/ports/libjpeg-turbo/vcpkg.json b/ports/libjpeg-turbo/vcpkg.json deleted file mode 100644 index 14d1520a..00000000 --- a/ports/libjpeg-turbo/vcpkg.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "libjpeg-turbo", - "version": "3.0.3", - "description": "A JPEG image codec that uses SIMD instructions (MMX, SSE2, AVX2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems.", - "homepage": "http://libjpeg-turbo.virtualgl.org", - "license": "BSD-3-Clause", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/libjpeg-turbo/vcpkg_acquire_gnuwin32_program.cmake b/ports/libjpeg-turbo/vcpkg_acquire_gnuwin32_program.cmake deleted file mode 100644 index 29c520ac..00000000 --- a/ports/libjpeg-turbo/vcpkg_acquire_gnuwin32_program.cmake +++ /dev/null @@ -1,82 +0,0 @@ -## # vcpkg_acquire_gnuwin32_program -## -## Downloads prebuilt binaries for gnuwin32 tools. -## -## ## Usage -## ```cmake -## vcpkg_acquire_gnuwin32_program() -## ``` -## -## ## Parameters -## ### VAR -## This variable specifies both the program to be acquired as well as the out parameter that will be set to the path of the program executable. -## -## ## Notes -## The current list of programs includes: -## -## - GREP -## - SED -function(vcpkg_acquire_gnuwin32_program VAR) - set(EXPANDED_VAR ${${VAR}}) - if (EXPANDED_VAR) - return() - endif() - - if (VAR MATCHES "GREP") - set(PROGNAME grep) - set(URL "http://downloads.sourceforge.net/gnuwin32/grep-2.5.4-bin.zip") - set(ARCHIVE "grep-2.5.4-bin.zip") - set(HASH 8c1304e6dd4d5d3ab60206dfc5775845cfefd79157e41d4cdba3b20f76543c8d0118a23e792c1e6fcb84f4cc35fc03e72e67fbb35ab843eb27c309c2fbb024a6) - set(DEP_URL "http://downloads.sourceforge.net/gnuwin32/grep-2.5.4-dep.zip") - set(DEP_ARCHIVE "grep-2.5.4-dep.zip") - set(DEP_HASH 2608d02297a84a103d1ca3243990f8714310863f9e3ba0beeef20527ffe67678d01f3deea98b5c3e0142eef2dbcd340fdac263727f8b940932632919be515cca) - elseif (VAR MATCHES "SED") - set(PROGNAME sed) - set(URL "http://downloads.sourceforge.net/gnuwin32/sed-4.2.1-bin.zip") - set(ARCHIVE "sed-4.2.1-bin.zip") - set(HASH 3a5c87d21f1faee7579f97ddcdfeb87fdd3389fafd73ceef81299f9e2c44d63fca74a9ab656f2db1a95491aca63965116d51361b9630d00fa39f76bd990d2204) - set(DEP_URL "http://downloads.sourceforge.net/gnuwin32/sed-4.2.1-dep.zip") - set(DEP_ARCHIVE "sed-4.2.1-dep.zip") - set(DEP_HASH c8d222410011e75744ed1a3c51460200f9b863e3562ee3c506cca06a5e708d04fb9ec32e8d2427665d61b6724ca594deb9407733b15b9ba48a16838d7c7c4ddc) - else () - message(FATAL "unknown tool ${VAR} -- unable to acquire.") - endif() - - macro(do_find) - find_program(${VAR} ${PROGNAME} PATHS ${DOWNLOADS}/tools/${PROGNAME}/bin) - endmacro() - - do_find() - if("${${VAR}}" MATCHES "-NOTFOUND") - file(MAKE_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}) - - # Get distribution - vcpkg_download_distfile(ARCHIVE_PATH - URLS ${URL} - SHA512 ${HASH} - FILENAME ${ARCHIVE} - ) - - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE_PATH} - WORKING_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME} - ) - - # Get dependencies - # WinGNU files do not distribute dependenices in the archive - vcpkg_download_distfile(DEP_ARCHIVE_PATH - URLS ${DEP_URL} - SHA512 ${DEP_HASH} - FILENAME ${DEP_ARCHIVE} - ) - - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar xzf ${DEP_ARCHIVE_PATH} - WORKING_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME} - ) - - do_find() - endif() - - set(${VAR} "${${VAR}}" PARENT_SCOPE) -endfunction()