[Buildroot] [PATCH v2 1/1] package/osm2pgsql: new package
Maxim Kochetkov
fido_max at inbox.ru
Tue Apr 13 13:51:20 UTC 2021
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 at inbox.ru>
---
Changes v1 -> v2 (after review of Peter Seiderer):
- Add dependencies
- Disable tests
- Fix license
- Fix check-package warnings
- Add myself to DEVELOPERS
- Test all lua versions (5.1, 5.3, 5.4)
DEVELOPERS | 1 +
package/Config.in | 1 +
package/osm2pgsql/Config.in | 20 ++++++++++++
package/osm2pgsql/osm2pgsql.hash | 3 ++
package/osm2pgsql/osm2pgsql.mk | 54 ++++++++++++++++++++++++++++++++
5 files changed, 79 insertions(+)
create mode 100644 package/osm2pgsql/Config.in
create mode 100644 package/osm2pgsql/osm2pgsql.hash
create mode 100644 package/osm2pgsql/osm2pgsql.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 7699c471d3..e94c4291f2 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1837,6 +1837,7 @@ F: arch/Config.in.xtensa
N: Maxim Kochetkov <fido_max at inbox.ru>
F: package/timescaledb/
+F: package/osm2pgsql/
N: Maxime Hadjinlian <maxime.hadjinlian at gmail.com>
F: package/babeld/
diff --git a/package/Config.in b/package/Config.in
index 19f2606b6b..1615f0c7e3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1405,6 +1405,7 @@ menu "Database"
source "package/libpqxx/Config.in"
source "package/mongodb/Config.in"
source "package/mysql/Config.in"
+ source "package/osm2pgsql/Config.in"
source "package/postgresql/Config.in"
if BR2_PACKAGE_POSTGRESQL_FULL
source "package/postgis/Config.in"
diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in
new file mode 100644
index 0000000000..69ae4b4232
--- /dev/null
+++ b/package/osm2pgsql/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_OSM2PGSQL
+ bool "osm2pgsql"
+ depends on BR2_PACKAGE_POSTGRESQL
+ depends on BR2_INSTALL_LIBSTDCPP # boost
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
+ depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ depends on BR2_USE_WCHAR # boost
+ 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_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
diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash
new file mode 100644
index 0000000000..13e8de4b51
--- /dev/null
+++ b/package/osm2pgsql/osm2pgsql.hash
@@ -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
index 0000000000..f281a18b6b
--- /dev/null
+++ b/package/osm2pgsql/osm2pgsql.mk
@@ -0,0 +1,54 @@
+################################################################################
+#
+# osm2pgsql
+#
+################################################################################
+
+OSM2PGSQL_VERSION = 1.4.2
+OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION))
+OSM2PGSQL_LICENSE = GPL-2.0+, BSL-1.0 (libosmium), Apache-2.0 (protozero), BSD-2-Clause (protozero), MIT with exception (fmt)
+OSM2PGSQL_LICENSE_FILES = COPYING
+OSM2PGSQL_SUPPORTS_IN_SOURCE_BUILD = NO
+
+OSM2PGSQL_DEPENDENCIES = boost bzip2 expat postgresql zlib
+
+#disable build and coverage tests
+OSM2PGSQL_CONF_OPTS += -DBUILD_TESTS=OFF -DBUILD_COVERAGE=OFF
+
+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
+endif
+
+ifeq ($(BR2_PACKAGE_FMT),y)
+OSM2PGSQL_DEPENDENCIES += fmt
+OSM2PGSQL_CONF_OPTS += -DEXTERNAL_FMT=ON
+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
+
+#not in buildroot now
+ifeq ($(BR2_PACKAGE_LIBOSMIUM),y)
+OSM2PGSQL_DEPENDENCIES += libosmium
+OSM2PGSQL_CONF_OPTS += -DEXTERNAL_LIBOSMIUM=ON
+endif
+
+#not in buildroot now
+ifeq ($(BR2_PACKAGE_PROTOZERO),y)
+OSM2PGSQL_DEPENDENCIES += protozero
+OSM2PGSQL_CONF_OPTS += -DEXTERNAL_PROTOZERO=ON
+endif
+
+$(eval $(cmake-package))
--
2.30.2
More information about the buildroot
mailing list