From: Brad Smith Subject: UPDATE: libebml 1.4.7 To: ports@openbsd.org Date: Sat, 8 Aug 2026 18:59:12 -0400 Here is an update to libebml 1.4.7. All depends build Ok. # Version 1.4.7 2026-07-28 * Fixed cmake rules for building with utf8cpp 4.x; fixes #344 # Version 1.4.6 2026-07-19 * Set EbmlHead as not allowed to be infinite (as per RFC 8794) * Fix leak on upper element found inside the last element * EbmlString::ReadFully: use automatic memory management/fewer allocations * EbmlUnicodeString: use std::string when reading instead of manual memory management * IOCallback: avoid reading more than 2^32 at once * Fix some includes that are not implicit in modern compilers * Download utfcpp automatically * Show a summary of build configuration when configuring CMake * Add a DEV_MODE CMake option to check more compiler errors (default off) Index: Makefile =================================================================== RCS file: /cvs/ports/textproc/libebml/Makefile,v retrieving revision 1.31 diff -u -p -u -p -r1.31 Makefile --- Makefile 13 Feb 2026 12:02:17 -0000 1.31 +++ Makefile 8 Aug 2026 22:57:00 -0000 @@ -1,6 +1,6 @@ COMMENT= Extensible Binary Meta Language library -DISTNAME= libebml-1.4.5 +DISTNAME= libebml-1.4.7 CATEGORIES= textproc SITES= https://dl.matroska.org/downloads/libebml/ EXTRACT_SUFX= .tar.xz @@ -21,6 +21,10 @@ COMPILER = base-clang ports-gcc MODULES += devel/cmake MODCMAKE_POLICY_VERSION_OVERRIDE = Yes + +BUILD_DEPENDS += devel/utfcpp>=4.1.1 + +CONFIGURE_ARGS += -DBUILD_SHARED_LIBS=On NO_TEST = Yes Index: distinfo =================================================================== RCS file: /cvs/ports/textproc/libebml/distinfo,v retrieving revision 1.17 diff -u -p -u -p -r1.17 distinfo --- distinfo 28 Jan 2026 15:09:32 -0000 1.17 +++ distinfo 8 Aug 2026 22:57:00 -0000 @@ -1,2 +1,2 @@ -SHA256 (libebml-1.4.5.tar.xz) = SXFkCwWS2inC1CbzA+E3qbCz0H4bgdBpweVqL0mrIhs= -SIZE (libebml-1.4.5.tar.xz) = 64408 +SHA256 (libebml-1.4.7.tar.xz) = WwghT5Ke5Uxhh8Nw+EI1/J0PKiJYxNMg1o6ubivf0/c= +SIZE (libebml-1.4.7.tar.xz) = 51284 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: patches/patch-CMakeLists_txt diff -N patches/patch-CMakeLists_txt --- patches/patch-CMakeLists_txt 28 Jan 2026 15:09:32 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,152 +0,0 @@ -Add options for building and installing shared, static libraries - -Index: CMakeLists.txt ---- CMakeLists.txt.orig -+++ CMakeLists.txt -@@ -5,6 +5,8 @@ project(ebml VERSION 1.4.5) - option(DISABLE_PKGCONFIG "Disable PkgConfig module generation" OFF) - option(DISABLE_CMAKE_CONFIG "Disable CMake package config module generation" OFF) - option(ENABLE_WIN32_IO "Build the Windows I/O helper class" OFF) -+option(DISABLE_SHARED_LIBS "Disable build and install shared libraries" OFF) -+option(DISABLE_STATIC_LIBS "Disable build and install static libraries" OFF) - - include(GNUInstallDirs) - -@@ -72,50 +74,82 @@ set(libebml_PUBLIC_HEADERS - - set(libebml_C_PUBLIC_HEADERS ebml/c/libebml_t.h) - --add_library(ebml ${libebml_SOURCES} ${libebml_PUBLIC_HEADERS} ${libebml_C_PUBLIC_HEADERS}) --if(WIN32) -- include(CheckIncludeFile) -- check_include_file(winapifamily.h HAVE_WINAPIFAMILY_H) -- if(HAVE_WINAPIFAMILY_H) -- target_compile_definitions(ebml PUBLIC HAVE_WINAPIFAMILY_H) -- endif() --endif() --set_target_properties(ebml PROPERTIES -- VERSION 5.0.0 -- SOVERSION 5 -- CXX_VISIBILITY_PRESET hidden -- VISIBILITY_INLINES_HIDDEN ON --) --target_include_directories(ebml -- PRIVATE -- $ -- PUBLIC -- $ -- $) --if(MSVC) -- target_compile_definitions(ebml PRIVATE _CRT_SECURE_NO_WARNINGS) --endif() - - include(GenerateExportHeader) --generate_export_header(ebml EXPORT_MACRO_NAME EBML_DLL_API) --target_sources(ebml -- PRIVATE -- ${CMAKE_CURRENT_BINARY_DIR}/ebml_export.h --) -+foreach (TYPE IN ITEMS STATIC SHARED) -+ if (NOT DISABLE_${TYPE}_LIBS) - --if(NOT BUILD_SHARED_LIBS) -- target_compile_definitions(ebml PUBLIC EBML_STATIC_DEFINE) -+ set(type_suffix "") -+ if ("${TYPE}" STREQUAL "STATIC") -+ string(TOLOWER "${TYPE}" type) -+ set(type_suffix "-${type}") -+ endif() -+ -+ add_library(ebml${type_suffix} ${TYPE} -+ ${libebml_SOURCES} -+ ${libebml_PUBLIC_HEADERS} -+ ${libebml_C_PUBLIC_HEADERS}) -+ -+ if(WIN32) -+ include(CheckIncludeFile) -+ check_include_file(winapifamily.h HAVE_WINAPIFAMILY_H) -+ if(HAVE_WINAPIFAMILY_H) -+ target_compile_definitions(ebml${type_suffix} PUBLIC HAVE_WINAPIFAMILY_H) -+ endif() -+ endif() -+ -+ target_include_directories(ebml${type_suffix} -+ PRIVATE -+ $ -+ PUBLIC -+ $ -+ $) -+ -+ generate_export_header(ebml${type_suffix} EXPORT_MACRO_NAME EBML_DLL_API BASE_NAME ebml) -+ target_sources(ebml${type_suffix} -+ PRIVATE -+ ${CMAKE_CURRENT_BINARY_DIR}/ebml_export.h) -+ -+ if(MSVC) -+ target_compile_definitions(ebml${type_suffix} PRIVATE _CRT_SECURE_NO_WARNINGS) -+ endif() -+ endif() -+endforeach() -+ -+if(NOT DISABLE_SHARED_LIBS) -+ set_target_properties(ebml PROPERTIES -+ VERSION 5.0.0 -+ SOVERSION 5 -+ OUTPUT_NAME ebml -+ DEFINE_SYMBOL "EBML_DLL_EXPORT" -+ VISIBILITY_INLINES_HIDDEN ON -+ C_VISIBILITY_PRESET hidden -+ CXX_VISIBILITY_PRESET hidden) -+ -+ target_compile_definitions(ebml -+ PUBLIC EBML_DLL -+ PRIVATE EBML_DLL_EXPORT) -+ -+ install(TARGETS ebml -+ EXPORT EBMLTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - --install(TARGETS ebml -- EXPORT EBMLTargets -- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+if(NOT DISABLE_STATIC_LIBS) -+ set_target_properties(ebml-static PROPERTIES OUTPUT_NAME ebml) -+ target_compile_definitions(ebml-static PUBLIC EBML_STATIC_DEFINE) -+ install(TARGETS ebml-static -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+endif() - - install(FILES ${libebml_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ebml) - install(FILES ${libebml_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ebml/c) --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ebml_export.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ebml) -+if(NOT DISABLE_SHARED_LIBS) -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ebml_export.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ebml) -+endif() - - if(NOT DISABLE_PKGCONFIG) - set(prefix ${CMAKE_INSTALL_PREFIX}) -@@ -134,7 +168,7 @@ if(NOT DISABLE_PKGCONFIG) - if (HAVE_WINAPIFAMILY_H) - set(WINAPIFAMILY_PC -DHAVE_WINAPIFAMILY_H) - endif() -- if(NOT BUILD_SHARED_LIBS) -+ if(NOT DISABLE_STATIC_LIBS) - set(STATIC_DEFINE_CFLAGS -DEBML_STATIC_DEFINE) - endif() - configure_file(libebml.pc.in libebml.pc @ONLY) -@@ -147,7 +181,9 @@ if(NOT DISABLE_CMAKE_CONFIG) - configure_package_config_file(EBMLConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/EBMLConfig.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}) - write_basic_package_version_file(EBMLConfigVersion.cmake COMPATIBILITY SameMajorVersion) -+if(NOT DISABLE_SHARED_LIBS) - install(EXPORT EBMLTargets NAMESPACE EBML:: DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}) -+endif() - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/EBMLConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/EBMLConfigVersion.cmake Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/textproc/libebml/pkg/PLIST,v retrieving revision 1.6 diff -u -p -u -p -r1.6 PLIST --- pkg/PLIST 11 Mar 2022 20:02:38 -0000 1.6 +++ pkg/PLIST 8 Aug 2026 22:57:00 -0000 @@ -35,6 +35,5 @@ lib/cmake/EBML/EBMLConfig.cmake lib/cmake/EBML/EBMLConfigVersion.cmake lib/cmake/EBML/EBMLTargets${MODCMAKE_BUILD_SUFFIX} lib/cmake/EBML/EBMLTargets.cmake -@static-lib lib/libebml.a @lib lib/libebml.so.${LIBebml_VERSION} lib/pkgconfig/libebml.pc