libpng: properly fix zlib issue
The previous commit meant to avoid adding an LDFLAG but it just avoided the issue. The real issue is PNG_BUILD_ZLIB being turned to ON. This variable is for specifying a custom zlib location, which is not necessary. Switching it to OFF calls find_package and links properly. Backported two zlib related patches. The latter is a somewhat impoarant fix. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
fdaa53cd94
commit
2991c20c61
3 changed files with 91 additions and 2 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=libpng
|
PKG_NAME:=libpng
|
||||||
PKG_VERSION:=1.6.37
|
PKG_VERSION:=1.6.37
|
||||||
PKG_RELEASE:=9
|
PKG_RELEASE:=10
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@SF/libpng
|
PKG_SOURCE_URL:=@SF/libpng
|
||||||
|
@ -35,7 +35,7 @@ endef
|
||||||
|
|
||||||
CMAKE_OPTIONS += \
|
CMAKE_OPTIONS += \
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||||
-DPNG_BUILD_ZLIB=ON \
|
-DPNG_BUILD_ZLIB=OFF \
|
||||||
-DPNG_SHARED=ON \
|
-DPNG_SHARED=ON \
|
||||||
-DPNG_STATIC=ON \
|
-DPNG_STATIC=ON \
|
||||||
-DPNG_EXECUTABLES=OFF \
|
-DPNG_EXECUTABLES=OFF \
|
||||||
|
|
67
libs/libpng/patches/020-cmake-zlib.patch
Normal file
67
libs/libpng/patches/020-cmake-zlib.patch
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
From 9f734b13f4ea062af98652c4c7678f667d2d85c7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Callu <callu.david@gmail.com>
|
||||||
|
Date: Thu, 4 Jul 2019 15:15:53 +0200
|
||||||
|
Subject: [PATCH] cmake: Use the correct ZLIB_* variable names
|
||||||
|
|
||||||
|
ZLIB_LIBRARIES and ZLIB_INCLUDE_DIRS are the official cmake variable
|
||||||
|
names.
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 15 ++++++++-------
|
||||||
|
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -40,7 +40,7 @@ option(PNG_BUILD_ZLIB "Custom zlib Locat
|
||||||
|
|
||||||
|
if(NOT PNG_BUILD_ZLIB)
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
- include_directories(${ZLIB_INCLUDE_DIR})
|
||||||
|
+ include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
|
||||||
|
@@ -523,7 +523,7 @@ if(PNG_DEBUG)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# NOW BUILD OUR TARGET
|
||||||
|
-include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
|
||||||
|
+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
unset(PNG_LIB_TARGETS)
|
||||||
|
|
||||||
|
@@ -537,7 +537,7 @@ if(PNG_SHARED)
|
||||||
|
set_target_properties(png PROPERTIES PREFIX "lib")
|
||||||
|
set_target_properties(png PROPERTIES IMPORT_PREFIX "lib")
|
||||||
|
endif()
|
||||||
|
- target_link_libraries(png ${ZLIB_LIBRARY} ${M_LIBRARY})
|
||||||
|
+ target_link_libraries(png ${ZLIB_LIBRARIES} ${M_LIBRARY})
|
||||||
|
|
||||||
|
if(UNIX AND AWK)
|
||||||
|
if(HAVE_LD_VERSION_SCRIPT)
|
||||||
|
@@ -572,7 +572,7 @@ if(PNG_STATIC)
|
||||||
|
# msvc does not append 'lib' - do it here to have consistent name
|
||||||
|
set_target_properties(png_static PROPERTIES PREFIX "lib")
|
||||||
|
endif()
|
||||||
|
- target_link_libraries(png_static ${ZLIB_LIBRARY} ${M_LIBRARY})
|
||||||
|
+ target_link_libraries(png_static ${ZLIB_LIBRARIES} ${M_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PNG_FRAMEWORK)
|
||||||
|
@@ -589,7 +589,7 @@ if(PNG_FRAMEWORK)
|
||||||
|
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
|
||||||
|
PUBLIC_HEADER "${libpng_public_hdrs}"
|
||||||
|
OUTPUT_NAME png)
|
||||||
|
- target_link_libraries(png_framework ${ZLIB_LIBRARY} ${M_LIBRARY})
|
||||||
|
+ target_link_libraries(png_framework ${ZLIB_LIBRARIES} ${M_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT PNG_LIB_TARGETS)
|
||||||
|
@@ -754,7 +754,7 @@ if(PNG_SHARED AND PNG_EXECUTABLES)
|
||||||
|
set(PNG_BIN_TARGETS pngfix)
|
||||||
|
|
||||||
|
add_executable(png-fix-itxt ${png_fix_itxt_sources})
|
||||||
|
- target_link_libraries(png-fix-itxt ${ZLIB_LIBRARY} ${M_LIBRARY})
|
||||||
|
+ target_link_libraries(png-fix-itxt ${ZLIB_LIBRARIES} ${M_LIBRARY})
|
||||||
|
list(APPEND PNG_BIN_TARGETS png-fix-itxt)
|
||||||
|
endif()
|
||||||
|
|
22
libs/libpng/patches/030-pkgconfig-zlib.patch
Normal file
22
libs/libpng/patches/030-pkgconfig-zlib.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
From dbe3e0c43e549a1602286144d94b0666549b18e6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
||||||
|
Date: Mon, 19 Mar 2018 12:41:47 -0300
|
||||||
|
Subject: [PATCH] libpng.pc.in: zlib dependency is private
|
||||||
|
|
||||||
|
zlib should be injected only when pkgconfig is ran with the --static
|
||||||
|
option.
|
||||||
|
---
|
||||||
|
libpng.pc.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/libpng.pc.in
|
||||||
|
+++ b/libpng.pc.in
|
||||||
|
@@ -6,7 +6,7 @@ includedir=@includedir@/libpng@PNGLIB_MA
|
||||||
|
Name: libpng
|
||||||
|
Description: Loads and saves PNG files
|
||||||
|
Version: @PNGLIB_VERSION@
|
||||||
|
-Requires: zlib
|
||||||
|
+Requires.private: zlib
|
||||||
|
Libs: -L${libdir} -lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
|
||||||
|
Libs.private: @LIBS@
|
||||||
|
Cflags: -I${includedir}
|
Loading…
Reference in a new issue