mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-libs/libzip: migrate to use mbedtls:3
Closes: https://bugs.gentoo.org/956773 Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42311 Closes: https://github.com/gentoo/gentoo/pull/42311 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
9c94a830f1
commit
258feeb0a0
80
dev-libs/libzip/files/libzip-1.11.4-mbedtls-3.patch
Normal file
80
dev-libs/libzip/files/libzip-1.11.4-mbedtls-3.patch
Normal file
@@ -0,0 +1,80 @@
|
||||
From https://github.com/nih-at/libzip/pull/494
|
||||
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
|
||||
Date: Wed, 28 May 2025 22:01:25 +0300
|
||||
Subject: [PATCH] Use MbedTLS 3.6
|
||||
|
||||
Older versions of MbedTLS reached EOL and not supported anymore.
|
||||
MbedTLS 3.6 provides own configuration module for CMake, but some
|
||||
distributions may not iclude it into mbedtls package, so it is
|
||||
reasonable to keep own FindMbedTLS for compatibility.
|
||||
|
||||
Changed MbedTLS::MbedTLS target to MbedTLS::mbedcrypto to follow
|
||||
upstream naming.
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -50,7 +50,7 @@ if(ENABLE_GNUTLS)
|
||||
find_package(GnuTLS)
|
||||
endif()
|
||||
if(ENABLE_MBEDTLS)
|
||||
- find_package(MbedTLS 1.0)
|
||||
+ find_package(MbedTLS 3.6)
|
||||
endif()
|
||||
if(ENABLE_OPENSSL)
|
||||
find_package(OpenSSL)
|
||||
@@ -269,7 +269,7 @@ elseif (OPENSSL_FOUND)
|
||||
elseif (GNUTLS_FOUND AND NETTLE_FOUND)
|
||||
set(HAVE_CRYPTO 1)
|
||||
set(HAVE_GNUTLS 1)
|
||||
-elseif (MBEDTLS_FOUND)
|
||||
+elseif (MbedTLS_FOUND)
|
||||
set(HAVE_CRYPTO 1)
|
||||
set(HAVE_MBEDTLS 1)
|
||||
endif()
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -478,7 +478,6 @@ if(LIBZIP_DO_INSTALL)
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindNettle.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Findzstd.cmake
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindMbedTLS.cmake
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/libzip/modules
|
||||
)
|
||||
--- a/cmake/FindMbedTLS.cmake
|
||||
+++ b/cmake/FindMbedTLS.cmake
|
||||
@@ -41,7 +41,7 @@ Imported Targets
|
||||
|
||||
This module provides the following imported targets, if found:
|
||||
|
||||
-``MbedTLS::MbedTLS``
|
||||
+``MbedTLS::mbedcrypto``
|
||||
The Mbed TLS library
|
||||
|
||||
Result Variables
|
||||
@@ -126,9 +126,9 @@ if(MbedTLS_FOUND)
|
||||
# set(MbedTLS_DEFINITIONS ${PC_MbedTLS_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
-if(MbedTLS_FOUND AND NOT TARGET MbedTLS::MbedTLS)
|
||||
- add_library(MbedTLS::MbedTLS UNKNOWN IMPORTED)
|
||||
- set_target_properties(MbedTLS::MbedTLS PROPERTIES
|
||||
+if(MbedTLS_FOUND AND NOT TARGET MbedTLS::mbedcrypto)
|
||||
+ add_library(MbedTLS::mbedcrypto UNKNOWN IMPORTED)
|
||||
+ set_target_properties(MbedTLS::mbedcrypto PROPERTIES
|
||||
IMPORTED_LOCATION "${MbedTLS_LIBRARY}"
|
||||
# INTERFACE_COMPILE_OPTIONS "${PC_MbedTLS_CFLAGS_OTHER}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${MbedTLS_INCLUDE_DIR}"
|
||||
--- a/lib/CMakeLists.txt
|
||||
+++ b/lib/CMakeLists.txt
|
||||
@@ -167,7 +167,7 @@ elseif(HAVE_OPENSSL)
|
||||
target_link_libraries(zip PRIVATE OpenSSL::Crypto)
|
||||
elseif(HAVE_MBEDTLS)
|
||||
target_sources(zip PRIVATE zip_crypto_mbedtls.c)
|
||||
- target_link_libraries(zip PRIVATE MbedTLS::MbedTLS)
|
||||
+ target_link_libraries(zip PRIVATE MbedTLS::mbedcrypto)
|
||||
endif()
|
||||
|
||||
if(HAVE_CRYPTO)
|
||||
--
|
||||
2.49.0
|
||||
|
||||
86
dev-libs/libzip/libzip-1.11.4-r2.ebuild
Normal file
86
dev-libs/libzip/libzip-1.11.4-r2.ebuild
Normal file
@@ -0,0 +1,86 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CMAKE_REMOVE_MODULES_LIST=( FindMbedTLS )
|
||||
|
||||
inherit cmake flag-o-matic
|
||||
|
||||
DESCRIPTION="Library for manipulating zip archives"
|
||||
HOMEPAGE="https://nih.at/libzip/"
|
||||
SRC_URI="https://www.nih.at/libzip/${P}.tar.xz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/5"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE="bzip2 gnutls lzma mbedtls ssl test tools zstd"
|
||||
REQUIRED_USE="test? ( ssl tools )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib
|
||||
bzip2? ( app-arch/bzip2:= )
|
||||
lzma? ( app-arch/xz-utils )
|
||||
ssl? (
|
||||
gnutls? (
|
||||
dev-libs/nettle:=
|
||||
>=net-libs/gnutls-3.6.5:=
|
||||
)
|
||||
!gnutls? (
|
||||
mbedtls? ( net-libs/mbedtls:3= )
|
||||
!mbedtls? ( dev-libs/openssl:= )
|
||||
)
|
||||
)
|
||||
zstd? ( >=app-arch/zstd-1.4.0:= )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="test? ( dev-util/nihtest )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/libzip-1.11.4-mbedtls-3.patch"
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
append-lfs-flags
|
||||
local mycmakeargs=(
|
||||
-DBUILD_DOC=ON
|
||||
-DBUILD_OSSFUZZ=OFF
|
||||
-DBUILD_EXAMPLES=OFF # nothing is installed
|
||||
-DENABLE_COMMONCRYPTO=OFF # not in tree
|
||||
-DENABLE_BZIP2=$(usex bzip2)
|
||||
-DENABLE_LZMA=$(usex lzma)
|
||||
-DENABLE_ZSTD=$(usex zstd)
|
||||
-DBUILD_REGRESS=$(usex test)
|
||||
-DBUILD_TOOLS=$(usex tools)
|
||||
)
|
||||
|
||||
if use ssl; then
|
||||
if use gnutls; then
|
||||
mycmakeargs+=(
|
||||
-DENABLE_GNUTLS=$(usex gnutls)
|
||||
-DENABLE_MBEDTLS=OFF
|
||||
-DENABLE_OPENSSL=OFF
|
||||
)
|
||||
elif use mbedtls; then
|
||||
mycmakeargs+=(
|
||||
-DENABLE_GNUTLS=OFF
|
||||
-DENABLE_MBEDTLS=$(usex mbedtls)
|
||||
-DENABLE_OPENSSL=OFF
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DENABLE_GNUTLS=OFF
|
||||
-DENABLE_MBEDTLS=OFF
|
||||
-DENABLE_OPENSSL=ON
|
||||
)
|
||||
fi
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DENABLE_GNUTLS=OFF
|
||||
-DENABLE_MBEDTLS=OFF
|
||||
-DENABLE_OPENSSL=OFF
|
||||
)
|
||||
fi
|
||||
cmake_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user