aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/spatialite-tools
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/spatialite-tools
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/spatialite-tools')
-rw-r--r--vcpkg/ports/spatialite-tools/android-builtin-iconv.diff13
-rw-r--r--vcpkg/ports/spatialite-tools/configure.diff33
-rw-r--r--vcpkg/ports/spatialite-tools/fix-makefiles.patch134
-rw-r--r--vcpkg/ports/spatialite-tools/portfile.cmake73
-rw-r--r--vcpkg/ports/spatialite-tools/vcpkg.json39
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"
+ }
+ ]
+}