Update mkvtoolnix to 51.0.0.

Please note that this update requires libebml>=1.4.0 and
libmatroska>=1.6.2.

For convenience, I am attached a full diff.

Inline mkvtoolnix diff:

diff --git a/multimedia/mkvtoolnix/Makefile b/multimedia/mkvtoolnix/Makefile
index c7a264358b6..8415c7652dc 100644
--- a/multimedia/mkvtoolnix/Makefile
+++ b/multimedia/mkvtoolnix/Makefile
@@ -2,9 +2,7 @@
 
 COMMENT=       create, alter and inspect Matroska files
 
-# Update depends on a new boost version
-DISTNAME=      mkvtoolnix-33.0.0
-REVISION=      2
+DISTNAME=      mkvtoolnix-51.0.0
 
 CATEGORIES=    multimedia x11
 
@@ -15,9 +13,9 @@ MAINTAINER =  Rafael Sadowski <rsadow...@openbsd.org>
 # GPLv2
 PERMIT_PACKAGE=        Yes
 
-WANTLIB += ${COMPILER_LIBCXX} FLAC boost_filesystem-mt boost_regex-mt
-WANTLIB += boost_system-mt c cmark ebml iconv intl m magic matroska
-WANTLIB += ogg pugixml vorbis z
+WANTLIB += ${COMPILER_LIBCXX} FLAC boost_filesystem-mt
+WANTLIB += boost_system-mt c cmark dvdread ebml iconv intl m magic
+WANTLIB += matroska ogg pcre2-8 pugixml vorbis z
 
 MASTER_SITES=  https://www.bunkus.org/videotools/mkvtoolnix/sources/
 
@@ -41,10 +39,12 @@ LIB_DEPENDS=        audio/flac \
                audio/libvorbis \
                devel/boost \
                devel/gettext,-runtime \
+               devel/libdvdread \
                devel/libmagic \
-               multimedia/libmatroska>=1.5.0 \
+               devel/pcre2 \
+               multimedia/libmatroska>=1.6.2 \
                textproc/cmark \
-               textproc/libebml>=1.3.7 \
+               textproc/libebml>=1.4.0 \
                textproc/pugixml
 
 MAKE_ENV+=     V=1
@@ -70,8 +70,8 @@ FLAVOR?=
 CONFIGURE_ARGS+= --disable-gui
 .else
 MODULES+=      x11/qt5
-WANTLIB += Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Multimedia
-WANTLIB += Qt5Network Qt5Widgets
+WANTLIB += Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Multimedia Qt5Network
+WANTLIB += Qt5Widgets
 LIB_DEPENDS += x11/qt5/qtmultimedia
 RUN_DEPENDS+=  devel/desktop-file-utils \
                misc/shared-mime-info \
diff --git a/multimedia/mkvtoolnix/distinfo b/multimedia/mkvtoolnix/distinfo
index 621bc01dc29..2c98c3f501e 100644
--- a/multimedia/mkvtoolnix/distinfo
+++ b/multimedia/mkvtoolnix/distinfo
@@ -1,2 +1,2 @@
-SHA256 (mkvtoolnix-33.0.0.tar.xz) = 
krgrGD0U4dTvHdd50A33A/lzWVxq5gsyyfqpzyHiZ4E=
-SIZE (mkvtoolnix-33.0.0.tar.xz) = 7285816
+SHA256 (mkvtoolnix-51.0.0.tar.xz) = 
wXqgEKE8lDsTR8WiD39uBTN6fZAxf1JTRYE7y83PTHA=
+SIZE (mkvtoolnix-51.0.0.tar.xz) = 7569264
diff --git a/multimedia/mkvtoolnix/patches/patch-Rakefile 
b/multimedia/mkvtoolnix/patches/patch-Rakefile
index b14caec30a7..c9705c7ae53 100644
--- a/multimedia/mkvtoolnix/patches/patch-Rakefile
+++ b/multimedia/mkvtoolnix/patches/patch-Rakefile
@@ -6,11 +6,11 @@ Ensure that the default and working linker is used on all 
clang archs.
 Index: Rakefile
 --- Rakefile.orig
 +++ Rakefile
-@@ -156,7 +156,6 @@ def setup_globals
-   cxxflags                += " #{c(:QT_CFLAGS)} #{c(:BOOST_CPPFLAGS)} 
#{c(:USER_CXXFLAGS)}"
- 
+@@ -168,7 +168,6 @@ def setup_globals
    ldflags                  = ""
+   ldflags                 += determine_stack_protector_flags
+   ldflags                 += " -pg"                                     if 
c?(:USE_PROFILING)
 -  ldflags                 += " -fuse-ld=lld"                            if 
is_clang? && !c(:LLVM_LLD).empty?
    ldflags                 += " -Llib/libebml/src -Llib/libmatroska/src" if 
c?(:EBML_MATROSKA_INTERNAL)
    ldflags                 += " -Llib/fmt/src"                           if 
c?(:FMT_INTERNAL)
-   ldflags                 += " #{c(:EXTRA_LDFLAGS)} #{c(:PROFILING_LIBS)} 
#{c(:USER_LDFLAGS)} #{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}"
+   ldflags                 += " #{c(:EXTRA_LDFLAGS)} #{c(:USER_LDFLAGS)} 
#{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}"
diff --git a/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4 
b/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4
index 0b9acdb0496..d868e5b9e94 100644
--- a/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4
+++ b/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4
@@ -30,7 +30,7 @@ Index: ac/qt5.m4
      if test $ok = 0; then
        AC_MSG_RESULT(no: not found by pkg-config)
      fi
-@@ -302,7 +300,7 @@ EOF
+@@ -305,7 +303,7 @@ EOF
      unset problem
    fi
  
diff --git 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
index a4e4fee07f8..c52a731b17c 100644
--- 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
+++ 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
@@ -12,7 +12,7 @@ Index: src/mkvtoolnix-gui/jobs/program_runner.cpp
  #elif defined(SYS_WINDOWS)
  #include "mkvtoolnix-gui/jobs/program_runner/windows_program_runner.h"
  #endif // SYS_WINDOWS
-@@ -158,6 +160,8 @@ ProgramRunner::create() {
+@@ -164,6 +166,8 @@ ProgramRunner::create() {
    runner.reset(new LinuxProgramRunner{});
  #elif defined(SYS_APPLE)
    runner.reset(new MacOSProgramRunner{});
diff --git 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
index af792fa9b43..096b277c20b 100644
--- 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
+++ 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
@@ -17,7 +17,7 @@ Index: 
src/mkvtoolnix-gui/jobs/program_runner/unix_program_runner.cpp
 -#include "mkvtoolnix-gui/jobs/program_runner/linux_program_runner.h"
 +#include "mkvtoolnix-gui/jobs/program_runner/unix_program_runner.h"
  
- namespace mtx { namespace gui { namespace Jobs {
+ namespace mtx::gui::Jobs {
  
 -LinuxProgramRunner::LinuxProgramRunner()
 +UnixProgramRunner::UnixProgramRunner()
@@ -35,47 +35,40 @@ Index: 
src/mkvtoolnix-gui/jobs/program_runner/unix_program_runner.cpp
    if (ProgramRunner::isRunProgramTypeSupported(type))
      return true;
  
-@@ -28,35 +28,35 @@ LinuxProgramRunner::isRunProgramTypeSupported(Util::Se
+@@ -28,8 +28,8 @@ LinuxProgramRunner::isRunProgramTypeSupported(Util::Se
  }
  
  void
--LinuxProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
--  qDebug() << "LinuxProgramRunner::shutDownComputer: about to shut down the 
computer via systemctl";
-+UnixProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
-+  qDebug() << "UnixProgramRunner::shutDownComputer: about to shut down the 
computer via systemctl";
- 
-   auto result = QProcess::execute("systemctl poweroff");
- 
+-LinuxProgramRunner::systemctlAction(QString const &action) {
+-  qDebug() << Q("LinuxProgramRunner::systemctlAction: about to execute 
'systemctl %1'").arg(action);
++UnixProgramRunner::systemctlAction(QString const &action) {
++  qDebug() << Q("UnixProgramRunner::systemctlAction: about to execute 
'systemctl %1'").arg(action);
+ 
+   auto args   = QStringList{} << action;
+   auto result = QProcess::execute(Q("systemctl"), args);
+@@ -37,21 +37,21 @@ LinuxProgramRunner::systemctlAction(QString const &act
    if (result == 0)
      return;
  
--  qDebug() << "LinuxProgramRunner::shutDownComputer: 'systemctl poweroff' 
failed:" << result;
-+  qDebug() << "UnixProgramRunner::shutDownComputer: 'systemctl poweroff' 
failed:" << result;
+-  qDebug() << Q("LinuxProgramRunner::systemctlAction: 'systemctl %1' failed: 
%2").arg(action).arg(result);
++  qDebug() << Q("UnixProgramRunner::systemctlAction: 'systemctl %1' failed: 
%2").arg(action).arg(result);
  }
  
  void
--LinuxProgramRunner::hibernateOrSleepComputer(bool hibernate) {
-+UnixProgramRunner::hibernateOrSleepComputer(bool hibernate) {
-   auto action = Q(hibernate ? "hibernate" : "suspend");
--  qDebug() << "LinuxProgramRunner::hibernateOrSleepComputer: about to" << 
action << "the computer via systemctl";
-+  qDebug() << "UnixProgramRunner::hibernateOrSleepComputer: about to" << 
action << "the computer via systemctl";
- 
-   auto result = QProcess::execute(Q("systemctl %1").arg(action));
- 
-   if (result != 0)
--    qDebug() << "LinuxProgramRunner::hibernateOrSleepComputer: 'systemctl" << 
action << "' failed:" << result;
-+    qDebug() << "UnixProgramRunner::hibernateOrSleepComputer: 'systemctl" << 
action << "' failed:" << result;
+-LinuxProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
++UnixProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
+   systemctlAction(Q("poweroff"));
  }
  
  void
 -LinuxProgramRunner::hibernateComputer(Util::Settings::RunProgramConfig &) {
 +UnixProgramRunner::hibernateComputer(Util::Settings::RunProgramConfig &) {
-   hibernateOrSleepComputer(true);
+   systemctlAction(Q("hibernate"));
  }
  
  void
 -LinuxProgramRunner::sleepComputer(Util::Settings::RunProgramConfig &) {
 +UnixProgramRunner::sleepComputer(Util::Settings::RunProgramConfig &) {
-   hibernateOrSleepComputer(false);
+   systemctlAction(Q("suspend"));
  }
  
diff --git 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
index 7092f26f5f5..24abb69e562 100644
--- 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
+++ 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
@@ -12,7 +12,7 @@ Index: 
src/mkvtoolnix-gui/jobs/program_runner/unix_program_runner.h
  
  #include "mkvtoolnix-gui/jobs/program_runner.h"
  
-@@ -10,12 +10,12 @@ namespace mtx { namespace gui {
+@@ -10,12 +10,12 @@ namespace mtx::gui {
  
  namespace Jobs {
  
diff --git a/multimedia/mkvtoolnix/pkg/PLIST b/multimedia/mkvtoolnix/pkg/PLIST
index 4171f8f639b..da51797d804 100644
--- a/multimedia/mkvtoolnix/pkg/PLIST
+++ b/multimedia/mkvtoolnix/pkg/PLIST
@@ -7,6 +7,7 @@
 @man man/man1/mkvinfo.1
 @man man/man1/mkvmerge.1
 @man man/man1/mkvpropedit.1
+share/locale/bg/LC_MESSAGES/mkvtoolnix.mo
 share/locale/ca/LC_MESSAGES/mkvtoolnix.mo
 share/locale/cs/LC_MESSAGES/mkvtoolnix.mo
 share/locale/de/LC_MESSAGES/mkvtoolnix.mo
diff --git a/multimedia/libmatroska/Makefile b/multimedia/libmatroska/Makefile
index 2eada31ec83..bd8e4a5d7d8 100644
--- a/multimedia/libmatroska/Makefile
+++ b/multimedia/libmatroska/Makefile
@@ -2,13 +2,12 @@
 
 COMMENT=       extensible open standard audio/video container library
 
-DISTNAME=      libmatroska-1.5.0
+DISTNAME=      libmatroska-1.6.2
 CATEGORIES=    multimedia
 MASTER_SITES=  http://dl.matroska.org/downloads/libmatroska/
 EXTRACT_SUFX=  .tar.xz
-REVISION=      1
 
-SHARED_LIBS=   matroska        4.4
+SHARED_LIBS=   matroska        5.0
 
 HOMEPAGE=      http://www.matroska.org/
 
@@ -21,13 +20,13 @@ WANTLIB += ${COMPILER_LIBCXX} ebml m
 
 COMPILER =     base-clang ports-gcc base-gcc
 
-MODULES +=     devel/cmake
+MODULES =      devel/cmake
 
 CONFIGURE_ARGS+=       -DCMAKE_C_FLAGS="${CFLAGS} -I${LOCALBASE}/include" \
                        -DCMAKE_CXX_FLAGS="${CXXFLAGS} -I${LOCALBASE}/include" \
                        -DCMAKE_SHARED_LINKER_FLAGS="-L${LOCALBASE}/lib"
 
-LIB_DEPENDS += textproc/libebml>=1.3.7
+LIB_DEPENDS += textproc/libebml>=1.4.0
 
 NO_TEST =      Yes
 
diff --git a/multimedia/libmatroska/distinfo b/multimedia/libmatroska/distinfo
index b730da5fd50..a12ead552c3 100644
--- a/multimedia/libmatroska/distinfo
+++ b/multimedia/libmatroska/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libmatroska-1.5.0.tar.xz) = 
8O/cGCf6gBKhbXZKRe2E1UTZKiAnETJF9SL14fcTrR4=
-SIZE (libmatroska-1.5.0.tar.xz) = 64596
+SHA256 (libmatroska-1.6.2.tar.xz) = 
vER5qoQiqwdkPfah+loZ5L7Uut/UHKd+CBYoYg0eGZA=
+SIZE (libmatroska-1.6.2.tar.xz) = 65460
diff --git a/multimedia/libmatroska/patches/patch-CMakeLists_txt 
b/multimedia/libmatroska/patches/patch-CMakeLists_txt
index 205438ea3a8..aab56fca28c 100644
--- a/multimedia/libmatroska/patches/patch-CMakeLists_txt
+++ b/multimedia/libmatroska/patches/patch-CMakeLists_txt
@@ -5,67 +5,90 @@ Add options for building and installing shared, static 
libraries
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -4,6 +4,8 @@ project(matroska VERSION 1.5.0)
+@@ -4,6 +4,8 @@ project(matroska VERSION 1.6.2)
  
  option(DISABLE_PKGCONFIG "Disable PkgConfig module generation" OFF)
  option(DISABLE_CMAKE_CONFIG "Disable CMake package config module generation" 
OFF)
 +option(DISABLE_SHARED_LIBS "Disable build and install shared libraries" OFF)
 +option(DISABLE_STATIC_LIBS "Disable build and install static libraries" OFF)
  
- find_package(Ebml 1.3.7 REQUIRED)
+ find_package(EBML 1.4.0 REQUIRED)
  
-@@ -59,28 +61,44 @@ set (libmatroska_C_PUBLIC_HEADERS
+@@ -62,44 +64,69 @@ set (libmatroska_C_PUBLIC_HEADERS
    matroska/c/libmatroska.h
    matroska/c/libmatroska_t.h)
  
--add_library(matroska ${libmatroska_SOURCES} ${limatroska_PUBLIC_HEADERS} 
${libmatroska_C_PUBLIC_HEADERS})
--target_link_libraries(matroska PUBLIC ebml)
+-add_library(matroska ${libmatroska_SOURCES} ${libmatroska_PUBLIC_HEADERS} 
${libmatroska_C_PUBLIC_HEADERS})
+-target_link_libraries(matroska PUBLIC EBML::ebml)
 -set_target_properties(matroska PROPERTIES
--  VERSION 6.0.0
--  SOVERSION 6)
--target_include_directories(matroska PUBLIC
--  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
--  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+-  VERSION 7.0.0
+-  SOVERSION 7
+-  CXX_VISIBILITY_PRESET hidden
+-  VISIBILITY_INLINES_HIDDEN ON
+-)
+-target_include_directories(matroska
+-  PRIVATE
+-    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+-      PUBLIC
+-    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+-    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 -if(MSVC)
 -  target_compile_definitions(matroska PRIVATE _CRT_SECURE_NO_WARNINGS)
+-endif()
+-
+ include(GenerateExportHeader)
+-generate_export_header(matroska EXPORT_MACRO_NAME MATROSKA_DLL_API)
+-target_sources(matroska
+-  PRIVATE
+-    ${CMAKE_CURRENT_BINARY_DIR}/matroska_export.h
+-)
 +foreach (TYPE IN ITEMS STATIC SHARED)
 +  if (NOT DISABLE_${TYPE}_LIBS)
-+    string (TOLOWER "${TYPE}" type)
-+    add_library(matroska-${type} ${TYPE} ${libmatroska_SOURCES} 
${libmatroska_PUBLIC_HEADERS} ${libmatroska_C_PUBLIC_HEADERS})
-+    set_target_properties(matroska-${type} PROPERTIES
-+      VERSION 6.0.0
-+      SOVERSION 6)
-+    target_link_libraries(matroska-${type} PUBLIC ebml)
-+    target_include_directories(matroska-${type} PUBLIC
-+      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
-+      $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++    set(type_suffix "")
++    if ("${TYPE}" STREQUAL "STATIC")
++      string(TOLOWER "${TYPE}" type)
++      set(type_suffix "-${type}")
++    endif()
+ 
+-if(NOT BUILD_SHARED_LIBS)
+-  target_compile_definitions(matroska PUBLIC MATROSKA_STATIC_DEFINE)
++    add_library(matroska${type_suffix} ${TYPE}
++      ${libmatroska_SOURCES}
++      ${libmatroska_PUBLIC_HEADERS}
++      ${libmatroska_C_PUBLIC_HEADERS})
++
++    target_include_directories(matroska${type_suffix}
++      PRIVATE
++        $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
++            PUBLIC
++        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
++        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++
++    if(MSVC)
++      target_compile_definitions(matroska${type_suffix}
++        PRIVATE
++          _CRT_SECURE_NO_WARNINGS)
++    endif()
++    generate_export_header(matroska${type_suffix} EXPORT_MACRO_NAME 
MATROSKA_DLL_API BASE_NAME matroska)
++    target_sources(matroska${type_suffix}
++      PRIVATE
++        ${CMAKE_CURRENT_BINARY_DIR}/matroska_export.h
++    )
 +  endif()
 +endforeach()
 +
 +if(NOT DISABLE_SHARED_LIBS)
-+  if(MSVC)
-+    target_compile_definitions(matroska-shared PRIVATE 
_CRT_SECURE_NO_WARNINGS)
-+  endif()
-+
-+  target_compile_definitions(matroska-shared PUBLIC MATROSKA_DLL)
-+  set_target_properties(matroska-shared PROPERTIES DEFINE_SYMBOL 
"MATROSKA_DLL_EXPORT" OUTPUT_NAME matroska)
-+
-+  install(TARGETS matroska-shared
++  target_link_libraries(matroska PUBLIC EBML::ebml)
++  set_target_properties(matroska PROPERTIES
++    VERSION 7.0.0
++    SOVERSION 7
++    CXX_VISIBILITY_PRESET hidden
++    VISIBILITY_INLINES_HIDDEN ON
++  )
++  install(TARGETS matroska
 +    EXPORT MatroskaTargets
-+    RENAME matroska
 +    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
 +    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- endif()
--if(BUILD_SHARED_LIBS)
--  target_compile_definitions(matroska PUBLIC MATROSKA_DLL)
--  set_target_properties(matroska PROPERTIES DEFINE_SYMBOL 
"MATROSKA_DLL_EXPORT")
-+
-+if(NOT DISABLE_STATIC_LIBS)
-+  set_target_properties(matroska-static PROPERTIES OUTPUT_NAME matroska)
-+  install(TARGETS matroska-static
-+    RENAME matroska
-+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
 +    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
  endif()
  
@@ -74,21 +97,31 @@ Index: CMakeLists.txt
 -  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
 -  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
 -  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
--
++if(NOT DISABLE_STATIC_LIBS)
++  set_target_properties(matroska-static PROPERTIES OUTPUT_NAME matroska)
++  target_compile_definitions(matroska-static PUBLIC MATROSKA_STATIC_DEFINE)
++  install(TARGETS matroska-static
++    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++endif()
+ 
++
  install(FILES ${libmatroska_PUBLIC_HEADERS} DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/matroska)
  install(FILES ${libmatroska_C_PUBLIC_HEADERS} DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/matroska/c)
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/matroska_export.h DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/matroska)
++if(NOT DISABLE_SHARED_LIBS)
++  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/matroska_export.h DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/matroska)
++endif()
  
-@@ -102,9 +120,12 @@ if(NOT DISABLE_CMAKE_CONFIG)
-   endif()
-   include(CMakePackageConfigHelpers)
+ if(NOT DISABLE_PKGCONFIG)
+   set(prefix ${CMAKE_INSTALL_PREFIX})
+@@ -117,7 +144,9 @@ if(NOT DISABLE_CMAKE_CONFIG)
+   configure_package_config_file(MatroskaConfig.cmake.in 
${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfig.cmake
+     INSTALL_DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
    write_basic_package_version_file(MatroskaConfigVersion.cmake COMPATIBILITY 
SameMajorVersion)
--  install(EXPORT MatroskaTargets DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
-+  if(NOT DISABLE_SHARED_LIBS)
-+    install(EXPORT MatroskaTargets DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
-+  endif()
++if(NOT DISABLE_SHARED_LIBS)
+   install(EXPORT MatroskaTargets NAMESPACE Matroska:: DESTINATION 
${CMAKE_INSTALL_PACKAGEDIR})
++endif()
    install(FILES
-     ${CMAKE_CURRENT_SOURCE_DIR}/MatroskaConfig.cmake
+     ${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfig.cmake
      ${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfigVersion.cmake
-     DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
- endif()
-+
diff --git a/multimedia/libmatroska/pkg/PLIST b/multimedia/libmatroska/pkg/PLIST
index 952417cb055..e898a5e1210 100644
--- a/multimedia/libmatroska/pkg/PLIST
+++ b/multimedia/libmatroska/pkg/PLIST
@@ -30,11 +30,12 @@ include/matroska/KaxVersion.h
 include/matroska/c/
 include/matroska/c/libmatroska.h
 include/matroska/c/libmatroska_t.h
-lib/cmake/matroska/
-lib/cmake/matroska/MatroskaConfig.cmake
-lib/cmake/matroska/MatroskaConfigVersion.cmake
-lib/cmake/matroska/MatroskaTargets${MODCMAKE_BUILD_SUFFIX}
-lib/cmake/matroska/MatroskaTargets.cmake
-lib/libmatroska.a
+include/matroska/matroska_export.h
+lib/cmake/Matroska/
+lib/cmake/Matroska/MatroskaConfig.cmake
+lib/cmake/Matroska/MatroskaConfigVersion.cmake
+lib/cmake/Matroska/MatroskaTargets${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/Matroska/MatroskaTargets.cmake
+@static-lib lib/libmatroska.a
 @lib lib/libmatroska.so.${LIBmatroska_VERSION}
 lib/pkgconfig/libmatroska.pc
diff --git a/multimedia/mkvtoolnix/Makefile b/multimedia/mkvtoolnix/Makefile
index c7a264358b6..8415c7652dc 100644
--- a/multimedia/mkvtoolnix/Makefile
+++ b/multimedia/mkvtoolnix/Makefile
@@ -2,9 +2,7 @@
 
 COMMENT=       create, alter and inspect Matroska files
 
-# Update depends on a new boost version
-DISTNAME=      mkvtoolnix-33.0.0
-REVISION=      2
+DISTNAME=      mkvtoolnix-51.0.0
 
 CATEGORIES=    multimedia x11
 
@@ -15,9 +13,9 @@ MAINTAINER =  Rafael Sadowski <rsadow...@openbsd.org>
 # GPLv2
 PERMIT_PACKAGE=        Yes
 
-WANTLIB += ${COMPILER_LIBCXX} FLAC boost_filesystem-mt boost_regex-mt
-WANTLIB += boost_system-mt c cmark ebml iconv intl m magic matroska
-WANTLIB += ogg pugixml vorbis z
+WANTLIB += ${COMPILER_LIBCXX} FLAC boost_filesystem-mt
+WANTLIB += boost_system-mt c cmark dvdread ebml iconv intl m magic
+WANTLIB += matroska ogg pcre2-8 pugixml vorbis z
 
 MASTER_SITES=  https://www.bunkus.org/videotools/mkvtoolnix/sources/
 
@@ -41,10 +39,12 @@ LIB_DEPENDS=        audio/flac \
                audio/libvorbis \
                devel/boost \
                devel/gettext,-runtime \
+               devel/libdvdread \
                devel/libmagic \
-               multimedia/libmatroska>=1.5.0 \
+               devel/pcre2 \
+               multimedia/libmatroska>=1.6.2 \
                textproc/cmark \
-               textproc/libebml>=1.3.7 \
+               textproc/libebml>=1.4.0 \
                textproc/pugixml
 
 MAKE_ENV+=     V=1
@@ -70,8 +70,8 @@ FLAVOR?=
 CONFIGURE_ARGS+= --disable-gui
 .else
 MODULES+=      x11/qt5
-WANTLIB += Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Multimedia
-WANTLIB += Qt5Network Qt5Widgets
+WANTLIB += Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Multimedia Qt5Network
+WANTLIB += Qt5Widgets
 LIB_DEPENDS += x11/qt5/qtmultimedia
 RUN_DEPENDS+=  devel/desktop-file-utils \
                misc/shared-mime-info \
diff --git a/multimedia/mkvtoolnix/distinfo b/multimedia/mkvtoolnix/distinfo
index 621bc01dc29..2c98c3f501e 100644
--- a/multimedia/mkvtoolnix/distinfo
+++ b/multimedia/mkvtoolnix/distinfo
@@ -1,2 +1,2 @@
-SHA256 (mkvtoolnix-33.0.0.tar.xz) = 
krgrGD0U4dTvHdd50A33A/lzWVxq5gsyyfqpzyHiZ4E=
-SIZE (mkvtoolnix-33.0.0.tar.xz) = 7285816
+SHA256 (mkvtoolnix-51.0.0.tar.xz) = 
wXqgEKE8lDsTR8WiD39uBTN6fZAxf1JTRYE7y83PTHA=
+SIZE (mkvtoolnix-51.0.0.tar.xz) = 7569264
diff --git a/multimedia/mkvtoolnix/patches/patch-Rakefile 
b/multimedia/mkvtoolnix/patches/patch-Rakefile
index b14caec30a7..c9705c7ae53 100644
--- a/multimedia/mkvtoolnix/patches/patch-Rakefile
+++ b/multimedia/mkvtoolnix/patches/patch-Rakefile
@@ -6,11 +6,11 @@ Ensure that the default and working linker is used on all 
clang archs.
 Index: Rakefile
 --- Rakefile.orig
 +++ Rakefile
-@@ -156,7 +156,6 @@ def setup_globals
-   cxxflags                += " #{c(:QT_CFLAGS)} #{c(:BOOST_CPPFLAGS)} 
#{c(:USER_CXXFLAGS)}"
- 
+@@ -168,7 +168,6 @@ def setup_globals
    ldflags                  = ""
+   ldflags                 += determine_stack_protector_flags
+   ldflags                 += " -pg"                                     if 
c?(:USE_PROFILING)
 -  ldflags                 += " -fuse-ld=lld"                            if 
is_clang? && !c(:LLVM_LLD).empty?
    ldflags                 += " -Llib/libebml/src -Llib/libmatroska/src" if 
c?(:EBML_MATROSKA_INTERNAL)
    ldflags                 += " -Llib/fmt/src"                           if 
c?(:FMT_INTERNAL)
-   ldflags                 += " #{c(:EXTRA_LDFLAGS)} #{c(:PROFILING_LIBS)} 
#{c(:USER_LDFLAGS)} #{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}"
+   ldflags                 += " #{c(:EXTRA_LDFLAGS)} #{c(:USER_LDFLAGS)} 
#{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}"
diff --git a/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4 
b/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4
index 0b9acdb0496..d868e5b9e94 100644
--- a/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4
+++ b/multimedia/mkvtoolnix/patches/patch-ac_qt5_m4
@@ -30,7 +30,7 @@ Index: ac/qt5.m4
      if test $ok = 0; then
        AC_MSG_RESULT(no: not found by pkg-config)
      fi
-@@ -302,7 +300,7 @@ EOF
+@@ -305,7 +303,7 @@ EOF
      unset problem
    fi
  
diff --git 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
index a4e4fee07f8..c52a731b17c 100644
--- 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
+++ 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_cpp
@@ -12,7 +12,7 @@ Index: src/mkvtoolnix-gui/jobs/program_runner.cpp
  #elif defined(SYS_WINDOWS)
  #include "mkvtoolnix-gui/jobs/program_runner/windows_program_runner.h"
  #endif // SYS_WINDOWS
-@@ -158,6 +160,8 @@ ProgramRunner::create() {
+@@ -164,6 +166,8 @@ ProgramRunner::create() {
    runner.reset(new LinuxProgramRunner{});
  #elif defined(SYS_APPLE)
    runner.reset(new MacOSProgramRunner{});
diff --git 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
index af792fa9b43..096b277c20b 100644
--- 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
+++ 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
@@ -17,7 +17,7 @@ Index: 
src/mkvtoolnix-gui/jobs/program_runner/unix_program_runner.cpp
 -#include "mkvtoolnix-gui/jobs/program_runner/linux_program_runner.h"
 +#include "mkvtoolnix-gui/jobs/program_runner/unix_program_runner.h"
  
- namespace mtx { namespace gui { namespace Jobs {
+ namespace mtx::gui::Jobs {
  
 -LinuxProgramRunner::LinuxProgramRunner()
 +UnixProgramRunner::UnixProgramRunner()
@@ -35,47 +35,40 @@ Index: 
src/mkvtoolnix-gui/jobs/program_runner/unix_program_runner.cpp
    if (ProgramRunner::isRunProgramTypeSupported(type))
      return true;
  
-@@ -28,35 +28,35 @@ LinuxProgramRunner::isRunProgramTypeSupported(Util::Se
+@@ -28,8 +28,8 @@ LinuxProgramRunner::isRunProgramTypeSupported(Util::Se
  }
  
  void
--LinuxProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
--  qDebug() << "LinuxProgramRunner::shutDownComputer: about to shut down the 
computer via systemctl";
-+UnixProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
-+  qDebug() << "UnixProgramRunner::shutDownComputer: about to shut down the 
computer via systemctl";
- 
-   auto result = QProcess::execute("systemctl poweroff");
- 
+-LinuxProgramRunner::systemctlAction(QString const &action) {
+-  qDebug() << Q("LinuxProgramRunner::systemctlAction: about to execute 
'systemctl %1'").arg(action);
++UnixProgramRunner::systemctlAction(QString const &action) {
++  qDebug() << Q("UnixProgramRunner::systemctlAction: about to execute 
'systemctl %1'").arg(action);
+ 
+   auto args   = QStringList{} << action;
+   auto result = QProcess::execute(Q("systemctl"), args);
+@@ -37,21 +37,21 @@ LinuxProgramRunner::systemctlAction(QString const &act
    if (result == 0)
      return;
  
--  qDebug() << "LinuxProgramRunner::shutDownComputer: 'systemctl poweroff' 
failed:" << result;
-+  qDebug() << "UnixProgramRunner::shutDownComputer: 'systemctl poweroff' 
failed:" << result;
+-  qDebug() << Q("LinuxProgramRunner::systemctlAction: 'systemctl %1' failed: 
%2").arg(action).arg(result);
++  qDebug() << Q("UnixProgramRunner::systemctlAction: 'systemctl %1' failed: 
%2").arg(action).arg(result);
  }
  
  void
--LinuxProgramRunner::hibernateOrSleepComputer(bool hibernate) {
-+UnixProgramRunner::hibernateOrSleepComputer(bool hibernate) {
-   auto action = Q(hibernate ? "hibernate" : "suspend");
--  qDebug() << "LinuxProgramRunner::hibernateOrSleepComputer: about to" << 
action << "the computer via systemctl";
-+  qDebug() << "UnixProgramRunner::hibernateOrSleepComputer: about to" << 
action << "the computer via systemctl";
- 
-   auto result = QProcess::execute(Q("systemctl %1").arg(action));
- 
-   if (result != 0)
--    qDebug() << "LinuxProgramRunner::hibernateOrSleepComputer: 'systemctl" << 
action << "' failed:" << result;
-+    qDebug() << "UnixProgramRunner::hibernateOrSleepComputer: 'systemctl" << 
action << "' failed:" << result;
+-LinuxProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
++UnixProgramRunner::shutDownComputer(Util::Settings::RunProgramConfig &) {
+   systemctlAction(Q("poweroff"));
  }
  
  void
 -LinuxProgramRunner::hibernateComputer(Util::Settings::RunProgramConfig &) {
 +UnixProgramRunner::hibernateComputer(Util::Settings::RunProgramConfig &) {
-   hibernateOrSleepComputer(true);
+   systemctlAction(Q("hibernate"));
  }
  
  void
 -LinuxProgramRunner::sleepComputer(Util::Settings::RunProgramConfig &) {
 +UnixProgramRunner::sleepComputer(Util::Settings::RunProgramConfig &) {
-   hibernateOrSleepComputer(false);
+   systemctlAction(Q("suspend"));
  }
  
diff --git 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
index 7092f26f5f5..24abb69e562 100644
--- 
a/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
+++ 
b/multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_h
@@ -12,7 +12,7 @@ Index: 
src/mkvtoolnix-gui/jobs/program_runner/unix_program_runner.h
  
  #include "mkvtoolnix-gui/jobs/program_runner.h"
  
-@@ -10,12 +10,12 @@ namespace mtx { namespace gui {
+@@ -10,12 +10,12 @@ namespace mtx::gui {
  
  namespace Jobs {
  
diff --git a/multimedia/mkvtoolnix/pkg/PLIST b/multimedia/mkvtoolnix/pkg/PLIST
index 4171f8f639b..da51797d804 100644
--- a/multimedia/mkvtoolnix/pkg/PLIST
+++ b/multimedia/mkvtoolnix/pkg/PLIST
@@ -7,6 +7,7 @@
 @man man/man1/mkvinfo.1
 @man man/man1/mkvmerge.1
 @man man/man1/mkvpropedit.1
+share/locale/bg/LC_MESSAGES/mkvtoolnix.mo
 share/locale/ca/LC_MESSAGES/mkvtoolnix.mo
 share/locale/cs/LC_MESSAGES/mkvtoolnix.mo
 share/locale/de/LC_MESSAGES/mkvtoolnix.mo
diff --git a/textproc/libebml/Makefile b/textproc/libebml/Makefile
index 1cd6e0c5b33..87bd70c4a0a 100644
--- a/textproc/libebml/Makefile
+++ b/textproc/libebml/Makefile
@@ -2,12 +2,12 @@
 
 COMMENT=       Extensible Binary Meta Language library
 
-DISTNAME=      libebml-1.3.7
+DISTNAME=      libebml-1.4.0
 CATEGORIES=    textproc
 MASTER_SITES=  https://dl.matroska.org/downloads/libebml/
 EXTRACT_SUFX=  .tar.xz
 
-SHARED_LIBS=   ebml    3.2
+SHARED_LIBS=   ebml    4.0
 
 HOMEPAGE=      http://www.matroska.org/
 
diff --git a/textproc/libebml/distinfo b/textproc/libebml/distinfo
index c330edfee0d..1a236814c4c 100644
--- a/textproc/libebml/distinfo
+++ b/textproc/libebml/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libebml-1.3.7.tar.xz) = 4yRMh/WE1/yMNxiBprewZYPMBB+I4uP66aIV2cpY6fQ=
-SIZE (libebml-1.3.7.tar.xz) = 69460
+SHA256 (libebml-1.4.0.tar.xz) = gKvJqCVJYVAYeY7nBJlycKObQ96abn4NI7YvjOaCxLM=
+SIZE (libebml-1.4.0.tar.xz) = 69944
diff --git a/textproc/libebml/patches/patch-CMakeLists_txt 
b/textproc/libebml/patches/patch-CMakeLists_txt
index 89be14ded7f..a51c19e8f2e 100644
--- a/textproc/libebml/patches/patch-CMakeLists_txt
+++ b/textproc/libebml/patches/patch-CMakeLists_txt
@@ -5,16 +5,16 @@ Add options for building and installing shared, static 
libraries
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -4,6 +4,8 @@ project(ebml VERSION 1.3.7)
- 
+@@ -5,6 +5,8 @@ project(ebml VERSION 1.4.0)
  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)
  
-@@ -63,40 +65,54 @@ set(libebml_PUBLIC_HEADERS
+@@ -72,50 +74,82 @@ set(libebml_PUBLIC_HEADERS
  
  set(libebml_C_PUBLIC_HEADERS ebml/c/libebml_t.h)
  
@@ -25,82 +25,130 @@ Index: CMakeLists.txt
 -  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)
-+    string (TOLOWER "${TYPE}" type)
-+    add_library(ebml-${type} ${TYPE} ${libebml_SOURCES} 
${libebml_PUBLIC_HEADERS} ${libebml_C_PUBLIC_HEADERS})
-+    set_target_properties(ebml-${type} PROPERTIES
-+      VERSION 4.0.0
-+      SOVERSION 4)
-+    target_include_directories(ebml-${type} PUBLIC
-+      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
-+      $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
-+    if(MSVC)
-+      target_compile_definitions(ebml-${type} PRIVATE _CRT_SECURE_NO_WARNINGS)
+ 
+-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} PUBLIC HAVE_WINAPIFAMILY_H)
++        target_compile_definitions(ebml${type_suffix} PUBLIC 
HAVE_WINAPIFAMILY_H)
 +      endif()
- endif()
--set_target_properties(ebml PROPERTIES
--  VERSION 4.0.0
--  SOVERSION 4)
--target_include_directories(ebml PUBLIC
--  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
--  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
--if(MSVC)
--  target_compile_definitions(ebml PRIVATE _CRT_SECURE_NO_WARNINGS)
--endif()
--if(BUILD_SHARED_LIBS)
--  set_target_properties(ebml
++    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-shared
-     PROPERTIES
-     DEFINE_SYMBOL "EBML_DLL_EXPORT"
-     C_VISIBILITY_PRESET hidden
--    VISIBILITY_INLINES_HIDDEN 1)
--  target_compile_definitions(ebml
-+    VISIBILITY_INLINES_HIDDEN 1
-+    OUTPUT_NAME ebml)
-+  target_compile_definitions(ebml-shared
-     PUBLIC EBML_DLL
-     PRIVATE EBML_DLL_EXPORT)
-+  install(TARGETS ebml-shared
-+    EXPORT EbmlTargets
++  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
+-  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()
  
-@@ -118,7 +134,9 @@ if(NOT DISABLE_CMAKE_CONFIG)
+ if(NOT DISABLE_PKGCONFIG)
+   set(prefix ${CMAKE_INSTALL_PREFIX})
+@@ -126,7 +160,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()
-   include(CMakePackageConfigHelpers)
-   write_basic_package_version_file(EbmlConfigVersion.cmake COMPATIBILITY 
SameMajorVersion)
+   configure_file(libebml.pc.in libebml.pc @ONLY)
+@@ -139,7 +173,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 DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
+   install(EXPORT EBMLTargets NAMESPACE EBML:: DESTINATION 
${CMAKE_INSTALL_PACKAGEDIR})
 +endif()
    install(FILES
-     ${CMAKE_CURRENT_SOURCE_DIR}/EbmlConfig.cmake
-     ${CMAKE_CURRENT_BINARY_DIR}/EbmlConfigVersion.cmake
+     ${CMAKE_CURRENT_BINARY_DIR}/EBMLConfig.cmake
+     ${CMAKE_CURRENT_BINARY_DIR}/EBMLConfigVersion.cmake
diff --git a/textproc/libebml/pkg/PLIST b/textproc/libebml/pkg/PLIST
index 621ceb53c5e..c230dc8f8fa 100644
--- a/textproc/libebml/pkg/PLIST
+++ b/textproc/libebml/pkg/PLIST
@@ -29,12 +29,13 @@ include/ebml/SafeReadIOCallback.h
 include/ebml/StdIOCallback.h
 include/ebml/c/
 include/ebml/c/libebml_t.h
+include/ebml/ebml_export.h
 lib/cmake/
-lib/cmake/ebml/
-lib/cmake/ebml/EbmlConfig.cmake
-lib/cmake/ebml/EbmlConfigVersion.cmake
-lib/cmake/ebml/EbmlTargets${MODCMAKE_BUILD_SUFFIX}
-lib/cmake/ebml/EbmlTargets.cmake
-lib/libebml.a
+lib/cmake/EBML/
+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

Reply via email to