package/osm2pgsql: new package
authorMaxim Kochetkov <fido_max@inbox.ru>
Wed, 28 Apr 2021 04:12:15 +0000 (07:12 +0300)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 28 Jul 2021 21:08:24 +0000 (23:08 +0200)
osm2pgsql is a tool for loading OpenStreetMap data into a
PostgreSQL / PostGIS database suitable for applications like
rendering into a map, geocoding with Nominatim, or general analysis.

https://osm2pgsql.org

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/osm2pgsql/Config.in [new file with mode: 0644]
package/osm2pgsql/osm2pgsql.hash [new file with mode: 0644]
package/osm2pgsql/osm2pgsql.mk [new file with mode: 0644]

index e8bb9fd54aa6e22840518a23eca150852d75d7b9..6533471736c9410fc9deb62b7b86987776ba8777 100644 (file)
@@ -1865,6 +1865,7 @@ F:        arch/Config.in.xtensa
 
 N:     Maxim Kochetkov <fido_max@inbox.ru>
 F:     package/libosmium/
+F:     package/osm2pgsql/
 F:     package/postgis/
 F:     package/protozero/
 F:     package/timescaledb/
index 48ddbb63b2fed5b9f8856edb0a1892b3ebb52698..79b58facc3b6e1ae073bc32499fe5911efcd473e 100644 (file)
@@ -1421,6 +1421,7 @@ menu "Database"
        source "package/mysql/Config.in"
        source "package/postgresql/Config.in"
 if BR2_PACKAGE_POSTGRESQL
+       source "package/osm2pgsql/Config.in"
        source "package/postgis/Config.in"
 endif
        source "package/redis/Config.in"
diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in
new file mode 100644 (file)
index 0000000..1f1200c
--- /dev/null
@@ -0,0 +1,26 @@
+config BR2_PACKAGE_OSM2PGSQL
+       bool "osm2pgsql"
+       depends on BR2_INSTALL_LIBSTDCPP # boost, fmt, libosmium, protozero
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, libosmium, protozero
+       depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium
+       depends on BR2_USE_WCHAR # boost, fmt, libosmium
+       select BR2_PACKAGE_BOOST
+       select BR2_PACKAGE_BOOST_SYSTEM
+       select BR2_PACKAGE_BOOST_FILESYSTEM
+       select BR2_PACKAGE_BZIP2
+       select BR2_PACKAGE_EXPAT
+       select BR2_PACKAGE_FMT
+       select BR2_PACKAGE_LIBOSMIUM
+       select BR2_PACKAGE_PROTOZERO
+       select BR2_PACKAGE_ZLIB
+       help
+         osm2pgsql is a tool for loading OpenStreetMap data into a
+         PostgreSQL / PostGIS database suitable for applications like
+         rendering into a map, geocoding with Nominatim,
+         or general analysis.
+
+         https://osm2pgsql.org
+
+comment "osm2pgsql needs a toolchain w/ C++,  wchar, threads, gcc >= 4.7"
+       depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash
new file mode 100644 (file)
index 0000000..13e8de4
--- /dev/null
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  fc68283930ccd468ed9b28685150741b16083fec86800a4b011884ae22eb061c  osm2pgsql-1.4.2.tar.gz
+sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  COPYING
diff --git a/package/osm2pgsql/osm2pgsql.mk b/package/osm2pgsql/osm2pgsql.mk
new file mode 100644 (file)
index 0000000..bb8dba4
--- /dev/null
@@ -0,0 +1,39 @@
+################################################################################
+#
+# osm2pgsql
+#
+################################################################################
+
+OSM2PGSQL_VERSION = 1.4.2
+OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION))
+OSM2PGSQL_LICENSE = GPL-2.0+
+OSM2PGSQL_LICENSE_FILES = COPYING
+OSM2PGSQL_SUPPORTS_IN_SOURCE_BUILD = NO
+
+OSM2PGSQL_DEPENDENCIES = boost bzip2 expat fmt libosmium postgresql protozero zlib
+
+OSM2PGSQL_CONF_OPTS = \
+       -DBUILD_TESTS=OFF \
+       -DBUILD_COVERAGE=OFF \
+       -DEXTERNAL_FMT=ON \
+       -DEXTERNAL_LIBOSMIUM=ON \
+       -DEXTERNAL_PROTOZERO=ON
+
+ifeq ($(BR2_PACKAGE_LUAJIT),y)
+OSM2PGSQL_DEPENDENCIES += luajit
+OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=ON
+else ifeq ($(BR2_PACKAGE_LUA),y)
+OSM2PGSQL_DEPENDENCIES += lua
+OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=OFF
+else
+OSM2PGSQL_CONF_OPTS += -DWITH_LUA=OFF -DWITH_LUAJIT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_PROJ),y)
+OSM2PGSQL_DEPENDENCIES += proj
+OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=auto
+else
+OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=off
+endif
+
+$(eval $(cmake-package))