Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new package] zlib-ng 2.2.2 #20844

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions mingw-w64-zlib-ng/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>

_realname=zlib-ng
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
"${MINGW_PACKAGE_PREFIX}-${_realname}-compat")
pkgver=2.2.2
pkgrel=1
pkgdesc='Zlib replacement with optimizations for "next generation" systems (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://github.com/zlib-ng/zlib-ng'
license=('spdx:Zlib')
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc")
source=("${url}/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
"remove-lib-prefix.patch")
sha256sums=('fcb41dd59a3f17002aeb1bb21f04696c9b721404890bb945c5ab39d2cb69654c'
'3c4f856dc238df41e393911aff0bfd86bc48e0403aa976576b33650703287404')

prepare() {
cd "${srcdir}/${_realname}-${pkgver}"

patch -Np1 -i "${srcdir}/remove-lib-prefix.patch"
}

build() {
declare -a _cmake_opts=(
-GNinja
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}"
-DCMAKE_INSTALL_LIBDIR=lib
-DWITH_GTEST=OFF
-DWITH_UNALIGNED=OFF
-DZLIB_ENABLE_TESTS=OFF
-DZLIBNG_ENABLE_TESTS=OFF
)
if check_option "debug" "n"; then
_cmake_opts+=("-DCMAKE_BUILD_TYPE=Release")
else
_cmake_opts+=("-DCMAKE_BUILD_TYPE=Debug")
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
"${_cmake_opts[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}-static"

"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}-static"

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
"${_cmake_opts[@]}" \
-DBUILD_SHARED_LIBS=ON \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}-shared"

"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}-shared"

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
"${_cmake_opts[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-DZLIB_COMPAT=ON \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}-static-compat"

"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}-static-compat"

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake.exe \
"${_cmake_opts[@]}" \
-DBUILD_SHARED_LIBS=ON \
-DZLIB_COMPAT=ON \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}-shared-compat"

"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}-shared-compat"
}

package_zlib-ng() {
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install "build-${MSYSTEM}-static"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install "build-${MSYSTEM}-shared"
rm -f "${pkgdir}${MINGW_PREFIX}"/lib/*.dll

install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.md" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.md"
}

package_zlib-ng-compat() {
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install "build-${MSYSTEM}-static-compat"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install "build-${MSYSTEM}-shared-compat"
rm -f "${pkgdir}${MINGW_PREFIX}"/lib/*.dll

provides=("${MINGW_PACKAGE_PREFIX}-zlib")
conflicts=("${MINGW_PACKAGE_PREFIX}-zlib")

install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.md" "${pkgdir}${MINGW_PREFIX}/share/licenses/zlib/LICENSE.md"
}

# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :

# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;
77 changes: 77 additions & 0 deletions mingw-w64-zlib-ng/remove-lib-prefix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 719673fb..8b75385f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1168,9 +1168,9 @@ endif()
# In case ZLIB_COMPAT=OFF, the CMake target and file follows zlib-ng naming convention
if (ZLIB_COMPAT)
if (TARGET zlib)
- set_target_properties(zlib PROPERTIES EXPORT_NAME ZLIB)
+ set_target_properties(zlib PROPERTIES EXPORT_NAME ZLIB PREFIX "")
else()
- set_target_properties(zlibstatic PROPERTIES EXPORT_NAME ZLIB)
+ set_target_properties(zlibstatic PROPERTIES EXPORT_NAME ZLIB PREFIX "")
endif()
endif()

@@ -1190,20 +1190,20 @@ endforeach()
if(WIN32)
# Shared library
if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
- set_target_properties(zlib PROPERTIES OUTPUT_NAME zlib${SUFFIX})
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME zlib${SUFFIX} PREFIX "")
endif()
# Static library
if(NOT DEFINED BUILD_SHARED_LIBS)
if(MSVC)
set_target_properties(zlibstatic PROPERTIES OUTPUT_NAME zlibstatic${SUFFIX})
else()
- set_target_properties(zlibstatic PROPERTIES OUTPUT_NAME z${SUFFIX})
+ set_target_properties(zlibstatic PROPERTIES OUTPUT_NAME zlib${SUFFIX} PREFIX "")
endif()
elseif(NOT BUILD_SHARED_LIBS)
if(MSVC)
set_target_properties(zlib PROPERTIES OUTPUT_NAME zlibstatic${SUFFIX})
else()
- set_target_properties(zlib PROPERTIES OUTPUT_NAME z${SUFFIX})
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME zlib${SUFFIX} PREFIX "")
endif()
endif()
else()
@@ -1212,12 +1212,12 @@ else()
endif()

if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
- set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
+ set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL PREFIX "")

if(ZLIB_COMPAT)
- set_target_properties(zlib PROPERTIES SOVERSION 1)
+ set_target_properties(zlib PROPERTIES SOVERSION 1 PREFIX "")
else()
- set_target_properties(zlib PROPERTIES SOVERSION 2)
+ set_target_properties(zlib PROPERTIES SOVERSION 2 PREFIX "")
endif()

if(NOT CYGWIN)
@@ -1228,7 +1228,7 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
#
# This has no effect with MSVC, on that platform the version info for
# the DLL comes from the resource file win32/zlib1.rc
- set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION})
+ set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION} PREFIX "")
endif()

if(UNIX)
@@ -1249,9 +1249,9 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
elseif(WIN32)
# Creates zlib1.dll when building shared library version
if(ZLIB_COMPAT)
- set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
+ set_target_properties(zlib PROPERTIES SUFFIX "1.dll" PREFIX "")
else()
- set_target_properties(zlib PROPERTIES SUFFIX "2.dll")
+ set_target_properties(zlib PROPERTIES SUFFIX "2.dll" PREFIX "")
endif()
endif()
endif()