academic/grass: Updated for version 6.4.3.

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
David Spencer 2013-10-29 06:11:40 +01:00 committed by Robby Workman
parent f672f9b349
commit cfcc9d1159
7 changed files with 9 additions and 376 deletions

View file

@ -1,49 +0,0 @@
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();
};

View file

@ -1,60 +0,0 @@
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);

View file

@ -1,161 +0,0 @@
diff -u -r grass-6.4.2.orig/configure grass-6.4.2.patched/configure
--- grass-6.4.2.orig/configure 2012-02-06 10:16:07.000000000 +0000
+++ grass-6.4.2.patched/configure 2013-02-25 20:13:08.277158035 +0000
@@ -10445,7 +10445,7 @@
ac_save_cppflags="$CPPFLAGS"
CPPFLAGS="$FFMPEGINCPATH $CPPFLAGS"
-for ac_hdr in avcodec.h
+for ac_hdr in libavcodec/avcodec.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -10489,7 +10489,7 @@
ac_save_cppflags="$CPPFLAGS"
CPPFLAGS="$FFMPEGINCPATH $CPPFLAGS"
-for ac_hdr in avformat.h
+for ac_hdr in libavformat/avformat.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -10533,7 +10533,7 @@
ac_save_cppflags="$CPPFLAGS"
CPPFLAGS="$FFMPEGINCPATH $CPPFLAGS"
-for ac_hdr in swscale.h
+for ac_hdr in libswscale/swscale.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -10712,9 +10712,9 @@
-echo $ac_n "checking for avcodec_init in -lavcodec""... $ac_c" 1>&6
-echo "configure:10717: checking for avcodec_init in -lavcodec" >&5
-ac_lib_var=`echo avcodec'_'avcodec_init | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for avcodec_open2 in -lavcodec""... $ac_c" 1>&6
+echo "configure:10717: checking for avcodec_open2 in -lavcodec" >&5
+ac_lib_var=`echo avcodec'_'avcodec_open2 | sed 'y%./+-%__p_%'`
ac_save_LIBS="$LIBS"
LIBS="-lavcodec $FFMPEGLIB $LIBS"
@@ -10724,10 +10724,10 @@
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char avcodec_init();
+char avcodec_open2();
int main() {
-avcodec_init()
+avcodec_open2()
; return 0; }
EOF
if { (eval echo configure:10734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@@ -10748,9 +10748,9 @@
else
echo "$ac_t""no" 1>&6
-echo $ac_n "checking for avcodec_init in -lavcodec""... $ac_c" 1>&6
-echo "configure:10753: checking for avcodec_init in -lavcodec" >&5
-ac_lib_var=`echo avcodec'_'avcodec_init | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for avcodec_open2 in -lavcodec""... $ac_c" 1>&6
+echo "configure:10753: checking for avcodec_open2 in -lavcodec" >&5
+ac_lib_var=`echo avcodec'_'avcodec_open2 | sed 'y%./+-%__p_%'`
ac_save_LIBS="$LIBS"
LIBS="-lavcodec $FFMPEGLIB $MATHLIB $LIBS"
@@ -10760,10 +10760,10 @@
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char avcodec_init();
+char avcodec_open2();
int main() {
-avcodec_init()
+avcodec_open2()
; return 0; }
EOF
if { (eval echo configure:10770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@@ -10810,9 +10810,9 @@
-echo $ac_n "checking for av_set_parameters in -lavformat""... $ac_c" 1>&6
-echo "configure:10815: checking for av_set_parameters in -lavformat" >&5
-ac_lib_var=`echo avformat'_'av_set_parameters | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for av_write_frame in -lavformat""... $ac_c" 1>&6
+echo "configure:10815: checking for av_write_frame in -lavformat" >&5
+ac_lib_var=`echo avformat'_'av_write_frame | sed 'y%./+-%__p_%'`
ac_save_LIBS="$LIBS"
LIBS="-lavformat $FFMPEGLIB $LIBS"
@@ -10822,10 +10822,10 @@
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char av_set_parameters();
+char av_write_frame();
int main() {
-av_set_parameters()
+av_write_frame()
; return 0; }
EOF
if { (eval echo configure:10832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@@ -10846,9 +10846,9 @@
else
echo "$ac_t""no" 1>&6
-echo $ac_n "checking for av_set_parameters in -lavformat""... $ac_c" 1>&6
-echo "configure:10851: checking for av_set_parameters in -lavformat" >&5
-ac_lib_var=`echo avformat'_'av_set_parameters | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for av_write_frame in -lavformat""... $ac_c" 1>&6
+echo "configure:10851: checking for av_write_frame in -lavformat" >&5
+ac_lib_var=`echo avformat'_'av_write_frame | sed 'y%./+-%__p_%'`
ac_save_LIBS="$LIBS"
LIBS="-lavformat $FFMPEGLIB $MATHLIB $LIBS"
@@ -10858,10 +10858,10 @@
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char av_set_parameters();
+char av_write_frame();
int main() {
-av_set_parameters()
+av_write_frame()
; return 0; }
EOF
if { (eval echo configure:10868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
diff -u -r grass-6.4.2.orig/configure.in grass-6.4.2.patched/configure.in
--- grass-6.4.2.orig/configure.in 2012-02-06 10:16:07.000000000 +0000
+++ grass-6.4.2.patched/configure.in 2013-02-25 20:45:48.025962482 +0000
@@ -1110,9 +1110,9 @@
LOC_CHECK_INC_PATH(ffmpeg, FFMPEG, FFMPEGINCPATH)
-LOC_CHECK_INCLUDES(avcodec.h,FFMPEG,$FFMPEGINCPATH)
-LOC_CHECK_INCLUDES(avformat.h,FFMPEG,$FFMPEGINCPATH)
-LOC_CHECK_INCLUDES(swscale.h,FFMPEG,$FFMPEGINCPATH)
+LOC_CHECK_INCLUDES(libavcodec/avcodec.h,FFMPEG,$FFMPEGINCPATH)
+LOC_CHECK_INCLUDES(libavformat/avformat.h,FFMPEG,$FFMPEGINCPATH)
+LOC_CHECK_INCLUDES(libswscale/swscale.h,FFMPEG,$FFMPEGINCPATH)
AC_DEFINE(HAVE_FFMPEG)
@@ -1125,8 +1125,8 @@
LOC_CHECK_LIB_PATH(ffmpeg, FFMPEG, FFMPEGLIBPATH)
LOC_CHECK_LIBS(avutil, av_free, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB,,,,$MATHLIB)
-LOC_CHECK_LIBS(avcodec, avcodec_init, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB, $FFMPEGLIB,,,$MATHLIB)
-LOC_CHECK_LIBS(avformat, av_set_parameters, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB, $FFMPEGLIB,,,$MATHLIB)
+LOC_CHECK_LIBS(avcodec, avcodec_open2, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB, $FFMPEGLIB,,,$MATHLIB)
+LOC_CHECK_LIBS(avformat, av_write_frame, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB, $FFMPEGLIB,,,$MATHLIB)
fi # $USE_FFMPEG

View file

@ -1,79 +0,0 @@
Fix build with ffmpeg-1.
Part of https://bugs.gentoo.org/show_bug.cgi?id=443264
Index: grass-6.4.2/lib/ogsf/gsd_img_mpeg.c
===================================================================
--- grass-6.4.2.orig/lib/ogsf/gsd_img_mpeg.c
+++ grass-6.4.2/lib/ogsf/gsd_img_mpeg.c
@@ -26,7 +26,8 @@
/* FFMPEG stuff */
#ifdef HAVE_FFMPEG
-#include <avformat.h>
+#include <libavformat/avformat.h>
+#include <libavformat/avio.h>
/* 5 seconds stream duration */
#define STREAM_DURATION 5.0
@@ -58,7 +59,7 @@ static AVStream *add_video_stream(AVForm
AVCodecContext *c;
AVStream *st;
- st = av_new_stream(oc, 0);
+ st = avformat_new_stream(oc, 0);
if (!st) {
G_warning(_("Unable to allocate stream"));
return NULL;
@@ -97,7 +98,7 @@ static AVStream *add_video_stream(AVForm
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
c->flags |= CODEC_FLAG_QSCALE;
- c->global_quality = st->quality = FF_QP2LAMBDA * 10;
+ c->global_quality = FF_QP2LAMBDA * 10;
return st;
}
@@ -332,13 +333,7 @@ int gsd_init_mpeg(const char *filename)
add_video_stream(oc, fmt->video_codec, (r - l + 1), (t - b + 1));
}
- /* set the output parameters (must be done even if no parameters). */
- if (av_set_parameters(oc, NULL) < 0) {
- G_warning(_("Invalid output format parameters"));
- return (-1);
- }
-
- dump_format(oc, 0, filename, 1);
+ av_dump_format(oc, 0, filename, 1);
/* now that all the parameters are set, we can open the audio and
video codecs and allocate the necessary encode buffers */
@@ -347,14 +342,17 @@ int gsd_init_mpeg(const char *filename)
/* open the output file, if needed */
if (!(fmt->flags & AVFMT_NOFILE)) {
- if (url_fopen(&oc->pb, filename, URL_WRONLY) < 0) {
+ if (avio_open(&oc->pb, filename, AVIO_FLAG_WRITE) < 0) {
G_warning(_("Unable to open <%s>"), filename);
return (-1);
}
}
/* write the stream header, if any */
- av_write_header(oc);
+ if (avformat_write_header(oc, NULL) < 0) {
+ G_warning(_("Failed to write header"));
+ return (-1);
+ }
#else
@@ -439,7 +437,7 @@ int gsd_close_mpeg(void)
#if (LIBAVFORMAT_VERSION_INT>>16) < 52
url_fclose(&oc->pb);
#else
- url_fclose(oc->pb);
+ avio_close(oc->pb);
#endif
}

View file

@ -1,11 +0,0 @@
--- grass-6.4.2.orig/lib/ogsf/gsd_img_mpeg.c 2013-01-18 02:11:37.570025278 +0100
+++ grass-6.4.2/lib/ogsf/gsd_img_mpeg.c 2013-01-18 02:13:01.663022218 +0100
@@ -159,7 +159,7 @@
}
/* open the codec */
- if (avcodec_open(c, codec) < 0) {
+ if (avcodec_open2(c, codec, NULL) < 0) {
G_warning(_("Unable to open codec"));
return;
}

View file

@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=grass
VERSION=${VERSION:-6.4.2}
BUILD=${BUILD:-2}
VERSION=${VERSION:-6.4.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -92,7 +92,9 @@ while [[ "$1" != "" ]]; do
shift
;;
ffmpeg )
FFINCL="/usr/include/libavcodec /usr/include/libavformat /usr/include/libswscale"
FFINCL="/usr/include/libavcodec /usr/include/libavdevice /usr/include/libavfilter \
/usr/include/libavformat /usr/include/libavutil /usr/include/libpostproc \
/usr/include/libswresample /usr/include/libswscale"
WITHLIST[$((withnum++))]="--with-ffmpeg"
WITHLIST[$((withnum++))]="--with-ffmpeg-includes=$FFINCL"
shift
@ -109,15 +111,6 @@ else
BITNESS=""
fi
# gcc-4.7 patch from grass svn, see http://trac.osgeo.org/grass/ticket/1533
patch -p3 < $CWD/changeset_r50130.diff
# ffmpeg-0.11 patches, snarfed from Gentoo (thanks!)
patch -p1 < $CWD/grass-6.4.2-configure-slack.patch
patch -p1 < $CWD/grass-6.4.1-libav-0.8.patch
patch -p1 < $CWD/grass-6.4.2-libav-9.patch
patch -p1 < $CWD/grass-6.4.2-ffmpeg-1.patch
# geos now always enabled: it's an indirect hard dep (via gdal), and makes grass nicer :-)
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -fpermissive" \

View file

@ -1,10 +1,10 @@
PRGNAM="grass"
VERSION="6.4.2"
VERSION="6.4.3"
HOMEPAGE="http://grass.osgeo.org/"
DOWNLOAD="http://grass.osgeo.org/grass64/source/grass-6.4.2.tar.gz"
MD5SUM="d3398d6b1e3a2ef19cfb6e39a5ae9919"
DOWNLOAD="http://grass.osgeo.org/grass64/source/grass-6.4.3.tar.gz"
MD5SUM="d82d11b96e1ca1e23078b7657293bf22"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gdal geos numpy proj wxPython %README%"
REQUIRES="gdal numpy wxPython %README%"
MAINTAINER="David Spencer"
EMAIL="baildon.research@googlemail.com"