commit:     e46f6618ca90e250deecbe59263fa144f6aa5a30
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 26 16:52:26 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 26 16:56:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e46f6618

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 <AT> gentoo.org>

 .../files/liblas-1.8.1-CVE-2018-20540-fixup.patch  | 24 ++++++++++
 .../liblas/files/liblas-1.8.1-fix-debug.patch      | 18 +++++++
 .../liblas/files/liblas-1.8.1-gdal-2.5.0.patch     | 34 +++++++++++++
 sci-geosciences/liblas/liblas-1.8.1-r3.ebuild      | 55 ++++++++++++++++++++++
 4 files changed, 131 insertions(+)

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 00000000000..6f0c132b5c5
--- /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?= <femu...@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 00000000000..0c3b8ceec26
--- /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.roua...@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 00000000000..0691c16c1b7
--- /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 <ast...@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 <ast...@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 00000000000..30ac4893834
--- /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
+}

Reply via email to