aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Pastor <dg0yt@darc.de>2021-09-01 05:39:38 +0200
committerGitHub <noreply@github.com>2021-08-31 20:39:38 -0700
commit5bc27e8a5073ba139e29432a1b0d8ced50794a41 (patch)
tree2e4e2ea0b2dab5427f330e2332ed2cf35a14fb3d
parent18b793e28a55957f4abad9150872ec5f4d33cfbd (diff)
downloadvcpkg-5bc27e8a5073ba139e29432a1b0d8ced50794a41.tar.gz
vcpkg-5bc27e8a5073ba139e29432a1b0d8ced50794a41.zip
[freexl] Fix mingw, cleanup (#19504)
* New port version, format manifest * Revise portfile * Add mingw support * Add libiconv dependency to pc file * x-add-version * Apply PR comment * x-add-version
-rw-r--r--ports/freexl/CONTROL6
-rw-r--r--ports/freexl/fix-pc-file.patch26
-rw-r--r--ports/freexl/portfile.cmake73
-rw-r--r--ports/freexl/vcpkg.json10
-rw-r--r--versions/baseline.json2
-rw-r--r--versions/f-/freexl.json5
6 files changed, 68 insertions, 54 deletions
diff --git a/ports/freexl/CONTROL b/ports/freexl/CONTROL
deleted file mode 100644
index 3855a9cad..000000000
--- a/ports/freexl/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: freexl
-Version: 1.0.4
-Port-Version: 11
-Homepage: https://www.gaia-gis.it/gaia-sins/freexl-sources
-Description: FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet
-Build-Depends: libiconv
diff --git a/ports/freexl/fix-pc-file.patch b/ports/freexl/fix-pc-file.patch
new file mode 100644
index 000000000..5a429026d
--- /dev/null
+++ b/ports/freexl/fix-pc-file.patch
@@ -0,0 +1,26 @@
+diff --git a/configure.ac b/configure.ac
+index a44dbf4..55bd768 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -64,9 +64,11 @@ AC_CONFIG_FILES([Makefile \
+ AC_CHECK_HEADERS(iconv.h,, [AC_MSG_ERROR([cannot find iconv.h, bailing out])])
+ # on some systems "iconv()" lives in libc. On others it lives in libiconv
+ # on older systems "libiconv()" lives in libiconv
++SAVED_LIBS="${LIBS}"
+ AC_SEARCH_LIBS(iconv,iconv,,
+ AC_SEARCH_LIBS(libiconv,iconv,,AC_MSG_ERROR(['libiconv' is required but it doesn't seem to be installed on this system.]),))
+ AC_SEARCH_LIBS(locale_charset,charset,,
+ AC_SEARCH_LIBS(nl_langinfo,c,,AC_MSG_ERROR(['libcharset' is required but it doesn't seem to be installed on this system.]),))
++AC_SUBST(ICONV_LIBS, "${LIBS%${SAVED_LIBS}}")
+
+ AC_OUTPUT
+
+diff --git a/freexl.pc.in b/freexl.pc.in
+index 5813e68..8fc671d 100644
+--- a/freexl.pc.in
++++ b/freexl.pc.in
+@@ -10,3 +10,4 @@ Description: a simple library extracting data from .xls (Excel BIFF) files
+ Version: @VERSION@
+ Libs: -L${libdir} -lfreexl -lm
+ Cflags: -I${includedir}
++Libs.private: @ICONV_LIBS@
diff --git a/ports/freexl/portfile.cmake b/ports/freexl/portfile.cmake
index 6b4998b67..12834382f 100644
--- a/ports/freexl/portfile.cmake
+++ b/ports/freexl/portfile.cmake
@@ -6,15 +6,16 @@ vcpkg_download_distfile(ARCHIVE
SHA512 d72561f7b82e0281cb211fbf249e5e45411a7cdd009cfb58da3696f0a0341ea7df210883bfde794be28738486aeb4ffc67ec2c98fd2acde5280e246e204ce788
)
-if (VCPKG_TARGET_IS_WINDOWS)
- vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
- PATCHES
- fix-makefiles.patch
- fix-sources.patch
- )
-
+vcpkg_extract_source_archive_ex(
+ ARCHIVE "${ARCHIVE}"
+ OUT_SOURCE_PATH SOURCE_PATH
+ PATCHES
+ fix-makefiles.patch
+ fix-sources.patch
+ fix-pc-file.patch
+)
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
set(LIBS_ALL_DBG
"\"${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib\" \
\"${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib\""
@@ -25,7 +26,7 @@ if (VCPKG_TARGET_IS_WINDOWS)
)
vcpkg_install_nmake(
- SOURCE_PATH ${SOURCE_PATH}
+ SOURCE_PATH "${SOURCE_PATH}"
OPTIONS_DEBUG
INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}/debug"
INST_DIR="${CURRENT_PACKAGES_DIR}/debug"
@@ -37,55 +38,33 @@ if (VCPKG_TARGET_IS_WINDOWS)
"LINK_FLAGS="
"LIBS_ALL=${LIBS_ALL_REL}"
)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
- file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright)
- if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib)
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib")
+ file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib")
else()
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
+ file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/freexl.lib")
+ file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib")
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
+ file(RENAME "${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib" "${CURRENT_PACKAGES_DIR}/lib/freexl.lib")
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
+ file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib")
endif()
endif()
-elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX
+else() # Build in UNIX
- vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
- )
- file(REMOVE_RECURSE "${SOURCE_PATH}/configure")
vcpkg_configure_make(
- AUTOCONFIG
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG
- INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}"
- "LINK_FLAGS=/debug"
- "CL_FLAGS=${CL_FLAGS_DBG}"
- "LIBS_ALL=${LIBS_ALL_DBG}"
- OPTIONS_RELEASE
- INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}"
- "LINK_FLAGS="
- "CL_FLAGS=${CL_FLAGS_REL}"
- "LIBS_ALL=${LIBS_ALL_REL}"
+ SOURCE_PATH "${SOURCE_PATH}"
+ AUTOCONFIG
)
-
vcpkg_install_make()
- vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m)
-
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
- file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright)
+ vcpkg_fixup_pkgconfig()
-else()# Other build system
- message(FATAL_ERROR "Unsupported build system.")
endif()
-message(STATUS "Packaging ${TARGET_TRIPLET} done")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/freexl/vcpkg.json b/ports/freexl/vcpkg.json
new file mode 100644
index 000000000..3a19e5770
--- /dev/null
+++ b/ports/freexl/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "freexl",
+ "version-string": "1.0.4",
+ "port-version": 12,
+ "description": "FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet",
+ "homepage": "https://www.gaia-gis.it/gaia-sins/freexl-sources",
+ "dependencies": [
+ "libiconv"
+ ]
+}
diff --git a/versions/baseline.json b/versions/baseline.json
index b4480c5be..95ead45b4 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -2158,7 +2158,7 @@
},
"freexl": {
"baseline": "1.0.4",
- "port-version": 11
+ "port-version": 12
},
"fribidi": {
"baseline": "1.0.10",
diff --git a/versions/f-/freexl.json b/versions/f-/freexl.json
index 8883043b5..8df61ab96 100644
--- a/versions/f-/freexl.json
+++ b/versions/f-/freexl.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "26e9d42e555e69bf1ea1747739daf3d6551bb46b",
+ "version-string": "1.0.4",
+ "port-version": 12
+ },
+ {
"git-tree": "eb377ce039ce22eaec25f3bf81668c5d77bec086",
"version-string": "1.0.4",
"port-version": 11