From: yaydn@protonmail.com Subject: Re: UPDATE: libebml 1.4.7 To: Brad Smith , "ports@openbsd.org" Date: Sun, 09 Aug 2026 18:25:00 +0000 På søndag 9. august 2026 kl. 01:00, skrev Brad Smith : > Here is an update to libebml 1.4.7. > > All depends build Ok. > $ cd /usr/ports/textproc/libebml/ && make build package test ; make port-lib-depends-check check-shlib-syms clean No regression tests for libebml-1.4.7 /usr/local/lib/libebml.so.4.0 --> /usr/ports/pobj/libebml-1.4.7/fake-amd64/usr/local/lib/libebml.so.4.0 No dynamic export changes ===> Cleaning for libebml-1.4.7 -- # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap -u libebml libebml-1.4.5->1.4.7: ok -- Builds fine on current/amd64 with privsep. Hope this helps. > > # 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 > >