summaryrefslogtreecommitdiff
path: root/net-libs/mbedtls
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
commitd69399c7befdd98cda62d6a1788ae2aa7f104c5e (patch)
treeeac7184f4cfe7d67580c1d0a0d9942a91e6cb4ee /net-libs/mbedtls
parente4d9d6796d5018e338f0b27a3bc97716195bf0b8 (diff)
gentoo auto-resync : 07:01:2025 - 06:41:06
Diffstat (limited to 'net-libs/mbedtls')
-rw-r--r--net-libs/mbedtls/Manifest8
-rw-r--r--net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-all-installable-targets.patch79
-rw-r--r--net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-pkg-config-files.patch71
-rw-r--r--net-libs/mbedtls/files/mbedtls-3.6.2-allow-install-headers-to-different-location.patch105
-rw-r--r--net-libs/mbedtls/files/mbedtls-3.6.2-exclude-static-3dparty.patch22
-rw-r--r--net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild110
-rw-r--r--net-libs/mbedtls/mbedtls-3.6.2-r100.ebuild (renamed from net-libs/mbedtls/mbedtls-3.6.2-r1.ebuild)13
7 files changed, 292 insertions, 116 deletions
diff --git a/net-libs/mbedtls/Manifest b/net-libs/mbedtls/Manifest
index bb4ef40706b6..6777b11a8d4a 100644
--- a/net-libs/mbedtls/Manifest
+++ b/net-libs/mbedtls/Manifest
@@ -1,7 +1,9 @@
-DIST mbedtls-2.28.8.tar.bz2 3343796 BLAKE2B 1efde6698662873c40df9733bae902db4e009f3dd26a937e05707ca1a208b71675df0737b44b5895a60cfbf42f18f92dae88cba62f32b55733947b9c0481880e SHA512 c8e91ec50ab2caf1f33e907279dc30fca2a8cd97e6e531be857149589e52aeffb95b445b2a9fa674886f0071f446381da3bb8107f7e850f3390128b069ac9ea7
+AUX mbedtls-3.6.2-add-version-suffix-for-all-installable-targets.patch 3878 BLAKE2B 3388a13d57cfeb7b8edc360ba6aa1f666f119ec7ff52810af3f10ac2e1995bb7899ea0175a11f0162c1b46587457f3fdfe4f8ee4f7765cf32508dbfd87db15aa SHA512 6611e57fefd6d4deb57530fa4dbade10effadd17ca5f95359c69d18056d5c56d6d013927e6338d928d10cc8d882a3de529f1c68f37869e9343fd57f6e85a1f9d
+AUX mbedtls-3.6.2-add-version-suffix-for-pkg-config-files.patch 3025 BLAKE2B c6cafa26e0613cd286d81c34d97aa041cc873898d3064063ce9eb5d4e2cd2370c23a02a62bd105c32d9cbaa9086fbc4fce5dfff361e77a7a4f30936ab27814fb SHA512 92e282d85b1244645d82d13a7cfb6196a7fe2035a5f3a5bffbcd4b07349aacc15c44f6b37ba3c94721ea6e8be26f7fba4eb624a46da78dadb016aabc4881aba4
+AUX mbedtls-3.6.2-allow-install-headers-to-different-location.patch 3786 BLAKE2B 10be2d1f3bdc55b5b817bf94dced8c087713dcf5b89cdb675033027bbdba6e46a356d49ac8aa18ac3282bea808193d13ebc60d99f6c651f280f3c82da9bfd8ce SHA512 15d5abf92d347404825ff05b939546c551acafb6ddcbb341c5d62d8fd91b89d17fcb702c79b8de261fb583f35f6cffc42c0dcf1722d375d65a56d069633ffb2c
+AUX mbedtls-3.6.2-exclude-static-3dparty.patch 590 BLAKE2B a8e51e823f94663c025ece074f7afd89f0d1394111b21be320c78a0667d74cde08496da425323e209e1d3538229dd8c0668aa3e42db9d954cfd4feaa6c5ecc13 SHA512 4ff687509526131f5d1eaacc15a8763866f5568fef46afb1dc0d3920568c2ecda20fa40aee76dddc2d120fd343f8bd282f068dabd15347ae464974815f206c4f
DIST mbedtls-2.28.9.tar.bz2 3357068 BLAKE2B 14b845f826c3a1953ca3ab82d2f557d8fe6f1a2f57b31134c89933571a87ab9027de50f8f094d4086509d60e38d4c82ac67180f848aa6d06f3ce9f390c8ed63c SHA512 305f97c0b0ba7d57639532a24600234d8f849a4a5795773673b31cc1fdcd1cd56aea42bec2ff87439296e1528dcc2bed5e2a29fbdbf7edad4f5c4da232079d99
DIST mbedtls-3.6.2.tar.bz2 4979769 BLAKE2B dbf34ca3cffca7a9bdb10191bd58971583ae3f2cdef3e350ccda08eae2e7b52f5fd4d1aff5582ee120b6e35e6843d7dd323ba7da5f1428c16130e5ed7c0d689e SHA512 7ab3b1ec179681949e1b0d171e04f75a605ae9ed8177cf3f6f27c401efca4aff930437ecc425c9a994d36f50ddd6f0f0dd7feeb42251128ac875b4c57fe3811b
-EBUILD mbedtls-2.28.8-r1.ebuild 2980 BLAKE2B dd7a9f676873de5331eb5ba05eaab78db29dc5b6f160296e31aaba08589703c8f593df323ca32ff47fb3a979e9983a26aae16dfe90fe69780c51c0bb19898ad6 SHA512 5f0eaf264c8dc4a857964a00dcf8abcb90b2f288f98f61efa558bdc33b6a2579a0e6bf9c53fb803cc72ee70cff4870fe8bb2c7a4018f2a836f3d46de1d495c9f
EBUILD mbedtls-2.28.9-r1.ebuild 2977 BLAKE2B 7cff1791e89944adb555305436b61a335698ba87b096b9f3a252e2dd0a3fc001577d19e359e36273bf158e36d6c256de1010323e62fe9403ea7d7189e07e9bc7 SHA512 b866cd79a56cfb851a2a3a9de508bcb1f23cc27400a2ed9633ebe4dfb471b8c5e4917fd6c3597eb4a0a5d1b1eb92522d2801614d634a926c3049f4df553e86ea
-EBUILD mbedtls-3.6.2-r1.ebuild 2692 BLAKE2B f97652d35818ae78f9d429e253ecd57815ef633090a5d55061761608cf55220df8c1cc07ce9d36d79e0033f65516c13b6e8a150075c012940849deeed62e9346 SHA512 0df1ad4a169e18051d7e2b35b0813854715256dbd24a8accd2e4daa5c285bc3ee878673eeb5b7373e04fd3fbbadd939286719748788d8eec874d9b12451712fe
+EBUILD mbedtls-3.6.2-r100.ebuild 3028 BLAKE2B 6748fa1b8ed0a77af3bce470b58abea95b30a6a8ea06adda6f45de73d44e900bcd4928a8fd6dc819f951c0f4d169eefa0705fd32a5f1c26196655e0f080906e0 SHA512 64eacb202f1fbe2ac0250a1c0a28d6fa985fe2026235812d29dab4c18afdf89a0ed73ce5bdbb1439100afb9c171946029d1dcd8ef05bc0493a8106ca5050d47c
MISC metadata.xml 1058 BLAKE2B 6b3d24de59849c4fe1a629007300b3bc85aa9e7808e54f91a257c5d9de5eaf7b0567ad248aa928ea6b30a8977ff2d70410721bb03a7839c3f97d7d1c5f416e13 SHA512 8f8a6fef48532d23d10efc7a2334606840ae80d46373a423ab1898950e23487587c8babca2aacfbe7fa5dd4d1327d42e171ad01235f813541acfce27a0fa968b
diff --git a/net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-all-installable-targets.patch b/net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-all-installable-targets.patch
new file mode 100644
index 000000000000..3aeea6060da7
--- /dev/null
+++ b/net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-all-installable-targets.patch
@@ -0,0 +1,79 @@
+https://github.com/Mbed-TLS/mbedtls/pull/9876
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 1 Dec 2024 00:49:15 +0300
+Subject: Add version suffix for all installable targets
+
+Convert main library targets to slottable versions. This allows to
+install major versions of MbedTLS simultaneously.
+
+Dependent packages should use `find_package(MbedTLS 3 [REQUIRED])` and
+`MbedTLS::<component>` in order to use requested libraries.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -478,7 +478,7 @@ if(NOT DISABLE_PACKAGE_CONFIG_AND_INSTALL)
+ install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/MbedTLSConfig.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake/MbedTLSConfigVersion.cmake"
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/MbedTLS")
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/MbedTLS-${PROJECT_VERSION_MAJOR}")
+
+ export(
+ EXPORT MbedTLSTargets
+@@ -488,7 +488,7 @@ if(NOT DISABLE_PACKAGE_CONFIG_AND_INSTALL)
+ install(
+ EXPORT MbedTLSTargets
+ NAMESPACE MbedTLS::
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/MbedTLS"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/MbedTLS-${PROJECT_VERSION_MAJOR}"
+ FILE "MbedTLSTargets.cmake")
+
+ if(CMAKE_VERSION VERSION_GREATER 3.15 OR CMAKE_VERSION VERSION_EQUAL 3.15)
+--- a/library/CMakeLists.txt
++++ b/library/CMakeLists.txt
+@@ -277,7 +277,7 @@ set(everest_target "${MBEDTLS_TARGET_PREFIX}everest")
+
+ if(USE_STATIC_MBEDTLS_LIBRARY)
+ add_library(${mbedcrypto_static_target} STATIC ${src_crypto})
+- set_target_properties(${mbedcrypto_static_target} PROPERTIES OUTPUT_NAME mbedcrypto)
++ set_target_properties(${mbedcrypto_static_target} PROPERTIES OUTPUT_NAME mbedcrypto${PROJECT_VERSION_MAJOR})
+ target_link_libraries(${mbedcrypto_static_target} PUBLIC ${libs})
+
+ if(TARGET ${everest_target})
+@@ -289,11 +289,11 @@ if(USE_STATIC_MBEDTLS_LIBRARY)
+ endif()
+
+ add_library(${mbedx509_static_target} STATIC ${src_x509})
+- set_target_properties(${mbedx509_static_target} PROPERTIES OUTPUT_NAME mbedx509)
++ set_target_properties(${mbedx509_static_target} PROPERTIES OUTPUT_NAME mbedx509${PROJECT_VERSION_MAJOR})
+ target_link_libraries(${mbedx509_static_target} PUBLIC ${libs} ${mbedcrypto_static_target})
+
+ add_library(${mbedtls_static_target} STATIC ${src_tls})
+- set_target_properties(${mbedtls_static_target} PROPERTIES OUTPUT_NAME mbedtls)
++ set_target_properties(${mbedtls_static_target} PROPERTIES OUTPUT_NAME mbedtls${PROJECT_VERSION_MAJOR})
+ target_link_libraries(${mbedtls_static_target} PUBLIC ${libs} ${mbedx509_static_target})
+ endif(USE_STATIC_MBEDTLS_LIBRARY)
+
+@@ -301,6 +301,7 @@ if(USE_SHARED_MBEDTLS_LIBRARY)
+ set(CMAKE_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR})
+ add_library(${mbedcrypto_target} SHARED ${src_crypto})
+ set_target_properties(${mbedcrypto_target} PROPERTIES VERSION 3.6.2 SOVERSION 16)
++ set_target_properties(${mbedcrypto_target} PROPERTIES OUTPUT_NAME mbedcrypto${PROJECT_VERSION_MAJOR})
+ target_link_libraries(${mbedcrypto_target} PUBLIC ${libs})
+
+ if(TARGET ${everest_target})
+@@ -313,10 +314,12 @@ if(USE_SHARED_MBEDTLS_LIBRARY)
+
+ add_library(${mbedx509_target} SHARED ${src_x509})
+ set_target_properties(${mbedx509_target} PROPERTIES VERSION 3.6.2 SOVERSION 7)
++ set_target_properties(${mbedx509_target} PROPERTIES OUTPUT_NAME mbedx509${PROJECT_VERSION_MAJOR})
+ target_link_libraries(${mbedx509_target} PUBLIC ${libs} ${mbedcrypto_target})
+
+ add_library(${mbedtls_target} SHARED ${src_tls})
+ set_target_properties(${mbedtls_target} PROPERTIES VERSION 3.6.2 SOVERSION 21)
++ set_target_properties(${mbedtls_target} PROPERTIES OUTPUT_NAME mbedtls${PROJECT_VERSION_MAJOR})
+ target_link_libraries(${mbedtls_target} PUBLIC ${libs} ${mbedx509_target})
+ endif(USE_SHARED_MBEDTLS_LIBRARY)
+
+--
+2.45.2
+
diff --git a/net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-pkg-config-files.patch b/net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-pkg-config-files.patch
new file mode 100644
index 000000000000..4e3858b327cd
--- /dev/null
+++ b/net-libs/mbedtls/files/mbedtls-3.6.2-add-version-suffix-for-pkg-config-files.patch
@@ -0,0 +1,71 @@
+https://github.com/Mbed-TLS/mbedtls/pull/9876
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 1 Dec 2024 00:54:10 +0300
+Subject: Add version suffix for pkg-config files
+
+Convert main library targets to slottable versions. This allows to
+install major versions of MbedTLS simultaneously.
+
+Dependent packages should use
+`pkg-config --libs --cflags (mbedtls3|mbedx5093|mbedx5093)` in order to use
+requested libraries.
+--- a/pkgconfig/CMakeLists.txt
++++ b/pkgconfig/CMakeLists.txt
+@@ -8,18 +8,18 @@ if(NOT DISABLE_PACKAGE_CONFIG_AND_INSTALL)
+ set(PKGCONFIG_PROJECT_DESCRIPTION "Mbed TLS is a C library that implements cryptographic primitives, X.509 certificate manipulation and the SSL/TLS and DTLS protocols. Its small code footprint makes it suitable for embedded systems.")
+ set(PKGCONFIG_PROJECT_HOMEPAGE_URL "https://www.trustedfirmware.org/projects/mbed-tls/")
+
+- configure_file(mbedcrypto.pc.in mbedcrypto.pc @ONLY)
++ configure_file(mbedcrypto.pc.in mbedcrypto${PROJECT_VERSION_MAJOR}.pc @ONLY)
+ install(FILES
+- ${CMAKE_CURRENT_BINARY_DIR}/mbedcrypto.pc
++ ${CMAKE_CURRENT_BINARY_DIR}/mbedcrypto${PROJECT_VERSION_MAJOR}.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+- configure_file(mbedtls.pc.in mbedtls.pc @ONLY)
++ configure_file(mbedtls.pc.in mbedtls${PROJECT_VERSION_MAJOR}.pc @ONLY)
+ install(FILES
+- ${CMAKE_CURRENT_BINARY_DIR}/mbedtls.pc
++ ${CMAKE_CURRENT_BINARY_DIR}/mbedtls${PROJECT_VERSION_MAJOR}.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+- configure_file(mbedx509.pc.in mbedx509.pc @ONLY)
++ configure_file(mbedx509.pc.in mbedx509${PROJECT_VERSION_MAJOR}.pc @ONLY)
+ install(FILES
+- ${CMAKE_CURRENT_BINARY_DIR}/mbedx509.pc
++ ${CMAKE_CURRENT_BINARY_DIR}/mbedx509${PROJECT_VERSION_MAJOR}.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif()
+--- a/pkgconfig/mbedcrypto.pc.in
++++ b/pkgconfig/mbedcrypto.pc.in
+@@ -7,4 +7,4 @@ Description: @PKGCONFIG_PROJECT_DESCRIPTION@
+ URL: @PKGCONFIG_PROJECT_HOMEPAGE_URL@
+ Version: @PROJECT_VERSION@
+ Cflags: -I"${includedir}"
+-Libs: -L"${libdir}" -lmbedcrypto
++Libs: -L"${libdir}" -lmbedcrypto@PROJECT_VERSION_MAJOR@
+--- a/pkgconfig/mbedtls.pc.in
++++ b/pkgconfig/mbedtls.pc.in
+@@ -6,6 +6,6 @@ Name: @PROJECT_NAME@
+ Description: @PKGCONFIG_PROJECT_DESCRIPTION@
+ URL: @PKGCONFIG_PROJECT_HOMEPAGE_URL@
+ Version: @PROJECT_VERSION@
+-Requires.private: mbedcrypto mbedx509
++Requires.private: mbedcrypto@PROJECT_VERSION_MAJOR@ mbedx509@PROJECT_VERSION_MAJOR@
+ Cflags: -I"${includedir}"
+-Libs: -L"${libdir}" -lmbedtls
++Libs: -L"${libdir}" -lmbedtls@PROJECT_VERSION_MAJOR@
+--- a/pkgconfig/mbedx509.pc.in
++++ b/pkgconfig/mbedx509.pc.in
+@@ -6,6 +6,6 @@ Name: @PROJECT_NAME@
+ Description: @PKGCONFIG_PROJECT_DESCRIPTION@
+ URL: @PKGCONFIG_PROJECT_HOMEPAGE_URL@
+ Version: @PROJECT_VERSION@
+-Requires.private: mbedcrypto
++Requires.private: mbedcrypto@PROJECT_VERSION_MAJOR@
+ Cflags: -I"${includedir}"
+-Libs: -L"${libdir}" -lmbedx509
++Libs: -L"${libdir}" -lmbedx509@PROJECT_VERSION_MAJOR@
+--
+2.45.2
+
diff --git a/net-libs/mbedtls/files/mbedtls-3.6.2-allow-install-headers-to-different-location.patch b/net-libs/mbedtls/files/mbedtls-3.6.2-allow-install-headers-to-different-location.patch
new file mode 100644
index 000000000000..2b3ae9fb6999
--- /dev/null
+++ b/net-libs/mbedtls/files/mbedtls-3.6.2-allow-install-headers-to-different-location.patch
@@ -0,0 +1,105 @@
+https://github.com/Mbed-TLS/mbedtls/pull/9876
+From 6a0c205d86a96772b82c4d7e7dfce5ea362c7870 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sat, 30 Nov 2024 02:17:17 +0300
+Subject: Allow install headers to different location
+
+Use standard `CMAKE_INSTALL_INCLUDEDIR` and `CMAKE_INSTALL_LIBDIR`
+location to define headers and library installation. This variable can be
+redefined on configuration phase to allow install headers and libraries to
+different location (like `include/mbedtls3`, #8723).
+
+Additionally removing explicit permission rules as they may broke proper
+permissions for system installation (like remove executable bit from
+libraries). By default CMake sets permissions correctly on all files and
+directories.
+
+See #8723 for rationale.
+--- a/3rdparty/everest/CMakeLists.txt
++++ b/3rdparty/everest/CMakeLists.txt
+@@ -27,16 +27,16 @@ if(MBEDTLS_USER_CONFIG_FILE)
+ endif()
+
+ if(INSTALL_MBEDTLS_HEADERS)
+-
+ install(DIRECTORY include/everest
+- DESTINATION include
+- FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+- DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ FILES_MATCHING PATTERN "*.h")
+
+ endif(INSTALL_MBEDTLS_HEADERS)
+
+ install(TARGETS ${everest_target}
+ EXPORT MbedTLSTargets
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++)
+--- a/3rdparty/p256-m/CMakeLists.txt
++++ b/3rdparty/p256-m/CMakeLists.txt
+@@ -25,16 +25,16 @@ if(MBEDTLS_USER_CONFIG_FILE)
+ endif()
+
+ if(INSTALL_MBEDTLS_HEADERS)
+-
+- install(DIRECTORY :${CMAKE_CURRENT_SOURCE_DIR}
+- DESTINATION include
+- FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+- DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
++ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ FILES_MATCHING PATTERN "*.h")
+
+ endif(INSTALL_MBEDTLS_HEADERS)
+
+ install(TARGETS ${p256m_target}
+-EXPORT MbedTLSTargets
+-DESTINATION ${CMAKE_INSTALL_LIBDIR}
+-PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
++ EXPORT MbedTLSTargets
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++)
+--- a/include/CMakeLists.txt
++++ b/include/CMakeLists.txt
+@@ -1,16 +1,15 @@
+ option(INSTALL_MBEDTLS_HEADERS "Install Mbed TLS headers." ON)
+
+ if(INSTALL_MBEDTLS_HEADERS)
+-
+ file(GLOB headers "mbedtls/*.h")
+ file(GLOB psa_headers "psa/*.h")
+
+ install(FILES ${headers}
+- DESTINATION include/mbedtls
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mbedtls
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+
+ install(FILES ${psa_headers}
+- DESTINATION include/psa
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/psa
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+
+ endif(INSTALL_MBEDTLS_HEADERS)
+--- a/library/CMakeLists.txt
++++ b/library/CMakeLists.txt
+@@ -348,7 +348,8 @@ foreach(target IN LISTS target_libraries)
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++ )
+ endforeach(target)
+
+ set(lib_target "${MBEDTLS_TARGET_PREFIX}lib")
+--
+2.45.2
+
diff --git a/net-libs/mbedtls/files/mbedtls-3.6.2-exclude-static-3dparty.patch b/net-libs/mbedtls/files/mbedtls-3.6.2-exclude-static-3dparty.patch
new file mode 100644
index 000000000000..1df749854419
--- /dev/null
+++ b/net-libs/mbedtls/files/mbedtls-3.6.2-exclude-static-3dparty.patch
@@ -0,0 +1,22 @@
+https://github.com/Mbed-TLS/mbedtls/pull/8284#issuecomment-2030088495
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 1 Dec 2024 20:56:50 +0300
+Subject: Exclude 3rd party code from building
+
+Third party code is required only for limited features that not enabled by default.
+
+See: https://github.com/Mbed-TLS/mbedtls/pull/8284#issuecomment-2030088495
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -325,8 +325,6 @@ add_subdirectory(framework)
+
+ add_subdirectory(include)
+
+-add_subdirectory(3rdparty)
+-
+ add_subdirectory(library)
+
+ add_subdirectory(pkgconfig)
+--
+2.45.2
+
diff --git a/net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild b/net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild
deleted file mode 100644
index 748942d2e93f..000000000000
--- a/net-libs/mbedtls/mbedtls-2.28.8-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake flag-o-matic multilib-minimal python-any-r1
-
-DESCRIPTION="Cryptographic library for embedded systems"
-HOMEPAGE="https://www.trustedfirmware.org/projects/mbed-tls/"
-SRC_URI="https://github.com/Mbed-TLS/mbedtls/releases/download/v${PV}/${P}.tar.bz2"
-
-LICENSE="|| ( Apache-2.0 GPL-2+ )"
-SLOT="0/7.14.1" # ffmpeg subslot naming: SONAME tuple of {libmbedcrypto.so,libmbedtls.so,libmbedx509.so}
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cmac cpu_flags_x86_sse2 doc havege programs static-libs test threads zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- doc? (
- app-text/doxygen
- media-gfx/graphviz
- )
- test? ( dev-lang/perl )
-"
-
-enable_mbedtls_option() {
- local myopt="$@"
- # check that config.h syntax is the same at version bump
- sed -i \
- -e "s://#define ${myopt}:#define ${myopt}:" \
- include/mbedtls/config.h || die
-}
-
-src_prepare() {
- use cmac && enable_mbedtls_option MBEDTLS_CMAC_C
- use cpu_flags_x86_sse2 && enable_mbedtls_option MBEDTLS_HAVE_SSE2
- use zlib && enable_mbedtls_option MBEDTLS_ZLIB_SUPPORT
- use havege && enable_mbedtls_option MBEDTLS_HAVEGE_C
- use threads && enable_mbedtls_option MBEDTLS_THREADING_C
- use threads && enable_mbedtls_option MBEDTLS_THREADING_PTHREAD
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Workaround for https://github.com/Mbed-TLS/mbedtls/issues/9814 (bug #946544)
- append-flags $(test-flags-CC -fzero-init-padding-bits=unions)
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DENABLE_PROGRAMS=$(multilib_native_usex programs)
- -DENABLE_TESTING=$(usex test)
- -DENABLE_ZLIB_SUPPORT=$(usex zlib)
- -DINSTALL_MBEDTLS_HEADERS=ON
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DLINK_WITH_PTHREAD=$(usex threads)
- -DMBEDTLS_FATAL_WARNINGS=OFF # Don't use -Werror, #744946
- -DUSE_SHARED_MBEDTLS_LIBRARY=ON
- -DUSE_STATIC_MBEDTLS_LIBRARY=$(usex static-libs)
- )
-
- cmake_src_configure
-}
-
-multilib_src_compile() {
- cmake_src_compile
- use doc && multilib_is_native_abi && emake -C "${S}" apidoc
-}
-
-multilib_src_test() {
- # Disable parallel run, bug #718390
- # https://github.com/Mbed-TLS/mbedtls/issues/4980
- LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_DIR}/library" \
- cmake_src_test -j1
-}
-
-multilib_src_install() {
- cmake_src_install
-}
-
-multilib_src_install_all() {
- use doc && HTML_DOCS=( apidoc )
-
- einstalldocs
-
- if use programs ; then
- # avoid file collisions with sys-apps/coreutils
- local p e
- for p in "${ED}"/usr/bin/* ; do
- if [[ -x "${p}" && ! -d "${p}" ]] ; then
- mv "${p}" "${ED}"/usr/bin/mbedtls_${p##*/} || die
- fi
- done
- for e in aes hash pkey ssl test ; do
- docinto "${e}"
- dodoc programs/"${e}"/*.c
- dodoc programs/"${e}"/*.txt
- done
- fi
-}
diff --git a/net-libs/mbedtls/mbedtls-3.6.2-r1.ebuild b/net-libs/mbedtls/mbedtls-3.6.2-r100.ebuild
index 89dea0151ff0..1b2705f0524e 100644
--- a/net-libs/mbedtls/mbedtls-3.6.2-r1.ebuild
+++ b/net-libs/mbedtls/mbedtls-3.6.2-r100.ebuild
@@ -12,11 +12,12 @@ HOMEPAGE="https://www.trustedfirmware.org/projects/mbed-tls/"
SRC_URI="https://github.com/Mbed-TLS/mbedtls/releases/download/${P}/${P}.tar.bz2"
LICENSE="|| ( Apache-2.0 GPL-2+ )"
-SLOT="0/16.21.7" # ffmpeg subslot naming: SONAME tuple of {libmbedcrypto.so,libmbedtls.so,libmbedx509.so}
+SLOT="3/16.21.7" # ffmpeg subslot naming: SONAME tuple of {libmbedcrypto.so,libmbedtls.so,libmbedx509.so}
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="cpu_flags_x86_sse2 doc programs static-libs test threads"
RESTRICT="!test? ( test )"
+RDEPEND="!>net-libs/mbedtls-3:0"
BDEPEND="
${PYTHON_DEPS}
doc? (
@@ -26,6 +27,13 @@ BDEPEND="
test? ( dev-lang/perl )
"
+PATCHES=(
+ "${FILESDIR}/mbedtls-3.6.2-allow-install-headers-to-different-location.patch"
+ "${FILESDIR}/mbedtls-3.6.2-add-version-suffix-for-all-installable-targets.patch"
+ "${FILESDIR}/mbedtls-3.6.2-add-version-suffix-for-pkg-config-files.patch"
+ "${FILESDIR}/mbedtls-3.6.2-exclude-static-3dparty.patch"
+)
+
enable_mbedtls_option() {
local myopt="$@"
# check that config.h syntax is the same at version bump
@@ -45,7 +53,6 @@ src_prepare() {
src_configure() {
# Workaround for https://github.com/Mbed-TLS/mbedtls/issues/9814 (bug #946544)
append-flags $(test-flags-CC -fzero-init-padding-bits=unions)
-
multilib-minimal_src_configure
}
@@ -54,7 +61,7 @@ multilib_src_configure() {
-DENABLE_PROGRAMS=$(multilib_native_usex programs)
-DENABLE_TESTING=$(usex test)
-DINSTALL_MBEDTLS_HEADERS=ON
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ -DCMAKE_INSTALL_INCLUDEDIR="include/mbedtls3"
-DLINK_WITH_PTHREAD=$(usex threads)
-DMBEDTLS_FATAL_WARNINGS=OFF # Don't use -Werror, #744946
-DUSE_SHARED_MBEDTLS_LIBRARY=ON