summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2020-02-26 17:52:26 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2020-02-26 17:56:20 +0100
commite46f6618ca90e250deecbe59263fa144f6aa5a30 (patch)
tree727e3a192e03f5dd913ecaaaf55187e61fe43946
parentkde-apps/kross-interpreters: Drop 19.12.2 (r0) (diff)
downloadgentoo-e46f6618ca90e250deecbe59263fa144f6aa5a30.tar.gz
gentoo-e46f6618ca90e250deecbe59263fa144f6aa5a30.tar.bz2
gentoo-e46f6618ca90e250deecbe59263fa144f6aa5a30.zip
sci-geosciences/liblas: fix >=GDAL-2.5.0, USE debug, missing return val
Closes: https://bugs.gentoo.org/698846 Closes: https://bugs.gentoo.org/668778 Closes: https://bugs.gentoo.org/707706 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--sci-geosciences/liblas/files/liblas-1.8.1-CVE-2018-20540-fixup.patch24
-rw-r--r--sci-geosciences/liblas/files/liblas-1.8.1-fix-debug.patch18
-rw-r--r--sci-geosciences/liblas/files/liblas-1.8.1-gdal-2.5.0.patch34
-rw-r--r--sci-geosciences/liblas/liblas-1.8.1-r3.ebuild55
4 files changed, 131 insertions, 0 deletions
diff --git a/sci-geosciences/liblas/files/liblas-1.8.1-CVE-2018-20540-fixup.patch b/sci-geosciences/liblas/files/liblas-1.8.1-CVE-2018-20540-fixup.patch
new file mode 100644
index 000000000000..6f0c132b5c58
--- /dev/null
+++ b/sci-geosciences/liblas/files/liblas-1.8.1-CVE-2018-20540-fixup.patch
@@ -0,0 +1,24 @@
+From 6a666b9101293b13fde4e4eb1d2c627f7613515e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felipe=20M=2E=20L=C3=B3pez?= <femulop@gmail.com>
+Date: Fri, 19 Jul 2019 08:26:44 +0200
+Subject: [PATCH] Always return NULL when Open() is used (#168)
+
+Attempt to open LAS file using standard stream, without
+Boost supports built in, always failed with
+"Cannot open sample.las for read. Exiting..."
+---
+ include/liblas/liblas.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/liblas/liblas.hpp b/include/liblas/liblas.hpp
+index 325de3ff..5c950ce0 100644
+--- a/include/liblas/liblas.hpp
++++ b/include/liblas/liblas.hpp
+@@ -138,6 +138,7 @@ inline std::istream* Open(std::string const& filename, std::ios::openmode mode)
+ ifs = new std::ifstream();
+ ifs->open(filename.c_str(), mode);
+ if (ifs->is_open() == false) return NULL;
++ return ifs;
+ }
+ catch (...)
+ {
diff --git a/sci-geosciences/liblas/files/liblas-1.8.1-fix-debug.patch b/sci-geosciences/liblas/files/liblas-1.8.1-fix-debug.patch
new file mode 100644
index 000000000000..0c3b8ceec269
--- /dev/null
+++ b/sci-geosciences/liblas/files/liblas-1.8.1-fix-debug.patch
@@ -0,0 +1,18 @@
+Description: Fix compilation with -DDEBUG and GDAL >= 2
+Author: Even Rouault <even.rouault@spatialys.com>
+Origin: https://github.com/libLAS/libLAS/commit/72f7709bf1dfd3473b64cdba0259363d3beea3c3
+
+--- a/src/gt_wkt_srs.cpp
++++ b/src/gt_wkt_srs.cpp
+@@ -90,7 +90,11 @@ static const char *papszDatumEquiv[] =
+ /* LibgeotiffOneTimeInit() */
+ /************************************************************************/
+
++#if GDAL_VERSION_MAJOR >= 2
++static CPLMutex* hMutex = NULL;
++#else
+ static void* hMutex = NULL;
++#endif
+
+ void LibgeotiffOneTimeInit()
+ {
diff --git a/sci-geosciences/liblas/files/liblas-1.8.1-gdal-2.5.0.patch b/sci-geosciences/liblas/files/liblas-1.8.1-gdal-2.5.0.patch
new file mode 100644
index 000000000000..0691c16c1b7e
--- /dev/null
+++ b/sci-geosciences/liblas/files/liblas-1.8.1-gdal-2.5.0.patch
@@ -0,0 +1,34 @@
+From 3a572ff7e684668da62c794b37ccccbc169723de Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Wed, 26 Feb 2020 17:45:30 +0100
+Subject: [PATCH] Fix build against >=GDAL-2.5.0
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ src/gt_wkt_srs.cpp | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/gt_wkt_srs.cpp b/src/gt_wkt_srs.cpp
+index 9871aa0..099972d 100755
+--- a/src/gt_wkt_srs.cpp
++++ b/src/gt_wkt_srs.cpp
+@@ -493,7 +493,6 @@ char *GTIFGetOGISDefn( GTIF *hGTIF, GTIFDefn * psDefn )
+ {
+ char *pszWKT;
+ oSRS.morphFromESRI();
+- oSRS.FixupOrdering();
+ if( oSRS.exportToWkt( &pszWKT ) == OGRERR_NONE )
+ return pszWKT;
+ }
+@@ -1094,8 +1093,6 @@ char *GTIFGetOGISDefn( GTIF *hGTIF, GTIFDefn * psDefn )
+ /* ==================================================================== */
+ char *pszWKT;
+
+- oSRS.FixupOrdering();
+-
+ if( oSRS.exportToWkt( &pszWKT ) == OGRERR_NONE )
+ return pszWKT;
+ else
+--
+2.25.1
+
diff --git a/sci-geosciences/liblas/liblas-1.8.1-r3.ebuild b/sci-geosciences/liblas/liblas-1.8.1-r3.ebuild
new file mode 100644
index 000000000000..30ac4893834e
--- /dev/null
+++ b/sci-geosciences/liblas/liblas-1.8.1-r3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="C/C++ library for manipulating the LAS LiDAR format common in GIS"
+HOMEPAGE="https://github.com/libLAS/libLAS/"
+SRC_URI="https://github.com/libLAS/libLAS/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="gdal"
+
+DEPEND="
+ dev-libs/boost:=
+ sci-geosciences/laszip
+ sci-libs/libgeotiff:=
+ gdal? ( sci-libs/gdal:= )
+"
+RDEPEND="${DEPEND}"
+
+# tests known to fail due to LD_LIBRARY_PATH issue
+RESTRICT="test"
+
+S="${WORKDIR}/libLAS-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.0_remove-std-c++98.patch
+ "${FILESDIR}"/${P}-fix-overload-call.patch # bug 661654
+ "${FILESDIR}"/${P}-CVE-2018-20540.patch # bug 678482
+ "${FILESDIR}"/${P}-CVE-2018-20540-fixup.patch # bug 698846
+ "${FILESDIR}"/${P}-fix-debug.patch # bug 668778
+)
+
+src_prepare() {
+ use gdal && has_version ">=sci-libs/gdal-2.5.0" && PATCHES+=(
+ "${FILESDIR}"/${P}-gdal-2.5.0.patch # bug 707706
+ )
+ cmake_src_prepare
+
+ # add missing linkage
+ sed -e 's:${LAS2COL} ${LIBLAS_C_LIB_NAME}:& ${CMAKE_THREAD_LIBS_INIT}:' \
+ -i "${S}/apps/CMakeLists.txt" || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBLAS_LIB_SUBDIR=$(get_libdir)
+ -DWITH_GDAL=$(usex gdal)
+ )
+ cmake_src_configure
+}