[Buildroot] [git commit] package/libgeos: bump version to 3.14.0
Julien Olivain
ju.o at free.fr
Mon Sep 15 20:33:00 UTC 2025
commit: https://git.buildroot.net/buildroot/commit/?id=c7be3e603830f505c0c7df7e1b967122aa06fed0
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Changelog: https://github.com/libgeos/geos/releases/tag/3.14.0
Bump minimal GCC version to 7. (Switched to C++17 as minimum requirement)
https://github.com/libgeos/geos/commit/e142764b77f4b8d0c36ec88406300c5f876743fb
Since commit https://github.com/libgeos/geos/commit/26292ce88077321ced5db5869ea0b11cabaa2d12
libgeos uses fenv.h to catch FPU exceptions. Some libc implementation may
have no fenv support. So add a patch to detect fenv.h availability.
Signed-off-by: Maxim Kochetkov <fido_max at inbox.ru>
[Julien:
- reformat patch title to fix check-package error
- add Upstream header in patch to fix check-package error
]
Signed-off-by: Julien Olivain <ju.o at free.fr>
---
...p-make-floating-point-exceptions-optional.patch | 71 ++++++++++++++++++++++
package/libgeos/Config.in | 6 +-
package/libgeos/libgeos.hash | 2 +-
package/libgeos/libgeos.mk | 2 +-
package/postgis/Config.in | 6 +-
5 files changed, 79 insertions(+), 8 deletions(-)
diff --git a/package/libgeos/0001-geosop-make-floating-point-exceptions-optional.patch b/package/libgeos/0001-geosop-make-floating-point-exceptions-optional.patch
new file mode 100644
index 0000000000..6adcd39861
--- /dev/null
+++ b/package/libgeos/0001-geosop-make-floating-point-exceptions-optional.patch
@@ -0,0 +1,71 @@
+From a6bac7bd506988085fa692ff2e12727ae0e9db84 Mon Sep 17 00:00:00 2001
+From: Maxim Kochetkov <fido_max at inbox.ru>
+Date: Mon, 15 Sep 2025 17:16:08 +0300
+Subject: [PATCH] geosop: make floating-point exceptions optional
+
+commit 26292ce ("geosop: show most floating-point exceptions in verbose mode")
+add fenv.h dependency. Some libc implementations (uclibc-ng )may have no fenv
+support. So make floating-point exceptions optional and detetct fenv.h at
+configure stage.
+
+Upstream: https://github.com/libgeos/geos/pull/1305
+Signed-off-by: Maxim Kochetkov <fido_max at inbox.ru>
+---
+ CMakeLists.txt | 7 +++++++
+ util/geosop/GeosOp.cpp | 6 ++++++
+ 2 files changed, 13 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 12411e586..a1e2f0c6e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -558,3 +558,10 @@ if(PROJECT_IS_TOP_LEVEL)
+
+ unset(_is_multi_config_generator)
+ endif() # PROJECT_IS_TOP_LEVEL
++
++include(CheckIncludeFile)
++check_include_file(fenv.h HAVE_FENV_H)
++
++if(HAVE_FENV_H)
++ target_compile_definitions(geos_cxx_flags INTERFACE HAVE_FENV)
++endif()
+diff --git a/util/geosop/GeosOp.cpp b/util/geosop/GeosOp.cpp
+index 2cb17f000..05307cf30 100644
+--- a/util/geosop/GeosOp.cpp
++++ b/util/geosop/GeosOp.cpp
+@@ -26,7 +26,9 @@
+ #include <geos/io/WKBStreamReader.h>
+ #include <geos/io/WKBWriter.h>
+
++#if defined(HAVE_FENV)
+ #include <cfenv>
++#endif
+ #include <fstream>
+ #include <iostream>
+ #include <sstream>
+@@ -394,10 +396,13 @@ void GeosOp::run(OpArguments& opArgs) {
+ //------------------------
+
+ try {
++#if defined(HAVE_FENV)
+ std::feclearexcept(FE_ALL_EXCEPT); // clear floating-point status flags
++#endif
+
+ execute(op, opArgs);
+
++#if defined(HAVE_FENV)
+ // Catch everything except for FE_INEXACT, which is usually harmless
+ const int fpexp = std::fetestexcept(FE_ALL_EXCEPT ^ FE_INEXACT);
+ if (args.isVerbose && (fpexp != 0)) {
+@@ -414,6 +419,7 @@ void GeosOp::run(OpArguments& opArgs) {
+ std::cerr << " FE_UNDERFLOW";
+ std::cerr << std::endl;
+ }
++#endif
+ }
+ catch (std::exception &e) {
+ std::cerr << "Run-time exception: " << e.what() << std::endl;
+--
+2.51.0
+
diff --git a/package/libgeos/Config.in b/package/libgeos/Config.in
index 76cbb9bdcd..ff88f7254d 100644
--- a/package/libgeos/Config.in
+++ b/package/libgeos/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_LIBGEOS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
help
GEOS (Geometry Engine - Open Source) is a C++ port of the
JTS Topology Suite (JTS). It aims to contain the complete
@@ -13,7 +13,7 @@ config BR2_PACKAGE_LIBGEOS
https://trac.osgeo.org/geos
-comment "libgeos needs a toolchain w/ C++, wchar, gcc >= 4.9, threads"
+comment "libgeos needs a toolchain w/ C++, wchar, gcc >= 7, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7
diff --git a/package/libgeos/libgeos.hash b/package/libgeos/libgeos.hash
index f404b267e2..538933873b 100644
--- a/package/libgeos/libgeos.hash
+++ b/package/libgeos/libgeos.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 df2c50503295f325e7c8d7b783aca8ba4773919cde984193850cf9e361dfd28c geos-3.13.1.tar.bz2
+sha256 fe85286b1977121894794b36a7464d05049361bedabf972e70d8f9bf1e3ce928 geos-3.14.0.tar.bz2
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/libgeos/libgeos.mk b/package/libgeos/libgeos.mk
index 475a54f79f..0de73e2688 100644
--- a/package/libgeos/libgeos.mk
+++ b/package/libgeos/libgeos.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBGEOS_VERSION = 3.13.1
+LIBGEOS_VERSION = 3.14.0
LIBGEOS_SITE = http://download.osgeo.org/geos
LIBGEOS_SOURCE = geos-$(LIBGEOS_VERSION).tar.bz2
LIBGEOS_LICENSE = LGPL-2.1
diff --git a/package/postgis/Config.in b/package/postgis/Config.in
index 593c0dc1f3..a0f64bd76a 100644
--- a/package/postgis/Config.in
+++ b/package/postgis/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_POSTGIS
bool "postgis"
depends on BR2_PACKAGE_POSTGRESQL_FULL
depends on BR2_INSTALL_LIBSTDCPP # libgeos, proj
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgeos
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libgeos
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # proj
depends on BR2_USE_WCHAR # libgeos, proj
select BR2_PACKAGE_LIBGEOS
@@ -17,6 +17,6 @@ config BR2_PACKAGE_POSTGIS
https://postgis.net/
-comment "postgis needs a toolchain w/ C++, NPTL, wchar, gcc >= 4.9"
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+comment "postgis needs a toolchain w/ C++, NPTL, wchar, gcc >= 7"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
More information about the buildroot
mailing list