public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2015-10-14 15:12 Ian Delaney
  0 siblings, 0 replies; 7+ messages in thread
From: Ian Delaney @ 2015-10-14 15:12 UTC (permalink / raw
  To: gentoo-commits

commit:     2fa849db86f415ee6eca0a7fb965c88606ace3e6
Author:     Ian Delaney <idella4 <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 15:11:05 2015 +0000
Commit:     Ian Delaney <idella4 <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 15:11:49 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fa849db

sci-geosciences/grass: bump to -7.0.1

Inherit python-single-r1 eclass, three USE flags added and two removed
to update new configure options; set slot operators on required deps,
patches to fix build issues; install desktop file via make_desktop_entry,
tidy EAPI style vars
set new proxy-maintainer 'wraeth', add proxy-maintainers herd in metadata
along with new use flags

Gentoo bug: #514514

Package-Manager: portage-2.2.20.1

 sci-geosciences/grass/Manifest                     |   1 +
 .../grass/files/grass-7.0.1-declare-inespg.patch   |  15 ++
 .../grass/files/grass-7.0.1-include-errno.patch    |  12 +
 sci-geosciences/grass/grass-7.0.1.ebuild           | 246 +++++++++++++++++++++
 sci-geosciences/grass/metadata.xml                 |  25 ++-
 5 files changed, 293 insertions(+), 6 deletions(-)

diff --git a/sci-geosciences/grass/Manifest b/sci-geosciences/grass/Manifest
index 0f92912..f520f8f 100644
--- a/sci-geosciences/grass/Manifest
+++ b/sci-geosciences/grass/Manifest
@@ -1 +1,2 @@
 DIST grass-6.4.2.tar.gz 24097202 SHA256 670bb74d3000ea0932b7e988d3080d0c629f9eb22a8479bb2987ded473f7b4ca SHA512 537905942965ca949ce241c9e147bb340837f1815d36a1d0170cf18482f66936cb24bda540345d8287a98e4a9275fc129bbc4decf7c3053d123e0f90819b2e5b WHIRLPOOL 65e71c9846f59226bf2ccb3cf224628ac4065dfb2385454083e1db21361e1872192e05763c8a28154f1b536d9b276084efdeb58d730a40f99402ff3e5bf13eb4
+DIST grass-7.0.1.tar.gz 33733368 SHA256 0987dd1618fde24b05785a502c7db8c09401a522a7a3ee50543068fab4eb405f SHA512 cb1c356eb19f793530e4e313cc5e81b3be27817eea8961c6e5673b955726e7ae26c38942d6a620dc89c60b8051cdb0ed549c70fdfab8c65f5d17c901521ffaff WHIRLPOOL ed97e45873ea39df32e4ad9ed663087e0077d4bfbbbc9f1fc89729c1d411d550e3354fbc937741c465d94929b6da30311e44926db53fe0f1edb3ce7b850b2266

diff --git a/sci-geosciences/grass/files/grass-7.0.1-declare-inespg.patch b/sci-geosciences/grass/files/grass-7.0.1-declare-inespg.patch
new file mode 100644
index 0000000..91f33a2
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.0.1-declare-inespg.patch
@@ -0,0 +1,15 @@
+diff --git a/general/g.proj/main.c b/general/g.proj/main.c
+index 21d7b95..f81b392 100644
+--- a/general/g.proj/main.c
++++ b/general/g.proj/main.c
+@@ -41,8 +41,8 @@ int main(int argc, char *argv[])  # undeclared var if OSG disabled
+ 	*forcedatumtrans;	/* Force override of datumtrans parameters  */
+     
+     struct Option *location,	/* Name of new location to create           */
+-#ifdef HAVE_OGR
+ 	*inepsg,		/* EPSG projection code                     */
++#ifdef HAVE_OGR
+ 	*inwkt,			/* Input file with projection in WKT format */
+ 	*inproj4,		/* Projection in PROJ.4 format              */
+ 	*ingeo,			/* Input geo-referenced file readable by 
+

diff --git a/sci-geosciences/grass/files/grass-7.0.1-include-errno.patch b/sci-geosciences/grass/files/grass-7.0.1-include-errno.patch
new file mode 100644
index 0000000..d2549f6
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.0.1-include-errno.patch
@@ -0,0 +1,12 @@
+diff --git a/lib/raster/open.c b/lib/raster/open.c
+index d5a902f..1beada7 100644
+--- a/lib/raster/open.c
++++ b/lib/raster/open.c
+@@ -19,6 +19,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <errno.h>
+ 
+ #include <grass/config.h>
+ #include <grass/gis.h>

diff --git a/sci-geosciences/grass/grass-7.0.1.ebuild b/sci-geosciences/grass/grass-7.0.1.ebuild
new file mode 100644
index 0000000..c3e2052
--- /dev/null
+++ b/sci-geosciences/grass/grass-7.0.1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WANT_AUTOCONF="2.1"
+
+inherit eutils gnome2 multilib python-single-r1 versionator wxwidgets autotools
+
+MY_PM=${PN}$(get_version_component_range 1-2 ${PV})
+MY_PM=${MY_PM/.}
+MY_P=${P/_rc/RC}
+
+DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
+HOMEPAGE="http://grass.osgeo.org/"
+SRC_URI="http://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="7"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="X cairo cxx fftw gdal geos blas lapack regex mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype wxwidgets"
+
+RDEPEND="
+	>=app-admin/eselect-1.2
+	sci-libs/proj
+	sys-libs/gdbm
+	sys-libs/ncurses:0=
+	sys-libs/zlib
+	cairo? ( x11-libs/cairo[X?,opengl?] )
+	fftw? ( sci-libs/fftw:3.0 )
+	geos? ( sci-libs/geos )
+	gdal? ( sci-libs/gdal )
+	blas? ( virtual/blas )
+	lapack? ( virtual/lapack )
+	mysql? ( virtual/mysql )
+	netcdf? ( sci-libs/netcdf )
+	odbc? ( dev-db/unixODBC )
+	opencl? ( virtual/opencl )
+	opengl? ( virtual/opengl )
+	png? ( media-libs/libpng:0= )
+	postgres? ( >=dev-db/postgresql-8.4:= )
+	readline? ( sys-libs/readline:0= )
+	sqlite? ( dev-db/sqlite:3 )
+	tiff? ( media-libs/tiff:0= )
+	truetype? ( media-libs/freetype:2 )
+	wxwidgets? ( >=dev-python/wxpython-2.8.10.1:2.8[cairo,opengl?] )
+	X? (
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-libs/libXaw
+		x11-libs/libXext
+		x11-libs/libXmu
+		x11-libs/libXp
+		x11-libs/libXpm
+		x11-libs/libXt
+	)"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	sys-devel/flex
+	sys-devel/gettext
+	sys-devel/bison
+	wxwidgets? ( dev-lang/swig )
+	X? (
+		x11-proto/xextproto
+		x11-proto/xproto
+	)"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+	opengl? ( X )
+	wxwidgets? ( X )
+"
+
+pkg_setup() {
+	if use lapack; then
+		local mylapack
+		mylapack=$(eselect lapack show) || die
+		if [[ -z "${mylapack/.*reference.*/}" ]] && \
+			[[ -z "${mylapack/.*atlas.*/}" ]]; then
+			ewarn "You need to set lapack to atlas or reference. Do:"
+			ewarn "   eselect lapack set <impl>"
+			ewarn "where <impl> is atlas, threaded-atlas or reference"
+			die "setup failed"
+		fi
+	fi
+
+	if use blas; then
+		local myblas
+		myblas=$(eselect blas show) || die
+		if [[ -z "${myblas/.*reference.*/}" ]] && \
+			[[ -z "${myblas/.*atlas.*/}" ]]; then
+			ewarn "You need to set blas to atlas or reference. Do:"
+			ewarn "   eselect blas set <impl>"
+			ewarn "where <impl> is atlas, threaded-atlas or reference"
+			die "setup failed"
+		fi
+	fi
+
+	python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# Fix undefined reference to errno in lib/raster/open.c
+	# see http://trac.osgeo.org/grass/changeset/66398
+	epatch "${FILESDIR}/${P}-include-errno.patch"
+
+	# Fix undeclared variable if OSG is disabled
+	epatch "${FILESDIR}/${P}-declare-inespg.patch"
+
+	epatch_user
+	eautoconf
+}
+
+src_configure() {
+	if use wxwidgets; then
+		WX_BUILD=yes
+		WX_GTK_VER=2.8
+		need-wxwidgets unicode
+	fi
+
+	econf \
+		--enable-shared \
+		--disable-w11 \
+		$(use_with cxx) \
+		$(use_with tiff) \
+		$(use_with png) \
+		$(use_with postgres) \
+		$(use_with mysql) \
+		$(use_with mysql mysql-includes "${ROOT}usr/include/mysql") \
+		$(use_with mysql mysql-libs "${ROOT}usr/$(get_libdir)/mysql") \
+		$(use_with sqlite) \
+		$(use_with opengl) \
+		$(use_with odbc) \
+		$(use_with fftw) \
+		$(use_with blas) \
+		$(use_with lapack) \
+		$(use_with cairo) \
+		$(use_with truetype freetype) \
+		$(use_with truetype freetype-includes "${ROOT}usr/include/freetype2") \
+		$(use_with nls) \
+		$(use_with readline) \
+		--without-opendwg \
+		$(use_with regex) \
+		$(use_with threads pthread) \
+		$(use_with openmp) \
+		$(use_with opencl) \
+		$(use_with gdal gdal "${ROOT}usr/bin/gdal-config") \
+		--without-liblas \
+		$(use_with wxwidgets wxwidgets "${WX_CONFIG}") \
+		$(use_with netcdf netcdf "${ROOT}usr/bin/nc-config") \
+		$(use_with geos geos "${ROOT}usr/bin/geos-config") \
+		--with-proj-includes="${ROOT}usr/include/libprojectM" \
+		--with-proj-libs="${ROOT}usr/$(get_libdir)" \
+		--with-proj-share="${ROOT}usr/share/proj/" \
+		$(use_with X x)
+}
+
+src_compile() {
+	# we don't want to link against embedded mysql lib
+	emake MYSQLDLIB=""
+}
+
+src_install() {
+	emake DESTDIR="${D}" \
+		INST_DIR="${D}"/usr/${MY_PM} \
+		prefix="${D}"/usr BINDIR="${D}"/usr/bin \
+		PREFIX="${D}"/usr/ \
+		install
+
+	pushd "${D}"/usr/${MY_PM} &> /dev/null
+
+	# fix docs
+	dodoc AUTHORS CHANGES
+	dohtml -r docs/html/*
+	rm -rf docs/ || die
+	rm -rf {AUTHORS,CHANGES,COPYING,GPL.TXT,REQUIREMENTS.html} || die
+
+	# manuals
+	dodir /usr/share/man/man1
+	rm -rf man/ || die
+
+	# translations
+	if use nls; then
+		dodir /usr/share/locale/
+		mv locale/* "${D}"/usr/share/locale/ || die
+		rm -rf locale/ || die
+		# pt_BR is broken
+		mv "${D}"/usr/share/locale/pt_br "${D}"/usr/share/locale/pt_BR || die
+	fi
+
+	popd &> /dev/null
+
+	# place libraries where they belong
+	mv "${D}"/usr/${MY_PM}/lib/ "${D}"/usr/$(get_libdir)/ || die
+
+	# place header files where they belong
+	mv "${D}"/usr/${MY_PM}/include/ "${D}"/usr/include/ || die
+	# make rules are not required on installed system
+	rm -rf "${D}"/usr/include/Make || die
+
+	# mv remaining gisbase stuff to libdir
+	mv "${D}"/usr/${MY_PM} "${D}"/usr/$(get_libdir) || die
+
+	# get proper folder for grass path in script
+	sed -i \
+		-e "1,\$s:^GISBASE.*:GISBASE=/usr/$(get_libdir)/${MY_PM}:" \
+		"${D}"usr/bin/${MY_PM} || die
+
+	# get proper fonts path for fontcap
+	sed -i \
+		-e "s|${D}/usr/${MY_PM}|${EPREFIX}usr/$(get_libdir)/${MY_PM}|" \
+		"${D}"/usr/$(get_libdir)/${MY_PM}/etc/fontcap || die
+
+	if use X; then
+		local GUI="-gui"
+		[[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
+		make_desktop_entry "/usr/bin/${MY_PM} ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
+		doicon gui/icons/${PN}-48x48.png
+	fi
+
+	# install .pc file so other apps know where to look for grass
+	insinto /usr/$(get_libdir)/pkgconfig/
+	doins grass.pc
+
+	# fix weird +x on tcl scripts
+	find "${D}" -name "*.tcl" -exec chmod +r-x '{}' \;
+}
+
+pkg_postinst() {
+	if use X; then
+		fdo-mime_desktop_database_update
+		gnome2_icon_cache_update
+	fi
+}
+
+pkg_postrm() {
+	if use X; then
+		fdo-mime_desktop_database_update
+		gnome2_icon_cache_update
+	fi
+}

diff --git a/sci-geosciences/grass/metadata.xml b/sci-geosciences/grass/metadata.xml
index 4d20223..d60eb17 100644
--- a/sci-geosciences/grass/metadata.xml
+++ b/sci-geosciences/grass/metadata.xml
@@ -1,11 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-  <herd>sci-geosciences</herd>
-  <longdescription>The original GIS, yes the first one, developed by the US Army Corp of Engineers, now an active open source GIS. 
-See the GRASS Documentation Project for more info http://grass.itc.it/gdp/index.php
+	<herd>sci-geosciences</herd>
+	<herd>proxy-maintainers</herd><maintainer>
+		<email>wraeth@wraeth.id.au</email>
+		<name>Sam Jorna</name>
+		<description>Proxy maintainer - assign bugs to him</description>
+	</maintainer>
+<longdescription>The original GIS, yes the first one, developed by the US 
+Army Corp of Engineers, now an active open source GIS. See the GRASS Documentation 
+Project for more info http://grass.itc.it/gdp/index.php
 </longdescription>
-  <use>
-    <flag name="gmath">Enable gmath wrapper for BLAS/Lapack (<pkg>virtual/blas</pkg>, <pkg>virtual/lapack</pkg>)</flag>
-  </use>
+	<use>
+		<flag name="gdal">Use <pkg>sci-libs/gdal</pkg> for import and export 
+		of most external raster and vector map formats</flag>
+		<flag name="geos">Use <pkg>sci-libs/geos</pkg> for v.buffer and adds
+		extended options to the v.select module</flag>
+		<flag name="gmath">Enable gmath wrapper for BLAS/Lapack 
+		(<pkg>virtual/blas</pkg>, <pkg>virtual/lapack</pkg>)</flag>
+		<flag name="opencl">Enable OpenCL support</flag>
+		<flag name="regex">Include support regex functionality</flag>
+	</use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2015-12-05 13:55 Amy Winston
  0 siblings, 0 replies; 7+ messages in thread
From: Amy Winston @ 2015-12-05 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     0e962f42477d52a7690840540ea4f63ac08429f6
Author:     Amy Winston <amynka <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  5 13:53:13 2015 +0000
Commit:     Amy Winston <amynka <AT> gentoo <DOT> org>
CommitDate: Sat Dec  5 13:53:13 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e962f42

sci-geosciences/grass: add missing epatch call. By wraeth

Package-Manager: portage-2.2.20.1

 .../files/{grass-7.0.2-soname.patch => grass-7.0.1-soname.patch}      | 0
 sci-geosciences/grass/grass-7.0.1-r4.ebuild                           | 4 +++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/sci-geosciences/grass/files/grass-7.0.2-soname.patch b/sci-geosciences/grass/files/grass-7.0.1-soname.patch
similarity index 100%
rename from sci-geosciences/grass/files/grass-7.0.2-soname.patch
rename to sci-geosciences/grass/files/grass-7.0.1-soname.patch

diff --git a/sci-geosciences/grass/grass-7.0.1-r4.ebuild b/sci-geosciences/grass/grass-7.0.1-r4.ebuild
index f13e558..1c6a17b 100644
--- a/sci-geosciences/grass/grass-7.0.1-r4.ebuild
+++ b/sci-geosciences/grass/grass-7.0.1-r4.ebuild
@@ -84,7 +84,7 @@ PATCHES=(
 	"${FILESDIR}/${P}"-include-errno.patch
 	"${FILESDIR}/${P}"-declare-inespg.patch
 	"${FILESDIR}/${PV}"-sec-format.patch
-	"${FILESDIR}"/grass-7.0.2-soname.patch
+	"${FILESDIR}/${P}"-soname.patch
 )
 
 pkg_setup() {
@@ -126,6 +126,8 @@ src_prepare() {
 	sed -e 's:\(#include <ogr_api.h>\):#ifdef HAVE_OGR\n\1\n#endif:' \
 		-i "${S}/vector/v.external/main.c" || die "failed to sed main.c"
 
+	epatch "${PATCHES[@]}"
+
 	epatch_user
 	eautoconf
 


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2015-12-05 13:55 Amy Winston
  0 siblings, 0 replies; 7+ messages in thread
From: Amy Winston @ 2015-12-05 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     7733ecb896d2af618cb4b624240b663844303c01
Author:     Amy Winston <amynka <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  5 13:23:38 2015 +0000
Commit:     Amy Winston <amynka <AT> gentoo <DOT> org>
CommitDate: Sat Dec  5 13:23:38 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7733ecb8

sci-geosciences/grass: add SONAME patch and revbump.

Adds patch from upstream to build libraries with SONAME per bug 475188.

Package-Manager: portage-2.2.20.1

 .../grass/files/grass-7.0.2-soname.patch           | 26 ++++++++++++++++++++++
 ...grass-7.0.1-r3.ebuild => grass-7.0.1-r4.ebuild} |  3 ++-
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/sci-geosciences/grass/files/grass-7.0.2-soname.patch b/sci-geosciences/grass/files/grass-7.0.2-soname.patch
new file mode 100644
index 0000000..3f3442c
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.0.2-soname.patch
@@ -0,0 +1,26 @@
+Index: aclocal.m4
+===================================================================
+--- aclocal.m4	(revision 66647)
++++ aclocal.m4	(working copy)
+@@ -488,7 +488,7 @@
+     case $host in
+         *-linux-* | *-gnu* | *-kfreebsd*-gnu)
+ 	    SHLIB_CFLAGS="-fPIC"
+-            SHLIB_LD_FLAGS=""
++            SHLIB_LD_FLAGS="-Wl,-soname,\$(notdir \$[@])"
+ 	    SHLIB_SUFFIX=".so"
+ 	    SHLIB_LD="${CC} -shared"
+             LDFLAGS="-Wl,--export-dynamic"
+Index: configure
+===================================================================
+--- configure	(revision 66647)
++++ configure	(working copy)
+@@ -1481,7 +1481,7 @@
+     case $host in
+         *-linux-* | *-gnu* | *-kfreebsd*-gnu)
+ 	    SHLIB_CFLAGS="-fPIC"
+-            SHLIB_LD_FLAGS=""
++            SHLIB_LD_FLAGS="-Wl,-soname,\$(notdir \$@)"
+ 	    SHLIB_SUFFIX=".so"
+ 	    SHLIB_LD="${CC} -shared"
+             LDFLAGS="-Wl,--export-dynamic"

diff --git a/sci-geosciences/grass/grass-7.0.1-r3.ebuild b/sci-geosciences/grass/grass-7.0.1-r4.ebuild
similarity index 99%
rename from sci-geosciences/grass/grass-7.0.1-r3.ebuild
rename to sci-geosciences/grass/grass-7.0.1-r4.ebuild
index d105302..f13e558 100644
--- a/sci-geosciences/grass/grass-7.0.1-r3.ebuild
+++ b/sci-geosciences/grass/grass-7.0.1-r4.ebuild
@@ -20,7 +20,7 @@ SRC_URI="http://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~x86"
 IUSE="X blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype"
 
 RDEPEND="${PYTHON_DEPS}
@@ -84,6 +84,7 @@ PATCHES=(
 	"${FILESDIR}/${P}"-include-errno.patch
 	"${FILESDIR}/${P}"-declare-inespg.patch
 	"${FILESDIR}/${PV}"-sec-format.patch
+	"${FILESDIR}"/grass-7.0.2-soname.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2016-06-06  7:00 Sam Jorna
  0 siblings, 0 replies; 7+ messages in thread
From: Sam Jorna @ 2016-06-06  7:00 UTC (permalink / raw
  To: gentoo-commits

commit:     04733409f6d29ec94a0e58b0703b0b0ff3c66ece
Author:     Sam Jorna <wraeth <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  6 06:58:54 2016 +0000
Commit:     Sam Jorna <wraeth <AT> gentoo <DOT> org>
CommitDate: Mon Jun  6 06:59:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04733409

sci-geosciences/grass: remove old

Remove versions 7.0.1-r5 and 7.0.2 and other unneeded patches.

Package-Manager: portage-2.3.0_rc1

 sci-geosciences/grass/Manifest                     |    2 -
 sci-geosciences/grass/files/7.0.1-sec-format.patch | 1026 --------------------
 .../grass/files/grass-7.0.1-include-errno.patch    |   12 -
 .../grass/files/grass-7.0.1-soname.patch           |   26 -
 sci-geosciences/grass/grass-7.0.1-r5.ebuild        |  270 ------
 sci-geosciences/grass/grass-7.0.2.ebuild           |  270 ------
 6 files changed, 1606 deletions(-)

diff --git a/sci-geosciences/grass/Manifest b/sci-geosciences/grass/Manifest
index 108e35e..ba0eaf1 100644
--- a/sci-geosciences/grass/Manifest
+++ b/sci-geosciences/grass/Manifest
@@ -1,4 +1,2 @@
-DIST grass-7.0.1.tar.gz 33733368 SHA256 0987dd1618fde24b05785a502c7db8c09401a522a7a3ee50543068fab4eb405f SHA512 cb1c356eb19f793530e4e313cc5e81b3be27817eea8961c6e5673b955726e7ae26c38942d6a620dc89c60b8051cdb0ed549c70fdfab8c65f5d17c901521ffaff WHIRLPOOL ed97e45873ea39df32e4ad9ed663087e0077d4bfbbbc9f1fc89729c1d411d550e3354fbc937741c465d94929b6da30311e44926db53fe0f1edb3ce7b850b2266
-DIST grass-7.0.2.tar.gz 38102415 SHA256 2eabd84c5426c675b7f3046213bbacb0cee9d0225df15e1530b93f43ec6b190b SHA512 5f6432263e4d52c914dfdd2bc8199f32c8f366b0ffae6a178033af7eee7b3c2632668b3d3cd70219969ecfd5ad6abefe6e65f0eaf72f27784fea3b4b9d51acfe WHIRLPOOL e1f5a90e793db74bcdf891b5f5a00c2bafa2842a6415ec433a45d6604d4943aa3d95b6e4d95265753a4ee8fc6819ec1b66ddea2d11802ac1c7a37150f7cea6d1
 DIST grass-7.0.3.tar.gz 40022685 SHA256 6c414938d831583b97554cb49698529310defba467b11f6a85caf6ca405680df SHA512 93d9e5c2983b41f88f5170923267eb54328124a179fc391893e88eaa9670a608b4b7d339d0043d338a98cb5ef532e19411cd46155a69e6f06a6b28696056add6 WHIRLPOOL 2f171e056c179fc31845dc28e5d354ab8f990c462b65ce5a4b26c89261b6757b781c86bb1ab6f29efb3bde0df29bfa432e4f13d7dc61166b761a6edfa3614246
 DIST grass-7.0.4.tar.gz 40601012 SHA256 657188dc640b8482d16f889ff281abe424a0b232d03328086ba28cbf02c65af2 SHA512 5ac1359f1d1d6602a567f4d85eb4f92f665788ebba51767696894228b31b5d65c1fa343e068b5c2990c12ff023b5c09ff441b7c2e1e1d990956be3250fe45658 WHIRLPOOL b2b81aca710419f22476660462ba6c47d953621d0d02ea3b4d8ee64deec047d7947698073270d778a308782f89575ec897707db8139d85743a1eb22714ee203e

diff --git a/sci-geosciences/grass/files/7.0.1-sec-format.patch b/sci-geosciences/grass/files/7.0.1-sec-format.patch
deleted file mode 100644
index a545a2b..0000000
--- a/sci-geosciences/grass/files/7.0.1-sec-format.patch
+++ /dev/null
@@ -1,1026 +0,0 @@
-rebased patch by 'wraeth' from
-https://trac.osgeo.org/grass/changeset/66561
-diff --git a/db/drivers/dbf/column.c b/db/drivers/dbf/column.c
-index ee0fd6e..1d2780e 100644
---- a/db/drivers/dbf/column.c
-+++ b/db/drivers/dbf/column.c
-@@ -40,7 +40,7 @@ int add_column(int tab, int type, char *name, int width, int decimals)
- 	sprintf(buf, "DBMI-DBF driver: column name '%s'", name);
- 	name[DBF_COL_NAME - 1] = '\0';
- 	sprintf(buf + strlen(buf), " truncated to '%s'", name);
--	G_warning(buf);
-+	G_warning("%s", buf);
-     }
- 
-     /* Check if the column exists */
-diff --git a/db/drivers/ogr/select.c b/db/drivers/ogr/select.c
-index 27ae090..6584bd5 100644
---- a/db/drivers/ogr/select.c
-+++ b/db/drivers/ogr/select.c
-@@ -48,7 +48,7 @@ int db__driver_open_select_cursor(dbString * sel, dbCursor * dbc, int mode)
- 
-     if (c->hLayer == NULL) {
- 	db_d_append_error(_("Unable to select: \n"));
--	db_d_append_error(db_get_string(sel));
-+	db_d_append_error("%s", db_get_string(sel));
- 	db_d_append_error("\n");
- 	db_d_report_error();
- 	return DB_FAILED;
-diff --git a/db/drivers/postgres/db.c b/db/drivers/postgres/db.c
-index b02bade..5e171eb 100644
---- a/db/drivers/postgres/db.c
-+++ b/db/drivers/postgres/db.c
-@@ -248,7 +248,7 @@ int create_delete_db(dbHandle *handle, int create)
-     if (PQstatus(pg_conn) == CONNECTION_BAD) {
- 	db_d_append_error(_("Connection failed."));
- 	db_d_append_error("\n");
--	db_d_append_error(PQerrorMessage(pg_conn));
-+	db_d_append_error("%s", PQerrorMessage(pg_conn));
- 	db_d_report_error();
- 	PQfinish(pg_conn);
- 	return DB_FAILED;
-@@ -269,7 +269,7 @@ int create_delete_db(dbHandle *handle, int create)
- 	else
- 	    db_d_append_error(_("Unable to drop database <%s>"), name);
- 	db_d_append_error("\n");
--	db_d_append_error(PQerrorMessage(pg_conn));
-+	db_d_append_error("%s", PQerrorMessage(pg_conn));
- 	db_d_report_error();
- 	
- 	PQclear(res);	
-diff --git a/imagery/i.landsat.toar/landsat_met.c b/imagery/i.landsat.toar/landsat_met.c
-index 506d719..5b612a4 100644
---- a/imagery/i.landsat.toar/landsat_met.c
-+++ b/imagery/i.landsat.toar/landsat_met.c
-@@ -384,14 +384,14 @@ void lsat_metadata(char *metafile, lsat_data * lsat)
- 	    sprintf(key, "Band%dGainSetting", lsat->band[i].code);
- 	    get_mtldata(mtldata, key, value);
- 	    if (value[0] == '\0') {
--		G_warning(key);
-+                G_warning("%s", key);
- 		continue;
- 	    }
- 	    lsat->band[i].gain = atof(value);
- 	    sprintf(key, "Band%dBiasSetting", lsat->band[i].code);
- 	    get_mtldata(mtldata, key, value);
- 	    if (value[0] == '\0') {
--		G_warning(key);
-+		G_warning("%s", key);
- 		continue;
- 	    }
- 	    lsat->band[i].bias = atof(value);
-diff --git a/imagery/i.ortho.photo/i.ortho.rectify/cp.c b/imagery/i.ortho.photo/i.ortho.rectify/cp.c
-index b8ec48c..86e5b33 100644
---- a/imagery/i.ortho.photo/i.ortho.rectify/cp.c
-+++ b/imagery/i.ortho.photo/i.ortho.rectify/cp.c
-@@ -31,7 +31,7 @@ int get_conz_points(void)
-     default:
- 	return 1;
-     }
--    G_fatal_error(msg);
-+    G_fatal_error("%s", msg);
- }
- 
- int get_ref_points(void)
-@@ -61,6 +61,6 @@ int get_ref_points(void)
-     default:
- 	return 1;
-     }
--    G_fatal_error(msg);
-+    G_fatal_error("%s", msg);
-     /* exit(1);   shouldn't get here */
- }
-diff --git a/imagery/i.ortho.photo/i.ortho.rectify/target.c b/imagery/i.ortho.photo/i.ortho.rectify/target.c
-index 99f8480..462833a 100644
---- a/imagery/i.ortho.photo/i.ortho.rectify/target.c
-+++ b/imagery/i.ortho.photo/i.ortho.rectify/target.c
-@@ -31,5 +31,5 @@ int get_target(char *group)
-     sprintf(buf, _("Mapset <%s> in target location <%s> - "), mapset, location);
-     strcat(buf, stat == 0 ? _("permission denied") : _("not found"));
-   error:
--    G_fatal_error(buf);
-+    G_fatal_error("%s", buf);
- }
-diff --git a/imagery/i.ortho.photo/lib/camera.c b/imagery/i.ortho.photo/lib/camera.c
-index 26e454e..7d298be 100644
---- a/imagery/i.ortho.photo/lib/camera.c
-+++ b/imagery/i.ortho.photo/lib/camera.c
-@@ -36,7 +36,7 @@ int I_get_group_camera(char *group, char *camera)
- 	sprintf(buf,
- 		_("Unable to open camera file for group <%s> in mapset <%s>"),
- 		group, G_mapset());
--	G_warning(buf);
-+	G_warning("%s", buf);
- 	return 0;
-     }
-     G_getl2(buf, sizeof(buf), fd);
-diff --git a/imagery/i.ortho.photo/lib/conz_points.c b/imagery/i.ortho.photo/lib/conz_points.c
-index ad604dd..9d6f940 100644
---- a/imagery/i.ortho.photo/lib/conz_points.c
-+++ b/imagery/i.ortho.photo/lib/conz_points.c
-@@ -104,7 +104,7 @@ int I_get_con_points(char *group, struct Ortho_Control_Points *cp)
- 	sprintf(msg,
- 		"unable to open control point (Z) file for group [%s in %s]",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	G_sleep(4);
- 	return 0;
-     }
-@@ -114,7 +114,7 @@ int I_get_con_points(char *group, struct Ortho_Control_Points *cp)
-     if (stat < 0) {
- 	sprintf(msg, "bad format in control point file for group [%s in %s]",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	G_sleep(4);
- 	return 0;
-     }
-@@ -131,7 +131,7 @@ int I_put_con_points(char *group, struct Ortho_Control_Points *cp)
- 	sprintf(msg,
- 		"unable to create control point file for group [%s in %s]",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	G_sleep(4);
- 	return 0;
-     }
-@@ -156,7 +156,7 @@ int I_convert_con_points(char *group, struct Ortho_Control_Points *con_cp,
- 	sprintf(msg,
- 		"unable to open control point (Z) file for group [%s in %s]",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	G_sleep(4);
- 	return 0;
-     }
-@@ -166,7 +166,7 @@ int I_convert_con_points(char *group, struct Ortho_Control_Points *con_cp,
-     if (stat < 0) {
- 	sprintf(msg, "bad format in control point file for group [%s in %s]",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	G_sleep(4);
- 	return 0;
-     }
-diff --git a/imagery/i.ortho.photo/lib/fopen_camera.c b/imagery/i.ortho.photo/lib/fopen_camera.c
-index 93cb326..2e904e9 100644
---- a/imagery/i.ortho.photo/lib/fopen_camera.c
-+++ b/imagery/i.ortho.photo/lib/fopen_camera.c
-@@ -46,7 +46,7 @@ static int error(char *camera, char *msga, char *msgb)
- 
-     sprintf(buf, "%s camera file [%s] in [%s %s] %s",
- 	    msga, camera, G_location(), G_mapset(), msgb);
--    G_warning(buf);
-+    G_warning("%s", buf);
- 
-     return 0;
- }
-diff --git a/imagery/i.ortho.photo/lib/init_info.c b/imagery/i.ortho.photo/lib/init_info.c
-index 0bb1a67..11f4bc6 100644
---- a/imagery/i.ortho.photo/lib/init_info.c
-+++ b/imagery/i.ortho.photo/lib/init_info.c
-@@ -101,7 +101,7 @@ int I_get_init_info(char *group, struct Ortho_Camera_Exp_Init *init_info)
-     if (fd == NULL) {
- 	sprintf(msg, "unable to open camera initial file %s in %s",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	return 0;
-     }
- 
-@@ -110,7 +110,7 @@ int I_get_init_info(char *group, struct Ortho_Camera_Exp_Init *init_info)
-     if (stat < 0) {
- 	sprintf(msg, "bad format in camera initial file %s in %s",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	return 0;
-     }
-     return 1;
-@@ -125,7 +125,7 @@ int I_put_init_info(char *group, struct Ortho_Camera_Exp_Init *init_info)
-     if (fd == NULL) {
- 	sprintf(msg, "unable to open camera initial file %s in %s",
- 		group, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	return 0;
-     }
- 
-diff --git a/imagery/i.ortho.photo/lib/m_mult.c b/imagery/i.ortho.photo/lib/m_mult.c
-index 301ebc0..b93a512 100644
---- a/imagery/i.ortho.photo/lib/m_mult.c
-+++ b/imagery/i.ortho.photo/lib/m_mult.c
-@@ -21,7 +21,7 @@ int m_mult(MATRIX * a, MATRIX * b, MATRIX * c)
-     if (a->ncols != b->nrows) {
- 	sprintf(message, "*: matrices not conformable, %d x %d * %d x %d\n",
- 		a->nrows, a->ncols, b->nrows, b->ncols);
--	fprintf(stderr, message);
-+	fprintf(stderr, "%s", message);
- 	return error(message);
-     }
- 
-diff --git a/imagery/i.ortho.photo/lib/open_camera.c b/imagery/i.ortho.photo/lib/open_camera.c
-index 30c6184..1b7af57 100644
---- a/imagery/i.ortho.photo/lib/open_camera.c
-+++ b/imagery/i.ortho.photo/lib/open_camera.c
-@@ -50,7 +50,7 @@ static int camera_error(char *camera, char *file, char *msga, char *msgb)
- 
-     sprintf(buf, "%sfile [%s] of group [%s in %s]%s",
- 	    msga, file, camera, G_mapset(), msgb);
--    G_warning(buf);
-+    G_warning("%s", buf);
- 
-     return 0;
- }
-diff --git a/imagery/i.ortho.photo/lib/ref_points.c b/imagery/i.ortho.photo/lib/ref_points.c
-index 6f03e8d..2fa6e65 100644
---- a/imagery/i.ortho.photo/lib/ref_points.c
-+++ b/imagery/i.ortho.photo/lib/ref_points.c
-@@ -97,7 +97,7 @@ int I_get_ref_points(char *groupname, struct Ortho_Photo_Points *cp)
- 	sprintf(msg,
- 		"unable to open reference point file for group [%s in %s]",
- 		groupname, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	return 0;
-     }
- 
-@@ -108,7 +108,7 @@ int I_get_ref_points(char *groupname, struct Ortho_Photo_Points *cp)
- 	sprintf(msg,
- 		"bad format in reference point file for group [%s in %s]",
- 		groupname, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	return 0;
-     }
-     return 1;
-@@ -124,7 +124,7 @@ int I_put_ref_points(char *groupname, struct Ortho_Photo_Points *cp)
- 	sprintf(msg,
- 		"unable to create reference point file for group [%s in %s]",
- 		groupname, G_mapset());
--	G_warning(msg);
-+	G_warning("%s", msg);
- 	return 0;
-     }
- 
-diff --git a/imagery/i.rectify/cp.c b/imagery/i.rectify/cp.c
-index b0b2123..5cf06d6 100644
---- a/imagery/i.rectify/cp.c
-+++ b/imagery/i.rectify/cp.c
-@@ -67,7 +67,7 @@ int get_control_points(char *group, int order	/* THIS HAS BEEN ADDED WITH THE CR
- 	    return 1;
- 	}
-     }
--    G_fatal_error(msg);
-+    G_fatal_error("%s", msg);
- 
-     return 0; /* G_fatal_error() calls exit() */
- }
-diff --git a/imagery/i.rectify/target.c b/imagery/i.rectify/target.c
-index d97e3df..043628c 100644
---- a/imagery/i.rectify/target.c
-+++ b/imagery/i.rectify/target.c
-@@ -34,6 +34,6 @@ int get_target(char *group)
-   error:
-     strcat(buf, _("Please run i.target for group."));
-     strcat(buf, group);
--    G_fatal_error(buf);
-+    G_fatal_error("%s", buf);
-     return 1;			/* never reached */
- }
-diff --git a/raster/r.external/proj.c b/raster/r.external/proj.c
-index d984196..9d1626f 100644
---- a/raster/r.external/proj.c
-+++ b/raster/r.external/proj.c
-@@ -110,7 +110,7 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS, int override)
- 	    strcat(error_msg,
- 		   _("Consider generating a new location from the input dataset using "
- 		     "the 'location' parameter.\n"));
--	    G_fatal_error(error_msg);
-+	    G_fatal_error("%s", error_msg);
- 	}
- 	else {
- 	    G_message(_("Projection of input dataset and current location "
-diff --git a/raster/r.flow/mem.h b/raster/r.flow/mem.h
-index ca34e0a..f763fac 100644
---- a/raster/r.flow/mem.h
-+++ b/raster/r.flow/mem.h
-@@ -33,7 +33,7 @@ void put_row_seg( /* l, row */ );
- 		   Segment_get_row(l.seg, l.buf[row] - l.col_offset, \
- 				          row + l.row_offset) < 1)) ? \
- 	(sprintf(string, "r.flow: cannot write segment file for %s", l.name),\
--	 G_fatal_error(string), (DCELL *) NULL) : \
-+	 G_fatal_error("%s", string), (DCELL *) NULL) :                  \
- 	l.buf[row])
- 
- /*   This was is Astley's version 12...
-@@ -52,7 +52,7 @@ void put_row_seg( /* l, row */ );
- 	(Segment_get(as.seg, &v, \
- 			row + as.row_offset, col + as.col_offset) < 1 ? \
- 	  (sprintf(string,"r.flow: cannot read segment file for %s",as.name), \
--	   G_fatal_error(string), 0) :					\
-+	   G_fatal_error("%s", string), 0) :                             \
- 	  v) : \
- 	(parm.mem ? \
- 	   aspect_fly(el.buf[row - 1] + col, \
-@@ -64,7 +64,7 @@ void put_row_seg( /* l, row */ );
-     (parm.seg ? \
- 	(Segment_get(l.seg, &v, row + l.row_offset, col + l.col_offset) < 1 ? \
- 	  (sprintf(string,"r.flow: cannot read segment file for %s",l.name),\
--	   G_fatal_error(string), 0) : \
-+	   G_fatal_error("%s", string), 0) :                             \
- 	 v) : \
- 	l.buf[row][col])
- 
-@@ -72,7 +72,7 @@ void put_row_seg( /* l, row */ );
-     (parm.seg ? \
- 	(v = w, \
- 	 Segment_put(l.seg, &v, row + l.row_offset, col + l.col_offset) < 1 ? \
--	  (sprintf(string,"r.flow: cannot write segment file for %s",l.name), \
--	   G_fatal_error(string), 0) : \
-+           (sprintf(string, "r.flow: cannot write segment file for %s",l.name), \
-+            G_fatal_error("%s", string), 0) :                            \
- 	 0) : \
- 	(l.buf[row][col] = w))
-diff --git a/raster/r.in.gdal/main.c b/raster/r.in.gdal/main.c
-index 778b5f4..457f22e 100644
---- a/raster/r.in.gdal/main.c
-+++ b/raster/r.in.gdal/main.c
-@@ -872,7 +872,7 @@ static void SetupReprojector(const char *pszSrcWKT, const char *pszDstLoc,
- 		target_mapset, pszDstLoc);
- 	strcat(errbuf, permissions == 0 ? _("permission denied")
- 	       : _("not found"));
--	G_fatal_error(errbuf);
-+	G_fatal_error("%s", errbuf);
-     }				/* permission check */
- 
-     /* And switch back to original location */
-diff --git a/raster/r.in.lidar/main.c b/raster/r.in.lidar/main.c
-index aae2dcb..390f990 100644
---- a/raster/r.in.lidar/main.c
-+++ b/raster/r.in.lidar/main.c
-@@ -451,7 +451,7 @@ int main(int argc, char *argv[])
- 	    strcat(error_msg,
- 		   _("Consider generating a new location with 'location' parameter"
- 		    " from input data set.\n"));
--	    G_fatal_error(error_msg);
-+	    G_fatal_error("%s", error_msg);
- 	}
- 	else if (!shell_style->answer) {
- 	    G_message(_("Projection of input dataset and current location "
-@@ -1229,7 +1229,7 @@ int main(int argc, char *argv[])
- 
- 
-     sprintf(buff, _("%lu points found in region."), count_total);
--    G_done_msg(buff);
-+    G_done_msg("%s", buff);
-     G_debug(1, "Processed %lu points.", line_total);
- 
-     exit(EXIT_SUCCESS);
-diff --git a/raster/r.in.xyz/main.c b/raster/r.in.xyz/main.c
-index d4ce602..2580217 100644
---- a/raster/r.in.xyz/main.c
-+++ b/raster/r.in.xyz/main.c
-@@ -1153,7 +1153,7 @@ int main(int argc, char *argv[])
- 
- 
-     sprintf(buff, _("%lu points found in region."), count_total);
--    G_done_msg(buff);
-+    G_done_msg("%s", buff);
-     G_debug(1, "Processed %lu lines.", line);
- 
-     exit(EXIT_SUCCESS);
-diff --git a/raster/r.profile/main.c b/raster/r.profile/main.c
-index 458ff75..dba7ceb 100644
---- a/raster/r.profile/main.c
-+++ b/raster/r.profile/main.c
-@@ -187,7 +187,7 @@ int main(int argc, char *argv[])
- 	sprintf(formatbuff, _("Along track dist. [%s], Elevation"), unit);
-     if (clr)
- 	strcat(formatbuff, _(" RGB color"));
--    G_message(formatbuff);
-+    G_message("%s", formatbuff);
- 
-     /* Get Profile Start Coords */
-     if (parm.coord_file->answer) {
-diff --git a/raster/r.quant/read_rules.c b/raster/r.quant/read_rules.c
-index a4e467c..d255ccd 100644
---- a/raster/r.quant/read_rules.c
-+++ b/raster/r.quant/read_rules.c
-@@ -20,13 +20,13 @@ int read_range(void)
-     for (i = 0; i < noi; i++) {
- 	if (Rast_read_fp_range(name[i], G_mapset(), &drange) <= 0) {
- 	    sprintf(buff, "Can't read f_range for map %s", name[i]);
--	    G_fatal_error(buff);
-+	    G_fatal_error("%s", buff);
- 	}
- 	Rast_get_fp_range_min_max(&drange, &tmp_dmin, &tmp_dmax);
- 
- 	if (Rast_read_range(name[i], G_mapset(), &range) <= 0) {
- 	    sprintf(buff, "Can't read range for map %s", name[i]);
--	    G_fatal_error(buff);
-+	    G_fatal_error("%s", buff);
- 	}
- 	Rast_get_range_min_max(&range, &tmp_min, &tmp_max);
- 	if (!i || tmp_max > old_max || Rast_is_c_null_value(&old_max))
-diff --git a/raster/r.random.surface/init.c b/raster/r.random.surface/init.c
-index c19046b..738d843 100644
---- a/raster/r.random.surface/init.c
-+++ b/raster/r.random.surface/init.c
-@@ -110,7 +110,7 @@ void Init(void)
- 		Seeds[i] = Seeds[i] % SEED_MAX;
- 		sprintf(msg2, _(" seed is set to %d"), Seeds[i]);
- 		strcat(msg, msg2);
--		G_warning(msg);
-+		G_warning("%s", msg);
- 	    }
- 	    else if (Seeds[i] < SEED_MIN) {
- 		sprintf(msg, _("Seed (%d) smaller than minimum (%d)"),
-@@ -119,7 +119,7 @@ void Init(void)
- 		    Seeds[i] += SEED_MAX - SEED_MIN;
- 		sprintf(msg2, _(" seed is set to %d"), Seeds[i]);
- 		strcat(msg, msg2);
--		G_warning(msg);
-+		G_warning("%s", msg);
- 	    }
- 	}			/* /for */
-     }				/* /else */
-diff --git a/raster/r.reclass/main.c b/raster/r.reclass/main.c
-index c3a8463..e640088 100644
---- a/raster/r.reclass/main.c
-+++ b/raster/r.reclass/main.c
-@@ -121,7 +121,7 @@ int main(int argc, char *argv[])
- 	    }
- 	    else {
- 		strcat(buf, _(" - invalid reclass rule"));
--		G_fatal_error(buf);
-+		G_fatal_error("%s", buf);
- 	    }
- 	    break;
- 
-diff --git a/raster/r.to.rast3/main.c b/raster/r.to.rast3/main.c
-index 7a6e790..4901b27 100644
---- a/raster/r.to.rast3/main.c
-+++ b/raster/r.to.rast3/main.c
-@@ -64,7 +64,7 @@ void fatal_error(void *map, int *fd, int depths, char *errorMsg)
-             close_input_raster_map(fd[i]);
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
-     exit(EXIT_FAILURE);
- 
- }
-diff --git a/raster/r.to.rast3elev/main.c b/raster/r.to.rast3elev/main.c
-index 1766514..fcd0286 100644
---- a/raster/r.to.rast3elev/main.c
-+++ b/raster/r.to.rast3elev/main.c
-@@ -142,7 +142,7 @@ void fatal_error(Database db, char *errorMsg)
-     if (db.elev)
-         close_input_raster_map(db.elev);
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
-     exit(EXIT_FAILURE);
- }
- 
-diff --git a/raster/r.to.vect/main.c b/raster/r.to.vect/main.c
-index bc7bb93..9db8ed6 100644
---- a/raster/r.to.vect/main.c
-+++ b/raster/r.to.vect/main.c
-@@ -216,7 +216,7 @@ int main(int argc, char *argv[])
- 
- 	db_append_string(&sql, ")");
- 
--	G_debug(3, db_get_string(&sql));
-+	G_debug(3, "%s", db_get_string(&sql));
- 
- 	if (db_execute_immediate(driver, &sql) != DB_OK)
- 	    G_fatal_error(_("Unable to create table: %s"),
-@@ -296,7 +296,7 @@ int main(int argc, char *argv[])
- 		sprintf(buf, "insert into %s values ( %d, '%s')", Fi->table,
- 			cat, db_get_string(&label));
- 		db_set_string(&sql, buf);
--		G_debug(3, db_get_string(&sql));
-+		G_debug(3, "%s", db_get_string(&sql));
- 
- 		if (db_execute_immediate(driver, &sql) != DB_OK)
- 		    G_fatal_error(_("Unable to insert into table: %s"),
-diff --git a/raster/r.to.vect/util.c b/raster/r.to.vect/util.c
-index eebc212..bc8a39c 100644
---- a/raster/r.to.vect/util.c
-+++ b/raster/r.to.vect/util.c
-@@ -151,7 +151,7 @@ void insert_value(int cat, int val, double dval)
- 
-     db_append_string(&sql, ")");
- 
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK)
- 	G_fatal_error(_("Cannot insert new row: %s"), db_get_string(&sql));
-diff --git a/raster3d/r3.cross.rast/main.c b/raster3d/r3.cross.rast/main.c
-index 1dadcde..600384f 100644
---- a/raster3d/r3.cross.rast/main.c
-+++ b/raster3d/r3.cross.rast/main.c
-@@ -62,7 +62,7 @@ void fatal_error(void *map, int elevfd, int outfd, char *errorMsg)
-     if (elevfd != -1)
-         close_output_map(elevfd);
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
-     exit(EXIT_FAILURE);
- 
- }
-diff --git a/raster3d/r3.in.ascii/main.c b/raster3d/r3.in.ascii/main.c
-index 9e92285..a67d7ad 100644
---- a/raster3d/r3.in.ascii/main.c
-+++ b/raster3d/r3.in.ascii/main.c
-@@ -65,7 +65,7 @@ void fatalError(char *errorMsg)
-         Rast3d_close(map);
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
- }
- 
- /*---------------------------------------------------------------------------*/
-diff --git a/raster3d/r3.in.v5d/main.c b/raster3d/r3.in.v5d/main.c
-index 7d1652f..d258818 100644
---- a/raster3d/r3.in.v5d/main.c
-+++ b/raster3d/r3.in.v5d/main.c
-@@ -48,7 +48,7 @@ static void fatalError(char *errorMsg)
- 	/* should unopen map here! */
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
- }
- 
- /*---------------------------------------------------------------------------*/
-diff --git a/raster3d/r3.out.ascii/main.c b/raster3d/r3.out.ascii/main.c
-index 72d50bd..2af12d0 100644
---- a/raster3d/r3.out.ascii/main.c
-+++ b/raster3d/r3.out.ascii/main.c
-@@ -64,7 +64,7 @@ void fatalError(char *errorMsg)
- 
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
- }
- 
- /*---------------------------------------------------------------------------*/
-diff --git a/raster3d/r3.out.v5d/main.c b/raster3d/r3.out.v5d/main.c
-index 5d54b1f..7b74c33 100644
---- a/raster3d/r3.out.v5d/main.c
-+++ b/raster3d/r3.out.v5d/main.c
-@@ -55,7 +55,7 @@ void fatalError(char *errorMsg)
- 	    fatalError(_("Unable to close 3D raster map"));
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
- }
- 
- /*---------------------------------------------------------------------------*/
-diff --git a/raster3d/r3.retile/main.c b/raster3d/r3.retile/main.c
-index 10fb26e..c10d7f5 100644
---- a/raster3d/r3.retile/main.c
-+++ b/raster3d/r3.retile/main.c
-@@ -54,7 +54,7 @@ void fatal_error(void *map, int *fd, int depths, char *errorMsg)
-             Rast_unopen(fd[i]);
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
-     exit(EXIT_FAILURE);
- 
- }
-diff --git a/raster3d/r3.to.rast/main.c b/raster3d/r3.to.rast/main.c
-index 9006d22..1119f26 100644
---- a/raster3d/r3.to.rast/main.c
-+++ b/raster3d/r3.to.rast/main.c
-@@ -60,7 +60,7 @@ void fatal_error(void *map, int *fd, int depths, char *errorMsg)
-             Rast_unopen(fd[i]);
-     }
- 
--    Rast3d_fatal_error(errorMsg);
-+    Rast3d_fatal_error("%s", errorMsg);
-     exit(EXIT_FAILURE);
- 
- }
-diff --git a/vector/v.in.ascii/main.c b/vector/v.in.ascii/main.c
-index adcd9d2..dae9c59 100644
---- a/vector/v.in.ascii/main.c
-+++ b/vector/v.in.ascii/main.c
-@@ -404,7 +404,7 @@ int main(int argc, char *argv[])
- 				Fi->driver);
- 
- 	    /* Create table */
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		G_fatal_error(_("Unable to create table: %s"),
- 			      db_get_string(&sql));
-diff --git a/vector/v.in.ascii/points.c b/vector/v.in.ascii/points.c
-index a3c5186..bfa6d2f 100644
---- a/vector/v.in.ascii/points.c
-+++ b/vector/v.in.ascii/points.c
-@@ -446,7 +446,7 @@ int points_to_bin(FILE * ascii, int rowlen, struct Map_info *Map,
- 		db_append_string(&sql, buf2);
- 	    }
- 	    db_append_string(&sql, ")");
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 
- 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		G_fatal_error(_("Unable to insert new record: %s"),
-diff --git a/vector/v.in.lidar/main.c b/vector/v.in.lidar/main.c
-index 6b22cbe..f4cd4cf 100644
---- a/vector/v.in.lidar/main.c
-+++ b/vector/v.in.lidar/main.c
-@@ -472,7 +472,7 @@ int main(int argc, char *argv[])
- 	    strcat(error_msg,
- 		   _("Consider generating a new location with 'location' parameter"
- 		    " from input data set.\n"));
--	    G_fatal_error(error_msg);
-+	    G_fatal_error("%s", error_msg);
- 	}
- 	else {
- 	    G_verbose_message(_("Projection of input dataset and current "
-@@ -596,7 +596,7 @@ int main(int argc, char *argv[])
- 	}
- 
- 	db_append_string(&sql, ")");
--	G_debug(3, db_get_string(&sql));
-+	G_debug(3, "%s", db_get_string(&sql));
- 
- 	driver =
- 	    db_start_driver_open_database(Fi->driver,
-@@ -778,7 +778,7 @@ int main(int argc, char *argv[])
- 		db_append_string(&sql, buf);
- 	    }
- 	    db_append_string(&sql, " )");
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 
- 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		G_fatal_error(_("Cannot insert new row: %s"),
-diff --git a/vector/v.in.ogr/main.c b/vector/v.in.ogr/main.c
-index 6604065..1b16e85 100644
---- a/vector/v.in.ogr/main.c
-+++ b/vector/v.in.ogr/main.c
-@@ -1101,7 +1101,7 @@ int main(int argc, char *argv[])
- 		G_free(Ogr_fieldname);
- 	    }
- 	    db_append_string(&sql, ")");
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 
- 	    driver =
- 		db_start_driver_open_database(Fi->driver,
-@@ -1236,7 +1236,7 @@ int main(int argc, char *argv[])
- 		    db_append_string(&sql, buf);
- 		}
- 		db_append_string(&sql, " )");
--		G_debug(3, db_get_string(&sql));
-+		G_debug(3, "%s", db_get_string(&sql));
- 
- 		if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		    db_close_database(driver);
-diff --git a/vector/v.net.allpairs/main.c b/vector/v.net.allpairs/main.c
-index ae877fd..b459021 100644
---- a/vector/v.net.allpairs/main.c
-+++ b/vector/v.net.allpairs/main.c
-@@ -172,7 +172,7 @@ int main(int argc, char *argv[])
- 	    Fi->table);
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	db_close_database_shutdown_driver(driver);
-@@ -264,7 +264,7 @@ int main(int argc, char *argv[])
- 	    sprintf(buf, "insert into %s values (%d, %d, %d, %f)",
- 		    Fi->table, cat, spnode[i].cat, spnode[j].cat, cost);
- 	    db_set_string(&sql, buf);
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 
- 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		db_close_database_shutdown_driver(driver);
-diff --git a/vector/v.net.centrality/main.c b/vector/v.net.centrality/main.c
-index 0f89bb3..fc7058f 100644
---- a/vector/v.net.centrality/main.c
-+++ b/vector/v.net.centrality/main.c
-@@ -260,7 +260,7 @@ int main(int argc, char *argv[])
- 	    "create table %s(cat integer%s)", Fi->table, db_get_string(&tmp));
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql));
-diff --git a/vector/v.net.components/main.c b/vector/v.net.components/main.c
-index 0520651..9a1d6dd 100644
---- a/vector/v.net.components/main.c
-+++ b/vector/v.net.components/main.c
-@@ -31,7 +31,7 @@ int insert_new_record(dbDriver * driver, struct field_info *Fi,
- 
-     sprintf(buf, "insert into %s values (%d, %d)", Fi->table, cat, comp);
-     db_set_string(sql, buf);
--    G_debug(3, db_get_string(sql));
-+    G_debug(3, "%s", db_get_string(sql));
- 
-     if (db_execute_immediate(driver, sql) != DB_OK) {
- 	db_close_database_shutdown_driver(driver);
-@@ -182,7 +182,7 @@ int main(int argc, char *argv[])
-     sprintf(buf, "create table %s ( cat integer, comp integer)", Fi->table);
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	db_close_database_shutdown_driver(driver);
-diff --git a/vector/v.net.distance/main.c b/vector/v.net.distance/main.c
-index fbf61c8..0bd04ac 100644
---- a/vector/v.net.distance/main.c
-+++ b/vector/v.net.distance/main.c
-@@ -257,7 +257,7 @@ int main(int argc, char *argv[])
- 	    Fi->table);
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql));
-@@ -320,7 +320,7 @@ int main(int argc, char *argv[])
- 		    tcat, cost);
- 
- 	    db_set_string(&sql, buf);
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		G_fatal_error(_("Cannot insert new record: %s"),
- 			      db_get_string(&sql));
-diff --git a/vector/v.net.flow/main.c b/vector/v.net.flow/main.c
-index 1a37d2a..a002180 100644
---- a/vector/v.net.flow/main.c
-+++ b/vector/v.net.flow/main.c
-@@ -174,7 +174,7 @@ int main(int argc, char *argv[])
- 	    Fi->table);
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	db_close_database_shutdown_driver(driver);
-@@ -255,7 +255,7 @@ int main(int argc, char *argv[])
- 	    sprintf(buf, "insert into %s values (%d, %f)", Fi->table, cat,
- 		    flow[i] / (double)In.dgraph.cost_multip);
- 	    db_set_string(&sql, buf);
--	    G_debug(3, db_get_string(&sql));
-+	    G_debug(3, "%s", db_get_string(&sql));
- 
- 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		db_close_database_shutdown_driver(driver);
-diff --git a/vector/v.net.path/path.c b/vector/v.net.path/path.c
-index ed0f04c..a45023c 100644
---- a/vector/v.net.path/path.c
-+++ b/vector/v.net.path/path.c
-@@ -103,7 +103,7 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename,
- 	    Fi->table);
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql));
-@@ -306,7 +306,7 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename,
- 		"insert into %s values ( %d, %d, %d, %d, %d, %f, %f, %f)",
- 		Fi->table, cat, id, fcat, tcat, sp, cost, fdist, tdist);
- 	db_set_string(&sql, buf);
--	G_debug(3, db_get_string(&sql));
-+	G_debug(3, "%s", db_get_string(&sql));
- 
- 	if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	    G_fatal_error(_("Cannot insert new record: %s"),
-diff --git a/vector/v.net.timetable/main.c b/vector/v.net.timetable/main.c
-index 2e9bba6..18f2ba6 100644
---- a/vector/v.net.timetable/main.c
-+++ b/vector/v.net.timetable/main.c
-@@ -96,7 +96,7 @@ void init_database(struct Map_info *Out, dbDriver ** driver,
-     sprintf(buf, "create table %s (%s)", (*Fi)->table, columns);
- 
-     db_set_string(&sql, buf);
--    G_debug(2, db_get_string(&sql));
-+    G_debug(2, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(*driver, &sql) != DB_OK) {
- 	db_close_database_shutdown_driver(*driver);
-@@ -128,7 +128,7 @@ void insert_point(dbDriver * driver, char *table, int cat, int path,
-     sprintf(buf, "insert into %s values (%d, %d, %d, %d, %d, %d)", table, cat,
- 	    path, stop_id, index, arrival_time, departure_time);
-     db_set_string(&sql, buf);
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	db_close_database_shutdown_driver(driver);
- 	G_fatal_error(_("Cannot insert new record: %s"), db_get_string(&sql));
-@@ -150,7 +150,7 @@ void insert_line(dbDriver * driver, char *table, int cat, int path,
- 	    table, cat, path, from_id, to_id, route_id, index, from_time,
- 	    to_time);
-     db_set_string(&sql, buf);
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	db_close_database_shutdown_driver(driver);
- 	G_fatal_error(_("Cannot insert new record: %s"), db_get_string(&sql));
-diff --git a/vector/v.net/main.c b/vector/v.net/main.c
-index d1cc5b2..12e0d39 100644
---- a/vector/v.net/main.c
-+++ b/vector/v.net/main.c
-@@ -171,7 +171,7 @@ int main(int argc, char **argv)
-     if (file_arcs)
- 	fclose(file_arcs);
- 
--    G_done_msg(message);
-+    G_done_msg("%s", message);
- 
-     return (EXIT_SUCCESS);
- }
-diff --git a/vector/v.out.postgis/create.c b/vector/v.out.postgis/create.c
-index 5aa1682..a33dc20 100644
---- a/vector/v.out.postgis/create.c
-+++ b/vector/v.out.postgis/create.c
-@@ -77,9 +77,9 @@ char *create_pgfile(const char *dsn, const char *schema, const char *olink,
- 	    G_set_key_value(tokens[0], tokens[1], key_val);
- 	    
- 	    if (strcmp(tokens[0], "fid") == 0)
--		G_asprintf(fid_column, tokens[1]);
-+                G_asprintf(fid_column, "%s", tokens[1]);
- 	    if (strcmp(tokens[0], "geometry_name") == 0)
--		G_asprintf(geom_column, tokens[1]);
-+		G_asprintf(geom_column, "%s", tokens[1]);
- 
- 	    G_free_tokens(tokens);
- 	}
-diff --git a/vector/v.overlay/area_area.c b/vector/v.overlay/area_area.c
-index 70d5323..e766126 100644
---- a/vector/v.overlay/area_area.c
-+++ b/vector/v.overlay/area_area.c
-@@ -339,7 +339,7 @@ int area_area(struct Map_info *In, int *field, struct Map_info *Tmp,
- 
- 			db_append_string(&stmt, " )");
- 
--			G_debug(3, db_get_string(&stmt));
-+			G_debug(3, "%s", db_get_string(&stmt));
- 
- 			if (db_execute_immediate(driver, &stmt) != DB_OK)
- 			    G_warning(_("Unable to insert new record: '%s'"),
-diff --git a/vector/v.overlay/line_area.c b/vector/v.overlay/line_area.c
-index 5bd828d..5384193 100644
---- a/vector/v.overlay/line_area.c
-+++ b/vector/v.overlay/line_area.c
-@@ -404,7 +404,7 @@ int line_area(struct Map_info *In, int *field, struct Map_info *Tmp,
- 
- 			    db_append_string(&stmt, " )");
- 
--			    G_debug(3, db_get_string(&stmt));
-+			    G_debug(3, "%s", db_get_string(&stmt));
- 
- 			    if (db_execute_immediate(driver, &stmt) != DB_OK)
- 				G_warning(_("Unable to insert new record: '%s'"),
-diff --git a/vector/v.overlay/main.c b/vector/v.overlay/main.c
-index e9bdc91..2e163a5 100644
---- a/vector/v.overlay/main.c
-+++ b/vector/v.overlay/main.c
-@@ -572,7 +572,7 @@ int main(int argc, char *argv[])
- 
- 	db_append_string(&stmt, " )");
- 
--	G_debug(3, db_get_string(&stmt));
-+	G_debug(3, "%s", db_get_string(&stmt));
- 
- 	if (db_execute_immediate(driver, &stmt) != DB_OK) {
- 	    Vect_close(&Out);
-diff --git a/vector/v.random/main.c b/vector/v.random/main.c
-index 51b9419..07e8671 100644
---- a/vector/v.random/main.c
-+++ b/vector/v.random/main.c
-@@ -462,7 +462,7 @@ int main(int argc, char *argv[])
- 			sprintf(buf, "%.0f )", z);
- 		    db_append_string(&sql, buf);
- 
--		    G_debug(3, db_get_string(&sql));
-+		    G_debug(3, "%s", db_get_string(&sql));
- 		    if (db_execute_immediate(driver, &sql) != DB_OK) {
- 			G_fatal_error(_("Cannot insert new row: %s"),
- 				      db_get_string(&sql));
-@@ -582,7 +582,7 @@ int main(int argc, char *argv[])
- 		    sprintf(buf, "%.0f )", z);
- 		db_append_string(&sql, buf);
- 
--		G_debug(3, db_get_string(&sql));
-+		G_debug(3, "%s", db_get_string(&sql));
- 		if (db_execute_immediate(driver, &sql) != DB_OK) {
- 		    G_fatal_error(_("Cannot insert new row: %s"),
- 				  db_get_string(&sql));
-diff --git a/vector/v.rectify/cp.c b/vector/v.rectify/cp.c
-index c3c9464..d5e3eed 100644
---- a/vector/v.rectify/cp.c
-+++ b/vector/v.rectify/cp.c
-@@ -373,7 +373,7 @@ int get_control_points(char *group, char *pfile, int order, int use3d,
- 	break;
-     }
-     if (ret != 1)
--	G_fatal_error(msg);
-+        G_fatal_error("%s", msg);
- 	
-     if (rms) {
- 	compute_rms(&cp, &cp3, order, use3d, orthorot, sep, fpr);
-diff --git a/vector/v.rectify/target.c b/vector/v.rectify/target.c
-index efa6dc6..77c461b 100644
---- a/vector/v.rectify/target.c
-+++ b/vector/v.rectify/target.c
-@@ -42,6 +42,6 @@ int get_target(char *group)
-   error:
-     strcat(buf, _("Please run i.target for group."));
-     strcat(buf, group);
--    G_fatal_error(buf);
-+    G_fatal_error("%s", buf);
-     return 1;			/* never reached */
- }
-diff --git a/vector/v.surf.rst/main.c b/vector/v.surf.rst/main.c
-index 286d7a1..1c7f2ed 100644
---- a/vector/v.surf.rst/main.c
-+++ b/vector/v.surf.rst/main.c
-@@ -581,7 +581,7 @@ int main(int argc, char *argv[])
- 	db_append_string(&sql2, "cat integer");
- 	db_append_string(&sql2, ", flt1 double precision");
- 	db_append_string(&sql2, ")");
--	G_debug(1, db_get_string(&sql2));
-+	G_debug(1, "%s", db_get_string(&sql2));
- 	driver2 = db_start_driver_open_database(ff->driver, ff->database);
- 	if (driver2 == NULL)
- 	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
-diff --git a/vector/v.vol.rst/main.c b/vector/v.vol.rst/main.c
-index fe4bf63..a283d7e 100644
---- a/vector/v.vol.rst/main.c
-+++ b/vector/v.vol.rst/main.c
-@@ -594,7 +594,7 @@ int main(int argc, char *argv[])
- 	db_append_string(&sql, " integer");
- 	db_append_string(&sql, ", flt1 double precision");
- 	db_append_string(&sql, ")");
--	G_debug(1, db_get_string(&sql));
-+	G_debug(1, "%s", db_get_string(&sql));
- 	driver = db_start_driver_open_database(f->driver, f->database);
- 	if (driver == NULL)
- 	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
-diff --git a/vector/v.vol.rst/vector.c b/vector/v.vol.rst/vector.c
-index 3551603..a3bfc1b 100644
---- a/vector/v.vol.rst/vector.c
-+++ b/vector/v.vol.rst/vector.c
-@@ -72,7 +72,7 @@ int point_save(double xmm, double ymm, double zmm, double err)
-     sprintf(buf, ", %f", err);
-     db_append_string(&sql, buf);
-     db_append_string(&sql, ")");
--    G_debug(3, db_get_string(&sql));
-+    G_debug(3, "%s", db_get_string(&sql));
- 
-     if (db_execute_immediate(driver, &sql) != DB_OK) {
- 	db_close_database(driver);
-diff --git a/vector/v.what.rast/main.c b/vector/v.what.rast/main.c
-index 542093f..e329710 100644
---- a/vector/v.what.rast/main.c
-+++ b/vector/v.what.rast/main.c
-@@ -623,7 +623,7 @@ int main(int argc, char *argv[])
- 		sprintf(buf, " AND %s", opt.where->answer);
- 		db_append_string(&stmt, buf);
- 	    }
--	    G_debug(3, db_get_string(&stmt));
-+	    G_debug(3, "%s", db_get_string(&stmt));
- 
- 	    /* Update table */
- 	    if (db_execute_immediate(driver, &stmt) == DB_OK) {
-diff --git a/vector/v.what.rast3/main.c b/vector/v.what.rast3/main.c
-index d84f155..27ff931 100644
---- a/vector/v.what.rast3/main.c
-+++ b/vector/v.what.rast3/main.c
-@@ -305,7 +305,7 @@ int main(int argc, char *argv[])
- 	    G_snprintf(buf, 2048, " AND %s", opt.where->answer);
- 	    db_append_string(&stmt, buf);
- 	}
--	G_debug(3, db_get_string(&stmt));
-+	G_debug(3, "%s", db_get_string(&stmt));
- 
- 	/* Update table */
- 	if (db_execute_immediate(driver, &stmt) == DB_OK) {

diff --git a/sci-geosciences/grass/files/grass-7.0.1-include-errno.patch b/sci-geosciences/grass/files/grass-7.0.1-include-errno.patch
deleted file mode 100644
index d2549f6..0000000
--- a/sci-geosciences/grass/files/grass-7.0.1-include-errno.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/lib/raster/open.c b/lib/raster/open.c
-index d5a902f..1beada7 100644
---- a/lib/raster/open.c
-+++ b/lib/raster/open.c
-@@ -19,6 +19,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-+#include <errno.h>
- 
- #include <grass/config.h>
- #include <grass/gis.h>

diff --git a/sci-geosciences/grass/files/grass-7.0.1-soname.patch b/sci-geosciences/grass/files/grass-7.0.1-soname.patch
deleted file mode 100644
index 3f3442c..0000000
--- a/sci-geosciences/grass/files/grass-7.0.1-soname.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: aclocal.m4
-===================================================================
---- aclocal.m4	(revision 66647)
-+++ aclocal.m4	(working copy)
-@@ -488,7 +488,7 @@
-     case $host in
-         *-linux-* | *-gnu* | *-kfreebsd*-gnu)
- 	    SHLIB_CFLAGS="-fPIC"
--            SHLIB_LD_FLAGS=""
-+            SHLIB_LD_FLAGS="-Wl,-soname,\$(notdir \$[@])"
- 	    SHLIB_SUFFIX=".so"
- 	    SHLIB_LD="${CC} -shared"
-             LDFLAGS="-Wl,--export-dynamic"
-Index: configure
-===================================================================
---- configure	(revision 66647)
-+++ configure	(working copy)
-@@ -1481,7 +1481,7 @@
-     case $host in
-         *-linux-* | *-gnu* | *-kfreebsd*-gnu)
- 	    SHLIB_CFLAGS="-fPIC"
--            SHLIB_LD_FLAGS=""
-+            SHLIB_LD_FLAGS="-Wl,-soname,\$(notdir \$@)"
- 	    SHLIB_SUFFIX=".so"
- 	    SHLIB_LD="${CC} -shared"
-             LDFLAGS="-Wl,--export-dynamic"

diff --git a/sci-geosciences/grass/grass-7.0.1-r5.ebuild b/sci-geosciences/grass/grass-7.0.1-r5.ebuild
deleted file mode 100644
index 2f1201c..0000000
--- a/sci-geosciences/grass/grass-7.0.1-r5.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="sqlite(-)?"
-WANT_AUTOCONF="2.1"
-
-inherit eutils gnome2 fdo-mime multilib python-single-r1 versionator wxwidgets autotools
-
-MY_PM=${PN}$(get_version_component_range 1-2 ${PV})
-MY_PM=${MY_PM/.}
-MY_P=${P/_rc/RC}
-
-DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
-HOMEPAGE="http://grass.osgeo.org/"
-SRC_URI="http://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/7.0.1-r5"
-KEYWORDS="~amd64 ~x86"
-IUSE="X blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype"
-
-RDEPEND="${PYTHON_DEPS}
-	>=app-admin/eselect-1.2
-	media-libs/libprojectm
-	sci-libs/proj
-	sci-libs/xdrfile
-	sci-libs/gdal
-	sys-libs/gdbm
-	sys-libs/ncurses:0=
-	sys-libs/zlib
-	fftw? ( sci-libs/fftw:3.0 )
-	geos? ( sci-libs/geos )
-	blas? ( virtual/blas
-		sci-libs/cblas-reference )
-	lapack? ( virtual/lapack )
-	liblas? ( sci-geosciences/liblas )
-	mysql? ( virtual/mysql )
-	netcdf? ( sci-libs/netcdf )
-	odbc? ( dev-db/unixODBC )
-	opencl? ( virtual/opencl )
-	opengl? ( virtual/opengl )
-	png? ( media-libs/libpng:0= )
-	postgres? ( >=dev-db/postgresql-8.4:= )
-	readline? ( sys-libs/readline:0= )
-	sqlite? ( dev-db/sqlite:3 )
-	tiff? ( media-libs/tiff:0= )
-	truetype? ( media-libs/freetype:2 )
-	X? (
-		>=dev-python/wxpython-2.8.10.1:2.8[cairo,opengl?]
-		x11-libs/cairo[X,opengl?]
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		x11-libs/libXaw
-		x11-libs/libXext
-		x11-libs/libXmu
-		x11-libs/libXp
-		x11-libs/libXpm
-		x11-libs/libXt
-	)"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	sys-devel/flex
-	sys-devel/gettext
-	sys-devel/bison
-	X? (
-		dev-lang/swig
-		x11-proto/xextproto
-		x11-proto/xproto
-	)"
-
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	opengl? ( X )"
-
-PATCHES=(
-	"${FILESDIR}/${P}"-include-errno.patch
-	"${FILESDIR}/${P}"-declare-inespg.patch
-	"${FILESDIR}/${PV}"-sec-format.patch
-	"${FILESDIR}/${P}"-soname.patch
-)
-
-pkg_setup() {
-	if use lapack; then
-		local mylapack
-		mylapack=$(eselect lapack show) || die
-		if [[ -z "${mylapack/.*reference.*/}" ]] && \
-			[[ -z "${mylapack/.*atlas.*/}" ]]; then
-			ewarn "You need to set lapack to atlas or reference. Do:"
-			ewarn "   eselect lapack set <impl>"
-			ewarn "where <impl> is atlas, threaded-atlas or reference"
-			die "setup failed"
-		fi
-	fi
-
-	if use blas; then
-		local myblas
-		myblas=$(eselect blas show) || die
-		if [[ -z "${myblas/.*reference.*/}" ]] && \
-			[[ -z "${myblas/.*atlas.*/}" ]]; then
-			ewarn "You need to set blas to atlas or reference. Do:"
-			ewarn "   eselect blas set <impl>"
-			ewarn "where <impl> is atlas, threaded-atlas or reference"
-			die "setup failed"
-		fi
-	fi
-
-	python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	# Fix unversioned python calls
-	local pyver=${EPYTHON/python/}
-	sed -e "s:GRASS_PYTHON=.*:&${pyver}:" -i "${S}/lib/init/grass.sh" || die
-	sed -e "s:= python:&${pyver}:" -i "${S}/include/Make/Platform.make.in" || die
-
-	# fix header being unconditionally included
-	# see upstream https://trac.osgeo.org/grass/ticket/2779
-	sed -e 's:\(#include <ogr_api.h>\):#ifdef HAVE_OGR\n\1\n#endif:' \
-		-i "${S}/vector/v.external/main.c" || die "failed to sed main.c"
-
-	epatch "${PATCHES[@]}"
-
-	epatch_user
-	eautoconf
-
-	python_fix_shebang "${S}"
-}
-
-src_configure() {
-	if use X; then
-		WX_BUILD=yes
-		WX_GTK_VER=2.8
-		need-wxwidgets unicode
-	fi
-
-	use opencl && addwrite "${ROOT}dev/dri/renderD128"
-
-	econf \
-		--enable-shared \
-		--disable-w11 \
-		$(use_with cxx) \
-		$(use_with tiff) \
-		$(use_with png) \
-		$(use_with postgres) \
-		$(use_with mysql) \
-		$(use_with mysql mysql-includes "${ROOT}usr/include/mysql") \
-		$(use_with mysql mysql-libs "${ROOT}usr/$(get_libdir)/mysql") \
-		$(use_with sqlite) \
-		$(use_with opengl) \
-		$(use_with odbc) \
-		$(use_with fftw) \
-		$(use_with blas) \
-		$(use_with lapack) \
-		$(use_with X cairo) \
-		$(use_with truetype freetype) \
-		$(use_with truetype freetype-includes "${ROOT}usr/include/freetype2") \
-		$(use_with nls) \
-		$(use_with readline) \
-		--without-opendwg \
-		--with-regex \
-		$(use_with threads pthread) \
-		$(use_with openmp) \
-		$(use_with opencl) \
-		--with-gdal="${ROOT}usr/bin/gdal-config" \
-		$(use_with liblas liblas "${ROOT}usr/bin/liblas-config") \
-		$(use_with X wxwidgets "${WX_CONFIG}") \
-		$(use_with netcdf netcdf "${ROOT}usr/bin/nc-config") \
-		$(use_with geos geos "${ROOT}usr/bin/geos-config") \
-		--with-proj-includes="${ROOT}usr/include/libprojectM" \
-		--with-proj-libs="${ROOT}usr/$(get_libdir)" \
-		--with-proj-share="${ROOT}usr/share/proj/" \
-		$(use_with X x)
-}
-
-src_compile() {
-	# we don't want to link against embedded mysql lib
-	emake CC="$(tc-getCC)" MYSQLDLIB=""
-}
-
-src_install() {
-	emake DESTDIR="${D}" \
-		INST_DIR="${D}usr/${MY_PM}" \
-		prefix="${D}usr" BINDIR="${D}usr/bin" \
-		PREFIX="${D}usr/" \
-		install
-
-	pushd "${D}usr/${MY_PM}" &> /dev/null || die
-
-	# fix docs
-	dodoc AUTHORS CHANGES
-	dohtml -r docs/html/*
-	rm -rf docs/ || die
-	rm -rf {AUTHORS,CHANGES,COPYING,GPL.TXT,REQUIREMENTS.html} || die
-
-	# manuals
-	dodir /usr/share/man/man1
-	rm -rf man/ || die
-
-	# translations
-	if use nls; then
-		dodir /usr/share/locale/
-		mv locale/* "${D}usr/share/locale/" || die
-		rm -rf locale/ || die
-		# pt_BR is broken
-		mv "${D}usr/share/locale/pt_br" "${D}usr/share/locale/pt_BR" || die
-	fi
-
-	popd &> /dev/null || die
-
-	# place libraries where they belong
-	mv "${D}usr/${MY_PM}/lib/" "${D}usr/$(get_libdir)/" || die
-
-	# place header files where they belong
-	mv "${D}usr/${MY_PM}/include/" "${D}usr/include/" || die
-	# make rules are not required on installed system
-	rm -rf "${D}usr/include/Make" || die
-
-	# mv remaining gisbase stuff to libdir
-	mv "${D}usr/${MY_PM}" "${D}usr/$(get_libdir)" || die
-
-	# get proper folder for grass path in script
-	local gisbase
-	gisbase="${ROOT}usr/$(get_libdir)/${MY_PM}"
-	sed -e "s:gisbase = \".*:gisbase = \"${gisbase}\":" \
-		-i "${D}usr/bin/${MY_PM}" || die
-
-	# get proper fonts path for fontcap
-	sed -i \
-		-e "s|${D}usr/${MY_PM}|${EPREFIX}usr/$(get_libdir)/${MY_PM}|" \
-		"${D}usr/$(get_libdir)/${MY_PM}/etc/fontcap" || die
-
-	# set proper python interpreter
-	sed -e "s:= \"python\":= \"${EPYTHON}\":" -i "${D}usr/bin/${MY_PM}" || die
-
-	if use X; then
-		local GUI="-gui"
-		[[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
-		make_desktop_entry "/usr/bin/${MY_PM} ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
-		doicon -s 48 gui/icons/${PN}-48x48.png
-	fi
-
-	# install .pc file so other apps know where to look for grass
-	insinto /usr/$(get_libdir)/pkgconfig/
-	doins grass.pc
-
-	# fix weird +x on tcl scripts
-	find "${D}" -name "*.tcl" -exec chmod +r-x '{}' \;
-}
-
-pkg_postinst() {
-	if use X; then
-		fdo-mime_desktop_database_update
-		gnome2_icon_cache_update
-	fi
-}
-
-pkg_postrm() {
-	if use X; then
-		fdo-mime_desktop_database_update
-		gnome2_icon_cache_update
-	fi
-}

diff --git a/sci-geosciences/grass/grass-7.0.2.ebuild b/sci-geosciences/grass/grass-7.0.2.ebuild
deleted file mode 100644
index c63746b..0000000
--- a/sci-geosciences/grass/grass-7.0.2.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="sqlite(-)?"
-WANT_AUTOCONF="2.1"
-
-inherit eutils gnome2 fdo-mime multilib python-single-r1 versionator wxwidgets autotools
-
-MY_PM=${PN}$(get_version_component_range 1-2 ${PV})
-MY_PM=${MY_PM/.}
-MY_P=${P/_rc/RC}
-
-DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
-HOMEPAGE="http://grass.osgeo.org/"
-SRC_URI="http://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/7.0.2"
-KEYWORDS="~amd64 ~x86"
-IUSE="X blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype"
-
-RDEPEND="${PYTHON_DEPS}
-	>=app-admin/eselect-1.2
-	media-libs/libprojectm
-	sci-libs/proj
-	sci-libs/xdrfile
-	sci-libs/gdal
-	sys-libs/gdbm
-	sys-libs/ncurses:0=
-	sys-libs/zlib
-	fftw? ( sci-libs/fftw:3.0 )
-	geos? ( sci-libs/geos )
-	blas? ( virtual/blas
-		sci-libs/cblas-reference )
-	lapack? ( virtual/lapack )
-	liblas? ( sci-geosciences/liblas )
-	mysql? ( virtual/mysql )
-	netcdf? ( sci-libs/netcdf )
-	odbc? ( dev-db/unixODBC )
-	opencl? ( virtual/opencl )
-	opengl? ( virtual/opengl )
-	png? ( media-libs/libpng:0= )
-	postgres? ( >=dev-db/postgresql-8.4:= )
-	readline? ( sys-libs/readline:0= )
-	sqlite? ( dev-db/sqlite:3 )
-	tiff? ( media-libs/tiff:0= )
-	truetype? ( media-libs/freetype:2 )
-	X? (
-		>=dev-python/wxpython-2.8.10.1:2.8[cairo,opengl?]
-		x11-libs/cairo[X,opengl?]
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		x11-libs/libXaw
-		x11-libs/libXext
-		x11-libs/libXmu
-		x11-libs/libXp
-		x11-libs/libXpm
-		x11-libs/libXt
-	)"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	sys-devel/flex
-	sys-devel/gettext
-	sys-devel/bison
-	X? (
-		dev-lang/swig
-		x11-proto/xextproto
-		x11-proto/xproto
-	)"
-
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
-	${PYTHON_REQUIRED_USE}
-	opengl? ( X )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}"-7.0.1-declare-inespg.patch
-	"${FILESDIR}/${PN}"-7.0.1-soname.patch
-)
-
-pkg_setup() {
-	if use lapack; then
-		local mylapack
-		mylapack=$(eselect lapack show) || die
-		if [[ -z "${mylapack/.*reference.*/}" ]] && \
-			[[ -z "${mylapack/.*atlas.*/}" ]]; then
-			ewarn "You need to set lapack to atlas or reference. Do:"
-			ewarn "   eselect lapack set <impl>"
-			ewarn "where <impl> is atlas, threaded-atlas or reference"
-			die "setup failed"
-		fi
-	fi
-
-	if use blas; then
-		local myblas
-		myblas=$(eselect blas show) || die
-		if [[ -z "${myblas/.*reference.*/}" ]] && \
-			[[ -z "${myblas/.*atlas.*/}" ]]; then
-			ewarn "You need to set blas to atlas or reference. Do:"
-			ewarn "   eselect blas set <impl>"
-			ewarn "where <impl> is atlas, threaded-atlas or reference"
-			die "setup failed"
-		fi
-	fi
-
-	python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	# Fix unversioned python calls
-	local pyver=${EPYTHON/python/}
-	sed -e "s:GRASS_PYTHON=.*:&${pyver}:" -i "${S}/lib/init/grass.sh" || die
-	sed -e "s:= python:&${pyver}:" -i "${S}/include/Make/Platform.make.in" || die
-
-	# fix header being unconditionally included
-	# see upstream https://trac.osgeo.org/grass/ticket/2779
-	sed -e 's:\(#include <ogr_api.h>\):#ifdef HAVE_OGR\n\1\n#endif:' \
-		-i "${S}/vector/v.external/main.c" || die "failed to sed main.c"
-
-	epatch "${PATCHES[@]}"
-
-	epatch_user
-	eautoconf
-
-	ebegin "Fixing python shebangs"
-	python_fix_shebang -q "${S}"
-	eend $?
-}
-
-src_configure() {
-	if use X; then
-		WX_BUILD=yes
-		WX_GTK_VER=2.8
-		need-wxwidgets unicode
-	fi
-
-	addwrite "${ROOT}dev/dri/renderD128"
-
-	econf \
-		--enable-shared \
-		--disable-w11 \
-		$(use_with cxx) \
-		$(use_with tiff) \
-		$(use_with png) \
-		$(use_with postgres) \
-		$(use_with mysql) \
-		$(use_with mysql mysql-includes "${ROOT}usr/include/mysql") \
-		$(use_with mysql mysql-libs "${ROOT}usr/$(get_libdir)/mysql") \
-		$(use_with sqlite) \
-		$(use_with opengl) \
-		$(use_with odbc) \
-		$(use_with fftw) \
-		$(use_with blas) \
-		$(use_with lapack) \
-		$(use_with X cairo) \
-		$(use_with truetype freetype) \
-		$(use_with truetype freetype-includes "${ROOT}usr/include/freetype2") \
-		$(use_with nls) \
-		$(use_with readline) \
-		--without-opendwg \
-		--with-regex \
-		$(use_with threads pthread) \
-		$(use_with openmp) \
-		$(use_with opencl) \
-		--with-gdal="${ROOT}usr/bin/gdal-config" \
-		$(use_with liblas liblas "${ROOT}usr/bin/liblas-config") \
-		$(use_with X wxwidgets "${WX_CONFIG}") \
-		$(use_with netcdf netcdf "${ROOT}usr/bin/nc-config") \
-		$(use_with geos geos "${ROOT}usr/bin/geos-config") \
-		--with-proj-includes="${ROOT}usr/include/libprojectM" \
-		--with-proj-libs="${ROOT}usr/$(get_libdir)" \
-		--with-proj-share="${ROOT}usr/share/proj/" \
-		$(use_with X x)
-}
-
-src_compile() {
-	# we don't want to link against embedded mysql lib
-	emake CC="$(tc-getCC)" MYSQLDLIB=""
-}
-
-src_install() {
-	emake DESTDIR="${D}" \
-		INST_DIR="${D}usr/${MY_PM}" \
-		prefix="${D}usr" BINDIR="${D}usr/bin" \
-		PREFIX="${D}usr/" \
-		install
-
-	pushd "${D}usr/${MY_PM}" &> /dev/null || die
-
-	# fix docs
-	dodoc AUTHORS CHANGES
-	dohtml -r docs/html/*
-	rm -rf docs/ || die
-	rm -rf {AUTHORS,CHANGES,COPYING,GPL.TXT,REQUIREMENTS.html} || die
-
-	# manuals
-	dodir /usr/share/man/man1
-	rm -rf man/ || die
-
-	# translations
-	if use nls; then
-		dodir /usr/share/locale/
-		mv locale/* "${D}usr/share/locale/" || die
-		rm -rf locale/ || die
-		# pt_BR is broken
-		mv "${D}usr/share/locale/pt_br" "${D}usr/share/locale/pt_BR" || die
-	fi
-
-	popd &> /dev/null || die
-
-	# place libraries where they belong
-	mv "${D}usr/${MY_PM}/lib/" "${D}usr/$(get_libdir)/" || die
-
-	# place header files where they belong
-	mv "${D}usr/${MY_PM}/include/" "${D}usr/include/" || die
-	# make rules are not required on installed system
-	rm -rf "${D}usr/include/Make" || die
-
-	# mv remaining gisbase stuff to libdir
-	mv "${D}usr/${MY_PM}" "${D}usr/$(get_libdir)" || die
-
-	# get proper folder for grass path in script
-	local gisbase
-	gisbase="${ROOT}usr/$(get_libdir)/${MY_PM}"
-	sed -e "s:gisbase = \".*:gisbase = \"${gisbase}\":" \
-		-i "${D}usr/bin/${MY_PM}" || die
-
-	# get proper fonts path for fontcap
-	sed -i \
-		-e "s|${D}usr/${MY_PM}|${EPREFIX}usr/$(get_libdir)/${MY_PM}|" \
-		"${D}usr/$(get_libdir)/${MY_PM}/etc/fontcap" || die
-
-	# set proper python interpreter
-	sed -e "s:= \"python\":= \"${EPYTHON}\":" -i "${D}usr/bin/${MY_PM}" || die
-
-	if use X; then
-		local GUI="-gui"
-		[[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
-		make_desktop_entry "/usr/bin/${MY_PM} ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
-		doicon -s 48 gui/icons/${PN}-48x48.png
-	fi
-
-	# install .pc file so other apps know where to look for grass
-	insinto /usr/$(get_libdir)/pkgconfig/
-	doins grass.pc
-
-	# fix weird +x on tcl scripts
-	find "${D}" -name "*.tcl" -exec chmod +r-x '{}' \;
-}
-
-pkg_postinst() {
-	if use X; then
-		fdo-mime_desktop_database_update
-		gnome2_icon_cache_update
-	fi
-}
-
-pkg_postrm() {
-	if use X; then
-		fdo-mime_desktop_database_update
-		gnome2_icon_cache_update
-	fi
-}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2018-04-04 21:10 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2018-04-04 21:10 UTC (permalink / raw
  To: gentoo-commits

commit:     6ca4bd78d32c439cb0bdae189d3d309787fbbdb1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  4 20:42:47 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Apr  4 21:09:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ca4bd78

sci-geosciences/grass: Fix build with GCC-7

Thanks-to: Martin von Gagern <Martin.vGagern <AT> gmx.net>
Closes: https://bugs.gentoo.org/642750
Package-Manager: Portage-2.3.28, Repoman-2.3.9

 sci-geosciences/grass/files/grass-7.2.0-gcc7.patch | 94 ++++++++++++++++++++++
 sci-geosciences/grass/grass-7.2.0-r1.ebuild        |  1 +
 2 files changed, 95 insertions(+)

diff --git a/sci-geosciences/grass/files/grass-7.2.0-gcc7.patch b/sci-geosciences/grass/files/grass-7.2.0-gcc7.patch
new file mode 100644
index 00000000000..97be4d7d860
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.2.0-gcc7.patch
@@ -0,0 +1,94 @@
+Index: releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/lextab.py
+===================================================================
+--- a/lib/python/ctypes/ctypesgencore/parser/lextab.py	(revision 71218)
++++ b/lib/python/ctypes/ctypesgencore/parser/lextab.py	(revision 71219)
+@@ -1,59 +1,8 @@
+ # lextab.py. This file automatically created by PLY (version 2.2). Don't edit!
+-_lextokens = {
+-    'RIGHT_OP': None,
+-    'RIGHT_ASSIGN': None,
+-    'DEC_OP': None,
+-    'PP_MACRO_PARAM': None,
+-    'DIV_ASSIGN': None,
+-    'PP_DEFINE': None,
+-    'PP_END_DEFINE': None,
+-    'PP_DEFINE_MACRO_NAME': None,
+-    'HEADER_NAME': None,
+-    'NEWLINE': None,
+-    'CHARACTER_CONSTANT': None,
+-    'PP_STRINGIFY': None,
+-    'AND_ASSIGN': None,
+-    'PTR_OP': None,
+-    'ELLIPSIS': None,
+-    'IDENTIFIER': None,
+-    'ADD_ASSIGN': None,
+-    'PERIOD': None,
+-    'AND_OP': None,
+-    'OTHER': None,
+-    'LPAREN': None,
+-    'LEFT_OP': None,
+-    'LE_OP': None,
+-    'OR_OP': None,
+-    'SUB_ASSIGN': None,
+-    'MOD_ASSIGN': None,
+-    'STRING_LITERAL': None,
+-    'PP_IDENTIFIER_PASTE': None,
+-    'PP_NUMBER': None,
+-    'PP_DEFINE_NAME': None,
+-    'XOR_ASSIGN': None,
+-    'OR_ASSIGN': None,
+-    'GE_OP': None,
+-    'MUL_ASSIGN': None,
+-    'LEFT_ASSIGN': None,
+-    'INC_OP': None,
+-    'NE_OP': None,
+-    'EQ_OP': None}
+-_lexreflags = 0
+-_lexliterals = ''
++_lextokens    = {'RIGHT_OP': None, 'RIGHT_ASSIGN': None, 'DEC_OP': None, 'PP_MACRO_PARAM': None, 'DIV_ASSIGN': None, 'PP_DEFINE': None, 'PP_END_DEFINE': None, 'PP_DEFINE_MACRO_NAME': None, 'HEADER_NAME': None, 'NEWLINE': None, 'CHARACTER_CONSTANT': None, 'PP_STRINGIFY': None, 'AND_ASSIGN': None, 'PTR_OP': None, 'ELLIPSIS': None, 'IDENTIFIER': None, 'ADD_ASSIGN': None, 'PERIOD': None, 'AND_OP': None, 'OTHER': None, 'LPAREN': None, 'LEFT_OP': None, 'LE_OP': None, 'OR_OP': None, 'SUB_ASSIGN': None, 'MOD_ASSIGN': None, 'STRING_LITERAL': None, 'PP_IDENTIFIER_PASTE': None, 'PP_NUMBER': None, 'PP_DEFINE_NAME': None, 'XOR_ASSIGN': None, 'OR_ASSIGN': None, 'GE_OP': None, 'MUL_ASSIGN': None, 'LEFT_ASSIGN': None, 'INC_OP': None, 'NE_OP': None, 'EQ_OP': None}
++_lexreflags   = 0
++_lexliterals  = ''
+ _lexstateinfo = {'INITIAL': 'inclusive', 'DEFINE': 'exclusive'}
+-_lexstatere = {
+-    'INITIAL': [
+-        ('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))', [
+-            None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_INITIAL_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [
+-                None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>[FflL]?)(?!\\w))', [
+-                    None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [
+-                        None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_INITIAL_newline>\\n)|(?P<t_INITIAL_pp_define>\\#define)', [
+-                            None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 'INITIAL_pp_define')])], 'DEFINE': [
+-                                ('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))', [
+-                                    None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_DEFINE_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [
+-                                        None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>[FflL]?)(?!\\w))', [
+-                                            None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [
+-                                                None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_DEFINE_newline>\\n)|(?P<t_DEFINE_pp_param_op>(\\#\\#)|(\\#))', [
+-                                                    None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 'DEFINE_pp_param_op')])]}
++_lexstatere   = {'INITIAL': [('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))', [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_INITIAL_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))', [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY_int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_INITIAL_newline>\\n)
 |(?P<t_INITIAL_pp_define>\\#define)', [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 'INITIAL_pp_define')])], 'DEFINE': [('(?P<t_ANY_directive>\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P<t_ANY_punctuator>(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))', [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P<t_DEFINE_identifier>[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), ('(?P<t_ANY_float>(?P<p1>[0-9]+)?(?P<dp>[.]?)(?P<p2>(?(p1)[0-9]*|[0-9]+))(?P<exp>(?:[Ee][+-]?[0-9]+)?)(?P<suf>([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))', [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P<t_ANY
 _int>(?P<p1>(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P<suf>[uUlL]*))', [None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?P<t_ANY_character_constant>L?\'(\\\\.|[^\\\\\'])+\')|(?P<t_ANY_string_literal>L?"(\\\\.|[^\\\\"])*")|(?P<t_ANY_lparen>\\()|(?P<t_DEFINE_newline>\\n)|(?P<t_DEFINE_pp_param_op>(\\#\\#)|(\\#))', [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 'DEFINE_pp_param_op')])]}
+ _lexstateignore = {'INITIAL': ' \t\x0b\x0c\r', 'DEFINE': ' \t\x0b\x0c\r'}
+ _lexstateerrorf = {'INITIAL': 't_INITIAL_error', 'DEFINE': 't_DEFINE_error'}
+Index: releasebranch_7_2/lib/python/ctypes/ctypesgencore/parser/pplexer.py
+===================================================================
+--- a/lib/python/ctypes/ctypesgencore/parser/pplexer.py	(revision 71218)
++++ b/lib/python/ctypes/ctypesgencore/parser/pplexer.py	(revision 71219)
+@@ -52,7 +52,7 @@
+     'L': '[a-zA-Z_]',
+     'H': '[a-fA-F0-9]',
+     'E': '[Ee][+-]?\s*{D}+',
+-    'FS': '[FflL]',
++    'FS': '([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)',
+     'IS': '[uUlL]*',
+ }
+ # Helper: substitute {foo} with subs[foo] in string (makes regexes more lexy)
+@@ -226,10 +226,10 @@
+     exp = m.group("exp")
+     suf = m.group("suf")
+ 
+-    if dp or exp or (suf and suf in ("Ff")):
++    if dp or exp or (suf and suf not in ("Ll")):
+         s = m.group(0)
+         if suf:
+-            s = s[:-1]
++            s = s[:-len(suf)]
+         # Attach a prefix so the parser can figure out if should become an
+         # integer, float, or long
+         t.value = "f" + s

diff --git a/sci-geosciences/grass/grass-7.2.0-r1.ebuild b/sci-geosciences/grass/grass-7.2.0-r1.ebuild
index be625fa853d..00657af184e 100644
--- a/sci-geosciences/grass/grass-7.2.0-r1.ebuild
+++ b/sci-geosciences/grass/grass-7.2.0-r1.ebuild
@@ -78,6 +78,7 @@ REQUIRED_USE="
 
 PATCHES=(
 	"${FILESDIR}/${PN}"-7.0.1-declare-inespg.patch
+	"${FILESDIR}/${P}"-gcc7.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2020-11-25  8:16 Joonas Niilola
  0 siblings, 0 replies; 7+ messages in thread
From: Joonas Niilola @ 2020-11-25  8:16 UTC (permalink / raw
  To: gentoo-commits

commit:     55963a3f7ff33af3182040c076132590fc9be166
Author:     Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de>
AuthorDate: Sat Oct 10 14:34:30 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Nov 25 08:16:46 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55963a3f

sci-geosciences/grass: fix build failure

Fix build failure during highly parallel build.

Closes: https://bugs.gentoo.org/746590
Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de>
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 sci-geosciences/grass/files/grass-7.8-flock.patch | 17 +++++++++++++++++
 sci-geosciences/grass/grass-7.8.3.ebuild          |  5 +++++
 2 files changed, 22 insertions(+)

diff --git a/sci-geosciences/grass/files/grass-7.8-flock.patch b/sci-geosciences/grass/files/grass-7.8-flock.patch
new file mode 100644
index 00000000000..4070f228dbb
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.8-flock.patch
@@ -0,0 +1,17 @@
+diff -Naur grass-7.8.3.org/include/Make/HtmlRules.make grass-7.8.3/include/Make/HtmlRules.make
+--- grass-7.8.3.org/include/Make/HtmlRules.make	2020-05-05 10:51:50.000000000 +0200
++++ grass-7.8.3/include/Make/HtmlRules.make	2020-10-10 13:43:42.800880621 +0200
+@@ -11,10 +11,10 @@
+ endif
+ 
+ $(HTMLDIR)/%.png: %.png | $(HTMLDIR)
+-	$(INSTALL_DATA) $< $@
++	flock $@ $(INSTALL_DATA) $< $@
+ 
+ $(HTMLDIR)/%.jpg: %.jpg | $(HTMLDIR)
+-	$(INSTALL_DATA) $< $@
++	flock $@ $(INSTALL_DATA) $< $@
+ 
+ $(HTMLDIR)/%.gif: %.gif | $(HTMLDIR)
+-	$(INSTALL_DATA) $< $@
++	flock $@ $(INSTALL_DATA) $< $@

diff --git a/sci-geosciences/grass/grass-7.8.3.ebuild b/sci-geosciences/grass/grass-7.8.3.ebuild
index ab8ab4cf98a..e8911d37392 100644
--- a/sci-geosciences/grass/grass-7.8.3.ebuild
+++ b/sci-geosciences/grass/grass-7.8.3.ebuild
@@ -79,6 +79,11 @@ BDEPEND="
 
 S="${WORKDIR}/${MY_P}"
 
+PATCHES=(
+	# bug 746590
+	"${FILESDIR}/${PN}-7.8-flock.patch"
+)
+
 pkg_setup() {
 	if use lapack; then
 		local mylapack=$(eselect lapack show)


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/
@ 2022-04-17 16:25 Sam James
  0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2022-04-17 16:25 UTC (permalink / raw
  To: gentoo-commits

commit:     9cd5e5afcc90e9dd353e4763567606b9685d5ec2
Author:     Thomas Bettler <thomas.bettler <AT> gmail <DOT> com>
AuthorDate: Sat Apr 16 21:28:13 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 16:24:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cd5e5af

sci-geosciences/grass: backport fix for soname

backport https://github.com/OSGeo/grass/pull/2269

Signed-off-by: Thomas Bettler <thomas.bettler <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/25050
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../grass/files/grass-8.0.1-lib_imagery.patch      |  11 +
 sci-geosciences/grass/grass-8.0.1-r1.ebuild        | 282 +++++++++++++++++++++
 2 files changed, 293 insertions(+)

diff --git a/sci-geosciences/grass/files/grass-8.0.1-lib_imagery.patch b/sci-geosciences/grass/files/grass-8.0.1-lib_imagery.patch
new file mode 100644
index 000000000000..1eca86750ecd
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-8.0.1-lib_imagery.patch
@@ -0,0 +1,11 @@
+https://github.com/OSGeo/grass/pull/2269
+--- a/lib/imagery/Makefile
++++ b/lib/imagery/Makefile
+@@ -7,7 +7,6 @@
+ 
+ include $(MODULE_TOPDIR)/include/Make/Lib.make
+ include $(MODULE_TOPDIR)/include/Make/Doxygen.make
+-include $(MODULE_TOPDIR)/include/Make/Grass.make
+ 
+ # images
+ IMGSRC := $(wildcard *.png) $(wildcard *.jpg) $(wildcard *.gif)

diff --git a/sci-geosciences/grass/grass-8.0.1-r1.ebuild b/sci-geosciences/grass/grass-8.0.1-r1.ebuild
new file mode 100644
index 000000000000..81b7d01d2c77
--- /dev/null
+++ b/sci-geosciences/grass/grass-8.0.1-r1.ebuild
@@ -0,0 +1,282 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="sqlite"  # bug 572440
+WX_GTK_VER="3.0-gtk3"
+
+inherit autotools desktop python-single-r1 toolchain-funcs wxwidgets xdg
+
+DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization"
+HOMEPAGE="https://grass.osgeo.org/"
+
+LICENSE="GPL-2"
+SLOT="0/8.0"
+
+GVERSION=${SLOT#*/}
+MY_PM="${PN}${GVERSION}"
+MY_PM="${MY_PM/.}"
+
+if [[ ${PV} =~ "9999" ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/OSGeo/grass.git"
+else
+	MY_P="${P/_rc/RC}"
+	SRC_URI="https://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz"
+	if [[ ${PV} != *_rc* ]] ; then
+		KEYWORDS="~amd64 ~ppc ~x86"
+	fi
+
+	S="${WORKDIR}/${MY_P}"
+fi
+
+IUSE="blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl openmp png postgres readline sqlite threads tiff truetype X zstd"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	opengl? ( X )"
+
+RDEPEND="
+	${PYTHON_DEPS}
+	>=app-admin/eselect-1.2
+	$(python_gen_cond_dep '
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/six[${PYTHON_USEDEP}]
+	')
+	sci-libs/gdal:=
+	sys-libs/gdbm:=
+	sys-libs/ncurses:0=
+	sci-libs/proj:=
+	sci-libs/xdrfile
+	sys-libs/zlib
+	media-libs/libglvnd
+	media-libs/glu
+	blas? (
+		virtual/cblas[eselect-ldso(+)]
+		virtual/blas[eselect-ldso(+)]
+	)
+	fftw? ( sci-libs/fftw:3.0= )
+	geos? ( sci-libs/geos:= )
+	lapack? ( virtual/lapack[eselect-ldso(+)] )
+	liblas? ( sci-geosciences/liblas )
+	mysql? ( dev-db/mysql-connector-c:= )
+	netcdf? ( sci-libs/netcdf:= )
+	odbc? ( dev-db/unixODBC )
+	opencl? ( virtual/opencl )
+	opengl? ( virtual/opengl )
+	png? ( media-libs/libpng:0= )
+	postgres? ( >=dev-db/postgresql-8.4:= )
+	readline? ( sys-libs/readline:0= )
+	sqlite? ( dev-db/sqlite:3 )
+	tiff? ( media-libs/tiff:0= )
+	truetype? ( media-libs/freetype:2 )
+	X? (
+		dev-python/wxpython:4.0
+		x11-libs/cairo[X,opengl?]
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXt
+	)
+	zstd? ( app-arch/zstd )"
+DEPEND="${RDEPEND}
+	X? ( x11-base/xorg-proto )"
+BDEPEND="
+	sys-devel/bison
+	sys-devel/flex
+	sys-devel/gettext
+	virtual/pkgconfig
+	X? ( dev-lang/swig )"
+
+PATCHES=(
+	# bug 746590
+	"${FILESDIR}/${PN}-flock.patch"
+	"${FILESDIR}/${PN}-lib_imagery.patch"
+)
+
+pkg_setup() {
+	if use lapack; then
+		local mylapack=$(eselect lapack show)
+		if [[ -z "${mylapack/.*reference.*/}" ]] && \
+			[[ -z "${mylapack/.*atlas.*/}" ]]; then
+			ewarn "You need to set lapack to atlas or reference. Do:"
+			ewarn "   eselect lapack set <impl>"
+			ewarn "where <impl> is atlas, threaded-atlas or reference"
+			die "setup failed"
+		fi
+	fi
+
+	if use blas; then
+		local myblas=$(eselect blas show)
+		if [[ -z "${myblas/.*reference.*/}" ]] && \
+			[[ -z "${myblas/.*atlas.*/}" ]]; then
+			ewarn "You need to set blas to atlas or reference. Do:"
+			ewarn "   eselect blas set <impl>"
+			ewarn "where <impl> is atlas, threaded-atlas or reference"
+			die "setup failed"
+		fi
+	fi
+
+	python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# Fix unversioned python calls
+	sed -e "s:=python3:=${EPYTHON}:" -i "${S}/lib/init/grass.sh" || die
+	sed -e "s:= python3:= ${EPYTHON}:" -i "${S}/include/Make/Platform.make.in" || die
+
+	default
+	eautoreconf
+
+	ebegin "Fixing python shebangs"
+	python_fix_shebang -q "${S}"
+	eend $?
+
+	# For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+	shopt -s nullglob
+	local mesa_cards=$(echo -n /dev/dri/card* /dev/dri/render* | sed 's/ /:/g')
+	if test -n "${mesa_cards}"; then
+		addpredict "${mesa_cards}"
+	fi
+	local ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+	if test -n "${ati_cards}"; then
+		addpredict "${ati_cards}"
+	fi
+	shopt -u nullglob
+	addpredict /dev/nvidiactl
+}
+
+src_configure() {
+	if use X; then
+		local WX_BUILD=yes
+		setup-wxwidgets
+	fi
+
+	addwrite /dev/dri/renderD128
+
+	local myeconfargs=(
+		--enable-shared
+		--disable-w11
+		--without-opendwg
+		--with-regex
+		--with-gdal="${EPREFIX}"/usr/bin/gdal-config
+		--with-proj-includes="${EPREFIX}"/usr/include/proj
+		--with-proj-libs="${EPREFIX}"/usr/$(get_libdir)
+		--with-proj-share="${EPREFIX}"/usr/share/proj/
+		$(use_with cxx)
+		$(use_with tiff)
+		$(use_with png)
+		$(use_with postgres)
+		$(use_with mysql)
+		$(use_with mysql mysql-includes "${EPREFIX}"/usr/include/mysql)
+		$(use_with sqlite)
+		$(use_with opengl)
+		$(use_with odbc)
+		$(use_with fftw)
+		$(use_with blas)
+		$(use_with lapack)
+		$(use_with X cairo)
+		$(use_with truetype freetype)
+		$(use_with truetype freetype-includes "${EPREFIX}"/usr/include/freetype2)
+		$(use_with nls)
+		$(use_with readline)
+		$(use_with threads pthread)
+		$(use_with openmp)
+		$(use_with opencl)
+		$(use_with liblas liblas "${EPREFIX}"/usr/bin/liblas-config)
+		$(use_with X wxwidgets "${WX_CONFIG}")
+		$(use_with netcdf netcdf "${EPREFIX}"/usr/bin/nc-config)
+		$(use_with geos geos "${EPREFIX}"/usr/bin/geos-config)
+		$(use_with X x)
+		$(use_with zstd)
+	)
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	# we don't want to link against embedded mysql lib
+	emake CC="$(tc-getCC)" MYSQLDLIB=""
+}
+
+src_install() {
+	emake DESTDIR="${ED}" \
+		INST_DIR=/usr/$(get_libdir)/${MY_PM} \
+		prefix=/usr/ BINDIR=/usr/bin \
+		install
+
+	pushd "${ED}"/usr/$(get_libdir)/${MY_PM} >/dev/null || die
+
+	local HTML_DOCS=( docs/html/. )
+	einstalldocs
+
+	# translations
+	if use nls; then
+		insinto /usr/share/locale
+		doins -r locale/.
+	fi
+
+	popd >/dev/null || die
+
+	# link libraries in the ~standard~ place
+	local f file
+	for f in "${ED}"/usr/$(get_libdir)/${MY_PM}/lib/*; do
+		file="${f##*/}"
+		dosym ${MY_PM}/lib/${file} /usr/$(get_libdir)/${file}
+	done
+
+	# link headers in the ~standard~ place
+	dodir /usr/include/
+	dosym ../$(get_libdir)/${MY_PM}/include/grass /usr/include/grass
+
+	# fix paths in addons makefile includes
+	local scriptMakeDir="${ED}"/usr/$(get_libdir)/${MY_PM}/include/Make/
+	for f in "${scriptMakeDir}"/*; do
+		file="${f##*/}"
+		echo sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+		sed -i "s|${ED}|/|g" "${scriptMakeDir}/${file}" || die
+	done
+
+	# get proper folder for grass path in script
+	local gisbase=/usr/$(get_libdir)/${MY_PM}
+	sed -e "s:GISBASE = os.path.normpath(\"${D}/usr/$(get_libdir)/${MY_PM}\"):\
+GISBASE = os.path.normpath(\"${gisbase}\"):" \
+		-i "${ED}"/usr/bin/grass || die
+
+	# get proper fonts path for fontcap
+	sed -i \
+		-e "s|${ED}/usr/${MY_PM}|${EPREFIX}/usr/$(get_libdir)/${MY_PM}|" \
+		"${ED}"${gisbase}/etc/fontcap || die
+
+	# set proper python interpreter
+	sed -e "s:os.environ\[\"GRASS_PYTHON\"\] = \"python3\":\
+os.environ\[\"GRASS_PYTHON\"\] = \"${EPYTHON}\":" \
+		-i "${ED}"/usr/bin/grass || die
+
+	# set proper GISDBASE directory path in the demolocation .grassrc${GVERSION//.} file
+	sed -e "s:GISDBASE\:.*$:GISDBASE\: ${gisbase}:" \
+		-i "${ED}"${gisbase}/demolocation/.grassrc${GVERSION//.} || die
+
+	if use X; then
+		local GUI="-gui"
+		[[ ${WX_BUILD} == yes ]] && GUI="-wxpython"
+		make_desktop_entry "/usr/bin/grass ${GUI}" "${PN}" "${PN}-48x48" "Science;Education"
+		doicon -s 48 gui/icons/${PN}-48x48.png
+	fi
+
+	# install .pc file so other apps know where to look for grass
+	insinto /usr/$(get_libdir)/pkgconfig/
+	doins grass.pc
+
+	# fix weird +x on tcl scripts
+	find "${ED}" -name "*.tcl" -exec chmod +r-x '{}' \; || die
+}
+
+pkg_postinst() {
+	use X && xdg_pkg_postinst
+}
+
+pkg_postrm() {
+	use X && xdg_pkg_postrm
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-04-17 16:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-06  7:00 [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/grass/, sci-geosciences/grass/files/ Sam Jorna
  -- strict thread matches above, loose matches on Subject: below --
2022-04-17 16:25 Sam James
2020-11-25  8:16 Joonas Niilola
2018-04-04 21:10 Andreas Sturmlechner
2015-12-05 13:55 Amy Winston
2015-12-05 13:55 Amy Winston
2015-10-14 15:12 Ian Delaney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox