diff --git a/ports/woff2/0001-unofficial-brotli.patch b/ports/woff2/0001-unofficial-brotli.patch new file mode 100644 index 00000000000000..a0163a02c151e0 --- /dev/null +++ b/ports/woff2/0001-unofficial-brotli.patch @@ -0,0 +1,90 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ecfbb83..7fb7a15 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,13 +34,23 @@ endif() + # Find Brotli dependencies + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + find_package(BrotliDec) +-if (NOT BROTLIDEC_FOUND) +- message(FATAL_ERROR "librotlidec is needed to build woff2.") +-endif () + find_package(BrotliEnc) +-if (NOT BROTLIENC_FOUND) +- message(FATAL_ERROR "librotlienc is needed to build woff2.") +-endif () ++if(BROTLIDEC_FOUND AND BROTLIENC_FOUND) ++ include_directories("${BROTLIDEC_INCLUDE_DIRS}" "${BROTLIENC_INCLUDE_DIRS}") ++ set(WOFF2_BROTLIDEC libbrotlidec) ++ set(WOFF2_BROTLIENC libbrotlienc) ++ set(WOFF2_BORTLIDEC_LIBRARIES "${BROTLIDEC_LIBRARIES}") ++ set(WOFF2_BORTLIENC_LIBRARIES "${BROTLIENC_LIBRARIES}") ++else() ++ find_package(unofficial-brotli REQUIRED) ++ if(TARGET unofficial::brotli::brotlidec-static) ++ set(BROTLI_LINKAGE -static) ++ endif() ++ set(WOFF2_BROTLIDEC unofficial::brotli::brotlidec${BROTLI_LINKAGE}) ++ set(WOFF2_BROTLIENC unofficial::brotli::brotlienc${BROTLI_LINKAGE}) ++ set(WOFF2_BORTLIDEC_LIBRARIES unofficial::brotli::brotlidec${BROTLI_LINKAGE} unofficial::brotli::brotlicommon${BROTLI_LINKAGE}) ++ set(WOFF2_BORTLIENC_LIBRARIES unofficial::brotli::brotlienc${BROTLI_LINKAGE} unofficial::brotli::brotlicommon${BROTLI_LINKAGE}) ++endif() + + # Set compiler flags + if (NOT CANONICAL_PREFIXES) +@@ -63,9 +73,8 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAG}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAG}") + set(CMAKE_CXX_STANDARD 11) + +-# Set search path for our private/public headers as well as Brotli headers +-include_directories("src" "include" +- "${BROTLIDEC_INCLUDE_DIRS}" "${BROTLIENC_INCLUDE_DIRS}") ++# Set search path for our private/public headers ++include_directories("src" "include") + + # Common part used by decoder and encoder + add_library(woff2common +@@ -77,7 +86,7 @@ add_library(woff2common + add_library(woff2dec + src/woff2_dec.cc + src/woff2_out.cc) +-target_link_libraries(woff2dec woff2common "${BROTLIDEC_LIBRARIES}") ++target_link_libraries(woff2dec woff2common ${WOFF2_BORTLIDEC_LIBRARIES}) + add_executable(woff2_decompress src/woff2_decompress.cc) + target_link_libraries(woff2_decompress woff2dec) + +@@ -88,7 +97,7 @@ add_library(woff2enc + src/normalize.cc + src/transform.cc + src/woff2_enc.cc) +-target_link_libraries(woff2enc woff2common "${BROTLIENC_LIBRARIES}") ++target_link_libraries(woff2enc woff2common ${WOFF2_BORTLIENC_LIBRARIES}) + add_executable(woff2_compress src/woff2_compress.cc) + target_link_libraries(woff2_compress woff2enc) + +@@ -246,7 +255,7 @@ generate_pkg_config ("${CMAKE_CURRENT_BINARY_DIR}/libwoff2dec.pc" + DESCRIPTION "WOFF2 decoder library" + URL "https://github.com/google/woff2" + VERSION "${WOFF2_VERSION}" +- DEPENDS libbrotlidec ++ DEPENDS ${WOFF2_BROTLIDEC} + DEPENDS_PRIVATE libwoff2common + LIBRARIES woff2dec) + +@@ -255,7 +264,7 @@ generate_pkg_config ("${CMAKE_CURRENT_BINARY_DIR}/libwoff2enc.pc" + DESCRIPTION "WOFF2 encoder library" + URL "https://github.com/google/woff2" + VERSION "${WOFF2_VERSION}" +- DEPENDS libbrotlienc ++ DEPENDS ${WOFF2_BROTLIENC} + DEPENDS_PRIVATE libwoff2common + LIBRARIES woff2enc) + +@@ -264,6 +273,7 @@ if (NOT BUILD_SHARED_LIBS) + install( + TARGETS woff2_decompress woff2_compress woff2_info + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) + endif() + diff --git a/ports/woff2/CONTROL b/ports/woff2/CONTROL index e4e6511ca5c5ea..69a5c0ce25d94c 100644 --- a/ports/woff2/CONTROL +++ b/ports/woff2/CONTROL @@ -1,4 +1,5 @@ Source: woff2 Version: 1.0.2 Build-Depends: brotli +Port-Version: 1 Description: font compression reference code diff --git a/ports/woff2/portfile.cmake b/ports/woff2/portfile.cmake index 9ec3e55cd25bca..7e71859bf04bd7 100644 --- a/ports/woff2/portfile.cmake +++ b/ports/woff2/portfile.cmake @@ -8,11 +8,15 @@ vcpkg_from_github( REF v1.0.2 SHA512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d HEAD_REF master + PATCHES + 0001-unofficial-brotli.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DCANONICAL_PREFIXES=ON ) vcpkg_install_cmake() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 6b3feb06a78162..a05f7413adaf0d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1657,10 +1657,6 @@ wintoast:arm-uwp=fail wintoast:x64-linux=fail wintoast:x64-osx=fail wintoast:x64-uwp=fail -woff2:x64-linux=fail -woff2:x64-osx=fail -woff2:x64-windows-static=fail -woff2:x64-windows-static-md=fail wpilib:arm64-windows=fail wpilib:x64-osx=fail wxchartdir:x64-osx=fail diff --git a/versions/baseline.json b/versions/baseline.json index 611b7b01597641..b28c58ce3dd2a5 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6214,7 +6214,7 @@ }, "woff2": { "baseline": "1.0.2", - "port-version": 0 + "port-version": 1 }, "wordnet": { "baseline": "3.0", diff --git a/versions/w-/woff2.json b/versions/w-/woff2.json index b6bdca1a07c60a..1cbece83e4727d 100644 --- a/versions/w-/woff2.json +++ b/versions/w-/woff2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1a8e802f8168798c4171f8384cd2e50b97af3a9b", + "version-string": "1.0.2", + "port-version": 1 + }, { "git-tree": "c39668ee425b3e9bb5ead506876f144656acf359", "version-string": "1.0.2",