* [Buildroot] [PATCH v5 1/2] package/libosmium: new package
@ 2021-04-28 4:12 Maxim Kochetkov
2021-04-28 4:12 ` [Buildroot] [PATCH v5 2/2] package/osm2pgsql: " Maxim Kochetkov
2021-07-28 21:02 ` [Buildroot] [PATCH v5 1/2] package/libosmium: " Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: Maxim Kochetkov @ 2021-04-28 4:12 UTC (permalink / raw)
To: buildroot
A fast and flexible C++ library for working with OpenStreetMap data.
Libosmium works on Linux, macOS and Windows.
https://osmcode.org/libosmium/
Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
---
Changes v4 -> v5:
- Rebased on master
- Use version 2.17
Changes v3 -> v4:
- Some minor cleanup
- Add protozero dependency
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libosmium/Config.in | 18 ++++++++++++++++++
package/libosmium/libosmium.hash | 3 +++
package/libosmium/libosmium.mk | 30 ++++++++++++++++++++++++++++++
5 files changed, 53 insertions(+)
create mode 100644 package/libosmium/Config.in
create mode 100644 package/libosmium/libosmium.hash
create mode 100644 package/libosmium/libosmium.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 573d8d84de..c334c2c093 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1842,6 +1842,7 @@ N: Max Filippov <jcmvbkbc@gmail.com>
F: arch/Config.in.xtensa
N: Maxim Kochetkov <fido_max@inbox.ru>
+F: package/libosmium/
F: package/postgis/
F: package/protozero/
F: package/timescaledb/
diff --git a/package/Config.in b/package/Config.in
index 6181aaac2c..001beaa0cf 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1925,6 +1925,7 @@ menu "Other"
source "package/libloki/Config.in"
source "package/libnpth/Config.in"
source "package/libnspr/Config.in"
+ source "package/libosmium/Config.in"
source "package/libpfm4/Config.in"
source "package/libplatform/Config.in"
source "package/libplist/Config.in"
diff --git a/package/libosmium/Config.in b/package/libosmium/Config.in
new file mode 100644
index 0000000000..2b4f683be2
--- /dev/null
+++ b/package/libosmium/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_LIBOSMIUM
+ bool "libosmium"
+ depends on BR2_INSTALL_LIBSTDCPP
+ 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_PROTOZERO
+
+ help
+ A fast and flexible C++ library for working with OpenStreetMap
+ data. Libosmium works on Linux, macOS and Windows.
+
+ https://osmcode.org/libosmium/
+
+comment "libosmium 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/libosmium/libosmium.hash b/package/libosmium/libosmium.hash
new file mode 100644
index 0000000000..05d898bc7f
--- /dev/null
+++ b/package/libosmium/libosmium.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 4a7672d7caf4da3bc68619912b298462370c423c697871a0be6273c6686e10d6 libosmium-2.17.0.tar.gz
+sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE
diff --git a/package/libosmium/libosmium.mk b/package/libosmium/libosmium.mk
new file mode 100644
index 0000000000..4601a22bf9
--- /dev/null
+++ b/package/libosmium/libosmium.mk
@@ -0,0 +1,30 @@
+################################################################################
+#
+# libosmium
+#
+################################################################################
+
+LIBOSMIUM_VERSION = 2.17.0
+LIBOSMIUM_SITE = $(call github,osmcode,libosmium,v$(LIBOSMIUM_VERSION))
+LIBOSMIUM_LICENSE = BSL-1.0
+LIBOSMIUM_LICENSE_FILES = LICENSE
+LIBOSMIUM_INSTALL_STAGING = YES
+LIBOSMIUM_DEPENDENCIES = boost protozero
+
+ifeq ($(BR2_PACKAGE_BZIP2),y)
+LIBOSMIUM_DEPENDENCIES += bzip2
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGEOS),y)
+LIBOSMIUM_DEPENDENCIES += libgeos
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGDAL),y)
+LIBOSMIUM_DEPENDENCIES += libgdal
+endif
+
+ifeq ($(BR2_PACKAGE_PROJ),y)
+LIBOSMIUM_DEPENDENCIES += proj
+endif
+
+$(eval $(cmake-package))
--
2.30.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v5 2/2] package/osm2pgsql: new package
2021-04-28 4:12 [Buildroot] [PATCH v5 1/2] package/libosmium: new package Maxim Kochetkov
@ 2021-04-28 4:12 ` Maxim Kochetkov
2021-07-28 21:32 ` Thomas Petazzoni
2021-07-28 21:02 ` [Buildroot] [PATCH v5 1/2] package/libosmium: " Thomas Petazzoni
1 sibling, 1 reply; 4+ messages in thread
From: Maxim Kochetkov @ 2021-04-28 4:12 UTC (permalink / raw)
To: buildroot
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>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/osm2pgsql/Config.in | 27 ++++++++++++++++++++++++
package/osm2pgsql/osm2pgsql.hash | 3 +++
package/osm2pgsql/osm2pgsql.mk | 35 ++++++++++++++++++++++++++++++++
5 files changed, 67 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 c334c2c093..be73011e4d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1843,6 +1843,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/
diff --git a/package/Config.in b/package/Config.in
index 001beaa0cf..b000b8c700 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1410,6 +1410,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
index 0000000000..38810c1350
--- /dev/null
+++ b/package/osm2pgsql/Config.in
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_OSM2PGSQL
+ bool "osm2pgsql"
+ depends on BR2_PACKAGE_POSTGRESQL
+ depends on BR2_INSTALL_LIBSTDCPP # boost, fmt
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
+ depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ depends on BR2_USE_WCHAR # boost, fmt
+ 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
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..caa6989b3b
--- /dev/null
+++ b/package/osm2pgsql/osm2pgsql.mk
@@ -0,0 +1,35 @@
+################################################################################
+#
+# 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
+OSM2PGSQL_CONF_OPTS += -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))
--
2.30.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH v5 1/2] package/libosmium: new package
2021-04-28 4:12 [Buildroot] [PATCH v5 1/2] package/libosmium: new package Maxim Kochetkov
2021-04-28 4:12 ` [Buildroot] [PATCH v5 2/2] package/osm2pgsql: " Maxim Kochetkov
@ 2021-07-28 21:02 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2021-07-28 21:02 UTC (permalink / raw)
To: Maxim Kochetkov; +Cc: buildroot
Hello Maxim,
On Wed, 28 Apr 2021 07:12:14 +0300
Maxim Kochetkov via buildroot <buildroot@busybox.net> wrote:
> A fast and flexible C++ library for working with OpenStreetMap data.
> Libosmium works on Linux, macOS and Windows.
>
> https://osmcode.org/libosmium/
>
> Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Sorry for the long delay in getting to this package submission, but
there's one good news: I finally applied it!
I found the CMake machinery to not be very clear to understand in terms
of what are the mandatory vs. optional dependencies.
> +ifeq ($(BR2_PACKAGE_BZIP2),y)
> +LIBOSMIUM_DEPENDENCIES += bzip2
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBGEOS),y)
> +LIBOSMIUM_DEPENDENCIES += libgeos
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBGDAL),y)
> +LIBOSMIUM_DEPENDENCIES += libgdal
> +endif
This package doesn't exist in Buildroot I'm afraid, so I dropped this.
Also, I've added optional dependencies on zlib, expat, lz4, to match
with the optional dependencies that we have in Buildroot, and which
libosmium can use.
Do not hesitate to check the final commit and see if it works for you.
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH v5 2/2] package/osm2pgsql: new package
2021-04-28 4:12 ` [Buildroot] [PATCH v5 2/2] package/osm2pgsql: " Maxim Kochetkov
@ 2021-07-28 21:32 ` Thomas Petazzoni
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2021-07-28 21:32 UTC (permalink / raw)
To: Maxim Kochetkov via buildroot; +Cc: Maxim Kochetkov, buildroot
On Wed, 28 Apr 2021 07:12:15 +0300
Maxim Kochetkov via buildroot <buildroot@busybox.net> wrote:
> 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>
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/osm2pgsql/Config.in | 27 ++++++++++++++++++++++++
> package/osm2pgsql/osm2pgsql.hash | 3 +++
> package/osm2pgsql/osm2pgsql.mk | 35 ++++++++++++++++++++++++++++++++
> 5 files changed, 67 insertions(+)
> create mode 100644 package/osm2pgsql/Config.in
> create mode 100644 package/osm2pgsql/osm2pgsql.hash
> create mode 100644 package/osm2pgsql/osm2pgsql.mk
Applied to master with a few minor formatting tweaks. Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-07-28 21:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-28 4:12 [Buildroot] [PATCH v5 1/2] package/libosmium: new package Maxim Kochetkov
2021-04-28 4:12 ` [Buildroot] [PATCH v5 2/2] package/osm2pgsql: " Maxim Kochetkov
2021-07-28 21:32 ` Thomas Petazzoni
2021-07-28 21:02 ` [Buildroot] [PATCH v5 1/2] package/libosmium: " Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.