Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
UPDATE: libebml 1.4.7
To:
ports@openbsd.org
Date:
Sat, 8 Aug 2026 18:59:12 -0400

Download raw body.

Thread
  • Brad Smith:

    UPDATE: libebml 1.4.7

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
--    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
--  PUBLIC
--    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
--    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
--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
-+        $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
-+      PUBLIC
-+        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
-+        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
-+
-+    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