Update libmatroska to 1.6.2. I reworked the whole CMake shared,static
lib handling. This will send this diff to upstream in a few days.

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

Reply via email to