Index | Thread | Search

From:
yaydn@protonmail.com
Subject:
Re: UPDATE: libebml 1.4.7
To:
Brad Smith <brad@comstyle.com>, "ports@openbsd.org" <ports@openbsd.org>
Date:
Sun, 09 Aug 2026 18:25:00 +0000

Download raw body.

Thread
  • Brad Smith:

    UPDATE: libebml 1.4.7

    • yaydn@protonmail.com:

      UPDATE: libebml 1.4.7

På søndag 9. august 2026 kl. 01:00, skrev Brad Smith
<brad@comstyle.com>:

> 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
> --    $<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
>
>