diff options
Diffstat (limited to 'vcpkg/ports/spatialite-tools')
| -rw-r--r-- | vcpkg/ports/spatialite-tools/android-builtin-iconv.diff | 13 | ||||
| -rw-r--r-- | vcpkg/ports/spatialite-tools/configure.diff | 33 | ||||
| -rw-r--r-- | vcpkg/ports/spatialite-tools/fix-makefiles.patch | 134 | ||||
| -rw-r--r-- | vcpkg/ports/spatialite-tools/portfile.cmake | 73 | ||||
| -rw-r--r-- | vcpkg/ports/spatialite-tools/vcpkg.json | 39 |
5 files changed, 292 insertions, 0 deletions
diff --git a/vcpkg/ports/spatialite-tools/android-builtin-iconv.diff b/vcpkg/ports/spatialite-tools/android-builtin-iconv.diff new file mode 100644 index 0000000..a89399c --- /dev/null +++ b/vcpkg/ports/spatialite-tools/android-builtin-iconv.diff @@ -0,0 +1,13 @@ +diff --git a/spatialite_xml2utf8.c b/spatialite_xml2utf8.c +index d88202d..bd524d5 100644 +--- a/spatialite_xml2utf8.c ++++ b/spatialite_xml2utf8.c +@@ -45,7 +45,7 @@ extern const char *locale_charset (void); + #include <localcharset.h> + #endif /* end localcharset */ + #else /* not MINGW32 - WIN32 */ +-#if defined(__APPLE__) || defined(__ANDROID__) ++#if defined(__APPLE__) || (defined(__ANDROID__) && __ANDROID_API__ < 28) + #include <iconv.h> + #include <localcharset.h> + #else /* neither Mac OsX nor Android */ diff --git a/vcpkg/ports/spatialite-tools/configure.diff b/vcpkg/ports/spatialite-tools/configure.diff new file mode 100644 index 0000000..f3aa0da --- /dev/null +++ b/vcpkg/ports/spatialite-tools/configure.diff @@ -0,0 +1,33 @@ +diff --git a/configure.ac b/configure.ac +index 6726e91..22337a8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -28,6 +28,10 @@ AH_TEMPLATE([OMIT_READOSM], + [Should be defined in order to disable ReadOSM support.]) + AH_TEMPLATE([ENABLE_LIBXML2], + [Should be defined in order to enable LIBXML2 support.]) ++ ++PKG_CHECK_MODULES([SQLITE3], [sqlite3], , AC_MSG_ERROR(['sqlite3 is required but it doesn't seem to be installed on this system.])) ++CFLAGS="$CFLAGS $SQLITE3_CFLAGS" ++LIBS="$LIBS $SQLITE3_LIBS" + AH_TEMPLATE([HAVE_DECL_SQLITE_CONFIG_URI], + [depending on SQLite library version.]) + AH_TEMPLATE([HAVE_DECL_SQLITE_DBSTATUS_LOOKASIDE_USED], +@@ -104,7 +108,6 @@ AC_FUNC_STRFTIME + AC_CHECK_FUNCS([memset sqrt strcasecmp strerror strncasecmp strstr fdatasync ftruncate getcwd gettimeofday localtime_r memmove strerror]) + + # Checks for installed libraries +-AC_CHECK_LIB(sqlite3,sqlite3_prepare_v2,,AC_MSG_ERROR(['libsqlite3' is required but it doesn't seem to be installed on this system.]),-lm) + + AC_CONFIG_FILES([Makefile]) + +@@ -144,8 +147,7 @@ AC_ARG_ENABLE(readosm, [AS_HELP_STRING( + [--enable-readosm], [enables ReadOSM inclusion [default=yes]])], + [], [enable_readosm=yes]) + if test x"$enable_readosm" != "xno"; then +- AC_SUBST(LIBREADOSM_LIBS)PKG_CHECK_MODULES([LIBREADOSM], [readosm], , AC_MSG_ERROR(['libreadosm' is required but it doesn't seem to be installed on this system.])) +- AC_SEARCH_LIBS(readosm_version,readosm,,AC_MSG_ERROR(['libreadosm' (>= v.1.1.0) is required but an older version was found.])) ++ PKG_CHECK_MODULES([LIBREADOSM], [readosm], , AC_MSG_ERROR(['libreadosm' is required but it doesn't seem to be installed on this system.])) + AC_SUBST(LIBREADOSM_CFLAGS) + AC_SUBST(LIBREADOSM_LIBS) + else diff --git a/vcpkg/ports/spatialite-tools/fix-makefiles.patch b/vcpkg/ports/spatialite-tools/fix-makefiles.patch new file mode 100644 index 0000000..8512f54 --- /dev/null +++ b/vcpkg/ports/spatialite-tools/fix-makefiles.patch @@ -0,0 +1,134 @@ +diff --git a/makefile.vc b/makefile.vc +index 53ef75197..d48fb02db 100644 +--- a/makefile.vc ++++ b/makefile.vc +@@ -16,7 +16,7 @@ SPATIALITE_OSM_RAW_EXE = spatialite_osm_raw.exe + SPATIALITE_OSM_FILTER_EXE = spatialite_osm_filter.exe + SPATIALITE_GML_EXE = spatialite_gml.exe + +-CFLAGS = /nologo -IC:\OSGeo4W\include $(OPTFLAGS) ++CFLAGS = /nologo $(OPTFLAGS) + + default: all + +@@ -27,96 +27,63 @@ all: $(SPATIALITE_EXE) $(SHP_DOCTOR_EXE) $(SPATIALITE_TOOL_EXE) \ + $(SPATIALITE_OSM_FILTER_EXE) $(SHP_SANITIZE_EXE) + + $(SPATIALITE_EXE): shell.obj +- cl shell.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib \ +- /Fe$(SPATIALITE_EXE) ++ cl shell.obj /Fe$(SPATIALITE_EXE) $(LIBS_ALL) + if exist $(SPATIALITE_EXE).manifest mt -manifest \ + $(SPATIALITE_EXE).manifest -outputresource:$(SPATIALITE_EXE);1 + + $(EXIF_LOADER_EXE): exif_loader.obj +- cl exif_loader.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl exif_loader.obj $(LIBS_ALL) + if exist $(EXIF_LOADER_EXE).manifest mt -manifest \ + $(EXIF_LOADER_EXE).manifest -outputresource:$(EXIF_LOADER_EXE);1 + + $(SHP_DOCTOR_EXE): shp_doctor.obj +- cl shp_doctor.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl shp_doctor.obj $(LIBS_ALL) + if exist $(SHP_DOCTOR_EXE).manifest mt -manifest \ + $(SHP_DOCTOR_EXE).manifest -outputresource:$(SHP_DOCTOR_EXE);1 + + $(SHP_SANITIZE_EXE): shp_sanitize.obj +- cl shp_sanitize.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl shp_sanitize.obj $(LIBS_ALL) + if exist $(SHP_SANITIZE_EXE).manifest mt -manifest \ + $(SHP_SANITIZE_EXE).manifest -outputresource:$(SHP_SANITIZE_EXE);1 + + $(SPATIALITE_NETWORK_EXE): spatialite_network.obj +- cl spatialite_network.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_network.obj $(LIBS_ALL) + if exist $(SPATIALITE_NETWORK_EXE).manifest mt -manifest \ + $(SPATIALITE_TOOL_EXE).manifest \ + -outputresource:$(SPATIALITE_TOOL_EXE);1 + + $(SPATIALITE_TOOL_EXE): spatialite_tool.obj +- cl spatialite_tool.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_tool.obj $(LIBS_ALL) + if exist $(SPATIALITE_TOOL_EXE).manifest mt -manifest \ + $(SPATIALITE_TOOL_EXE).manifest \ + -outputresource:$(SPATIALITE_TOOL_EXE);1 + + $(SPATIALITE_OSM_NET_EXE): spatialite_osm_net.obj +- cl spatialite_osm_net.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\readosm_i.lib \ +- C:\OSGeo4W\lib\libexpat.lib \ +- C:\OSGeo4W\lib\zlib.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_osm_net.obj $(LIBS_ALL) + if exist $(SPATIALITE_OSM_EXE).manifest mt -manifest \ + $(SPATIALITE_OSM_EXE).manifest \ + -outputresource:$(SPATIALITE_OSM_NET_EXE);1 + + $(SPATIALITE_OSM_MAP_EXE): spatialite_osm_map.obj +- cl spatialite_osm_map.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\readosm_i.lib \ +- C:\OSGeo4W\lib\libexpat.lib \ +- C:\OSGeo4W\lib\zlib.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_osm_map.obj $(LIBS_ALL) + if exist $(SPATIALITE_OSM_MAP_EXE).manifest mt -manifest \ + $(SPATIALITE_OSM_MAP_EXE).manifest \ + -outputresource:$(SPATIALITE_OSM_MAP_EXE);1 + + $(SPATIALITE_GML_EXE): spatialite_gml.obj +- cl spatialite_gml.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\libexpat.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_gml.obj $(LIBS_ALL) + if exist $(SPATIALITE_GML_EXE).manifest mt -manifest \ + $(SPATIALITE_GML_EXE).manifest \ + -outputresource:$(SPATIALITE_GML_EXE);1 + + $(SPATIALITE_OSM_RAW_EXE): spatialite_osm_raw.obj +- cl spatialite_osm_raw.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\readosm_i.lib \ +- C:\OSGeo4W\lib\libexpat.lib \ +- C:\OSGeo4W\lib\zlib.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_osm_raw.obj $(LIBS_ALL) + if exist $(SPATIALITE_OSM_RAW_EXE).manifest mt -manifest \ + $(SPATIALITE_OSM_RAW_EXE).manifest \ + -outputresource:$(SPATIALITE_OSM_RAW_EXE);1 + + $(SPATIALITE_OSM_FILTER_EXE): spatialite_osm_filter.obj +- cl spatialite_osm_filter.obj C:\OSGeo4W\lib\proj_i.lib \ +- C:\OSGeo4W\lib\iconv.lib \ +- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib ++ cl spatialite_osm_filter.obj $(LIBS_ALL) + if exist $(SPATIALITE_OSM_FILTER_EXE).manifest mt -manifest \ + $(SPATIALITE_OSM_FILTER_EXE).manifest \ + -outputresource:$(SPATIALITE_OSM_FILTER_EXE);1 +diff --git a/nmake.opt b/nmake.opt +index 4f4a9538e..d9efecf7b 100644 +--- a/nmake.opt ++++ b/nmake.opt +@@ -2,7 +2,7 @@ + INSTDIR=C:\OSGeo4W + + # Uncomment the first for an optimized build, or the second for debug. +-OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \ ++OPTFLAGS= /nologo /fp:precise /W3 $(CL_FLAGS) /D_CRT_SECURE_NO_WARNINGS \ + /D_LARGE_FILE=1 /D_FILE_OFFSET_BITS=64 /D_LARGEFILE_SOURCE=1 + #OPTFLAGS= /nologo /Zi /MD /Fdspatialite.pdb + diff --git a/vcpkg/ports/spatialite-tools/portfile.cmake b/vcpkg/ports/spatialite-tools/portfile.cmake new file mode 100644 index 0000000..7b76519 --- /dev/null +++ b/vcpkg/ports/spatialite-tools/portfile.cmake @@ -0,0 +1,73 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # only executables + +string(REPLACE "-" "" SPATIALITE_TOOLS_VERSION_STR "${VERSION}") +vcpkg_download_distfile(ARCHIVE + URLS "https://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/spatialite-tools-${SPATIALITE_TOOLS_VERSION_STR}.tar.gz" + FILENAME "spatialite-tools-${SPATIALITE_TOOLS_VERSION_STR}.tar.gz" + SHA512 cf255c9e04e78e450e20019e3c988b2b0a770c6b7857a5b1c95d0696ee29902e7a85667c1a38dec9aa164fa6d28a444be6365b0444b78015180c1f27fa68ea89 +) + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + android-builtin-iconv.diff + configure.diff + fix-makefiles.patch +) +file(REMOVE "${SOURCE_PATH}/config.h") + +if (VCPKG_TARGET_IS_WINDOWS) + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES --msvc-syntax expat libxml-2.0 readosm spatialite sqlite3 + LIBS + ) + + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR) + + vcpkg_install_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_JOM + CL_LANGUAGE C + OPTIONS_RELEASE + "INSTDIR=${INST_DIR}" + "LIBS_ALL=/link ${PKGCONFIG_LIBS_RELEASE} iconv.lib charset.lib user32.lib" + OPTIONS_DEBUG + "INSTDIR=${INST_DIR}\\debug" + "LIBS_ALL=/link ${PKGCONFIG_LIBS_DEBUG} iconv.lib charset.lib user32.lib" + ) + + set(TOOL_EXES + shp_sanitize + spatialite_osm_filter + spatialite_osm_raw + spatialite_gml + spatialite_osm_map + exif_loader + spatialite_osm_net + spatialite_network + spatialite_tool + shp_doctor + spatialite + ) + vcpkg_copy_tools(TOOL_NAMES ${TOOL_EXES} AUTO_CLEAN) + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +else() + vcpkg_make_configure( + SOURCE_PATH "${SOURCE_PATH}" + AUTORECONF + OPTIONS + --disable-minizip + --disable-readline + --enable-readosm + ) + vcpkg_make_install() + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/vcpkg/ports/spatialite-tools/vcpkg.json b/vcpkg/ports/spatialite-tools/vcpkg.json new file mode 100644 index 0000000..dc163f0 --- /dev/null +++ b/vcpkg/ports/spatialite-tools/vcpkg.json @@ -0,0 +1,39 @@ +{ + "name": "spatialite-tools", + "version": "5.1.0-a", + "port-version": 1, + "description": "Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries)", + "homepage": "https://www.gaia-gis.it/fossil/spatialite-tools/index", + "license": "GPL-3.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + "expat", + "libiconv", + { + "name": "libspatialite", + "features": [ + "gcp", + "rttopo" + ] + }, + { + "name": "libxml2", + "default-features": false + }, + "readosm", + { + "name": "sqlite3", + "host": true + }, + { + "name": "vcpkg-make", + "host": true, + "platform": "!windows | mingw" + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true, + "platform": "windows & !mingw" + } + ] +} |