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 +}