diff options
author | Zach van Rijn <me@zv.io> | 2023-10-24 21:05:56 +0000 |
---|---|---|
committer | Zach van Rijn <me@zv.io> | 2023-10-25 00:43:43 +0000 |
commit | 87b7d4eaefb6ce8a65ba2e9654784dad1df8f03d (patch) | |
tree | 4509c017eaeb5088bc2423959de497228d4877c7 /user/faad2/fix-ensure-libraries-versioned.patch | |
parent | cb27b0550d7accf80d339023979859aee676f4b0 (diff) | |
download | packages-87b7d4eaefb6ce8a65ba2e9654784dad1df8f03d.tar.gz packages-87b7d4eaefb6ce8a65ba2e9654784dad1df8f03d.tar.bz2 packages-87b7d4eaefb6ce8a65ba2e9654784dad1df8f03d.tar.xz packages-87b7d4eaefb6ce8a65ba2e9654784dad1df8f03d.zip |
user/faad2: add patch for x86. fixes #1095.
Additionally, ensure shared libraries are versioned.
This fixes a regression from the autotools-based era
that was not carried into the CMake era.
Diffstat (limited to 'user/faad2/fix-ensure-libraries-versioned.patch')
-rw-r--r-- | user/faad2/fix-ensure-libraries-versioned.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/user/faad2/fix-ensure-libraries-versioned.patch b/user/faad2/fix-ensure-libraries-versioned.patch new file mode 100644 index 000000000..ae0150f46 --- /dev/null +++ b/user/faad2/fix-ensure-libraries-versioned.patch @@ -0,0 +1,50 @@ +From 3a593d3efc5cf1db5f4c8914768ea1ea70cbcde5 Mon Sep 17 00:00:00 2001 +From: Eugene Kliuchnikov <eustas.ru@gmail.com> +Date: Fri, 13 Oct 2023 08:52:31 +0200 +Subject: [PATCH] Add vesion to linked libraries (#181) + +--- + CMakeLists.txt | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 31270436..6b4d4d84 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,11 +34,20 @@ endif() + + set(CAPTURE_PACKAGE_VERSION "[ \\t]*\"PACKAGE_VERSION\"[ \\t]*:[ \\t]\"(.*)\"") + file(STRINGS "properties.json" _faad_version_line REGEX "${CAPTURE_PACKAGE_VERSION}") +-message("${_faad_version_line}") + string(REGEX REPLACE "${CAPTURE_PACKAGE_VERSION}" "\\1" FAAD_VERSION "${_faad_version_line}") ++string(REPLACE "\." ";" FAAD_VERSION_PARTS ${FAAD_VERSION}) ++list(GET FAAD_VERSION_PARTS 0 FAAD_VERSION_MAJOR) ++list(GET FAAD_VERSION_PARTS 1 FAAD_VERSION_MINOR) ++list(GET FAAD_VERSION_PARTS 2 FAAD_VERSION_PATCH) ++# Semantic -> library version ++# NB(eustas): likely that will be always OK; if not, we could read "overrides" from properties.json ++math(EXPR FAAD_ABI_VERSION_CURRENT "${FAAD_VERSION_MAJOR} + ${FAAD_VERSION_MINOR}") ++set(FAAD_ABI_VERSION_AGE "${FAAD_VERSION_MINOR}") ++set(FAAD_ABI_VERSION_REVISION "${FAAD_VERSION_PATCH}") ++set(FAAD_ABI_COMPATIBILITY "${FAAD_VERSION_MAJOR}") + + message(STATUS "FAAD PACKAGE_VERSION: ${FAAD_VERSION}") +-mark_as_advanced(FAAD_VERSION) ++mark_as_advanced(FAAD_VERSION FAAD_ABI_COMPATIBILITY FAAD_ABI_VERSION_AGE FAAD_ABI_VERSION_REVISION) + + file(READ include/faad.h.in FAAD_H_SRC) + string(REGEX REPLACE "@VERSION@" "${FAAD_VERSION}" FAAD_H_SRC ${FAAD_H_SRC}) +@@ -187,6 +196,13 @@ endfunction() + + transform_pc_file("libfaad/faad2.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/faad2.pc" "${FAAD_VERSION}") + ++foreach(LIB faad faad_drm faad_fixed faad_drm_fixed) ++ set_target_properties(${LIB} PROPERTIES ++ VERSION "${FAAD_ABI_COMPATIBILITY}.${FAAD_ABI_VERSION_AGE}.${FAAD_ABI_VERSION_REVISION}" ++ SOVERSION "${FAAD_ABI_COMPATIBILITY}" ++ ) ++endforeach() ++ + # CLI + + add_executable(faad_cli ${FAAD_SOURCES}) |