new bblfs: dev-libs/libzip-1.11.4

This commit is contained in:
2026-01-08 16:24:24 -05:00
parent a9776d58c5
commit 965e87dc74
2 changed files with 136 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
pkgname=libzip
pkgver=1.11.4
pkgdesc="C library for reading, creating, and modifying zip archives"
homepage="https://libzip.org"
license=('BSD')
arch=('x86_64')
depends=('zlib' 'bzip2' 'zstd' 'openssl')
makedepends=('cmake')
_patches=("libzip-1.11.4-mbedtls-3.patch")
_patch_sums=("4fda522afd4a6b37ed08dbfc47baedb3")
sources=("${pkgname}-${pkgver}.tar.xz"
${_patches[@]}
)
urls=("https://www.nih.at/libzip/${sources[0]}"
${_patches[@]}
)
md5sums=("5b53072471ef2ef03505fc6ac06f5835"
${_patch_sums[@]}
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
}
src_build() {
local cmake_args=(
-DCMAKE_BUILD_TYPE=None
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-Wno-dev
-DBUILD_DOC=ON
-DBUILD_OSSFUZZ=OFF
-DBUILD_EXAMPLES=OFF # nothing is installed
-DENABLE_COMMONCRYPTO=OFF # not in tree
-DENABLE_BZIP2=ON
-DENABLE_LZMA=OFF
-DENABLE_ZSTD=ON
-DBUILD_REGRESS=OFF
-DBUILD_TOOLS=OFF
-DENABLE_GNUTLS=OFF
-DENABLE_MBEDTLS=OFF
-DENABLE_OPENSSL=ON
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="${pkgdir}" cmake --install build
install -vDm644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
}
# vim:ft=sh syn=sh et sw=2:

View 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