From 058c543a234edd5b896379b35a0bc04c897d5deb Mon Sep 17 00:00:00 2001 From: David Spencer Date: Sun, 20 May 2012 16:49:15 -0400 Subject: academic/grass: Updated for version 6.4.2. Signed-off-by: dsomero --- academic/grass/changeset_r50130.diff | 49 +++++++++++++++++++++++++++++ academic/grass/gentoo392371b.patch | 60 ++++++++++++++++++++++++++++++++++++ academic/grass/grass.SlackBuild | 33 +++++++++++++++++--- academic/grass/grass.desktop | 4 +-- academic/grass/grass.info | 8 ++--- academic/grass/slack-desc | 4 +-- 6 files changed, 146 insertions(+), 12 deletions(-) create mode 100644 academic/grass/changeset_r50130.diff create mode 100644 academic/grass/gentoo392371b.patch 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 -# 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/ -- cgit v1.2.3-65-gdbad