summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--academic/grass/changeset_r50130.diff49
-rw-r--r--academic/grass/gentoo392371b.patch60
-rw-r--r--academic/grass/grass.SlackBuild33
-rw-r--r--academic/grass/grass.desktop4
-rw-r--r--academic/grass/grass.info8
-rw-r--r--academic/grass/slack-desc4
6 files changed, 146 insertions, 12 deletions
diff --git a/academic/grass/changeset_r50130.diff b/academic/grass/changeset_r50130.diff
new file mode 100644
index 0000000000..90b93ec27f
--- /dev/null
+++ b/academic/grass/changeset_r50130.diff
@@ -0,0 +1,49 @@
+Index: /grass/trunk/lib/iostream/mm.cc
+===================================================================
+--- /grass/trunk/lib/iostream/mm.cc (revision 48562)
++++ /grass/trunk/lib/iostream/mm.cc (revision 50130)
+@@ -275,5 +275,5 @@
+
+ /* ************************************************************ */
+-void* operator new[] (size_t sz) {
++void* operator new[] (size_t sz) throw(std::bad_alloc) {
+ void *p;
+
+@@ -326,5 +326,5 @@
+
+ /* ************************************************************ */
+-void* operator new (size_t sz) {
++void* operator new (size_t sz) throw(std::bad_alloc) {
+ void *p;
+
+@@ -378,5 +378,5 @@
+
+ /* ---------------------------------------------------------------------- */
+-void operator delete (void *ptr) {
++void operator delete (void *ptr) throw() {
+ size_t sz;
+ void *p;
+@@ -418,5 +418,5 @@
+
+ /* ---------------------------------------------------------------------- */
+-void operator delete[] (void *ptr) {
++void operator delete[] (void *ptr) throw() {
+ size_t sz;
+ void *p;
+Index: /grass/trunk/include/iostream/mm.h
+===================================================================
+--- /grass/trunk/include/iostream/mm.h (revision 32746)
++++ /grass/trunk/include/iostream/mm.h (revision 50130)
+@@ -129,8 +129,8 @@
+
+ friend class mm_register_init;
+- friend void * operator new(size_t);
+- friend void * operator new[](size_t);
+- friend void operator delete(void *);
+- friend void operator delete[](void *);
++ friend void * operator new(size_t) throw(std::bad_alloc);
++ friend void * operator new[](size_t) throw(std::bad_alloc);
++ friend void operator delete(void *) throw();
++ friend void operator delete[](void *) throw();
+ };
+
diff --git a/academic/grass/gentoo392371b.patch b/academic/grass/gentoo392371b.patch
new file mode 100644
index 0000000000..4864d88da7
--- /dev/null
+++ b/academic/grass/gentoo392371b.patch
@@ -0,0 +1,60 @@
+Adjust Grass 6.4.1 to work with ffmpeg 8.
+
+2011-11-17 Fabio Erculiani
+2011-12-08 Martin von Gagern
+
+References:
+https://bugs.gentoo.org/390827
+https://bugs.gentoo.org/392371
+
+--- grass-6.4.1.orig/lib/ogsf/gsd_img_mpeg.c
++++ grass-6.4.1/lib/ogsf/gsd_img_mpeg.c
+@@ -66,7 +66,7 @@ static AVStream *add_video_stream(AVForm
+
+ c = st->codec;
+ c->codec_id = codec_id;
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+
+ /* put sample parameters */
+ c->bit_rate = 400000;
+@@ -215,7 +215,7 @@ static void write_video_frame(AVFormatCo
+
+ av_init_packet(&pkt);
+
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.stream_index = st->index;
+ pkt.data = (uint8_t *) picture;
+ pkt.size = sizeof(AVPicture);
+@@ -236,7 +236,7 @@ static void write_video_frame(AVFormatCo
+ av_rescale_q(c->coded_frame->pts, c->time_base,
+ st->time_base);
+ if (c->coded_frame->key_frame)
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.stream_index = st->index;
+ pkt.data = video_outbuf;
+ pkt.size = out_size;
+@@ -301,10 +301,10 @@ int gsd_init_mpeg(const char *filename)
+ av_register_all();
+
+ /* auto detect the output format from the name. default is mpeg. */
+- fmt = guess_format(NULL, filename, NULL);
++ fmt = av_guess_format(NULL, filename, NULL);
+ if (!fmt) {
+ G_warning(_("Unable to deduce output format from file extension: using MPEG"));
+- fmt = guess_format("mpeg", NULL, NULL);
++ fmt = av_guess_format("mpeg", NULL, NULL);
+ }
+ if (!fmt) {
+ G_warning(_("Unable to find suitable output format"));
+@@ -312,7 +312,7 @@ int gsd_init_mpeg(const char *filename)
+ }
+
+ /* allocate the output media context */
+- oc = av_alloc_format_context();
++ oc = av_malloc(sizeof(AVFormatContext));
+ if (!oc) {
+ G_warning(_("Out of memory"));
+ return (-1);
diff --git a/academic/grass/grass.SlackBuild b/academic/grass/grass.SlackBuild
index 4232e19bad..5e35f15657 100644
--- a/academic/grass/grass.SlackBuild
+++ b/academic/grass/grass.SlackBuild
@@ -1,11 +1,29 @@
#!/bin/bash
# Slackware build script for grass
-# Written by David Spencer <baildon.research@googlemail.com>
-# This script is dedicated to the public domain
+
+# Copyright 2011 David Spencer, Baildon, West Yorkshire, U.K.
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=grass
-VERSION=${VERSION:-6.4.1}
+VERSION=${VERSION:-6.4.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -92,8 +110,15 @@ else
BITNESS=""
fi
+# gcc-4.7 patch from grass svn, see http://trac.osgeo.org/grass/ticket/1533
+sed -i 's/mm.cpp/mm.cc/' $CWD/changeset_r50130.diff
+patch -p3 < $CWD/changeset_r50130.diff
+# ffmpeg-0.8 patch from Gentoo, see https://bugs.gentoo.org/show_bug.cgi?id=392371#c9
+# it's good for ffmpeg-0.10 too ;-)
+patch -p1 < $CWD/gentoo392371b.patch
+
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
LDFLAGS="-ldl -lncurses" \
./configure \
--prefix=/opt \
diff --git a/academic/grass/grass.desktop b/academic/grass/grass.desktop
index 0f8ba4198e..238ec92f2b 100644
--- a/academic/grass/grass.desktop
+++ b/academic/grass/grass.desktop
@@ -2,8 +2,8 @@
Version=1.0
Type=Application
Name=GRASS GIS
-Comment=
-Categories=Education;Geography;
+Comment=Geographic Information System
+Categories=Education;Science;Geoscience;Geography;
Exec=grass
TryExec=/usr/bin/grass64
Icon=grass
diff --git a/academic/grass/grass.info b/academic/grass/grass.info
index 9c2a18c747..c6039fde2d 100644
--- a/academic/grass/grass.info
+++ b/academic/grass/grass.info
@@ -1,10 +1,10 @@
PRGNAM="grass"
-VERSION="6.4.1"
+VERSION="6.4.2"
HOMEPAGE="http://grass.osgeo.org/"
-DOWNLOAD="http://grass.osgeo.org/grass64/source/grass-6.4.1.tar.gz"
-MD5SUM="d8ca83d416b5b0cf2aa9d36c81a77b23"
+DOWNLOAD="http://grass.osgeo.org/grass64/source/grass-6.4.2.tar.gz"
+MD5SUM="d3398d6b1e3a2ef19cfb6e39a5ae9919"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="David Spencer"
EMAIL="baildon.research@googlemail.com"
-APPROVED="Niels Horn"
+APPROVED="dsomero"
diff --git a/academic/grass/slack-desc b/academic/grass/slack-desc
index 0da3bd66cb..659b9400e6 100644
--- a/academic/grass/slack-desc
+++ b/academic/grass/slack-desc
@@ -8,8 +8,8 @@
|-----handy-ruler------------------------------------------------------|
grass: grass (Geographic Resources Analysis Support System)
grass:
-grass: Grass is a free Geographic Information System (GIS) used for
-grass: geospatial data management and analysis, image processing,
+grass: Grass is a free Geographic Information System (GIS) used for
+grass: geospatial data management and analysis, image processing,
grass: graphics/maps production, spatial modelling, and visualization.
grass:
grass: Homepage: http://grass.osgeo.org/