Browse Source

Merge pull request #10806 from micmac1/libzip-fts

libzip: fix musl-fts failure
lilik-openwrt-22.03
Michael Heimpold 5 years ago
committed by GitHub
parent
commit
7fdbf40278
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 2 deletions
  1. +2
    -2
      libs/libzip/Makefile
  2. +42
    -0
      libs/libzip/patches/01-link-fts.patch

+ 2
- 2
libs/libzip/Makefile View File

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libzip
PKG_VERSION:=1.5.2
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://libzip.org/download/
@ -50,7 +50,7 @@ define Package/zipcmp
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Compression
DEPENDS:=+libzip
DEPENDS:=+libzip +USE_MUSL:musl-fts
endef
define Package/zipcmp/description


+ 42
- 0
libs/libzip/patches/01-link-fts.patch View File

@ -0,0 +1,42 @@
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -6,7 +6,7 @@ IF(NOT HAVE_GETOPT)
ENDIF(NOT HAVE_GETOPT)
ADD_EXECUTABLE(zipcmp zipcmp.c ${SRC_EXTRA_FILES})
-TARGET_LINK_LIBRARIES(zipcmp zip)
+TARGET_LINK_LIBRARIES(zipcmp zip ${FTS_LIB})
INSTALL(TARGETS zipcmp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
ADD_EXECUTABLE(zipmerge zipmerge.c ${SRC_EXTRA_FILES})
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,6 +22,7 @@ OPTION(BUILD_DOC "Build documentation" O
INCLUDE(CheckFunctionExists)
INCLUDE(CheckIncludeFiles)
+INCLUDE(CheckLibraryExists)
INCLUDE(CheckSymbolExists)
INCLUDE(CheckTypeSize)
INCLUDE(CheckCSourceRuns)
@@ -158,6 +159,20 @@ CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTO
CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL)
CHECK_INCLUDE_FILES("sys/types.h;sys/stat.h;fts.h" HAVE_FTS_H)
+# fts functions may be in external library
+IF(HAVE_FTS_H)
+ CHECK_FUNCTION_EXISTS(fts_open HAVE_FTS_OPEN)
+ IF(NOT HAVE_FTS_OPEN)
+ CHECK_LIBRARY_EXISTS(fts fts_open "" HAVE_LIB_FTS)
+ ENDIF(NOT HAVE_FTS_OPEN)
+ENDIF(HAVE_FTS_H)
+
+IF(HAVE_LIB_FTS)
+ SET(FTS_LIB fts)
+ELSE()
+ SET(FTS_LIB "")
+ENDIF()
+
CHECK_INCLUDE_FILES(stdbool.h HAVE_STDBOOL_H)
CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H)
CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)

Loading…
Cancel
Save